CLAUDE LABEN
CODE — Claude Codeにリモート管理者向けTrusted Devicesが追加。リモートセッション前に端末を検証できますCODE — ストリーミング時のCPU使用が約37%削減され、長時間の自動運用がより安定しますCODE — フルスクリーンのマウスクリック操作と音声入力の修正、Linuxの音声検出改善が入りましたAUTH — 静的APIキーを、短命でスコープ付きのWIF資格情報へ置き換えられるようになりましたTEAM — SlackでClaudeを直接タグ付けし、作業しながらタスクを委譲できるようになりましたWORKFLOW — dynamic workflowsがリサーチプレビューで登場。込み入った作業を自分で手順に分解しますCODE — Claude Codeにリモート管理者向けTrusted Devicesが追加。リモートセッション前に端末を検証できますCODE — ストリーミング時のCPU使用が約37%削減され、長時間の自動運用がより安定しますCODE — フルスクリーンのマウスクリック操作と音声入力の修正、Linuxの音声検出改善が入りましたAUTH — 静的APIキーを、短命でスコープ付きのWIF資格情報へ置き換えられるようになりましたTEAM — SlackでClaudeを直接タグ付けし、作業しながらタスクを委譲できるようになりましたWORKFLOW — dynamic workflowsがリサーチプレビューで登場。込み入った作業を自分で手順に分解します
記事一覧/API & SDK
API & SDK/2026-06-28上級

ツール呼び出しは成功しているのに前進しない — 無人エージェントの停滞を検知して止める設計

エラーは出ていないのに同じ手を繰り返し、予算だけが溶けていく。無人エージェントの『成功し続ける停滞』を、行動フィンガープリントと進捗オラクルで検知して安全に止める設計をPythonの実装つきでまとめました。

Claude Agent SDK11エージェント設計4無人運用信頼性2コスト最適化20

プレミアム記事

夜中に回している記事生成のパイプラインが、朝になってもまだ動いていました。

ログを開くと、ツール呼び出しは一つも失敗していません。read_file が通り、edit_file が通り、run_tests が通り、また read_file に戻る。全て 200 で、エラーは一行もない。それなのに、成果物は六時間前とほとんど変わっていませんでした。

エラーで止まるループには、私たちはたいてい備えています。リトライ上限、サーキットブレーカー、give-up 予算。けれど「成功し続ける停滞」には、止める手がかりそのものがありません。例外も非ゼロ終了コードも出ないからです。

無人で長く回す立場からすると、これが一番たちが悪い失敗だと感じています。失敗してくれれば気づける。静かに前進をやめて予算だけを溶かす方が、ずっと高くつきます。

ここでは、その「成功したまま止まらないループ」を構造的に検知して、診断情報を残しながら安全にハルトさせる設計をまとめます。個人開発で複数のサイトを無人で回している私自身、この失敗で何度も予算を溶かしてきました。

エラー予算では停滞は捕まえられない

まず、なぜ既存のガードレールがすり抜けられるのかを整理します。

典型的なエージェントループの安全装置は、ほぼ全て「失敗の回数」を数えています。

ガードレール数えているもの成功し続ける停滞で発火するか
リトライ上限連続した例外の回数しない(例外が出ない)
サーキットブレーカーエラー率しない(エラー率は0)
give-up 予算自己修復の試行回数しない(修復対象のエラーがない)
ターン上限総ターン数遅れて発火する(予算を使い切ってから)

ターン上限だけは最後に効きます。ただしそれは「停滞の検知」ではなく「全予算の消尽」です。50 ターンの上限なら、49 ターン無駄にしてから止まる。検知が遅すぎて、コストの抑制になっていません。

停滞は、エラーの不在ではなく 進捗の不在 として捉える必要があります。そして進捗は、明示的に定義しない限り測れません。ここが設計の出発点になります。

「停滞」は進捗の定義なしには存在しない

停滞とは「進捗が一定期間ないこと」です。逆に言えば、進捗を定義していなければ停滞も定義できません。多くのエージェント実装が停滞を検知できないのは、そもそも進捗オラクルを持っていないからだと考えています。

進捗オラクルは、タスクのゴールに紐づいた単調に近い数値を返す関数です。値が改善し続けている限り、エージェントは前進しているとみなします。

from typing import Protocol
 
class ProgressOracle(Protocol):
    def score(self) -> float:
        """大きいほどゴールに近い、を返す。副作用なしで現状を観測する。"""
        ...
 
# 例: コード修正タスクのオラクル
class TestPassProgress:
    def __init__(self, run_tests):
        self._run_tests = run_tests  # () -> (passed:int, total:int)
 
    def score(self) -> float:
        passed, total = self._run_tests()
        if total == 0:
            return 0.0
        # 通過率を主成分にしつつ、全通過に強いボーナスを与える
        return passed / total + (1.0 if passed == total else 0.0)

タスクによって、進捗の自然な指標は変わります。

タスク種別進捗オラクルの候補
コード修正通過したテスト数 / 残ったリンタ違反の減少
リサーチ収集未回答の小問が埋まった数 / 新規に得た一次情報の件数
ファイル整理未分類ファイルの残数(減少が進捗)
記事執筆満たした品質ゲート項目数

進捗オラクルを書けないタスクもあります。そのときは、後述する 行動の新規性 を進捗の代理指標として使います。代理は本物より弱い信号ですが、何もないよりはるかに早く停滞を捕まえられます。

ここで一つ、運用してわかった勘所があります。進捗オラクルは「副作用なしで安く呼べる」ことが必須です。毎ターン全テストを回すと、停滞検知のためのコストが本体を上回ります。テストならキャッシュ済みの結果を使う、リサーチならカウンタを覗くだけ、というように、観測コストを一定に保つ設計にしておきます。

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
ツール呼び出しが全て成功していても進まないループを、進捗オラクルと行動フィンガープリントで検知する具体実装
完全一致・振動(A-B-A-B)・新規性の低下という3種の停滞パターンを切り分ける判定ロジック
停滞予算を使い切ったときに、診断情報を残して安全にハルトさせるエージェントループへの組み込み方
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Claude Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

API & SDK2026-06-12
月次クレジット移行を前に、自動パイプラインの工程配分を見直した記録
6月15日の課金変更で Agent SDK・headless 実行・GitHub Actions が月次クレジット制へ移行します。自動投稿パイプラインの工程を実測トークンから棚卸しし、3つの実行経路へ振り分け直した設計判断を共有します。
API & SDK2026-06-02
自律エージェントの破壊的操作に事前条件・事後条件の契約ゲートを付ける
自律エージェントが本番に書き込む前後を、決定論的な事前条件・事後条件で挟む契約ゲートの設計です。プロンプト改善では防げない破壊的操作を、コードで止める実装を紹介します。
API & SDK2026-04-24
Claude エージェントに長期記憶を持たせる本番設計 — 7つの落とし穴と対策パターン
Claude エージェントに長期記憶を組み込んで本番運用するときに、多くの実装が踏み抜く7つの落とし穴を、書き込み設計・PII 対策・スコープ分離・破損検知・コスト制御・移行計画までの設計パターンとして体系化した本番向けプレミアムガイドです。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →