--- name: autonomous-loops description: "自動Claude Codeループのパターンとアーキテクチャ — シンプルな順序パイプラインからRFC駆動マルチエージェントDAGシステムまで。" origin: ECC --- # 自動ループスキル > 互換性に関する注記(v1.8.0):`autonomous-loops`は1つのリリースのために保持されます。 > 正規スキル名は`continuous-agent-loop`です。新しいループガイダンスは > そこで作成される必要があります。このスキルは既存のワークフローの破断を避けるために利用可能なままです。 Claude Codeをループで自動的に実行するためのパターン、アーキテクチャ、参照実装。シンプルな`claude -p`パイプラインから完全なRFC駆動マルチエージェントDAGオーケストレーションまですべてをカバーします。 ## 使用時期 - 人間の介入なしで実行される自動化開発ワークフローを設定 - 問題に対して正しいループアーキテクチャを選択(シンプル対複雑) - CI/CDスタイルの継続的開発パイプラインを構築 - マージ調整を備えた平行エージェントを実行 - ループ反復全体のコンテキスト永続性を実装 - 品質ゲートとクリーンアップパスを自動化ワークフローに追加 ## ループパターンスペクトラム 最も単純なものから最も洗練されたものまで: | Pattern | Complexity | Best For | |---------|-----------|----------| | 順序パイプライン | 低 | 日次開発ステップ、スクリプト化されたワークフロー | | NanoClaw REPL | 低 | インタラクティブな永続的なセッション | | 無限エージェントループ | 中 | 平行コンテンツ生成、仕様駆動作業 | | 継続的なClaude PRループ | 中 | CIゲートを備えた複数日の反復的プロジェクト | | De-Sloppifyパターン | アドオン | 任意の実装ステップ後の品質クリーンアップ | | Ralphinho / RFC駆動DAG | 高 | 大規模機能、マージキューを備えた複数ユニット平行作業 | --- ## 1. 順序パイプライン(`claude -p`) **最も単純なループ。**日次開発を非対話的な`claude -p`呼び出しの順序に分割します。各呼び出しは、明確なプロンプトを持つ焦点を絞ったステップです。 ### コア洞察 > このようなループを理解できない場合、対話型モードでもLLMをコード修正に駆動することさえできないことを意味します。 `claude -p`フラグはClaude Codeを非対話的にプロンプト付きで実行し、完了時に終了します。パイプラインを構築するための呼び出しをチェーンします: ```bash #!/bin/bash # daily-dev.sh — 機能ブランチの順序パイプライン set -e # ステップ1:機能を実装 claude -p "docs/auth-spec.mdのスペックを読む。src/auth/にOAuth2ログインを実装します。TDDを最初にテストを書いてください。新しいドキュメントファイルを作成しないでください。" # ステップ2:De-sloppify(クリーンアップパス) claude -p "前回のコミットで変更されたすべてのファイルを確認します。不要なタイプテスト、過度に防御的なチェック、またはテスト言語機能を削除します(例:TypeScriptジェネリクスが機能するテスト)。実際のビジネスロジックテストを保つ。クリーンアップ後にテストスイートを実行します。" # ステップ3:検証 claude -p "完全なビルド、lint、型チェック、テストスイートを実行します。失敗を修正します。新しい機能を追加しないでください。" # ステップ4:コミット claude -p "ステージングされたすべての変更の従来的なコミットを作成します。メッセージとして「feat: add OAuth2 login flow」を使用します。" ``` ### 主要な設計原則 1. **各ステップは分離されている** — `claude -p`呼び出しごとの新鮮なコンテキストウィンドウは、ステップ間でコンテキストブリードがないことを意味します。 2. **順序が重要である** — ステップは順序を実行します。各々は前回によって残されたファイルシステム状態に基づいています。 3. **ネガティブな指示は危険** — 「テスト型システムを実行しないでください」と言わないでください。代わりに、別のクリーンアップステップを追加してください(De-Sloppifyパターンを参照)。 4. **終了コードは伝播する** — `set -e`は失敗でパイプラインを停止します。 ## モデルルーティングおよび他の高度な機能 詳細についてはドキュメントを参照してください。