Communitygithub.com

ループ設計+レビュー

目標指向型エージェントループを設計し、スピンやトークン消費、Goodhartゲーミング、誤った答えの実行完了といったループの失敗パターンをレビューします。

ループ設計+レビュー とは?

このスキルは、自律エージェントのループを正しく設計し、よくある失敗パターンから保護するための枠組みを提供します。LLMは本質的にフィードフォワードシステムであり、ターンをまたいで目標に向かう内部メカニズムを持たないため、外部ループでラップする必要があります。このスキルの核となるのは、(1)ループを記述する(構築すべきか判断し、機械判定可能な目標を定義し、ループタイプとスケルトンを選択する)、(2)ループをレビューする(5つの障害モード+3つのレッドラインでチェックする)という2つのアクションです。サーボ、レギュレータ、プラン/ビルド/ジャッジといったサイバネティクスパターンをカバーし、判定は常に人間が保持し、機械は実行ループ内で自己完結しないことを強調します。このスキルは、自律ループや継続エージェントループなどのメカニズムレイヤーのスキルを補完し、それらでは扱われない判断レイヤーに焦点を当てます。使用例として「夜間グリーンキーパーループ」のレビューが示されており、単純な「全テスト通過」目標がなぜ危険か、境界条件と独立した判定によってどのように修正されるかを実証しています。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/affaan-m/everything-claude-code/tree/main/skills/loop-design-check

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

ループ設計+レビュー は何をしますか?

前提. LLMはフィードフォワードシステムです。プロンプトを入力→トークンを出力し、ターンをまたいで「目標に向かって進む」組み込みの仕組みはありません。LLMをあたかも目標指向システムのように振る舞わせるには、その周りにフィードバックループを巻く必要があります。このスキルは、そのループを正しく記述し、暴走しないようにレビューするのに役立ちます。

使用する/しない場合

使用する場合:

  • 繰り返し行うタスクを、何度も実行するエージェントに任せたい(作成→テスト、テスト→修正、修正→検証…)。
  • すでにループがあり、それがスピンしたり、ごまかしたり、誤った答えを最後まで実行してしまうのが心配な場合。

使用しない場合:

  • 1回限りのタスク→単に実行するだけ。ループで包む必要はありません。
  • 単純なタイマー/ポーリング→/loopを使う。設計は不要。
  • ループアーキテクチャをどのように配線するか(パイプライン→DAG、長期実行のリカバリ)→それはメカニズムレイヤーです。autonomous-loops/continuous-agent-loopを参照。このスキルは「目標が正しいか、暴走しないか」のみを扱い、メカニズムを再説明しません。

レッドラインの前提:2レベルのフィードバック

レベル誰が所有するか何をするか
実行(低)機械/エージェント「リテラルな目標からどれだけ離れているか」を測定し、ゼロにする。機械はここで強い。
判断(高)人間「この目標自体が正しいか、変更すべきか、停止すべきか」を決定する。機械は自分のループの外に出て目標を疑問視することはできない。

サーモスタットは「26°Cからどれだけ離れているか」をフィードバックできますが、あなたが熱を出していて28°Cにしたい場合、26が正しい目標かどうかを判断できません。ただひたすら26を目指すだけです。「今日は何度に設定するか」は常に人間の判断です。 判断/承認/最後のスイッチを機械に委ねる=高レベルのフィードバックを取り除くこと=誰も疑問を持たない目標に向かって、機械は速く、激しく全力疾走する→誤った出力。


アクション1 — ループを書く(5ステップ)

ステップ0 · まず減算:そもそも構築すべきか?(4条件ゲート、1つでも外れたら拒否)

① タスクが毎週以上に繰り返される ② 検証が自動化可能 ③ トークンバジェットが許容できる ④ エージェントが実際に実行して結果を見るツールを持っている

1つでも外れる→ループを構築しない;手動または別の方法で行う。

ほとんどの人が止まるのは「ループを書けるか」ではなく、「自分のリポジトリがループに値するか」です。ループに値するリポジトリには、調整ベースライン(ゴールデンサンプル/上流合計)+テスト+lintガードがあります。ループに値しないリポジトリは、ループによってエラーが増幅されるだけです。

ステップ1 · 機械判定可能な目標を定義する(難しい部分—ループの成否はここにかかっている)

