何が起きたか
公式チェンジログによると、まず7月17日リリースのv2.1.212で、セッション全体でのサブエージェント生成数に上限(既定200、環境変数CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSIONで変更可、/clearでリセット)が設けられました。次に7月21日のv2.1.217で、同時に動けるサブエージェント数の上限(既定20、環境変数CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS)が追加されています。ここまでは、当メディアの創刊号で報じた「エージェントの増殖を抑えるガードレール」の流れそのものです。
変化が起きたのはその3日後、7月24日リリースのv2.1.219です。チェンジログには「サブエージェントは既定で深さ3までネストしたサブエージェントを生成できるようになった(従来は深さ1)。無効化するにはCLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH=1を設定する」と記載されています。直接呼び出されたサブエージェント(深さ1)だけが子エージェントを持てた状態から、その子エージェントがさらに孫エージェントを呼べる状態まで、上限付きで許可が広がった形です。
整理すると、7月17日と21日の変更は「エージェントがどれだけ増えるか」への上限設定、24日の変更は「エージェントがどれだけ深く連なるか」への制限緩和です。禁止と許可が同じ数日の間に別々の軸で動いており、どちらか一方だけを見ると全体像を見誤ります。
実務にどう効くか
当メディアの運営元は100名を超えるAI社員組織を運用しており、複数のサブエージェントを組み合わせる業務設計を日常的に行っています。深さ1までのネスト禁止が続く前提で「呼び出し元は1段に保つ」という設計方針に寄せていた場合、この変更によって選択肢が広がったことになります。
ただし、深さ3という上限がある以上、際限なく多段化できるわけではありません。既定値のまま運用する場合、4段目のネストを試みた時点でどう扱われるか(エラーになるか、単に生成できないだけか)は、実際に境界条件を踏んで確認しておく価値があります。想定より浅い段階で頭打ちになる業務フローがあれば、設計を見直す必要が出てきます。
もう一つ確認しておきたいのは、環境変数によるオプトアウトです。CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH=1を設定すれば、7月21日以前の「深さ1まで」の挙動に戻せます。多段ネストを意図せず使ってしまうリスクを避けたい現場では、既定値のまま様子を見るより、まずこの環境変数で挙動を固定しておくほうが安全な場合もあります。
編集部の見立て
今回の一連の変更は、「エージェントの増殖・暴走を防ぐ」という7月下旬の方針が撤回されたわけではなく、制御の軸を「深さの全面禁止」から「深さの上限付き許可」プラス「同時実行数・セッション内総数の上限」という、より細かい3つのつまみに分解し直した結果だと見ています。1つの大きな制限で塞ぐより、増え方を複数の指標で管理するほうが、正当な用途まで一律に締め出さずに済むという判断があったのでしょう。Skillや業務フローの設計者にとっては、「できる・できない」の二択ではなく、3つの上限値それぞれが自分たちの運用に対してどこにあるかを把握しておくことが、これからの実務では欠かせなくなりそうです。
次号予告は購読でお知らせします。