プロダクションAIエージェントに見られる6つのループタイプ:1週間のログ分析

あるRedditユーザーが5つのプロダクションエージェント(サポートトリアージ、戦略オーケストレーター、コードレビューアー、戦略ワーカー、取引モニター)を1週間稼働させ、670件のイベントを記録した。その結果、毎月のOpenAIの請求書が届くまで気づかれにくい、高深刻度の6種類のループを発見した。以下、実用的なデバッグのためにパターンをまとめる。
6つのループタイプ
- 意思決定の振動(Decision oscillation): エージェントが同じキーに対して2つの値を6回行き来する。ログには毎回決定的な答えが記録されているが、同じ2つの選択肢を交互に選んでいる。
- リトライループ(Retry loop): 同じツールに同一の引数で15回連続して呼び出し、すべて失敗した。サーキットブレーカーが機能せず、ステータスコードが空だったため、サイレント障害が発生した。
- ピンポンループ(Ping pong loop): 2つのエージェント(戦略オーケストレーターと戦略ワーカー)が同じ共有メモリキーに交互に書き込み、互いの書き込みを「修正」し合う。検出されるまでに6回の書き込みが行われた。
- リコール・ライトループ(Recall-write loop): エージェントがメモリを読み込み、以前の書き込みと100%同一の改訂版を書き込む。これを5サイクル繰り返す。完全な無駄である。
- リフレクションループ(Reflection loop): 同じキーに3回連続して書き込み、それぞれが前回の書き込みと少なくとも84%類似している。自己反省が自己反芻に変わる。
- ツールの非決定性(Tool non-determinism): 同じツールに同一の引数で5回の成功呼び出しが、毎回異なる結果を返す。ループそのものではないが、キャッシュを無効にし、下流で絶え間ない再評価を引き起こす。
このユーザーは、これらのパターンを排除することで問題の約90%が解決したが、完璧ではないと述べている。ループが拡大する前に捕捉するために、サーキットブレーカー、重複排除チェック、類似度しきい値の追加を推奨している。
📖 Read the full source: r/ClaudeAI
👀 See Also

Claudeのコードコンテキストウィンドウのコストとパフォーマンス管理
開発者が、すべてのAPI呼び出しが完全な会話履歴を送信するため、蓄積された履歴がコストの大部分を占めることを説明し、コスト削減と応答品質向上のために、ハンドオフメモを付けて新規セッションを開始するワークフローを共有しています。

日本語: エージェント対応コードベース:否定ルール、正確な命名、ディレクトリのREADME
開発者が、CLAUDE.mdのルール、否定命令、正確な命名によってトークンの無駄を削減し、Claude CodeがUserManagerのようなクラスを肥大化させるのを防いだ方法を共有しています。

Claude Codeの/insightsコマンドは、デバッグや自律的なタスクのヒントを提供します。
Redditユーザーが、Claude Codeの/insightsコマンドの実用的なテクニックを2つ紹介しています。バグのデバッグ時には少なくとも3つの潜在的な根本原因を特定するよう依頼すること、そして自律実行には包括的なタスク仕様と--dangerously-skip-permissionsフラグを使用することです。
クロードの不要な要約問題:70%の確率で機能するユーザーの回避策
ユーザーはClaudeが完璧な回答をした後、冗長な要約を追加することに不満を感じている。プロンプトに「要約不要、まとめ不要、終わったら停止」と追加することで、約70%の確率で問題が解決する。