ループ全体は比較器の「もう終わったか?」に依存します。比較器が機能するには、終了条件が機械でyes/no判定可能でなければなりません。

  • 悪い例:曖昧(「良くする」「もっとシャープに書く」)→比較器が判断できない→決して通過しない(スタックしてリトライし続ける)か、推測する(ランダムに通過/ブロック)。
  • 良い例:判定可能(「96個すべての単体テストが成功し、かつ変更リストが作成される」、「モジュール02のフィールドが入力され、pytestが成功し、ビジネスロジックが変更されていない」)→一度のチェックで決着する。ループはクリーンに収束する。

5点目標フレームワーク:

  1. 完了基準が機械検証可能であること。
  2. 境界条件が完了基準と共に定義されている(「やってはいけないこと」)— Goodhart対策。境界がない=ごまかす許可証。
  3. 失敗時のフォールバックがある— リトライ上限N+超過時に人間にエスカレーション。
  4. 目標が階層化されている。
  5. 完了基準にはアサーションよりも調整(reconciliation)を優先する— 自身のアサーションよりも先に、外部事実(ゴールデンサンプル/上流合計/財務照合/プラットフォームバックオフィス数値)にアンカーする。「すべてのテストが成功」は操作可能(アサートを緩める、モックを偽装する、例外を飲み込む)。「リファレンスとのdiff < 0.01」は操作不可能。

セルフチェック: ドメインを知らない人に目標を読んで聞かせる。その人は1つのコマンドを実行して完了したかどうかを言えるか?言えないなら、十分に判定可能ではありません。やり直し。

ステップ2 · ループタイプを選ぶ

タスクループタイプ(サイバネティクス)停止方法
明確な「完了」テストがある(完了まで書き続ける/画像バッチ処理など)サーボ(/goalスタイルの閉ループ)目標到達で停止
エンドポイントがなく、状態を維持し続ける必要がある(在庫アラート/定期ヘルスチェック)レギュレータ(/loopスタイルのサーモスタット)決して停止しない;変化があったときだけ動作(不感帯がノイズを抑制)
周期的にサンプリングし、条件で停止する(PRがCI成功するまで監視)終了条件付きレギュレータ終了条件が成立したら停止
「何かを時間通りに確実に行う」必要がある上記を/scheduleでラップcronで起動

経験則:明確な「完了」テスト→サーボ;維持が必須でエンドポイントなし→レギュレータ;「時間通りに」→レギュレータをスケジュールでラップ。

ステップ3 · スケルトンを選ぶ

メンテナンス型(既存のものを世話する)→ ドキュメント駆動ディスパッチ。 ループは「タイマーで固定のチェックを実行する」ではなく、「タイマーでドキュメントを読み、ドキュメントが変更された場合にのみディスパッチする」 です。ドキュメントはタスクキュー+ステートマシン+人間インターフェースです。 3つの規律:① 問題カラムは人間のみ書き込み、結果カラムはループのみ書き込み、状態は一方向に進み決してロールバックしない;② 終了コードは最終的(スクリプトがexit 1と言ったら、スクリプトが勝つ);③ 状態は「検証待ち」までしか進まない— 「完了」セルは人間だけが反転させる。 ループはワーカーであり、承認担当者ではない。

グリーンフィールド型(スクラッチから構築)→ 計画/構築/判断、3つの役割。

役割行うことキー
計画目標を仕様+判定可能な受入条件に分解受入条件はスクリプトで判断可能でなければならない
構築仕様に従って書く受入条件を変更してはならない
判断受入を独立して実行;合格→停止、不合格→不合格理由を構築に返す独立+決定論的

3つの鉄則(すべて判断にかけている):① 判断は独立していなければならない— 構築と同じエージェントではない(自分の宿題を自分で採点すると常に点数が膨らむ);② 決定論的ルール— pytest/調整diff/型チェック/diffであり、「良さそうに見える」では決してない;③ 構築は通過するために受入条件を編集してはならない。3回リトライ失敗→人間にエスカレーション。

ステップ4 · ダンピングを追加する(振動/暴走対策)

リトライ上限、ハードストップ、人間による最後のスイッチ操作=ダンピング。ダンピングのない負のフィードバックは振動する(ラルフ・ウィガム・ループ:その場でスピンし、トークンを消費)。

ステップ5 · 3段階で展開する(初日から完全自動化しない)

① 一度手動で実行する(「判定がどのように決定するか」を正確に述べることを強制される)→ ② スキル/Claude Codeサブエージェントに固める(メインのClaudeがループし、計画/構築/判断をディスパッチ)→ ③ cronで完全自動化する。


