loop-engineering について
loop-engineering は、反復型エージェントスキルの設計や修正に使うリファレンスです。決定的な検証方法、明確な終了条件、ループパターン、コンテキスト管理を整理しています。
主な機能
- 01ループ手順と検証方法の定義
- 02多層的な終了条件の設定
- 03名前付きループパターンの活用
- 04ループ中のコンテキスト管理
活用シーン
- 01目標達成まで検索を繰り返すスキルの設計
- 02反復タスクへの決定的なチェックの追加
- 03無限ループや目標の逸脱への対処
- 04複数エージェントの分担と結果統合の計画
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ huytieu/ cog-second-brain --skill loop-engineeringインストール後、Claude Code で/loop-engineeringを入力して読み込まれたか確認します。
詳細
COG ループエンジニアリング
要約: COG のスキルの中には、1 回限りのプロンプトではないものがあります。行動し、観察し、検証し、続けるかどうかを判断するループです。このスキルは、それらのスキルが使う共通の語彙を定めます。鉄則は、決定論的なチェックを信頼し、エージェント自身の「完了したように見えます」という自己申告を決して信頼しないことです。 すべてのループで、検証方法、停止条件、従うパターンを明示する必要があります。
これは参照用および設計支援用であり、コンテンツを生成するワークフローではありません。ループするスキル(daily-brief、knowledge-consolidation、url-dump、weekly-checkin、auto-research や scout などの調査/トリアージ用スキル)は、ルールを重複して記述する代わりに、ここにリンクします。反復型のスキルを構築または修正する際は、これを直接呼び出してください。
ループが必要な理由
チェーンは、A、次に B、次に C という固定された手順を実行します。ループは動的です。エージェントが行動し、実際のフィードバック(取得したページ、日付スタンプ、ファイル数)を読み取り、それについて推論し、目標を達成するか停止条件が発動するまで繰り返します。「十分によくなるまで続ける」知識労働の大半はループであり、COG では、1 つのプロンプトでうまくいくことを期待するのではなく、ループを明示的に定義すると効果的です。
COG ループ
┌──────────────────────────────────────────────┐
│ 1. Gather pull context (vault + sources) │
│ 2. Act one step: search / fetch / scan │
│ 3. Observe read the real result │
│ 4. Verify run the deterministic check │
│ 5. Update write progress to a vault file │
│ 6. Decide continue? → loop │
│ stop? → finish + report │
└──────────────────────────────────────────────┘
ステップ 4 が要です。検証方法のないループは、ただ繰り返すだけのチェーンにすぎません。
終了条件(1 つだけでなく、複数の層を使う)
堅牢なループには、必ず停止できるよう、複数の終了条件が必要です。
| 終了条件 | 内容 | 例 |
|---|---|---|
| 決定論的な検証方法 | 目標を達成したことを確認する機械的な合否判定 | 「公開日は過去 7 日以内」 |
| ハードな反復上限 | 状況にかかわらず適用される最大反復回数 | 「トピックごとに 5 回検索したら停止」 |
| 予算ガード | 最大時間/ツール呼び出し回数/トークン数 | 「合計 20 回取得したら停止」 |
| 進展なしの検出 | 直近の反復で何も変化しなかった | 「2 回連続で検索しても新しい情報が見つからなかった」 |
| 人間へのエスカレーション | 行き詰まったループをユーザーに引き継ぐ | 「2 回尋ねてもまだ不明瞭:ユーザーに尋ねる」 |
すべてのループで、検証方法に加えて、少なくとも 1 つの安全な終了条件(上限または予算)を選んでください。進展なしの検出は、上限だけでは見逃す静かな無限ループを停止させます。
まず検証する(ループに適用する COG のルール)
COG は検証を第一とします。幻覚を避け、情報源を必須とします。ループ内では、次のようにします。
- 機械的なチェックを優先します。 日付の比較、情報源の数、「必須フィールドが空でない」こと、「ファイルに統合済みとマークされている」ことのチェックは、取り繕うことも幻覚で生み出すこともできません。
- 判断に基づくチェックは、本当に定量化できないものに限ります(このテーマは本当に新しいか、この要約は忠実か)。判断が必要な場合は、確信度を示し、根拠にリンクしてください。
- エージェント自身の「完了したと思います」を決して受け入れないでください。 これが、ループが自信満々のデタラメを生み出す最も一般的な原因です。
ループ内のコンテキスト管理
長いループではウィンドウが古いツール出力で埋まり、次第にずれていきます(「コンテキストの劣化」)。次の方法で防ぎます。
- 状態をボルトに外部化します。 作業を進めながら、進捗を出力ファイルに書き込みます。記憶として使うのはボルト内のファイルであり、会話は作業用です。
- 要約して整理します。 完了した反復を 1、2 行に要約します。必要な情報を抽出したら、生のページ本文を破棄します。
- サブエージェントを分離します。
agent_mode: teamでは、各ワーカーには必要な範囲だけを渡し、結論だけを受け取って、サブタスクをクリーンなウィンドウで実行できるようにします。あるワーカーの生の出力を次のワーカーのプロンプトに貼り付けないでください。
名前付きパターン
| パターン | 形 | COGでの使用箇所 |
|---|---|---|
| 行動・観察(ReAct) | 推論 → 行動 → 観察 → 繰り返し | すべてのCOGループの基盤 |
| 振り返り・再試行(Reflexion) | 失敗したら教訓を書き、方法を変えて再試行する | url-dump / scoutの取得再試行、daily-briefの再検索 |
| 計画・実行・検証 | 手順を計画し、実行して、各手順を検証する | knowledge-consolidationの処理 |
| 評価・最適化 | 生成し、基準に照らして採点し、合格するまで繰り返す | daily-briefの項目検証、url-dumpの品質ゲート |
| オーケストレーター・ワーカー | サブタスクに分割し、新しいウィンドウで実行して、結果を統合する | team-modeのスキャン、auto-researchのスレッド、team-brief |
| 空になるまでループ | K回連続で新しい情報が見つからなくなるまで続ける | knowledge-consolidationのテーマ抽出 |
| 人間参加型 | ループが行き詰まったとき、またはユーザーが判断すべき場面でエスカレーションするか質問する | weekly-checkinの振り返り、オンボーディング |
失敗モードと対策
| 失敗 | 対策 |
|---|---|
| コンテキストのあふれ/ドリフト | 圧縮し、不要な情報を削除し、Vaultに外部化して、サブエージェントを分離する |
| 検知されない無限ループ | 進捗がないことを検知し、上限を設ける |
| 成功の幻覚 | 決定論的な検証器を信頼し、自己申告をさせない |
| エラーの連鎖 | 最後だけでなく、早い段階から各パスで検証する |
| コストの急増 | 予算ガードを設け、「完璧」ではなく「十分な品質」で停止する |
| 目標のドリフト | 目標と停止条件を、ループの状態の先頭に記載しておく |
スキルでの活用方法
スキルの ## Loop Engineering セクションは、簡潔かつ具体的にします。次の項目を明記します。
- ループを1〜2行で示します(何を繰り返すか)。
- 検証器を示します(機械的な合否判定)。
- 終了条件を示します(検証器に加え、安全のための終了条件)。
- 上の表からパターンを示します。
このスキルの内容を繰り返すのではなく、ここを参照します。