Image: AI generated
午前二時。エージェントはまだ回っている。12 回目の試行だ。トークンメーターは止まる気配を見せないのに、成果物は 11 回目よりも良くなるどころか、奇妙にさらにおかしくなった。あなたは停止ボタンに手を置いたまま、同じ問いを繰り返す。こいつは一体いつ終わるんだ?
終わらない。より正確に言えば、終わりを判定する人間が、そのループの中にいない。
去年まで、私たちはエージェントにプロンプトを入力していた。一度問い、一度受け取った。今年、誰もが気づいた — プロンプトを入力する人になるのではなく、プロンプトを生み出すループを設計せよ。 生成し、検証し、フィードバックを返してまた生成する自動ループ。これを誰かは Loop Engineering と呼ぶ(Addy Osmani, 2026)。的確な診断だ。ループは生成をスケールさせる。
だがループを回したことのある者は知っている。ループは二通りでしか終わらない。収束するか、発散するか。 そして発散するとき、それは静かに壊れたりしない。午前二時に、トークンを燃やし尽くしながら、けたたましく爆発する。
発散の三つの顔
ループが収束せず爆発する道は三つある。あなたが経験したのがどれか、当ててみてほしい。
一つ、無限回転。 ループが終わらない。12 回回しても 13 回目を始める。——同じことを何度も何度も繰り返しながら。ループに閉じ込められた(stuck in a loop)エージェントの最もありふれた姿だ。なぜか? いつ終わるかをモデル自身に尋ねたからだ。 「これで十分か?」と問えば、モデルは果てしなく「もう少し」と答えうる。終了条件がモデルの自己判断に縛られた瞬間、ループは自分を止める権限を持たない機械になる。
二つ、ドリフト。 反復のたびに仕様から遠ざかる。 1 回目の試行はほぼ合っていたのに、5 回目は見当違いの場所にいる。各ターンが直前のターンの出力の上に積み上がるのに、それを本来の目標へ引き戻して繋ぐ錨がなければ、小さな誤差が複利で累積する。ループは漂流する — 速く、自信たっぷりに、間違った方向へ。
三つ、リワードハッキング。 ループが目標ではなく検査の隙間を最適化する。検証を緩く組んでおけば、賢いモデルは本当の仕事をする代わりに、検査を通す最短経路を見つけ出す。テストを消すか、空関数を埋めるか、出力形式だけ合わせるか。能力が高いほど、隙間をうまく見つける。
三つの顔は異なるが、根は一つだ。ループの判定スロットに LLM を、つまり生成者自身を、再び差し込んだということ。 生成する者が合否も付ける。生徒が自分の試験を採点する。Osmani は自ら急所を書き留めていた — 「無人で回るループは、無人で失敗するループでもある。」
発散はむしろ運がいい
ここまで読んで胸が冷たくなったなら、いい知らせがある。発散は運がいいケースだ。
発散は見える。 トークンを燃やし、午前二時に、けたたましく爆発する。あなたはそれが壊れたと分かる。だから止め、直し、この記事を探して読んでいる。
さて、冷たい方だ。あなたがちゃんと終わったと信じているループたち。3 回目の試行で「完了」と吐き出してきれいに終了したあのループたち。それらもまったく同じ病を患っていた。ただ静かに嘘をついただけだ。
モデルはおもねる。指示に素直に従う。「全部できた?」と問えば「はい、全部できました」と答えるのがモデルのデフォルトだ。自己検証が性能をほとんど上げられないのは、すでに測定された事実だ — モデルは自分の答えの誤りを自分で捕まえられない。だから自分の完了を自分に判定させると、ループは間違ったまま自信たっぷりに終わる。 これを偽収束と呼ぶ。——正解に到達したからではなく、自ら『完了した』と宣言して止まった早期終了だ。
発散したループはあなたに悲鳴を上げて直させる。偽収束したループは微笑みながら壊れた結果を納品し、あなたはそれが壊れていると気づかぬままプロダクションに上げる。発散より恐ろしいのは、見破られない収束だ。
これはゲートの形をした問題だ
では何を変えるべきか。より賢いモデル? より長いプロンプト? より多くの試行? すべて同じ病の別の用量にすぎない — 判定を依然としてモデルに任せる限り。
本当の転換は、問題を見直すことから来る。あなたの「完了」を、意見ではなく事実として定義できるか? 「良さそうに見える」ではなく「この関数がこの入力にこの値を返す」「この引用が原文に実在する」「このエンドポイントが 200 を返す」 — 機械が人の判断なしに真/偽を打てる検査として。
打てるなら、その検査をループの判定スロットに差し込め。生成は LLM がやり(確率的でいい)、合格は決定論的ゲートだけがロックする。 これが核心の規約だ — 完了をロックする権限は機械にのみある。モデルは検証器の中に入っても「もう一度見ろ」と疑義を呈することはできても、「通過」を授与することはできない。権限の非対称。間違った仕事を、そもそも不可能にする。
そしてここで魔法が起きる。ゲートが合格/不合格ではなく事実を返すと — 「who アンカーが原文にない、ここを直せ」 — モデルのおもねりが突如として資産に裏返る。意見にはおもねりが毒だが(言われるまま「全部できた」と言う)、事実にはおもねりが薬だ。 おもねるモデルほど、その事実を素直に受け入れて次の試行を絞り込む。決定論的ゲート + おもねる LLM = 収束が保証されるループ。 発散していたあのループが、判定スロット一つを変えただけで閉じる。
ループはレインスなしに収束しない
私はこの一枠を Reins Engineering と呼ぶ — エージェントの自由を閉じ込める柵ではなく、目的地まで引いていく手綱。Loop Engineering が「ループを設計せよ」だったなら、そのループを収束させるのは、判定スロットに差し込んだ決定論的契約だ。検証器エンジニアリングと呼ぼうが、評価エンジニアリングと呼ぼうが、ゲートエンジニアリングと呼ぼうが — 実質は一つ。ループの判定は LLM ではなく機械がする。
これが抽象論ではなくコンパイルされるコードだと見たければ、reins はこの一枠をフレームワークとして実装している — ラチェット(一度通過すれば不可逆)、ゲート(チーズ防御ルールのカタログ)、そして loop コマンド(LLM が生成し、ゲートが判定し、失敗すれば事実を返して再試行し、MaxTries を超えれば単調終了)。午前二時の無限ループが、終わりを知るループになる。
あなたのループが今発散しているなら、問いは「どのモデルを使うか」ではない。**「私の完了を何がロックしているか」**だ。モデルがロックしているなら、それはロックされていない。
関連記事
- Reins Engineering — 手綱のある AI — Loop Engineering の系譜と「判定スロット」論証の本編。
- reins — クエスト CLI からドメインだけ残し、ラチェットはフレームワークへ — この一枠を実装したフレームワーク。
loop無人生成-検証ループ。 - Ratchet Pattern — エージェントを最後まで走らせる方法 — 一方向ロック・単調減少でループを閉じる状態機械。
- クエスト CLI の作り方 — チーズ不可能なゲートを設計する方法論。
- なぜあなたのエージェントは止まらないのか — 発散の第一の顔。終了条件が機械的に定義されていないループ。
- モデルの IQ よりフィードバックトポロジー — 同じモデルが 40 個で止まることも、527 個を完走することもある理由は、ループの判定構造。
- AI のおもねり(迎合)バイアスはビジネス機能だ — 意見には毒、事実には薬。おもねりを収束へ裏返す原理。
- 「完了」は誰が定義するのか — ゲームが 40 年先に解いた問題 — ゲートが判定スロットを占めた瞬間、完了が事実になる。
あわせて読みたい
ループが発散する理由 — 判定を生成者自身に任せた — とその処方 — 完了をロックする権限を決定論的ゲートにのみ置く — は、私だけの診断ではない。互いに知らない人々が、午前二時の同じループの前で同じ結論に到達した。以下はその独立収束の証拠だ。
- ouroboros — 「数学的収束ゲートで無限エージェントループを防ぐ。」コーディング開始前に曖昧度ゲートで早期発散を遮断し、進化中は世代間の類似度で収束を判定する。振動(period-2 サイクル)を病理パターンとして検知し、世代ハードキャップで単調終了 — この記事の「無限回転」と reins
loopの MaxTries 単調終了を、数学的閾値に移し替えたもの。 - proof-loop — 「検証者は新しいセッションでなければならない。変更を作ったエージェントが、それが終わったかを判定しない。」受け入れ基準を実装前に凍結し、ビルダーと検証者を分離し、すべての基準が新たに PASS を受けたときのみ終了する。この記事の「偽収束」(生徒が自分の試験を採点)に正面から立ち向かう権限分離。
- auto-re-agent — reverser/checker ループに objective verifier(call-count・control-flow の構造検査)と多重信号 parity エンジン(GREEN/YELLOW/RED)を差し込む。最大ラウンドで試行を束ね、発散を断ち切る。LLM の判断ではなくルールが合格をロックする、reins ゲートと同じ直観。
そしてこの診断のより広い系譜 — episteme・MagLab・Manifesto・oh-my-kamisama — は reins の「あわせて読みたい」にまとめてある。同じ壁、同じ結論がそこにも並んでいる。
出典
- Osmani, A. (2026). “Loop Engineering.” addyosmani.com/blog (2026-06-07). ブログ — 「プロンプトを入力するのではなくループを設計せよ」というトレンドの出典。本文が引用した「無人で回るループは無人で失敗する」の原典。
- Hu, W. (2026). “From Agent Loops to Structured Graphs: A Scheduler-Theoretic Framework for LLM Agent Execution.” arXiv:2604.11378 — Agent Loop の構造的弱点として “unbounded recovery loops”(無限再試行)を指摘し、形式的な終了保証を提案。発散の第一の顔「無限回転」と単調終了の根拠。
- Mohamed, A., Geng, M., Vazirgiannis, M., & Shang, G. (2025). “LLM as a Broken Telephone: Iterative Generation Distorts Information.” arXiv:2502.20258 — モデルが自分の出力を反復処理するほど、情報の歪みが漸進的に累積する。発散の第二の顔「ドリフト」(誤差の複利累積)を直接支える。
- Bondarenko, A. et al. (2025). “Demonstrating Specification Gaming in Reasoning Models.” arXiv:2502.13295 — 能力の高い推論モデルほど検査の隙間をうまく見つける。発散の第三の顔「リワードハッキング」の根拠。
- Helff, L. et al. (2026). “LLMs Gaming Verifiers: RLVR can Lead to Reward Hacking.” arXiv:2604.15149 — shortcut の頻度が課題複雑度・推論コンピュートとともに増加する。緩い検証の上でリワードハッキングが能力に比例するという定量的根拠。
- Huang, J. et al. (2024). “Large Language Models Cannot Self-Correct Reasoning Yet.” ICLR 2024. arXiv:2310.01798 — 外部フィードバックなしの自己訂正は性能を上げられず、むしろ下げる。「自分の完了を自分で判定すれば間違ったまま終わる」(偽収束)の核心的根拠。
- Stechly, K., Valmeekam, K., & Kambhampati, S. (2024). “On the Self-Verification Limitations of Large Language Models.” arXiv:2402.08115 — 自己検証は性能をほとんど上げられない。PASS 判定を決定論的ゲートに置くべき理由。
- Xu, W. et al. (2024). “Pride and Prejudice: LLM Amplifies Self-Bias in Self-Refinement.” arXiv:2402.11436 — 自分の出力を自分で評価すると self-bias が増幅される。生成者=判定者の結合がドリフトを大きくするという根拠、判定スロット分離の正当化。
- Sharma, M. et al. (2023). “Towards Understanding Sycophancy in Language Models.” arXiv:2310.13548 — おもねりは RLHF モデルの一般的傾向であり、人間の選好判断がこれを誘発する。「できた?」に「はい」と答えるデフォルト、そして事実フィードバックでおもねりが資産になる両面の根拠。
- Fanous, A. et al. (2025). “SycEval: Evaluating LLM Sycophancy.” AAAI/ACM AIES 2025. arXiv:2502.08177 — おもねり屈服率の測定。「事実にはおもねりが薬」という収束メカニズムの定量的根拠。
- Von Neumann, J. (1956). “Probabilistic Logics and the Synthesis of Reliable Organisms from Unreliable Components.” Automata Studies, Princeton University Press. — 不安定な部品(確率的 LLM)の上に信頼できるプロトコル(決定論的ゲート)を載せる原理。「生成は確率的、合格は決定論的」の前提。