10分でマスターするClaude Codeサブエージェント

Anthropic・Claude・ダリオアモデイ
この記事は約9分で読めます。

この動画では、Anthropic社のClaude Codeにおける新機能「サブエージェント」について詳しく解説している。サブエージェントは、メインのオーケストレーターが必要に応じて利用できる専門特化したClaude Codeインスタンスであり、コンテキスト管理とツール選択という2つの重要な課題を解決するために設計されている。各サブエージェントは独自のコンテキストウィンドウ、カスタムシステムプロンプト、専用ツールセットを持ち、特定のタスクを実行後、最終結果のみをメインオーケストレーターに返すことで、メインのコンテキストウィンドウを清潔に保つことができる。

Master Claude Code Sub‑Agents in 10 Minutes
check out claude code: this video, you will learn about the new sub-agents feature in Claude Code. This addresses common...

Claude Codeサブエージェントの基本概念

よっしゃ、Claude Codeのサブエージェントについて話していくで。これでAnthropic社は、あらゆるエージェントシステムが抱える2つの最大の課題を解決しようとしとるんや。それがコンテキスト管理とツール選択やねん。

この動画では、これらのサブエージェントが何なのか、どう動くのか、いつ使えるのか、そしていつ使わんほうがええのかを見ていくで。後で、自分のワークフローにどうやって組み込めるかの実践例も見せたるわ。

サブエージェントっちゅうのは、メインのオーケストレーターが必要に応じて使える、専門特化したClaude Codeのインスタンスやと思ってくれたらええ。これをもっと理解するために、このフロー図を見てみよか。

ここにメインのオーケストレーター、つまり君らが実際にやり取りしてるメインのClaude Codeインスタンスがあるやろ。定義する各サブエージェントは、メインのClaude Codeインスタンス、つまりオーケストレーターのコンテキストウィンドウとは別の、独自のコンテキストウィンドウを持つことになるんや。

それぞれにサブエージェントの動作を制御するカスタムシステムプロンプトが設定されるで。そして特定の操作を実行するために、各サブエージェントは専用のツールセットを持つことになる。例えば、コードレビュアーはフロントエンドデザイナーとは違うツールを持つってことやな。そしてそれぞれが専門的なタスクを実行するんや。

でも操作やタスクが実行されたとき、サブエージェントはオーケストレーターに最終結果のみを返すねん。この方法で、余計な情報なしにメインのコンテキストウィンドウをすっきり保てるんや。つまり、全部コンテキストウィンドウの管理についてやねん。

マルチエージェントシステムのアプローチと利点

アプローチは色々あるで。例えば、一部の企業は「マルチエージェントシステムを作るな」って言うとるけど、Anthropicは実際に複数のマルチエージェントシステムを構築しとるんや。

このマルチエージェントシステムでサブエージェントを使う利点は何なんか。一番重要なのはコンテキストの保持やねん。さっき言ったように、メインのコンテキストウィンドウとは分離されとるけど、柔軟な権限も与えてくれるんや。

一般的に、最先端のモデルに大量のツールを提供すると、ツール選択で苦戦することになる。でも、非常に特定のツールを持つサブエージェントを作れば、ツール選択がずっと良くなる確率が高いんや。これで専門性も分離されるし、追加の利点として再利用性があるねん。プロジェクトレベルでもグローバルシステムレベルでも、これらのエージェントを再利用できるんや。

プロジェクトレベルのサブエージェントや全体的なシステムレベルのサブエージェントを定義して、全プロジェクトで使える能力があるんや。エージェントやサブエージェントを定義するには、マークダウンファイルを作る必要があるねん。でもええ知らせは、Claude Codeが実際にこれの作成を手伝ってくれることや。動画の後で始め方を見せたるわ。

サブエージェントの構成と具体例

各マークダウンファイルには、サブエージェントの名前、目的、ツールセット、システムプロンプトが含まれるで。ここに複数のサブエージェントを持つClaude Codeインスタンスの例があるねん。

例えば、データサイエンスエージェントがあるとするやろ。異なるツールが何で、どんなタイプの操作を実行するかの説明を提供する必要があるんや。それから、非常に専門的なツールセットと特定の指示セットを持つデバッガーエージェントもあるかもしれん。そして、ここにコードレビュアーの例があるで。

サブエージェントを作るには、/agentsコマンドを使うんや。ここでプロジェクトレベルかユーザーレベルのサブエージェントのどちらかを使えるねん。Claude Codeが説明やツールへのアクセスの作成を手伝ってくれるけど、手動でもできるで。

どうやって使うんか?Claude Codeとの会話中に特定のサブエージェントを明示的に呼び出すか、Claude Codeがその説明と手元のタスクに基づいてエージェントを自動的に検出することができるんや。操作を実行すると、メインオーケストレーターに渡される結果を単純に返すねん。

複雑なオーケストレーションシステムの構築

これらのサブエージェントで、非常に複雑なオーケストレーションシステムを作ることができるで。これらは順次連鎖させることも、並列で実行することもできるんや。そうやって非常に複雑なワークフローを考え出せるねん。これらの一部は後の動画で取り上げるわ。

さあ、Claude Code内でどう動くか見てみよか。Claude Codeのインスタンスを起動させとるで。アップデートが必要かもしれんけど、/agentsって入力すると、この新しいコマンドが見えるはずや。