アクション2 — ループをレビューする(チェックリスト=5つの障害モード)

ループを各行に当てはめてください。1つでも当てはまる=このループは誤作動する;差し戻す。 これら5つはネガティブな経験則(注意点)であり、ポジティブなルールよりも価値があります。

#障害モード(どのように壊れるか)レビュー質問(当てはまる=レッド)抗体
1目標が正しい美辞麗句→スピンし、金を燃やす終了条件は機械でyes/no判断できるか?それとも「うまく管理する/良くする」のようなものか?判定可能な結果条件に置き換える(アクション1・ステップ1)
2「検証」が「良さそうか確認」と書かれている→エージェントは自信を持って「問題ない」と言い、停止する判断者が被告人自身か?検証は「良さそうに見える」か決定論的ルールに依存しているか?調整+終了コードルール+独立した判断者
3(最悪)「すべてのテストが通過」だけをゲートにしている→エージェントがテストを削除する境界(「やってはいけないこと」)はあるか?それとも完了基準だけか?完了基準**+境界**を一緒に(Goodhart抗体)
4エージェントが途中で質問することを前提にしている→質問しない。誤った答えを最後まで実行する「実行時のみ明確化」ポイントはあるか?すべての明確化を事前に完了させる;起動前に一度決着させる
5肥大化したCLAUDE.md+古いメモリ→ループが速く回るほど、エラーが増える依存しているドキュメント/メモリは新鮮か?誰がそれらを維持しているか?階層化メモリ+定期的なlint

さらに3つのレッドライン(1つでも違反=自動化禁止):

  • 判断は人間が保持すること。 承認/「完了」セルは人間が反転させる。ループは承認担当者ではない。
  • 責任は移譲しない。 失敗を許容できないもの(間違ったPRをマージする/間違ったものを公開する/資金を誤配分する)→ 自動的にその権限を渡してはいけない。
  • 直感に反する警告。 ループが「自己改善/自己ルール書き換え」であればあるほど、必要な人間のレビューは厳格になる(ルールを何に書き換えたか確認するため)— 緩くはならない。機械は事後の介入には速すぎるため、人間の判断は行動の前(ハードゲート)になければならず、事後パッチとしてではない。

実例 — 「夜間グリーンキーパー」ループのレビュー

毎晩実行され、失敗しているテストを修正するループがあるとします。

  • ナイーブな目標: 「すべてのテストを成功させる。」→ ステップ1のセルフチェックに失敗:これは障害モード#3の餌です。
  • 判定可能な目標(修正後): 「すべてのテストが成功かつテストファイルの削除や弱体化がないかつカバレッジが低下していないかつ変更リストが作成されている。」境界が完了基準と共に定義されました。
  • タイプ: リトライ上限3のサーボ(ステップ2+ステップ4)。
  • スケルトン: 計画/構築/判断 — 判断者は独立してCIを実行するものであり、修正エージェント自身ではない(ステップ3)。

レビューチェックリストを実行すると、ナイーブなバージョンが見逃していたものをキャッチします:

  • #3 該当 → ナイーブな「全テスト通過」では、エージェントが失敗するテストを削除して「成功」することが可能。境界「テストファイルの削除/弱体化なし」で修正。
  • #2 該当 → 修正エージェントが自分の修正を自分で判断すると、自分を通過させてしまう。「判断者=独立CI、決定論的」で修正。
  • #4 該当 → 修正が曖昧な場合、エージェントは午前2時に止まって質問しない。推測でコミットする。事前明確化で修正:曖昧な修正は人間に任せられ、推測はされない。
  • レッドライン → ループはPRを作成するが自動マージはしない。人間が最後のスイッチを操作する(責任は移譲されない)。

ナイーブなループとレビュー済みループの違いは、4行の制約だけです。そしてそれが、「削除されたテストスイートで目を覚ます」か「クリーンなPRで目を覚ます」かの違いです。


一行まとめ

ループを書く上で難しいのは「ループが書けるか」ではなく、機械が調整できる目標を定義することです。判定可能で、境界があり、調整ベースであること。制御器は決定論的かつ外部でなければならず、判断と基準は人間が保持すること。システムはエントロピーへと向かうので、維持すること。 ループは、すでに考え抜いた人にのみ報酬を与える。ループがあなたの代わりに考えてくれると期待すると、それは喜んで間違った考えを、あなたと一緒に、大規模に実行する。


