自律 Claude Code
一晩でフィーチャーをリリースするエージェントのための統合スタック。スレッドが構造を与え、Ralph ループが自律性を与え、検証が正確さを保つ。
設定をやめて、構築を始めよう。
AIオーケストレーション付きSaaSビルダーテンプレート。
エンジニアが AI エージェントを動かす方法を再構成している二つのアイデアがある: Ralph Wiggum ループとスレッドベースエンジニアリングだ。
Ralph はエージェントを自分自身で動かし続ける方法だ。スレッドはその自律性をスケールして測定する方法だ。組み合わせると、人間が席にいなくてもソフトウェアを構築する実際のシステムになる。
この投稿はその組み合わせだ。
統合モデル
各パーツがどう収まるか:
スレッドベースエンジニアリングがスケルトンを提供する。メンタルモデルはスレッドだ: ベース、並列、チェーン、フュージョン、ビッグ、長期間。各スレッドタイプに固有の役割がある。
Ralph ループが L スレッドを駆動する。ストップフックパターン、完了プロミス、検証ファーストな開発が、長い自律的な実行を実際に信頼できるものに変える。
検証が全体を維持する。それなしでは、スレッドは早期に終了し、ループは永遠に回り続ける。
Thread Types × Verification → Reliable Autonomous Work
↓
Ralph Loops = Implementation of L-Threads
↓
Result: Features shipping while you sleep検証スタック
Boris Cherny のルールは一文だ: 常に Claude に自分の作業を検証する方法を与えよ。
それは統合モデルのすべての層に現れる:
| スレッドタイプ | 検証方法 |
|---|---|
| ベース | 手動レビュー |
| P スレッド | 並列レビュー、コンセンサス |
| C スレッド | フェーズごとの検証 |
| F スレッド | 複数の出力を比較 |
| B スレッド | サブエージェント検証 |
| L スレッド | 自動テスト + ストップフック |
他よりも重要なことが一つある。スレッドが長く実行されるほど、その検証も自律的に実行される必要がある。26時間の L スレッドを誰も手動でレビューしない。システムが自己チェックしなければならない。
完全なスタックの構築
すべての概念を組み合わせた実際のセットアップを示す:
レイヤー 1: 仕様 (ピン)
すべての自律的な実行は仕様から始まる。その仕様がピンだ。エージェントが問題を発明するのを防ぐ。
## Feature: User Dashboard
### Scope
- Display user metrics
- Show recent activity
- Add export functionality
### Out of Scope
- Real-time updates (Phase 2)
- Mobile responsiveness (Phase 2)
### Acceptance Criteria
- [ ] Metrics load in under 2 seconds
- [ ] Activity shows last 30 days
- [ ] Export generates valid CSV可能な場合は既存のコードを参照する。エージェントがすべきでないことを明記する。「完了」が何を意味するかを平易な言葉で固定する。
レイヤー 2: テスト駆動検証
先にテストを書く。そのテストが L スレッドを信頼できるものにする検証レイヤーだ。
// For each acceptance criterion, create a test
tests/
dashboard/
metrics.test.ts # Verifies metrics load time
activity.test.ts # Verifies activity display
export.test.ts # Verifies CSV generation実行中のエージェントはテストを繰り返し実行する。テストが緑になるまでループは閉じられない。曖昧さなし。早期終了なし。
レイヤー 3: ストップフック
検証を強制するためにストップフックを設定する:
// stop-hook.js
module.exports = async function (context) {
// Run test suite
const testResult = await runTests();
if (testResult.failed > 0) {
return {
decision: "block",
reason: `${testResult.failed} tests failing. Continue work.`,
};
}
// Check for completion promise
if (!context.output.includes("complete")) {
return {
decision: "block",
reason: "Completion promise not found. Verify all work is done.",
};
}
return { decision: "allow" };
};ストップフックはバウンサーだ。Claude が何を考えているかは無視する。テストが通過しているかどうかだけを気にする。
レイヤー 4: スレッド選択
次に、作業に合ったスレッドタイプを選ぶ:
小さなフィーチャー、一つのファイル: ベーススレッド。プロンプト、エージェントが作業、レビュー。
5つの独立したフィーチャー: P スレッド。5つのターミナルを起動し、それぞれに一つのフィーチャーを割り当てる。
3フェーズのデータベースマイグレーション: C スレッド。続行前に各フェーズ後に検証する。
重要なアーキテクチャ決定: F スレッド。3つのエージェントの意見を取得し、結果を比較する。
一晩のフィーチャービルド: Ralph ループ付き L スレッド。就寝前に実行を開始する。
サブタスクを含むマルチファイルリファクタリング: B スレッド。オーケストレーターが各ファイルのワーカーを生成する。
レイヤー 5: チェックポイント状態
エージェントの外に状態を保持する。これは L スレッドに特に重要だ:
## Progress: User Dashboard
### Completed
- [x] Set up test infrastructure
- [x] Implement metrics API endpoint
- [x] Create metrics display component
### In Progress
- [ ] Implement activity feed
### Remaining
- [ ] Add export functionality
- [ ] Performance optimizationエージェントは作業中にこのファイルを書き直す。コンテキストウィンドウがいっぱいになってエージェントが再起動しても、進捗ファイルを読んで停止したところから再開する。
UI 検証: 見落とされがちな部分
テストが通過しても画面が壊れていることがある。
UI に触れるスレッドには、テストスイートに加えてスクリーンショットベースの検証が必要だ:
Workflow extension for UI work:
1. Complete implementation
2. Take screenshots of affected components
3. Review each screenshot for visual issues
4. Rename verified screenshots with "verified_" prefix
5. Do NOT output completion promise yet
6. Run one more loop to confirm all screenshots verified
7. Only then output "complete"これが視覚的レビューを強制する。Claude はスクリーンショットチェックをスキップして作業を完了と呼ぶ方法がない。
Loom でのスケーリング
次のレベルは Loom スタイルのオーケストレーションだ。
Loom は人間ではなくエージェントのために構築された環境だ。Ralph ループをリアクティブシステムに接続する。
レベル 1: 単一の Ralph ループ (L スレッド) レベル 2: 複数の並列 Ralph ループ (L スレッドの P スレッド) レベル 3: オーケストレートされたループのチェーン (L スレッドを含む B スレッド) レベル 4: 自律的なプロダクトシステム (リリース、観察、イテレーションを行うエージェント)
レベル4では、エージェントが:
- フィーチャーフラグの後ろにリリース
- コードレビューなしでデプロイ
- アナリティクスを観察
- 変更が機能したかどうかを判断
- 自動的にイテレーション
これが Z スレッドのエンドポイントだ。人間の入力ゼロ。完全な自律性。
自律ループの経済性
エージェントを実行し続けるコストは Sonnet で約 $10.42 USD/時間だ。
それが計算を変える。
| アプローチ | コスト | 出力 |
|---|---|---|
| 人間の開発者 | ~$100/時間 | 8時間/日 |
| 単一エージェント | ~$10/時間 | 24時間/日 |
| 5つの並列エージェント | ~$50/時間 | 120エージェント時間/日 |
コストは上限ではない。上限は定義できる信頼できる作業量だ。
検証ファーストのループを正しく実装したチームは、そうでないチームとは異なるペースでリリースする。少し違うのではない。全く異なるペースだ。
よくある統合パターン
パターン 1: 計画 + L スレッド
- 計画のための C スレッド (計画を自分で検証)
- フレッシュなコンテキスト
- 実装のための L スレッド (Ralph ループ)
- 最終レビュー
なぜ機能するか: 計画と実装が別々のコンテキストに存在する。計画に注意を使う。ビルドは独立して実行される。
パターン 2: P スレッドフィーチャースプリント
- 複数のフィーチャーの仕様を書く
- P スレッドを起動 (フィーチャーごとに一つ)
- 各 P スレッドが内部で L スレッドとして実行
- 完了したフィーチャーを順次レビュー
なぜ機能するか: 並列性はフィーチャーレベルに存在する。自律性は実装レベルに存在する。
パターン 3: F スレッドアーキテクチャ
- アーキテクチャの質問を定義
- F スレッドを起動 (3〜4エージェント)
- 各エージェントがソリューションを提案
- 結果を比較し、最良のものを選ぶ
- 選んだソリューションを L スレッドで実装
なぜ機能するか: 間違えると痛い決断に複数の視点を得られる。一度選んだら、ビルドが自律的に実行される。
パターン 4: B スレッドオーケストレーション
- メインエージェントが大きなタスクを受け取る
- サブタスクに分解
- ワーカーエージェントを生成 (各自がミニ L スレッドを実行)
- 結果を集約
- メインエージェントが検証してコミット
なぜ機能するか: 作業が明確に分割される。各ワーカーが狭い焦点を保つ。メインエージェントがスレッドをつなぎ合わせる。
失敗モードと修正
スレッドが早く終了する
原因: 弱い検証 修正: テストを追加する。完了基準を客観的にする。UI にはスクリーンショット検証を使用する。
L スレッドが永遠に回り続ける
原因: 不可能なタスクまたは完了プロミスの欠如 修正: 最大イテレーション数を設定する。明示的な完了基準を追加する。エージェントがいつプロミスを出力するかを知っていることを確認する。
P スレッドがコンフリクトを起こす
原因: エージェントが同じファイルを編集している 修正: フィーチャーまたはファイルで分離する。git ワークツリーを使用する。並列作業の間に明確な境界線を引く。
B スレッドがまとまりを失う
原因: サブエージェントがメインゴールからずれる 修正: より良い仕様。より多くのチェックポイント。オーケストレーターがサブエージェントの出力をレビューする。
検証が通過するが作業が間違っている
原因: テストが実際の要件をカバーしていない 修正: より厳密な受け入れ基準。UI にはスクリーンショット検証。最初の数回の実行を手動でレビューする。
実装パス
今いる場所から始める。週ごとに完全な自律性に向けて構築する。
第1週: 信頼できるベーススレッドを実行する。すべての結果を手動で検証する。
第2週: P スレッドを追加する。2つのエージェントを並列で実行する。コンテキストの切り替えを処理する。
第3週: テスト駆動検証を実装する。実装前にテストを書く。
第4週: 最初の L スレッドを試す。ストップフックを使用する。最大イテレーション数を設定する。実行を見守る。
第5週: L スレッドをスケールする。一晩実行する。検証を信頼する。
第6週: B スレッドを追加する。エージェントがサブエージェントを生成できるようにする。マルチファイルの変更をオーケストレートする。
第7週: F スレッドを試す。アーキテクチャ決定に複数の意見を得る。
第8週: パターンを組み合わせる。L スレッドの P スレッド。F スレッドを含む B スレッド。
毎週測定する。スレッドの数。実行時間。作業が必要としたチェックポイントの数。
目指すところ
ソフトウェアエンジニアリングはスレッドベースの思考でスケールされた自律ループに向かっている。
- より多くのスレッド: あらゆるレベルでの並列性
- より長いスレッド: 分ではなく、時間と日
- より太いスレッド: エージェントがエージェントを生成してさらにエージェントを生成
- より少ないチェックポイント: 検証がレビューを置き換える
このように作業する開発者は単に「AI を使っている」のではない。自律ソフトウェアファクトリーを運営している。
Ralph はループを与える。スレッドは形を与える。検証は信頼を与える。
三つをすべて組み合わせると、眠っている間にリリースするシステムができる。
次のステップ
- L スレッドの基盤のために Ralph Wiggum ループから始める
- メンタルモデルのためにスレッドベースエンジニアリングを学ぶ
- 検証パターンのためにフィードバックループを研究する
- P スレッド管理のために非同期ワークフローを探る
- B スレッドオーケストレーションのためにカスタムエージェントを構築する
ループはシンプルだ。検証が重要だ。スレッドが乗数だ。
今から構築を始めよう。
設定をやめて、構築を始めよう。
AIオーケストレーション付きSaaSビルダーテンプレート。