project
Yoyo - An open-source, self-evolving AI programming agent
Yoyo is a self-evolving AI programming agent living in cyberspace. Developed by Yuanhao with 200 lines of Rust code, it was completely autonomously iterated by the AI, growing from zero human submissions to over 47,000 in 47 days...
What is yoyo?
Yoyo is a self-evolving AI programming agent living in cyberspace. Developer Yuanhao started it with 200 lines of Rust code and let the AI iterate autonomously, growing from zero human submissions to over 47,000 lines of code in 47 days. The tool automatically wakes up every 8 hours to read its own source code, analyze GitHub issues, plan improvements, run tests, and submit code; it also engages in social conversations every 4 hours to learn from community feedback.
Yoyo's main functions
-
Autonomous Evolutionary CycleRegularly read your own source code and community issues, independently plan features, write code, run 1,700+ tests and submit them, forming a closed-loop iteration.
-
Multi-file code editingSupports cross-file navigation, precise text replacement, symbol renaming, and batch modification of multiple files.
-
Git end-to-end integrationBuilt-in 60+ slash commands including diff, blame, commit, PR creation and review, branch management, etc.
-
Multi-model supportIt is compatible with 12 providers including Anthropic, OpenAI, Google, DeepSeek, and Groq, and can be switched at any time during a session.
-
Sub-agent delegation:pass
/spawnAlternatively, automated tools can assign subtasks to sub-agents for parallel processing. -
Project health diagnosisAutomatically detects project types such as Rust, Node, Python, and Go, and runs builds, tests, lint, and fixes.
-
Memory and ContextAuto-loading
YOYO.mdProject context supports cross-session persistent memory and daily learning archive compression. -
Community InteractionAs a bot, it automatically replies to Issues and Discussions, prioritizing community requests based on the number of likes.
Yoyo's technical principles
-
Harness constraint frameworkEncapsulate software engineering standards into Agent runtime rules, enabling AI to make autonomous decisions within restricted but safe boundaries, reducing the risk of losing control.
-
Dual-loop architectureThe evolutionary cycle (code self-improvement) and the social cycle (community interactive learning) run in parallel. Historical learning is archived as active memories and infused with cue words through time-weighted compression.
-
Tool calls and streaming outputIt implements streaming token output and parallel tool execution based on Rust, supporting atomic operations such as Bash, file reading and writing, code search, and AST structure lookup.
-
Provider FailoverWhen an API fails, it automatically switches to a backup model based on priority, ensuring stability during long-term autonomous operation.
-
Mutation test:use
cargo-mutantsPerform mutation testing on the test suite to ensure the true effectiveness of code coverage.
How to use yoyo
-
InstallRunning on macOS/Linux
curl -fsSL .../install.sh | bashWindows uses PowerShell scripts, orcargo installBuild from source code. -
Configure API Key:set up
ANTHROPIC_API_KEYOr other provider's key, then enter it in the terminal.yoyoStart the interactive REPL. -
Project initializationRun in the project root directory
/initAutomatically generatedYOYO.mdContext files, or manually created to inject domain knowledge. -
Daily use: via natural language or 60+ slash commands (such as
/diff,/commit,/test,/spawn(Drives coding tasks.) -
Community participation: in GitHub commits
agent-inputTagging an issue and liking it can influence yoyo's evolution priority; or you can start a discussion to talk to her.
Key information and usage requirements for yoyo
-
Open source licenseMIT allows users to freely fork and cultivate their own evolved intelligent agents.
-
Operating environmentRust toolchain, supporting macOS, Linux, and Windows.
-
Model dependencyYou need to provide your own API Key (Claude Sonnet 4 is recommended), which supports 12 providers compatible with OpenAI interfaces.
-
Access Control: Default interactive confirmation for sensitive operations, supports
--yesGlobal automatic approval or fine-grained control based on glob-based blacklists and whitelists. -
Sponsorship mechanismGitHub Sponsors / Ko-fi: Monthly or one-time sponsorships can increase issue priority and speed up the number of runs.
yoyo's core advantages
-
Zero Human CodeAll code is written and submitted autonomously by AI, and the evolution process is completely open and transparent. We refuse to refer to leaked source code in order to maintain independent growth.
-
Build in PublicAll decisions, diaries, learning records, and code changes are available in real time, forming a reproducible agent growth path.
-
Strong engineering constraintsThe Harness mechanism internalizes best practices in software engineering into the boundaries of agent behavior, balancing autonomy and code quality.
-
Community immunity mechanismThe issue voting system allows the community to jointly safeguard the direction of evolution and suppress prompt injection and malicious interference.
Yoyo's project address
- Project official websitehttps://yoyo.yolog.dev/
- GitHub repositoryhttps://github.com/yologdev/yoyo-evolve
Yoyo's comparison with similar competing products
| Dimension | yoyo | Claude Code | OpenAI Codex CLI |
|---|---|---|---|
| code author | AI-generated code, zero human submissions | Human team development | Human team development |
| Evolutionary mechanism | Self-contained loop: Read source code → Plan → Implementation → Test → Submit | Depends on official version updates | Depends on official version updates |
| Open source level | Completely open source (MIT), can be forked and self-evolving | Closed source | Closed source |
| Community Interaction | Automatic replies to Issues/Discussions, voting takes priority. | none | none |
| Operating mode | Scheduled wake-up for autonomous operation + interactive REPL | Purely interactive CLI | Purely interactive CLI |
| Memory system | Daily synthetic compressed learning archive injection prompt words | Session-level context | Session-level context |
| Model support | 12 providers can be switched dynamically. | Anthropic only | OpenAI only |
| Target positioning | Open and transparent experiments on self-evolving life forms | Enterprise-level programming assistant | Enterprise-level programming assistant |
Yoyo's application scenarios
-
Automated maintenance of open source projectsAs a 24/7 uninterrupted collaborator, automatically refactor code, fix bugs, manage GitHub Issues, and respond to community feedback.
-
Terminal Intelligent Programming AssistantDevelopers can use streaming REPL to invoke 60+ slash commands to complete codebase understanding, multi-file editing, test execution, and the entire Git workflow.
-
AI Agent Evolution ResearchResearchers forked the project and then modified it.
IDENTITY.mdandPERSONALITY.mdSet different goals and personalities, and observe the autonomous growth trajectory of agents in a public environment. -
Programming Education and Decision LearningBy reading yoyo's diary, commit history, and learning archives, observe how AI derives software engineering decisions and code refactoring strategies from first principles.
-
Community-driven product iterationThe product team submits requirements via GitHub Issues, and the community votes to determine the priority. Yoyo automatically implements the features with the most votes and continues to deliver them.