エンターを押すと、新しいエージェントを作ることもできるし、既存のエージェントがあればここにリストアップされるで。いつもこの組み込みの汎用エージェントがあって、これがメインオーケストレーターやと思うねん。

実際のエージェント作成とファイル構造

新しいエージェントを作る前に、すでに作った例を見せたるわ。プロジェクト内かユーザーレベルか、エージェントを作った場所によって、この.claudeフォルダが見えるはずや。そしてフォルダ内にagentsフォルダが見えるで。作る各エージェントに対して、マークダウンファイルが見えるんや。

ここに作ったコード品質監査人の例があるねん。これに説明を提供するか、Claude Codeに手伝ってもらうことができるんや。説明は「コード変更の徹底的で妥協のないレビューが必要な時、特に後方互換性の問題、不要な変更、機能的整合性に焦点を当てる際にこのエージェントを使用せよ」やな。

これで自動的にいくつかの短い例が追加されて、これは俺がいつも作りたかったタイプのエージェントやねん。システムプロンプトを見ると、「君は企業システム、API設計、大規模コードベースの保守において数十年の経験を持つシニアソフトウェアエンジニアリングエキスパートや。手抜きコード、不要な変更、後方互換性の破綻に対しては一切寛容さがない。レビューは残酷なまでに正直で、技術的に正確で、コード品質の維持において妥協のないことで知られとる」ってなっとる。

コードレビューをするシニアエンジニアの動作を再現したかったんや。最後に、「君の仕事は好かれることやない、悪いコードがコードベースに入るのを防ぐことや。不要な変更はすべて技術的負債や。破綻的変更はすべて将来のバグや。重複した機能はすべて無駄な努力や。すべてのチームが必要とするが、ほとんど評価されないコード品質の守護者になれ」って思い出させとるねん。そう、これが俺の楽しいエージェントの説明やな。

新しいエージェントの作成プロセス

でも新しいエージェントをどうやって作るか見せたるわ。「新しいエージェントを作る」に行くとしよか。エンターをクリックするで。それからユーザーレベルかプロジェクトレベルで作ることができるねん。プロジェクトレベルでやってみよか。

Claude Codeで生成することができるんや。これは本当に素晴らしい機能やな。このエージェントが何をするべきかの説明を提供する必要があるねん。さっき見せたマークダウンファイル内でこれをいつでも変更できるで。

説明を提供するために、俺が構築してる音声テキスト変換アプリを使うわ。よし、このエージェントはメインエージェントが行うすべての変更に対してユニットテストを書くことになるんや。これは非常に簡単な説明やな。送信しよか。

それから、割り当てることができるすべてのツールのリストが出てくるで。ユニットテストをやることになるから、実際にはMCPサーバーは必要ないねん。だから削除できる。他のすべてを許可するわ。続行に戻ろか。

各サブエージェントに色も割り当てることができるで。これを緑色に割り当てよか。もう一つは赤色やな。ここでサブエージェントの名前が出てくるで。それから利用可能になるツール。それから簡単な説明。これはメインのClaude Codeインスタンスがこのサブエージェントを選択するために使う説明やねん。それからシステムプロンプト。これでよしとしよか。

ここに戻ることができて、ここに俺らのユニットテストサブエージェントがあるで。ここにプロンプトがあるねん。「君は包括的なユニットテストの作成を専門とするエキスパートテストエンジニアや」って。それからClaude Codeがこれに対して作ったいくつかの例と一緒に説明があるで。

サブエージェントの実際の動作確認

俺はすでに実行してるClaude Codeインスタンス内で作業してるねん。「現在の機能をテストするユニットテストを書いて」って言ってみよか。送信するで。

そして今、ユニットテストライターエージェントを使うことに決めたのが見えるやろ。それを使ってる時は、色も変わるのが見えるで。これは結構かっこええな。約9分間実行して、56,000トークンに近い量を生成したで。

すべてがこのサブエージェントのコンテキストウィンドウ内で起こってるから、最終結果のみをオーケストレーターに渡すことになるんや。こうやって、メインオーケストレーターのために非常にきれいなコンテキストウィンドウを保てるねん。

この場合、俺らのメインClaude Codeインスタンスがこれらのユニットテストを実行する必要があると思うで。サブエージェントのシステムプロンプトを変更して、実際にそれらのユニットテストを実行してから、単純に結果を返すようにできるねん。

このアプローチの美しさは、異なるタスクに対して専門的なサブエージェントを生成できることやねん。ここに誰かがこれらのサブエージェントを作ってる例があるで。

使用上の注意点と推奨事項

やり過ぎないように注意せなあかん。大量のトークンを消費することになるから、AnthropicのMaxプランを強く推奨するで。それが俺が現在使ってるプランやねん。今日AnthropicがClaude ProとMaxプランに対して8月末に新しい週次レート制限を展開すると発表したけど、これは現在の使用状況に基づいてサブスクライバーの5%のみに適用されるはずやねん。

AnthropicのClaude Code内のサブエージェントをチェックアウトすることを強く推奨するで。これらで何を作ることができたか教えてくれや。とにかく、この動画が役に立ったと思ってくれたらええな。見てくれてありがとう、いつものように、次回も会おうな。

コメント

タイトルとURLをコピーしました