【Claude Code】Agentsの使い方をわかりやすく解説
Claude CodeのAgents機能について、その基本的な使い方から具体的なエージェントの作成、設定方法、さらには自動・手動呼び出し、複数エージェントの連携までを初心者向けに解説します。開発効率を高めるAI活用術を学び、システム開発での実践力を身につけることができる記事です。
開発環境
- OS: Windows10(WSL2 / Ubuntu)
- Editor: Visual Studio Code
- Node.js: v22.22.2
- claude-code: 2.1.118
Claude Code Agents(エージェンツ)とは?
Claude Code Agents(クロード コード エージェンツ)とは、複雑なプログラミングタスクを効率的にこなすための機能です。
通常のClaudeは、与えられたプログラミングに関する作業をすべて自分一人で解決しようとします。これは、一人のエンジニアが設計から開発、テストまですべてを担当するようなイメージです。
一方で、Agents(エージェンツ)という機能を使うと、Claudeが専門家チームのプロジェクトマネージャーの役割を担う。特定の役割を持つエージェントたち(専門家)に仕事を割り振ることで、より高度なタスクや複雑な問題を効率的に解決できるようになります。
エージェンツには、以下のような特徴があります。
-
簡単な作成方法 エージェンツは、
.claude/agents/という特定の場所にMarkdownファイルを置くだけで簡単に作ることができます。特別なプログラミング知識がなくても、設定ファイルとしてMarkdown形式で記述するだけで作成可能です。 -
自動的なエージェント選択 Claudeは、与えられたタスクの内容を理解し、そのタスクに最適なエージェントを自動で判断して利用します。これにより、ユーザーがどのエージェントを使うか指示しなくても、最も適切なエージェントが選ばれ、作業が進められます。
-
手動でのエージェント呼び出し 必要に応じて、ユーザーが明示的に特定のエージェントを指定して呼び出すこともできます。これにより、状況に応じて柔軟な使い方が可能となります。
エージェンツを利用することで、Claudeはより専門的かつ多角的な視点からプログラミング課題に取り組むことができ、システム開発における様々なタスクを支援してくれます。
公式ドキュメント: https://code.claude.com/docs/ja/sub-agents
配置場所で有効範囲が変わる
特定のファイルや設定をどこに配置するかによって、それが影響を及ぼす範囲(有効範囲)が変わることがあります。これは、システムやアプリケーションがどのように動作するかを理解する上で重要な概念です。
プロジェクト固有の有効範囲
my-project/.claude/agents/- このパスにファイルを配置した場合、その設定やエージェントは「このプロジェクトだけ」に有効となります。
- 例えば、
my-projectという特定のプロジェクトフォルダー内で作業しているとします。そのプロジェクトフォルダーの中に.claude/agents/というディレクトリを作成し、そこに設定ファイルを置くと、その設定はmy-projectの中でのみ利用されます。 - この方法は、プロジェクトごとに異なる設定を適用したい場合に便利です。他のプロジェクトには影響を与えません。
すべてのプロジェクトに適用される有効範囲
~/.claude/agents/- このパスにファイルを配置した場合、その設定やエージェントは「すべてのプロジェクト」に有効となります。
~(チルダ) は、現在コンピューターを使用しているユーザー自身のホームディレクトリを指します。つまり、どのプロジェクトで作業していても、このホームディレクトリ直下の.claude/agents/に置かれた設定が適用されることになります。- 複数のプロジェクトで共通して使いたい設定や、システム全体で利用したいツールなどを配置する際に適しています。
このように、ファイルを配置する場所を変えることで、設定の有効範囲を特定のプロジェクトに限定したり、ユーザーのすべてのプロジェクトに広げたりすることができます。この違いを理解することは、システムの設定やツールの管理において非常に重要です。
エージェントファイルの構造
エージェントファイルは、AIエージェントの動作を定義するためのファイルです。このファイルは主に2つのパートで構成されています。
1┌──────────────────────────────┐ 2│ --- (frontmatter: YAML設定) │ ← 名前・説明・ツール・モデル 3│ --- │ 4│ │ 5│ 本文(システムプロンプト) │ ← エージェントへの指示 6└──────────────────────────────┘
まず、ファイルの上部にある---で囲まれた部分は「フロントマター」と呼ばれます。
1. フロントマター(---で囲まれた部分)
この部分には、エージェントに関する基本的な情報や設定を記述します。具体的には、以下のような項目を設定できます。
- 名前: エージェントの識別名です。
- 説明: エージェントがどのような目的で、何をするのかを簡潔に説明します。
- ツール: エージェントが利用できるツールや機能を指定します。
- モデル: エージェントが使用するAIモデルの種類を設定します。
これらの設定は、YAML(ヤムル)という形式で記述されます。YAMLは、設定ファイルを記述するためによく使われる、人間にも読みやすいシンプルなデータ形式です。このフロントマターを設定することで、エージェントの基本的な特性や能力を定義することができます。
次に、---の下にある部分は「本文」と呼ばれます。
2. 本文(システムプロンプト)
この部分には、エージェントに直接与える具体的な指示を記述します。これを「システムプロンプト」と呼びます。
システムプロンプトは、エージェントがどのような役割を果たし、どのように行動すべきかを詳細に指示する、非常に重要な部分です。例えば、「あなたは優秀なアシスタントです。ユーザーの質問に丁寧にお答えください。」といった具体的な命令文をここに記述します。エージェントはこの指示に従って動作します。
このエージェントファイルは、.claude/agents/ という特定のディレクトリ内に、.md(マークダウン)ファイルとして保存されます。これにより、システムはファイルを認識し、エージェントとして利用できるようになります。
実例 1: コードレビューエージェント
この情報は、AIがコードのレビューを行う「コードレビューエージェント」についての設定を説明しています。システム開発において、私たちが書いたコードが正しく動くだけでなく、読みやすく、安全で、効率的であることは非常に重要です。コードレビューは、そうしたコードの品質を高めるための大切な工程です。
このコードレビューエージェントは、人間が行うコードレビューをAIが手助けしてくれるものです。特に、大量のコードや複雑なコードのレビューにおいて、効率的かつ見落としなく問題点を見つける役割を担います。
.claude/agents/code-reviewer.md というファイルは、このコードレビューエージェントの設定が記述されたファイルです。
1--- 2name: code-reviewer 3description: コードの品質・セキュリティをレビューする。 4 コード変更後に積極的に呼び出すこと。 5tools: Read, Grep, Glob 6model: sonnet 7--- 8 9あなたはシニアエンジニアとしてコードレビューを担当します。 10 11レビューの観点: 12- コードの可読性・保守性 13- セキュリティの問題(SQLインジェクション、XSS など) 14- パフォーマンスの懸念点 15 16出力形式: 17- 問題点はファイル名と行番号で示す 18- 各問題に「重要度: 高/中/低」を付ける 19- 改善案のコードスニペットを提示する
上記のコードブロックには、コードレビューエージェントの詳細な設定が書かれています。
name: code-reviewerは、このエージェントの名前が「コードレビュアー」であることを示しています。descriptionには、このエージェントの役割が書かれています。コードの品質とセキュリティをレビューし、コードを変更した後には積極的にこのエージェントを呼び出して、問題がないか確認することが推奨されています。tools: Read, Grep, Globは、このエージェントが利用できる「ツール」、つまり機能が記載されています。Readは、ファイルを読み込む機能です。コードの内容を理解するために必要となります。Grepは、ファイルの中から特定のキーワードやパターンを検索する機能です。例えば、「セキュリティに関わる危険な記述がないか」といったことを調べることができます。Globは、指定した条件に合うファイルを探し出す機能です。レビュー対象のファイルを効率的に見つける際に使われます。
model: sonnetは、このエージェントが使用しているAIモデルの名前です。
エージェントは「シニアエンジニアとしてコードレビューを担当します」と定義されており、経験豊富なシニアエンジニアの視点でコードを評価する。
レビューの観点としては、以下の3つが挙げられています。
- コードの可読性・保守性:コードが他の人にも理解しやすいか、将来的に変更や修正が必要になった際に手間なく対応できるか、という視点です。可読性が高いコードは、バグの発見や機能追加を容易にします。
- セキュリティの問題(SQLインジェクション、XSS など):悪意のある攻撃者がシステムを乗っ取ったり、情報漏洩を引き起こしたりする原因となる脆弱性がないかを確認します。SQLインジェクションやXSS(クロスサイトスクリプティング)などは、特に注意が必要な代表的なセキュリティ上の問題です。
- パフォーマンスの懸念点:コードが実行される際に、処理速度が遅くなったり、コンピューターの資源を過剰に消費したりする可能性がないかを確認します。効率の良いコードは、システムの応答速度向上やコスト削減につながります。
最後に、出力形式として、レビュー結果がどのように提示されるかが示されています。
- 問題点はファイル名と行番号で示す:問題が見つかった場合、どのファイルの何行目にその問題があるのかを具体的に示します。これにより、開発者は素早く該当箇所を特定し、修正に取り掛かることができます。
- 各問題に「重要度: 高/中/低」を付ける:見つかった問題の深刻さを「高」「中」「低」の3段階で評価します。これにより、開発者はどの問題を優先して修正すべきか判断しやすくなります。
- 改善案のコードスニペットを提示する:単に問題点を指摘するだけでなく、どのようにコードを修正すれば良いか、具体的な修正例(コードの断片)を提案します。これにより、修正作業の手間を減らすことができます。
frontmatter の各フィールド
| フィールド | 説明 | 例 |
|---|---|---|
name | 識別名 | code-reviewer |
description | 専門領域と呼び出し条件 | 「コード変更後に積極的に呼び出す」 |
tools | 許可するツール | Read, Grep, Glob |
model | 使用モデル | sonnet / opus / haiku |
maxTurns | 最大ターン数 | 20 |
disallowedTools | 禁止するツール | Write, Edit |
この表は、特定のシステム設定やAIアシスタントの動作を定義する際に使われる「frontmatter」という設定情報の各項目について説明しています。このような設定を理解することは、システムがどのように動くかを把握する上で重要です。
各フィールドについて、詳しく見ていきましょう。
-
name- これは「識別名」を指します。システム内でこの設定を区別するための「名前」だと思ってください。例えば、人間には「山田さん」「田中さん」という名前があるように、システム内の設定にもそれぞれ固有の名前をつけ、識別しやすくします。表の例では「
code-reviewer」となっており、これは「コードをレビューする役割」を持つ設定であることを示唆しています。
- これは「識別名」を指します。システム内でこの設定を区別するための「名前」だと思ってください。例えば、人間には「山田さん」「田中さん」という名前があるように、システム内の設定にもそれぞれ固有の名前をつけ、識別しやすくします。表の例では「
-
description- このフィールドは「専門領域と呼び出し条件」を説明します。つまり、「この設定が何のために使われ、どのような状況で呼び出されるべきか」を具体的に記述する項目です。
- 例では「コード変更後に積極的に呼び出す」と書かれており、コードに変更があった場合にこの設定(この場合はコードレビューの役割)が機能することを意味します。
- ここが最も重要です。 この
descriptionの書き方によって、AIモデル(例えばClaude)は「いつ、どのような目的で、この設定を活動させるべきか」を判断します。人間が仕事の内容を理解して行動するように、AIもこの説明を基に行動の判断を下すため、非常に明確かつ具体的に記述する必要があります。
-
tools- 「許可するツール」とは、この設定が動作する際に「使用を許可されている機能や道具」のことです。
- 例にある「
Read」はファイルの「読み込み」、「Grep」はファイル内の特定のテキストを「検索」する機能、「Glob」は特定のパターンに合致するファイルを「探し出す」機能などを指します。これらのツールを使うことで、設定された役割がシステム内で必要な情報を取得したり、処理を行ったりできるようになります。
-
model- これは「使用モデル」を指し、具体的に「どのAIモデルを使用するか」を指定する項目です。
- 例の「
sonnet/opus/haiku」は、AIモデルの種類の名前です。それぞれのモデルには得意なことや性能の違いがあるため、この設定が担う役割に最適なモデルを選択することになります。
-
maxTurns- 「最大ターン数」は、そのエージェントが停止するまでに行える作業ターン数の上限です。エージェント同士の往復回数ではなく、エージェント自身が思考とツール実行を繰り返す回数を数えます。
- この値が
20であれば、最大で20ターンまで作業を続け、上限に達すると結果は「途中まで」として返されます。途中で止まった作業は、そこから再開させることもできます。上限を設けておくことで、想定外に長く動き続けてリソースを消費することを防げます。
-
disallowedTools- 「禁止するツール」は、その名の通り、この設定が動作する際に「使用を禁止されている機能や道具」のことです。
- 例の「
Write」はファイルの「書き込み」、「Edit」はファイルの「編集」といった、システム内のデータやファイルを変更する操作を指します。これらのツールを禁止することで、意図しないデータ変更やシステムへの影響を防ぎ、システムの安全性を保つことができます。
これらのフィールドを適切に設定することで、システムは意図した通りに機能し、特定の役割を効果的に果たすことができるようになります。システムエンジニアとして、このような細かな設定がシステムの安定稼働やセキュリティに直結することを理解しておくことが大切です。
自動呼び出し
Claude Codeでは、特別なコマンドや設定なしに、依頼内容に合わせて最適な機能が自動的に選ばれ、処理が行われます。
例えば、以下のように、通常通りコードのセキュリティ問題についてレビューを依頼するだけです。
1> 最近変更したコードのセキュリティ問題をレビューしてください
出力結果1✓ code-reviewer エージェントを起動中... 2 3## コードレビュー結果 4 5### src/auth/login.ts:45 6重要度: 高 7問題: パスワードが平文でログに記録されています 8 9### src/api/users.ts:23 10重要度: 中 11問題: SQLクエリが文字列結合で組み立てられています
すると、システムはこの依頼内容から「コードレビュー」が必要だと判断し、「code-reviewer」という専門のエージェントを自動的に起動します。
出力結果を見ると、発見されたセキュリティ問題が具体的なファイル名、行番号、重要度とともに表示されていることがわかります。
src/auth/login.ts:45の部分では、「パスワードが平文でログに記録されている」という、情報漏洩につながる可能性のある重大な問題が見つかっています。パスワードがそのままの形で記録されている状態は非常に危険です。src/api/users.ts:23の部分では、「SQLクエリが文字列結合で組み立てられています」という問題が指摘されています。これは、データベースへの命令文(SQLクエリ)を作成する際に、文字列を単純につなぎ合わせる方法を使っていることを意味します。この方法だと、悪意のある入力によってデータベースが不正に操作される「SQLインジェクション」というセキュリティリスクを引き起こす可能性があります。
このように、依頼する内容(description)がどのような作業であるかをシステムが自動的に理解し、その内容に合った専門のエージェントを自動的に選択して実行してくれるのが、この「自動呼び出し」機能の特徴です。これにより、どのツールや機能を使うべきか迷うことなく、自然な言葉で作業を依頼できるようになります。
手動呼び出し
システム開発の現場では、特定の作業を自動で実行してくれる「エージェント」と呼ばれる機能やツールを利用することがあります。これらのエージェントは、私たちユーザーが明示的に「このエージェントを使って、この作業をしてほしい」と指示することで動かすことができます。これを「手動呼び出し」と呼びます。
例えば、作成したプログラムのソースコードについて、品質やセキュリティに問題がないかを確認したい場合を考えてみましょう。「code-reviewer」というエージェントは、まさにそのようなコードレビューの作業を担当します。
以下のようにコマンドを入力することで、「code-reviewer」エージェントに「src/api/」というディレクトリにあるコードをレビューするように明確に指示することができます。
1> code-reviewer エージェントを使って src/api/ をレビューしてください
このように、どのエージェントに何をさせたいのかを具体的に伝えることで、必要なタスクを確実に実行させることが可能です。
「では、どのようなエージェントが利用できるのか、どうやって確認できるのだろう?」と疑問に思うかもしれません。ご安心ください。利用可能なエージェントの一覧を確認するためのコマンドが用意されています。
1> /agents 2 3利用可能なエージェント: 4- code-reviewer: コードの品質・セキュリティをレビューする。 5- optimizer: パフォーマンス問題を修正・最適化する。
/agents と入力して実行すると、現在利用できるエージェントの名前と、それぞれのエージェントがどのような役割を持っているのかが表示されます。
この一覧からわかるように、「code-reviewer」はコードの品質やセキュリティを確認してくれるエージェントであることがわかりますね。また、「optimizer」というエージェントは、プログラムのパフォーマンス(動作速度や効率)に関する問題を修正したり、より効率的に動くように最適化したりする役割を持っていることが確認できます。
このように、事前に利用可能なエージェントの種類とそれぞれの役割を確認することで、自分の目的に合ったエージェントを選び、手動で呼び出して活用することができます。
実例 2: 最適化エージェント
.claude/agents/optimizer.md
ここでは、「最適化エージェント」(optimizerエージェント)について説明します。このエージェントは、作成したプログラムやシステムの動きをより速く、より効率的にするための専門家のような役割を果たすAIツールです。
1--- 2name: optimizer 3description: パフォーマンス問題を修正・最適化する。 4 code-reviewerが問題を発見した後に使うこと。 5tools: Read, Edit, Write, Bash 6model: sonnet 7--- 8 9あなたはパフォーマンス最適化の専門家です。 10 11指定されたコードの問題点を修正してください: 12- 不要な再レンダリングの排除 13- データベースクエリの最適化 14- 非同期処理の改善 15 16修正前・修正後のコードを並べて説明すること。
最適化エージェントとは
最適化エージェントは、プログラムの「パフォーマンス」を向上させることに特化したエージェントです。パフォーマンスとは、プログラムがどれだけ速く処理を実行できるか、どれだけ少ない資源(メモリやCPUなど)で動作できるか、といった効率の良さを示す言葉です。
このエージェントは、通常、別の「コードレビューアエージェント」などがプログラムの性能に問題があることを発見した後に使われます。発見された問題点をもとに、プログラムのコードを修正し、性能を改善することが主な役割です。
最適化エージェントができること
最適化エージェントは、具体的に以下の3つの主要な問題を修正・改善することができます。
-
不要な再レンダリングの排除
- プログラムが画面に何かを表示する際、「レンダリング」という処理が行われます。ウェブサイトやアプリケーションでは、情報が変わると画面が更新されますが、必要のない時まで何度も同じ情報を再表示する処理が行われることがあります。これが「不要な再レンダリング」です。
- このエージェントは、無駄な再レンダリングが発生しないようにコードを修正し、プログラムの動作をスムーズにします。
-
データベースクエリの最適化
- 多くのシステムは、情報を保存するために「データベース」を利用しています。データベースから必要な情報を取り出すための命令を「クエリ」と呼びます。
- クエリの書き方が悪いと、データベースから情報を取り出すのに時間がかかり、システム全体の動作が遅くなることがあります。
- このエージェントは、データベースから効率良く情報を取得できるようにクエリの記述を改善し、情報の読み込み速度を向上させます。
-
非同期処理の改善
- プログラムの中には、時間のかかる処理(例えば、インターネットから大きなファイルをダウンロードする処理など)を、他の処理と並行して行う「非同期処理」という仕組みがあります。
- 非同期処理のやり方が適切でないと、プログラムが途中で止まってしまったり、逆に処理に時間がかかりすぎたりすることがあります。
- このエージェントは、非同期処理をより効率的に実行できるようにコードを修正し、プログラムが滞りなく動作するように改善します。
最適化エージェントが使うツール
最適化エージェントは、これらの修正を行うために、以下のツールを使います。
- Read (読む):プログラムのコードや関連する情報を読み込み、問題点を理解するために使います。
- Edit (編集する):読み込んだコードを直接修正するために使います。
- Write (書き出す):修正したコードをファイルに保存したり、修正内容を報告したりするために使います。
- Bash (コマンドライン操作):システムのコマンドを実行し、ファイル操作やプログラムの実行環境の調整などを行うために使います。
エージェント連携(チェーン)
エージェント連携(チェーン)とは、複数のエージェントを順番に結びつけ、一連の作業を自動化する仕組みのことです。これにより、単独のエージェントでは難しい、より複雑なタスクを効率的に実行できるようになります。
たとえば、あるエージェントが問題を発見し、その発見された問題を別のエージェントが解決するといった連携が可能です。
1> code-reviewer でパフォーマンス問題を探し、 2 見つかったら optimizer で修正してください
上記の例では、まずcode-reviewerという役割を持つエージェントが、プログラムのコードの中からパフォーマンスに関する問題点を探します。そして、もし問題が見つかった場合には、次にoptimizerという役割を持つエージェントが起動され、見つかった問題を修正するという一連の流れを自動で行うように指示しています。
この指示に対する出力結果は、以下のようになります。
出力結果1✓ code-reviewer エージェントを起動中... 2 → パフォーマンス問題を 3 件検出 3 4✓ optimizer エージェントを起動中... 5 → src/components/UserList.tsx を最適化 6 → useMemo を追加してレンダリングを削減 7 → 完了
出力結果を見ると、まずcode-reviewerエージェントが起動し、プログラムのパフォーマンスに関する問題を3件見つけ出したことがわかります。次に、その問題を受けてoptimizerエージェントが起動し、src/components/UserList.tsxというファイルを対象に最適化処理を実行しています。具体的には、useMemoという機能をコードに追加することで、プログラムのレンダリング(画面表示の処理)を減らし、パフォーマンスを向上させたことが示されています。
このように、エージェント連携(チェーン)を利用することで、問題発見から問題解決までの一連の作業を自動化し、開発の効率を高めることができます。
注意:
maxTurnsを設定しないと、エージェントが長く動き続けることがある。 最初はmaxTurns: 10程度で試すこと。
エージェント連携を利用する際には、maxTurnsという設定に注意が必要です。maxTurnsは、そのエージェントが停止するまでに行える作業ターン数の上限です。設定しない場合、エージェントは自分で完了したと判断するまで作業を続けるため、想定より長く動き、そのぶん時間と利用量を消費することがあります。
そのため、まずはmaxTurns: 10程度のような比較的少ない回数から試すことが推奨されます。上限に達した場合は結果が「途中まで」として返されるので、内容を確認したうえで再開させるか、上限を増やして調整してください。
よくあるトラブルと対処
エージェントが呼ばれない
原因: description が曖昧すぎる
プログラミングにおける「エージェント」とは、ある特定のタスクを自動で実行するプログラムやAIを指す。このエージェントを適切に動作させるためには、何をしてほしいのかを明確に伝える必要があります。
エージェントが呼ばれない原因の一つに、description(説明文)が曖昧すぎることが挙げられます。description は、エージェントがどのような状況で、何のために動作すべきかを判断するための重要な情報です。
1# NG 2description: コードをレビューする 3 4# OK(いつ使うかが明確) 5description: コードの品質・セキュリティをレビューする。 6 コード変更後に積極的に呼び出すこと。
NG例のように「コードをレビューする」だけでは、エージェントは「いつ」「どのような観点で」レビューをすれば良いか判断できません。その結果、エージェントが期待通りに動作しない、あるいは全く呼ばれないことがあります。
OK例では、「コードの品質・セキュリティをレビューする」と目的を具体的に示し、さらに「コード変更後に積極的に呼び出すこと」と、エージェントを起動すべきタイミングを明確に指示しています。このように具体的に記述することで、エージェントは自分の役割と起動条件を正確に理解し、適切に動作できるようになります。
エージェントがファイルを書き換えてしまう
原因: tools に Write / Edit が入っている
エージェントは、与えられた「ツール」(tools)を使って作業を行います。このツールリストに、ファイルの書き込みや編集を行う機能が含まれていると、エージェントが意図せずファイルを変更してしまう可能性があります。これは、システムエンジニアとして非常に注意すべき点です。
1# NG # OK(読み取り専用) 2tools: Read, Write, Edit tools: Read, Grep, Glob
NG例のように tools に Write や Edit が含まれている場合、エージェントはプログラムのファイルを書き換えたり、内容を編集したりする権限を持ってしまいます。もしエージェントが誤った判断をした場合、重要なファイルが変更されてしまい、予期せぬシステムトラブルに繋がるリスクがあります。
OK例では、Write や Edit といった書き込み・編集に関するツールが除外されています。Read はファイルを読み込む機能、Grep や Glob もファイルを検索したり、特定のパターンに一致するファイル名を取得したりする、読み取り専用の機能です。このように、エージェントに与えるツールを「読み取り専用」に限定することで、エージェントが勝手にファイルを書き換えてしまうことを防ぎ、安全に情報を参照する用途で活用できます。
エージェントに与える権限は、必要最小限にすることがシステムの安全性を保つための基本原則です。
モデルの指定
システム開発において、AIなどの「モデル」を利用する際に、どのように指定するかを説明します。
frontmatter というのは、設定などを記述する部分のことで、プログラムの冒頭に書かれることが多いです。そこに model という項目があり、利用するモデルを指定します。この時、「エイリアス」という短い名前を使うことで、より簡単に指定できるようになっています。
以下の表は、利用できるモデルとその特徴、そしてどのように指定するかを示しています。
| エイリアス | モデル | 用途 |
|---|---|---|
sonnet | claude-sonnet-5 | バランス重視 |
opus | claude-opus-5 | 高精度・重いタスク |
haiku | claude-haiku-4-5 | 軽量・高速 |
-
sonnet(claude-sonnet-5)sonnetは、claude-sonnet-5というモデルの「エイリアス(別名)」です。- 「バランス重視」とあるように、性能と速度のバランスが取れており、多くの場面で使いやすいモデルです。どのモデルを使えばよいか迷った場合は、まず
sonnetを選ぶと良いでしょう。
-
opus(claude-opus-5)opusは、claude-opus-5というモデルのエイリアスです。- 「高精度・重いタスク」とあるように、非常に複雑な計算や、高い正確性が求められる重要な処理を行う際に適しています。その分、処理に時間がかかったり、コストがかかる場合があります。
-
haiku(claude-haiku-4-5)haikuは、claude-haiku-4-5というモデルのエイリアスです。- 「軽量・高速」とあるように、素早く結果が欲しい時や、比較的軽い処理を行う際に役立ちます。例えば、簡単な問い合わせ応答など、迅速な対応が求められる場面で活用できます。
フル ID(
claude-sonnet-5)ではなく エイリアス(sonnet)で指定する。
モデルを指定する際には、claude-sonnet-5 のような長い「フルID」ではなく、sonnet のような短い「エイリアス」を使うことが推奨されています。これは、エイリアスを使うことで記述が簡単になり、間違いも減らせるためです。
おわりに
本記事では、システム開発の効率を大きく高めるClaude Code Agentsの使い方を学びました。エージェントは、Markdownファイルでnameやdescriptionといった設定を記述し、その説明に基づいてcode-reviewerエージェントのようにコードの品質やセキュリティを自動的にチェックしたり、optimizerエージェントと連携させてパフォーマンスを改善したりできます。安全に運用するためには、descriptionを明確に記述して適切に呼び出されるようにし、toolsでWriteやEditなどのファイルの書き換え機能を制限することが重要です。また、複数のエージェントを連携させる際は、maxTurnsを設定してエージェントが想定より長く動き続けないように注意しましょう。この機能により、まるで専門家チームが連携して作業するように、コードレビューからパフォーマンス最適化まで、様々なプログラミングタスクを効率的に進められるようになります。