ループを始める
(x.com/ClaudeDevs)- コーディングエージェントに毎回プロンプトで指示する方式から、停止条件が満たされるまで作業サイクルを繰り返すエージェント運用パターンへ移行中
- Claude Code チームはループを、トリガー方式、停止方式、使用する primitive、適した作業タイプの4つの基準で分類
- 主なループの種類は Turn-based、Goal-based、Time-based、Proactive の4つ
- すべての作業に複雑なループが必要なわけではなく、最も単純な解法から始め、必要に応じてパターンを適用
- ループの出力品質は周辺システムに左右されるため、コード品質の維持とトークン使用量の管理が重要
ループの定義と分類基準
- Claude Code チームはループを、停止条件が満たされるまで作業サイクルを繰り返すエージェントと定義
- ループ分類の4つの基準を提示
- どのようにトリガーされるか
- どのように停止するか
- どの Claude Code primitive を使うか
- どの種類の作業に最も適しているか
- 複雑なループが常に必要なわけではなく、単純な解法を優先したうえで、パターンを選択的に使用
Turn-based ループ
- ユーザープロンプトでトリガーされ、Claude が作業完了を判断するか、追加の文脈が必要になった時点で停止
- 定期プロセスやスケジュールに属さない短い作業に適している
- 管理方法は、具体的なプロンプト作成と skills を活用した検証改善によりターン数を減らすこと
- すべてのプロンプトは、ユーザーが各ターンを指示する手動ループを開始し、これを agentic loop と呼ぶ
- Claude が文脈収集 → アクション実行 → 作業確認 → 必要に応じて反復 → 応答
- 例: like ボタン作成を依頼すると、コードを読み、編集し、テストを実行して結果を返し、その後ユーザーが手動で確認して次のプロンプトを書く
- 検証ステップは、手動手順を SKILL.md としてエンコードすることで、Claude が自ら確認できる範囲を広げられる
- 結果を見て測定したり操作したりするためのツール・コネクターを含める必要がある
- 定量的な検証ほど自己検証しやすい
-
SKILL.md の例 (verify-frontend-change)
- UI 変更を完了と宣言する前にエンドツーエンドで検証するルール
- 編集が成功しただけで完了報告することを禁止し、人間のレビュアーのように検証
- dev サーバーを起動後、編集したページをブラウザで開く
- 変更要素を直接操作(ボタン・入力・トグルをクリック)し、状態変化を確認し、前後のスクリーンショットを取得
- ブラウザコンソールで新規エラー・警告がゼロであることを確認
- Chrome Devtools MCP でパフォーマンストレースを実行し、Core Web Vitals を監査
- ステップが失敗した場合は修正後に1段階目から再実行し、部分的な検証状態で返さない
Goal-based ループ (/goal)
- リアルタイムの手動プロンプトでトリガーされ、目標達成または最大ターン数到達で停止
- 検証可能な終了基準を持つ作業に適している
- 管理方法は、具体的な完了基準と明示的なターン上限の設定、「5回試行後に停止」
- 1ターンでは不十分な複雑な作業では、エージェントは**反復(iterate)**すると性能が向上
/goalで完了状態を定義すると、Claude は「十分によいか」を自分で判断して早期終了しない- Claude が停止を試みるたびに evaluator モデルが条件を確認し、目標達成または指定ターン数到達まで再作業
- 合格したテスト数、特定のスコアしきい値など、決定論的な基準が有効
- 例
/goal get the homepage Lighthouse score to 90 or above, stop after 5 tries.
Time-based ループ (/loop と /schedule)
- 指定された時間間隔でトリガーされ、ユーザーによるキャンセルまたは作業完了(PR のマージ、キューが空になるなど)で停止
- 反復作業や外部環境・システムとのインターフェースに適している
- 管理方法は、間隔を長めに設定するか、時間ではなくイベントベースで反応すること
- 一部の agentic な作業は反復的で、作業内容は同じで入力だけが変わる。例: 毎朝 Slack メッセージを要約
- 外部システムに依存する作業は、各間隔で確認し、変更に反応する形でインターフェースする。例: コードレビューや CI 失敗が発生する PR
/loopはプロンプトを間隔ごとに再実行する/loop 5m check my PR, address review comments, and fix failing CI
/loopはユーザーのコンピューター上で実行されるため終了すると止まるが、/scheduleで routine を作り、クラウドへ移行できる
Proactive ループ
- イベントまたはスケジュールでトリガーされ、リアルタイムの人間の介入はない
- 各作業は目標達成時に終了し、routine 自体はユーザーが停止するまで実行される
- バグレポート、Issue 分類、マイグレーション、依存関係アップグレードなど、よく定義された反復作業フローに適している
- 管理方法は、routine をより小さく高速なモデルへルーティングし、判断が必要な部分だけに最も強力なモデルを使うこと
- 上記 primitive と auto mode、dynamic workflows(research preview)などを組み合わせて、長時間実行されるループを構成
-
フィードバック処理構成の例
/schedule(research preview)で新規レポート確認 routine を実行/goalで完了を定義し、skills で検証方法を文書化- Dynamic workflows で各レポートの分類・修正・レビューエージェントをオーケストレーション
- Auto mode で権限確認なしに routine を実行
- 統合プロンプト例:
/schedule every hour: check the project-feedback channel for bug reports. /goal: don't stop until every report found this run is triaged, actioned, and responded to. When fixing a bug, use a workflow to explore three solutions in parallel worktrees and have a judge adversarially review them.
コード品質の維持
- ループの出力品質は周辺システムに左右されるため、システム設計が重要
- コードベースを清潔に保つ: Claude は既存コードベースのパターンと規約に従う
- 自己検証手段を提供: skills でチーム基準の「よい状態」をエンコード
- ドキュメントへのアクセスを容易にする: フレームワーク・ライブラリのドキュメントには最新のベストプラクティスがある
- コードレビュー用の second agent を使う: 新しい文脈を持つレビュアーはバイアスが少なく、メインエージェントの推論に影響されにくい。組み込みの
/code-reviewskill または Github 用 Code Review を活用 - 個別の結果が基準未満の場合、個別 Issue の修正にとどまらず、システム自体を改善するようエンコード
トークン使用量の管理
- ループには明確な境界が必要であり、次の原則を適用
- 適切な primitive・モデルを選択: 小さな作業にはマルチエージェントやループは不要。一部の作業には安価で高速なモデルを使う
- 明確な成功・停止基準を定義: 完了状態を具体化し、早すぎずに到達できるようにする
- 大規模実行前にパイロット: dynamic workflows は数百のエージェントを生成可能なため、小さな範囲で先に使用量を測定
- 決定論的な作業にはスクリプトを使用: 手順を推論するよりスクリプト実行のほうが安価。例: PDF skill がフォーム入力スクリプトを提供し、毎回コードを再生成する代わりに実行
- 必要以上に routine を実行しない: 監視対象の変更頻度に間隔を合わせる
- 使用量を確認:
/usageは skills・subagents・MCPs 別の使用量を分析し、引数なしの/goalは現在のターン数とトークン使用量を表示、/workflowsは各エージェントのトークン使用量を表示し、いつでも停止可能
始め方
- ループ種類別の要約
- Turn-based: 検証(check)を委任。探索・判断時に使用し、カスタム検証 skills を活用
- Goal-based: 停止条件を委任。完了状態が分かっているときに使用し、
/goalを活用 - Time-based: トリガーを委任。プロジェクト外部からスケジュールで作業が発生するときに使用し、
/loop・/scheduleを活用 - Proactive: プロンプトを委任。反復的でよく定義された作業のときに使用し、上記すべてと dynamic workflows を活用
- 始めるには、すでに行っている作業を見直し、自分がボトルネックになっている作業を1つ選んで、委任できる部分を判断
- 検証チェックを書けるか
- 目標は十分に明確か
- 作業はスケジュールで届くか
- アイデアが浮かんだらループを実行し、詰まる箇所や過剰に実行される箇所を観察する。反復的な改善を恐れないこと
まだコメントはありません。