「朝起きたら、AIが新機能を実装していた」
SF映画のような話だが、これが現実になりつつある。Y Combinator出身の起業家Ryan Carsonが公開した「Compound Engineering」という手法が、開発者コミュニティで大きな反響を呼んでいる。
X(Twitter)で76.3万回以上表示され、6,705件のブックマーク、1,790件のいいねを獲得したこの投稿は、AIエージェントを「複利」で成長させる具体的な方法を示している。
この記事では、Ryan Carsonの夜間自動化ループの全貌を解説する。3つのオープンソースプロジェクト、macOSでの設定方法、そして「自己改善するAI」の仕組みを詳しく見ていこう。
Compound Engineeringとは何か
Compound Engineeringは、AIエージェントに「複利効果」をもたらす開発手法だ。毎晩、エージェントが自分自身について学習し、その知識を蓄積していく。翌日のエージェントは、前日より少しだけ賢くなっている。
Ryan Carsonはこう説明している:
「エージェントに寝ている間に学習させ、出荷させる方法」
毎晩、エージェントがスレッドから学び、AGENTS.mdを更新し、次の優先項目を出荷する。これが継続的な改善、つまり「複利」だ。
従来の開発では、開発者が手動でコードを書き、手動でデプロイしていた。Compound Engineeringでは、この作業の一部をAIエージェントが自律的に行う。
| 項目 | 従来の開発 | Compound Engineering |
|---|---|---|
| 学習タイミング | 開発者が意識的に行う | 毎晩自動で実行 |
| 知識の蓄積 | ドキュメント手動更新 | AGENTS.mdに自動追記 |
| コード出荷 | 開発者が実装・デプロイ | エージェントが自動出荷 |
| 改善サイクル | 週単位・月単位 | 毎日(複利効果) |
夜間自動化ループの2つのフェーズ
Compound Engineeringの核心は、毎晩実行される2つのフェーズだ。
フェーズ1:Compound Review(午後10時30分)
最初のフェーズでは、エージェントがその日の会話スレッドを振り返り、学んだことをAGENTS.mdファイルに追記する。
具体的には以下の作業を自動で行う:
- その日のClaude Codeセッションを分析
- 新しく学んだパターンやベストプラクティスを抽出
- AGENTS.mdファイルに知識を追記
- 変更をGitにコミット
フェーズ2:Auto-Compound(午後11時)
30分後、2番目のフェーズが始まる。ここでエージェントは、更新された知識を使って実際のコードを出荷する。
- TODO.mdから次の優先タスクを取得
- 最新のAGENTS.mdを参照しながら実装
- テストを実行
- プルリクエストを作成
朝起きたとき、開発者はプルリクエストをレビューするだけでいい。
3つのオープンソースプロジェクト
Ryan Carsonは、Compound Engineeringを実現するための3つのツールを公開している。
1. Compound Engineering Plugin
Claude Code用のプラグインで、エージェントの学習プロセスを管理する。主な機能:
- 会話スレッドの分析と要約
- AGENTS.mdへの自動追記
- 学習内容の構造化
GitHubリポジトリ:compound-engineering-plugin
2. Compound Product
プロダクト開発に特化したCompound Engineeringの実装例。以下のファイル構造を持つ:
compound-product/
├── AGENTS.md # エージェントの学習記録
├── TODO.md # 優先タスクリスト
├── CLAUDE.md # Claude Code設定
├── scripts/
│ ├── compound-review.sh # フェーズ1スクリプト
│ └── auto-compound.sh # フェーズ2スクリプト
└── .launchd/
└── com.compound.nightly.plist
3. Ralph
エージェントループを実現するコアライブラリ。「寝ている間に出荷する」ための基盤を提供する。
Ralphの特徴:
- タスクの自動優先順位付け
- エラーハンドリングと自動リトライ
- 進捗レポートの生成
- 人間によるレビューポイントの設定
macOSでの設定方法
Compound Engineeringを自分の環境で動かすには、macOSのlaunchdを使ってスケジュール実行を設定する。
ステップ1:plistファイルの作成
まず、夜間実行用の設定ファイルを作成する:
~/Library/LaunchAgents/com.compound.review.plist
内容は以下のようになる:
Label
com.compound.review
ProgramArguments
/path/to/compound-review.sh
StartCalendarInterval
Hour
22
Minute
30
ステップ2:スクリプトの配置
compound-review.shとauto-compound.shを作成し、実行権限を付与:
chmod +x scripts/compound-review.sh chmod +x scripts/auto-compound.sh
ステップ3:launchdへの登録
launchctl load ~/Library/LaunchAgents/com.compound.review.plist launchctl load ~/Library/LaunchAgents/com.compound.autocompound.plist
これで毎晩22:30と23:00に自動実行される。
AGENTS.mdの構造と進化
Compound Engineeringの核となるのがAGENTS.mdファイルだ。このファイルにエージェントの「記憶」が蓄積されていく。
初期状態
# AGENTS.md ## 学習記録 (まだ記録なし) ## ベストプラクティス (まだ記録なし)
1週間後
# AGENTS.md ## 学習記録 ### 2026-01-24 - APIレスポンスのキャッシュ戦略を学習 - エラーハンドリングのパターンを追加 ### 2026-01-25 - TypeScriptの型定義のベストプラクティス - テストカバレッジ向上の手法 ## ベストプラクティス - 非同期処理は必ずtry-catchでラップ - APIコールは5秒のタイムアウトを設定 - コンポーネントは単一責任の原則に従う
1ヶ月後には、このファイルは数百行に成長する。エージェントは過去の全ての学習を参照しながら、新しいコードを書くようになる。
自己改善ループの実際の効果
Ryan Carsonは、この手法を数週間実践した結果を報告している。
| 指標 | 導入前 | 導入後 | 変化 |
|---|---|---|---|
| 週間コミット数 | 15件 | 42件 | +180% |
| バグ発生率 | 12% | 4% | -67% |
| 朝のレビュー時間 | – | 15分 | 新規追加 |
| AGENTS.md行数 | 0行 | 847行 | 知識の蓄積 |
注目すべきは、バグ発生率の低下だ。エージェントが過去の失敗から学習し、同じミスを繰り返さなくなる。これが「複利効果」の本質だ。
導入時の注意点
Compound Engineeringを導入する際には、いくつかの注意点がある。
人間によるレビューは必須
エージェントが出荷したコードは、必ず人間がレビューする。完全な自動化ではなく、「人間が寝ている間に下準備を完了させる」という位置づけだ。
段階的な権限付与
最初からエージェントに全ての権限を与えるのではなく、段階的に信頼を築いていく:
- フェーズ1:ドキュメント更新のみ(AGENTS.md)
- フェーズ2:テストコードの追加
- フェーズ3:小さな機能の実装
- フェーズ4:より大きな変更
ロールバック手順の準備
エージェントが予期せぬ変更を加えた場合に備え、常にロールバック手順を用意しておく。Gitのブランチ戦略が重要になる。
Compound Engineeringの未来
この手法は、ソフトウェア開発の未来を示唆している。
Ryan Carsonは次のように語る:
「これは始まりに過ぎない。今はまだ、エージェントは人間のアシスタントだ。しかし、AGENTS.mdに蓄積された知識が一定量を超えると、エージェントはプロジェクトについて開発者よりも詳しくなる。そのとき、役割が逆転する。」
1年後、5年後、私たちは「コードを書く」のではなく「エージェントを育てる」ようになるかもしれない。Compound Engineeringは、その第一歩だ。
まとめ:明日から始めるCompound Engineering
Ryan CarsonのCompound Engineeringは、AIエージェント開発に「複利効果」をもたらす革新的な手法だ。
| 要点 | 内容 |
|---|---|
| 基本概念 | 夜間にエージェントが学習・出荷する自動化ループ |
| 2つのフェーズ | 22:30 Compound Review、23:00 Auto-Compound |
| 3つのツール | Compound Engineering Plugin、Compound Product、Ralph |
| 核心ファイル | AGENTS.md(エージェントの記憶と学習を蓄積) |
| 効果 | コミット数180%増、バグ率67%減 |
今夜から始めよう。launchdを設定し、AGENTS.mdを作成し、エージェントに学習を始めさせる。明日の朝、あなたは新しいプルリクエストと共に目覚めるだろう。
それが「複利」の力だ。


コメント