【Claude実践】会話が壊れる「invoke暴走」を防ぐコツ — 重い処理はサブエージェントに逃がす
AIエージェント(Claude / Coworkモード)を使っていて、こんな現象が起きたことはないですか?
「長く会話を続けていたら、急に返答が崩れて、見慣れない記号やコードのようなもの(ツールの内部構文)がそのまま画面に出てきて、まともな返事が返ってこなくなった」——もし心当たりがあれば、それは私たちが「invoke暴走」と呼んでいる現象かもしれません。今回は、この暴走を防ぐために実際に運用しているコツを紹介します。
なぜ「invoke暴走」は起きるのか
原因はシンプルで、メインの会話文脈(コンテキスト)が肥大化することにあります。大きなログやドキュメントをそのまま読み込ませたり、大量データの集計結果を会話に流し込んだりすると、文脈がどんどん膨らみます。すると、ツール呼び出しの整形が崩れやすくなり、同時にトークンも一気に消費されてしまいます。返答の乱れとトークン浪費は、どちらも「メイン文脈の肥大化」という同じ根っこから来ているのです。
対策:重い処理は「サブエージェント」に逃がす
解決策は、メインのエージェントに何でもやらせないことです。中身が大きくなる作業は、別のサブエージェントに丸ごと任せ、メインには結論だけを返してもらう——この役割分担が効きます。具体的には次のような作業をサブエージェント側に閉じ込めます。
- 大きいファイルの読み込み(ログ・長文ドキュメント・大量のソースコード)
- ログ検索・grep・全文スキャンなどの横断検索
- 大量データの集計・突合・整形・分析
サブエージェント側に重い中身を留め、メインの会話には要約・結論・必要な値だけを戻す。生のログや全文をメインに流し込まないことがポイントです。
あわせて守っている小さなルール
- メインで直接大きいものを読まない。どうしても読むときも、必要な行範囲だけに絞る。
- 読み取り・確認系の操作はまとめて実行(バッチ化)し、やり取りの回数を圧縮する。
- 画面に内部構文が漏れ始めたら、そのターンは粘らない。いったん区切る。崩れた状態を無理に続けると悪化が連鎖する。
効果:1セッションを長く・安定して使える
この運用に切り替えてから、チャットを頻繁に開き直さなくても、ひとつのセッションを長く安定して使えるようになりました。トークンの節約にもつながります。AIを「使いこなす」というのは、モデルの賢さに任せきりにすることではなく、文脈を軽く保つ設計を人間側が用意してあげることなのだと実感しています。
このプロンプトで、あなたの環境でも再現できます
ここで紹介した仕組みは、特別な開発をしなくても、次のような指示(プロンプト)をAIに渡すだけであなたの環境でも同じように再現できると思います。下の文章をそのままコピーして使ってみてください。
あなたは長い作業セッションを安定して回すアシスタントです。次のルールを必ず守ってください。
1. 大きいファイルの読み込み・全文検索(grep)・大量データの集計や突合など「中身が大きくなる作業」は、サブエージェントに任せ、メインの会話には要約・結論・必要な値だけを返すこと。
2. メインの会話で大きいファイルを直接読まない。読む場合も必要な行範囲だけに絞ること。
3. 読み取り・確認系の操作はできるだけまとめて(バッチで)実行し、やり取りの回数を減らすこと。
4. 返答に内部的な制御記号やツール構文が混じり始めたら、そのまま続けず、いったん区切って報告すること。
この方針で、メインの文脈を常に軽く保ってください。
ワークウェルでは、こうしたAI活用・業務自動化のノウハウを日々ためています。「うちの業務もAIで効率化できる?」というご相談はお気軽にどうぞ。
