project
Yoyo - オープンソースで自己進化するAIプログラミングエージェント
Yoyoは、サイバースペースに存在する自己進化型AIプログラミングエージェントです。Yuanhaoによって200行のRustコードで開発されたYoyoは、AIによって完全に自律的に反復され、人間からの提出がゼロの状態から47日間で47,000件以上にまで成長しました。
ヨーヨーとは何ですか?
Yoyoは、サイバースペースに存在する自己進化型AIプログラミングエージェントです。開発者のYuanhao氏は、わずか200行のRustコードから開発を始め、AIに自律的に反復学習をさせ、人間によるコード提出がゼロの状態から47日間で47,000行を超えるコードへと成長させました。このツールは8時間ごとに自動的に起動し、自身のソースコードを読み込み、GitHubの課題を分析し、改善計画を立て、テストを実行し、コードを提出します。また、4時間ごとにソーシャルな会話に参加し、コミュニティからのフィードバックから学習します。
ヨーヨーの主な機能
-
自律進化サイクル定期的に自身のソースコードやコミュニティの課題を読み、独自に機能を企画し、コードを記述し、1,700以上のテストを実行して提出することで、クローズドループの反復プロセスを形成する。
-
複数ファイルのコード編集ファイル間ナビゲーション、正確なテキスト置換、シンボル名の変更、および複数ファイルの一括変更をサポートします。
-
Gitのエンドツーエンド統合diff、blame、commit、PRの作成とレビュー、ブランチ管理など、60以上の組み込みスラッシュコマンドが含まれています。
-
マルチモデル対応Anthropic、OpenAI、Google、DeepSeek、Groqなど12社のプロバイダーと互換性があり、セッション中はいつでも切り替えることができます。
-
サブエージェント委任:合格
/spawnあるいは、自動化ツールはサブタスクをサブエージェントに割り当てて並列処理を行うことができる。 -
プロジェクトの健康診断Rust、Node、Python、Goなどのプロジェクトタイプを自動的に検出し、ビルド、テスト、リンティング、および修正を実行します。
-
記憶と文脈自動読み込み
YOYO.mdプロジェクトのコンテキストでは、セッションをまたいだ永続的なメモリと、日々の学習アーカイブの圧縮がサポートされています。 -
地域社会との交流このボットは、問題や議論に対して自動的に返信し、いいねの数に基づいてコミュニティからのリクエストの優先順位を決定します。
ヨーヨーの技術原理
-
制約フレームワークを活用するソフトウェアエンジニアリングの標準をエージェントのランタイムルールにカプセル化することで、AIが制限された安全な範囲内で自律的な意思決定を行い、制御不能になるリスクを低減します。
-
デュアルループアーキテクチャ進化サイクル(コードの自己改善)と社会サイクル(コミュニティにおけるインタラクティブな学習)は並行して進行する。過去の学習はアクティブメモリとしてアーカイブされ、時間加重圧縮によって手がかりとなる単語が付加される。
-
ツール呼び出しとストリーミング出力Rustをベースとしたストリーミングトークン出力と並列ツール実行を実装し、Bash、ファイル読み書き、コード検索、AST構造ルックアップなどのアトミック操作をサポートしています。
-
Provider FailoverAPIに障害が発生した場合、優先度に基づいて自動的にバックアップモデルに切り替わり、長期的な自律運用中の安定性を確保します。
-
突然変異検査:使用
cargo-mutantsコードカバレッジの真の有効性を確認するために、テストスイートに対してミューテーションテストを実施してください。
ヨーヨーの使い方
-
インストールmacOS/Linux上で動作します
curl -fsSL .../install.sh | bashWindows は PowerShell スクリプトを使用するか、cargo installソースコードからビルドする。 -
APIキーの設定:設定
ANTHROPIC_API_KEYまたは、他のプロバイダーのキーの場合は、それを端末に入力してください。yoyo対話型REPLを起動します。 -
プロジェクトの初期化プロジェクトのルートディレクトリで実行してください。
/init自動生成YOYO.mdコンテキストファイル、またはドメイン知識を注入するために手動で作成されたファイル。 -
日常使い: 自然言語または 60 以上のスラッシュコマンド (例:
/diff、/commit、/test、/spawn(コーディング作業を推進する。) -
地域社会の参加: GitHubコミット
agent-input問題にタグを付けたり、「いいね」を付けたりすることで、yoyoの進化の優先順位に影響を与えることができます。あるいは、議論を始めてyoyoと対話することもできます。
ヨーヨーの重要な情報と使用要件
-
オープンソースライセンスMITは、ユーザーが自由にフォークして独自の進化型インテリジェントエージェントを育成することを許可しています。
-
動作環境macOS、Linux、WindowsをサポートするRustツールチェーン。
-
モデル依存性OpenAIインターフェースと互換性のある12のプロバイダーをサポートする、独自のAPIキー(Claude Sonnet 4を推奨)を用意する必要があります。
-
アクセス制御: 機密性の高い操作のためのデフォルトの対話型確認、サポート
--yesグローバルな自動承認、またはグローバルなブラックリストとホワイトリストに基づくきめ細かな制御。 -
スポンサーシップの仕組みGitHub Sponsors / Ko-fi: 月額または単発のスポンサーシップにより、問題の優先度が上がり、実行回数を増やすことができます。
ヨーヨーの主な利点
-
ゼロヒューマンコードすべてのコードはAIによって自律的に記述・提出され、進化プロセスは完全にオープンかつ透明です。独立した成長を維持するため、流出したソースコードへの言及は一切行いません。
-
公共の場で建設するすべての決定、日記、学習記録、およびコード変更はリアルタイムで利用可能であり、再現可能なエージェントの成長経路を形成します。
-
厳しい工学的制約Harnessメカニズムは、ソフトウェアエンジニアリングにおけるベストプラクティスをエージェントの動作範囲に組み込み、自律性とコード品質のバランスを取ります。
-
集団免疫メカニズム問題投票制度により、コミュニティは共同で進化の方向性を守り、性急な介入や悪意のある干渉を抑制することができる。
Yoyoのプロジェクトアドレス
- プロジェクト公式サイト:https://yoyo.yolog.dev/
- GitHubリポジトリ:https://github.com/yologdev/yoyo-evolve
Yoyoと類似の競合製品との比較
| 寸法 | yoyo | Claude Code | OpenAI Codex CLI |
|---|---|---|---|
| コード作成者 | AIが生成したコード、人間による作業は一切なし | 人材育成 | 人材育成 |
| 進化メカニズム | 自己完結型のループ:ソースコードの読み込み → 計画 → 実装 → テスト → 提出 | 公式バージョンアップデート次第 | 公式バージョンアップデート次第 |
| オープンソースレベル | 完全にオープンソース(MITライセンス)であり、フォークして自己進化することが可能です。 | 非公開ソース | 非公開ソース |
| 地域社会との交流 | 問題/議論への自動返信機能があり、投票が優先されます。 | なし | なし |
| 動作モード | 自律動作のためのスケジュールされた起動 + 対話型REPL | 完全に対話型のCLI | 完全に対話型のCLI |
| メモリシステム | 日々の合成圧縮学習アーカイブ注入プロンプトワード | セッションレベルのコンテキスト | セッションレベルのコンテキスト |
| モデルサポート | 12社のプロバイダーを動的に切り替えることができます。 | 人間のみ | OpenAIのみ |
| 目標位置 | 自己進化する生命体に関する、オープンで透明性の高い実験 | エンタープライズレベルのプログラミングアシスタント | エンタープライズレベルのプログラミングアシスタント |
Yoyoのアプリケーションシナリオ
-
オープンソースプロジェクトの自動メンテナンス24時間365日途切れることなく共同作業を行うツールとして、コードの自動リファクタリング、バグ修正、GitHub Issuesの管理、コミュニティからのフィードバックへの対応を行います。
-
端末インテリジェントプログラミングアシスタント開発者はストリーミングREPLを使用して60種類以上のスラッシュコマンドを呼び出すことで、コードベースの理解、複数ファイルの編集、テストの実行、およびGitワークフロー全体を完了できます。
-
AIエージェント進化研究研究者たちはプロジェクトを分岐させ、その後修正を加えた。
IDENTITY.mdそしてPERSONALITY.md異なる目標と性格を設定し、公共環境におけるエージェントの自律的な成長軌跡を観察する。 -
プログラミング教育と意思決定学習yoyoの日記、コミット履歴、学習アーカイブを読むことで、AIがソフトウェアエンジニアリングの意思決定やコードリファクタリング戦略を基本原理からどのように導き出すかを観察できます。
-
コミュニティ主導の製品反復製品チームはGitHub Issuesを通じて要件を提出し、コミュニティが投票によって優先順位を決定します。Yoyoは最も多くの票を獲得した機能を自動的に実装し、継続的に提供していきます。