系統:ウィーナーの2レベルフィードバック(The Human Use of Human Beings, 1950)による判断/実行分割とレッドライン。プラン/ビルド/ジャッジパターンはAnatoliのLoops explainedとAddyのLoop Engineeringによる。 メカニズムレイヤー(ループアーキテクチャの配線方法):autonomous-loops/continuous-agent-loopを参照。このスキルはメカニズムを再実装しません。目標定義と暴走防止のみをカバーします。

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

accessibility

Design, implement, and audit inclusive digital products using WCAG 2.2 Level AA. Use when building or auditing UI that must meet WCAG 2.2 Level AA, or when reviewing a change for keyboard, contrast, or screen-reader support.

affaan-m/claude-api

Anthropic Claude API patterns for Python and TypeScript. Covers Messages API, streaming, tool use, vision, extended thinking, batches, prompt caching, and Claude Agent SDK. Use when building applications with the Claude API or Anthropic SDKs.

affaan-m/everything-claude-code

End-to-end marketing campaign planning and execution. Covers audience research, positioning, campaign angle definition, landing page copy, email sequences, social posts, ad copy, short-form video scripts, and content calendars. Use as the orchestration layer for multi-channel product launches. Use when planning or executing a multi-channel product launch, or producing landing page, email, social, or ad copy.

affaan-m/everything-claude-code

Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.

affaan-m/everything-claude-code-conventions

Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.

affaan-m/frontend-design

Create distinctive, production-grade frontend interfaces with high design quality. Use when the user asks to build web components, pages, or applications and the visual direction matters as much as the code quality.

affaan-m/gget

gget CLI and Python workflow for quick genomic database queries, sequence lookup, BLAST-style searches, enrichment checks, and reproducible bioinformatics evidence logs.

affaan-m/literature-review

Systematic literature-review workflow for academic, biomedical, technical, and scientific topics, including search planning, source screening, synthesis, citation checks, and evidence logging.

affaan-m/motion-ui

Production-ready UI motion system for React/Next.js. Use when implementing animations, transitions, or motion patterns.

affaan-m/project-guidelines-example

Example project-specific skill template based on a real production application.

affaan-m/pubmed-database

Direct PubMed and NCBI E-utilities search workflows for biomedical literature, MeSH queries, PMID lookup, citation retrieval, and API-backed literature monitoring.

affaan-m/scholar-evaluation

Structured scholarly-work evaluation for papers, proposals, literature reviews, methods sections, evidence quality, citation support, and research-writing feedback.

affaan-m/uspto-database

USPTO patent and trademark data workflow for official record lookup, PatentSearch queries, TSDR checks, assignment data, and reproducible IP research logs.

agent-architecture-audit

Full-stack diagnostic for agent and LLM applications. Audits the 12-layer agent stack for wrapper regression, memory pollution, tool discipline failures, hidden repair loops, and rendering corruption. Produces severity-ranked findings with code-first fixes. Essential for developers building agent applications, autonomous loops, or any LLM-powered feature. Use when an agent or LLM feature misbehaves and the failing layer is unknown, or before shipping an agent stack.

agent-eval

Head-to-head comparison of coding agents (Claude Code, Aider, Codex, etc.) on custom tasks with pass rate, cost, time, and consistency metrics. Use when choosing between coding agents, or when a change to an agent setup needs measured pass rate, cost, and time rather than an impression.

agent-harness-construction

Design and optimize AI agent action spaces, tool definitions, and observation formatting for higher completion rates. Use when defining or revising an agent

agentic-engineering

Operate as an agentic engineer using eval-first execution, decomposition, and cost-aware model routing. Use when planning or executing engineering work that agents will carry out end to end.

agentic-os

Build persistent multi-agent operating systems on Claude Code. Covers kernel architecture, specialist agents, slash commands, file-based memory, scheduled automation, and state management without external databases. Use when building a persistent multi-agent system on Claude Code with its own memory, commands, and scheduling.

agent-introspection-debugging

Structured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports. Use when an agent run fails and you need a reproducible diagnosis instead of a retry.

agent-payment-x402

Add x402 payment execution to AI agents with per-task budgets, spending controls, and non-custodial wallets. Supports Base through agentwallet-sdk and X Layer through OKX Payments / OKX Agent Payments Protocol. Use when an agent must pay for something itself and needs per-task budgets, spending controls, and a non-custodial wallet.

関連スキル