v2.1.232で変わったこと
Claude Codeのv2.1.232では、サブエージェントの動き方に関わる2つの変更が入りました。ひとつは「fork型のサブエージェントが、いままでの会話の内容をまるごと引き継ぐようになった」こと、もうひとつは「対話中にチームメイト以外のエージェントを呼び出すと、自動でバックグラウンドで動くようになった」ことです。
言葉だけだとピンとこないと思うので、順番に噛み砕いていきます。
サブエージェントとforkのおさらい
まず前提として、Claude Codeにはサブエージェントという仕組みがあります。メインのClaudeが「この作業は別枠でやらせよう」と判断したときに、独立した会話の場を持つ「もう一人のClaude」に作業を任せる機能です。調査やテストの実行など、本筋の会話を汚したくない作業を切り出すのに使われます。
一方、/forkコマンドは「これまでの会話をそのまま引き継いだ状態で、別の流れに枝分かれさせる」ためのものでした。方針をA/Bで試したいときや、本筋を邪魔しない寄り道をしたいときに使うコマンドです。
今回デフォルトになったのは、この2つが組み合わさった動き、つまりsubagent_type: "fork"というタイプのサブエージェントです。名前の通り、サブエージェントとして独立しつつも、これまでの会話の内容(コンテキスト)を丸ごと引き継いで動きます。
会話とキャッシュを引き継ぐとはどういうことか
普通のサブエージェントは、基本的にゼロから状況を説明されて作業を始めます。メインの会話でどんな話をしていたかは知らない状態です。そのため、必要な背景情報を毎回渡してあげる必要がありました。
それに対してfork型のサブエージェントは、呼び出された時点までの会話をすべて持った状態でスタートします。加えて、プロンプトキャッシュも引き継ぐという点が地味に重要です。プロンプトキャッシュは、同じ内容を毎回AIに送るときに再利用して応答を速く・安く済ませる仕組みでしたが、これがサブエージェント側でも活かされるようになった、ということです。
つまり「文脈を説明する手間が減る」だけでなく、「文脈を説明するためにもう一度お金と時間を払う」という無駄も減る、という2段階の効率化が起きています。
バックグラウンド実行がデフォルトになった話
もうひとつの変更は、対話しているセッションの中で「チームメイトではないエージェント」を呼び出したときの挙動です。これまでは呼び出したエージェントの処理が終わるまで、ある程度画面上で待たされる感覚があったと思いますが、今回からはそうした呼び出しがデフォルトでバックグラウンド(裏側)で実行されるようになりました。
ここでの「チームメイト」というのは、エージェントチーム機能で編成された仲間のエージェントを指します。それ以外の、単発で呼び出すようなサブエージェントの実行が対象です。
裏側で動く分、こちらの操作をブロックされずに済むので、待っている間に別の指示を出したり、他の作業を進めたりできるようになります。
| 変更点 | 以前 | v2.1.232以降 |
|---|---|---|
| forkサブエージェントの文脈 | 引き継ぎは任意・都度設定 | 会話とプロンプトキャッシュをデフォルトで継承 |
| 非チームメイトのエージェント呼び出し | フォアグラウンドで待たされる | デフォルトでバックグラウンド実行 |
どう嬉しいのか
実務目線で言うと、「今の会話の流れを踏まえた上で、ちょっと別角度から検証させたい」という場面で威力を発揮します。たとえば実装の方針で悩んでいるときに、これまでのやり取りをすべて知っている状態のサブエージェントを立てて、そのまま別の実装パターンを試させる、といった使い方が自然にできるようになったイメージです。以前ならその文脈を渡すために説明を書き直したり、要約を渡したりする手間がありましたが、それが要らなくなります。
加えてバックグラウンド実行のおかげで、そうした「ちょっと寄り道させる」操作をしても、メインの会話が止まらずに進められるようになったのも大きなポイントです。
このページは役に立ちましたか?