サブエージェントに仕事を分けたら、文脈とモデルまで分けたくなった
Claude Codeで大きな作業をするとき、私はサブエージェントに調査や確認を分けます。ところが、仕事を分けただけでは終わりません。
子エージェントだけ会話が長くなって途中で苦しくなったり、ワークフローの一部だけ別のモデルで動かしたくなったりします。2026年10月9日のv2.1.296で、この境界を設定として扱えるようになりました。
v2.1.296で増えた2つの設定
今回のリリースで、サブエージェントの運用に関係する追加が2つあります。
autoCompactWindow:サブエージェントをメイン会話より早く自動コンパクトさせるCLAUDE_CODE_WORKFLOW_SUBAGENT_MODEL:ワークフロー用のエージェントで使うモデルを指定する
どちらも「AIに全部お任せ」という設定ではありません。どの仕事を子側に置き、どの資源をそこで使うかを明示するための設定です。
子エージェントだけ早くコンパクトさせる
サブエージェントに大量のログを読ませると、メイン会話より先に子側の文脈が膨らみます。親の会話はまだ余裕があるのに、調査役だけが古い情報を落とし始める。ここは分けて考えた方が安全です。
autoCompactWindowは、サブエージェントのfrontmatterや--agents定義に置いて、子側の自動コンパクトを早めるための設定です。具体的な値や対応する定義形式は、実際に使うClaude CodeのCLIリファレンスで確認してください。
私は、子エージェントには「調査結果と参照先だけを返す」と決めます。ログ全文を親に戻さないことも大事です。(そうしないと、コンパクトを早めても親へ長文を運ぶだけになります)
ワークフロー用エージェントのモデルを固定する
CLAUDE_CODE_WORKFLOW_SUBAGENT_MODELは、ワークフローのエージェントを同じモデルで動かしたいときの環境変数です。
CLAUDE_CODE_WORKFLOW_SUBAGENT_MODEL=<model-name>
この設定の良いところは、ほかのサブエージェントのモデル選択まで一括で変えない点です。レビュー担当だけ同じモデルに揃える、検証担当は別のモデルにする、といった分け方を考えやすくなります。
ただし、リリースノートだけでは利用可能なモデル名や、すべてのワークフローでの優先順位までは分かりません。そこは自分のCLIで--helpや設定リファレンスを確認してから使うべきです。ここを推測で書くと、動かない設定例を記事にすることになります。
私ならこう分けます
無人の作業ループなら、最初に役割を3つに切ります。
- 調査:資料を読み、URLと要点だけを返す
- 実行:ファイルを変更し、テスト結果を返す
- 検収:差分ではなく、公開URLや実行結果を独立確認する
調査役の文脈が膨らみやすいならautoCompactWindowを検討します。ワークフロー内の検収役を同じモデルで安定させたいなら、CLAUDE_CODE_WORKFLOW_SUBAGENT_MODELを検討します。
それでも、親のエージェントが最後に結果を確認する責任は残ります。モデルを固定しても、誤った前提まで正しくなるわけではありません。
設定を増やす前に記録すること
設定を入れたら、次の3点をrun-reportに残します。
- どの役割のエージェントに設定したか
- コンパクト前後で何を引き継ぐ設計にしたか
- モデルを固定した結果、検証時間や出力の質がどう変わったか
この記録がないと、うまくいった理由も失敗した理由も分かりません。設定項目を増やすほど、チェックポイントと検収の記録が効いてきます。
まとめ
v2.1.296の追加で、Claude Codeのサブエージェントは「仕事を分ける」だけでなく、「文脈の切り方」と「モデルの切り方」も分けて考えられるようになりました。
まずは役割ごとに返す情報を小さくし、必要なところだけ設定を足してみてください。設定が効いているかは、必ず実行結果と引き継ぎ内容で確認しましょう。

コメント