Claude Codeには「サブエージェント」という仕組みがあります。メインのClaudeが特定の作業を切り出して、もう一人の独立したClaudeに任せる、というイメージです。今回のv2.1.198では、この親(メインのClaude)からサブエージェントへ送られるメッセージの扱い方が明確になりました。
何が変わったのか
サブエージェントは、親から届いたメッセージを「普通の作業指示」として受け取るようになりました。つまり「これをやって」「こっちの方針に変えて」といった内容は、これまで通り作業の続きとして処理されます。
ただし重要なのは、親からのメッセージが「ユーザー本人の承認」として扱われることは絶対にない、という点です。たとえばファイルの削除や重要な操作の前にユーザーの確認が必要な場面で、親のClaudeが代わりに「はい、進めてOKです」と言ったとしても、それはユーザーの承認とはみなされません。
なぜこの区別が必要なのか
サブエージェントは親から仕事を受け取って動く存在ですが、親自身も人間ではなくAIです。もし親からの「OK」がそのままユーザーの承認として通ってしまうと、本来人間が確認すべきはずの操作が、AI同士のやり取りだけで完結してしまう恐れがあります。
これは会社の例で考えるとわかりやすいかもしれません。上司(親のClaude)が部下(サブエージェント)に「この作業を進めておいて」と指示を出すのは普通のことです。でも、部下が「本当にこのファイルを消していいですか?最終確認をお願いします」と聞いている場面で、上司が代わりに「いいよ」と答えても、それは本来求められている「本人(お客様やユーザー)の了承」にはなりません。今回の変更は、この区別をシステムとしてきちんと守るようにした、ということです。
実際にどう影響するか
普段サブエージェントに作業を任せているだけであれば、体感できる変化はほとんどないはずです。親からの指示は今まで通り作業の一部として処理されます。
違いが出るのは、パーミッションプロンプトのようにユーザー本人の承認が必要な場面です。こうした場面では、親のClaudeがどんな内容のメッセージを送っても、それだけでは承認扱いにならず、実際に人間からの確認が必要になります。安全性を保つための仕様変更だと理解しておくとよいでしょう。
このページは役に立ちましたか?