// ARTICLE

Claude Agentとは?SDKとCode CLIの違い

// この記事を書いた人

株式会社Global Design Factory 代表取締役 高橋 遼

株式会社Global Design Factory 代表取締役

高橋 遼

北海道大学工学部でAIによる自然言語処理を研究。P&Gにてビッグデータ解析・消費者分析を担当した後、伊良コーラのマーケティング責任者を経て、現在は株式会社Global Design Factory代表取締役として、中小企業を中心にAIを活用した業務効率化・自動化を支援。

// SHARE

Claude Agentとは?SDKとCode CLIの違い

「claude agent」で検索すると、Claude本体の話なのか、ターミナルツールの話なのか、開発者向けライブラリの話なのか、情報が混在していて整理しづらいと感じたことはないでしょうか。本記事では、Claude・Claude Code・Claude Agent SDK・Managed Agentsという似た名前の4つの概念を整理したうえで、Agent SDKが備える組み込みツールやHooks、MCP連携といった主要機能、サブエージェントによるタスク分担の仕組み、インストールから初回実行までの具体的な手順、そして活用シーンやCLIとSDKの選び方までを1本で解説します。読み終える頃には、自分の用途に応じて次にどの公式ドキュメントを見ればよいか判断できるようになります。

Claude Agentとは何か?Claude・Claude Code・Agent SDKの違いを整理

まずはこの記事全体の前提として、名前が似た4つの概念を整理します。

Claude(会話AIとしてのモデル)

「Claude」はAnthropicが開発する会話AIモデルそのものを指します。チャット画面で質問に答えたり、文章を作成したりする、いわゆる生成AIとしての機能がベースにあります。この記事で扱う「Claude Agent」は、このClaudeというモデルの推論能力を土台にしつつ、ツールを使って自律的にタスクを遂行する仕組み全般を指す言葉として使われています。つまりClaudeは「頭脳」であり、以降で説明するClaude CodeやAgent SDKは、その頭脳にファイル操作やコマンド実行といった「手足」を与える仕組みという位置づけです。

Claude Code(ターミナルで動くAIコーディングエージェント)

「Claude Code」は、ターミナル上で動作するAIコーディングエージェントです。開発者が対話的にコードの読み書き・修正・実行を依頼できるCLIツールとして提供されており、日々の開発作業の中でインタラクティブに使うのに適しています。後述するAgent SDKは、このClaude Codeを支えているエンジン部分をライブラリ化したものであり、両者は「同じ機能を異なるインターフェースで提供している」関係にあります。インタラクティブな開発にはCLIとしてのClaude Code、CI/CDパイプラインやカスタムアプリケーション、本番環境の自動化にはAgent SDKが最適とされている点は、Anthropic公式ドキュメントでも明示されています。

Claude Agent SDK(自分のエージェントを構築するライブラリ)

多くの人が検索している「Claude Agent」の実体に最も近いのが、この「Claude Agent SDK」です。Anthropic公式ドキュメントによると、Agent SDKはClaude Codeをライブラリとして使用し、本番環境対応のAIエージェントを構築するためのもので、PythonまたはTypeScriptでプログラム可能です。ファイルを自動的に読み取り、コマンドを実行し、ウェブを検索し、コードを編集するといった多くのことができるAIエージェントを構築する機能を備えており、Claude Codeを強化しているのと同じツール・エージェントループ・コンテキスト管理を、自分のアプリケーションの中から呼び出せるようになっています。具体的な機能の詳細は次のセクションで扱います。

Managed Agents・Client SDKとの違い

もう一つ紛らわしいのが「Managed Agents」です。Anthropic公式ドキュメントによると、Managed AgentsはホストされたREST APIで、Anthropicがエージェントとサンドボックスの実行そのものを担い、アプリケーション側はイベントを送信して結果をストリーミングで受け取る仕組みです。これに対しAgent SDKは、エージェントループを自分自身のプロセス内で実行するライブラリという点で異なります。実行環境をAnthropicに任せたいか、自社の環境で完全にコントロールしたいかが分かれ目になります。

さらに、単純にAPIへ直接アクセスしてプロンプト送信とツール実行を自分で実装する「Client SDK(Anthropic Client SDK)」も存在しますが、これはAgent SDKとは別物です。Agent SDKは組み込みツール実行をあらかじめ備えたClaudeを提供する点が大きな違いです。この違いも同ドキュメントで整理されています。以降のセクションでは、この4つのうち中心となる「Claude Agent SDK」を軸に、機能や始め方を詳しく見ていきます。

Claude Agent SDKでできること:主要機能まとめ

Claude Agent SDKは、単にプロンプトを送って返答を受け取るだけのライブラリではありません。ファイル操作やコマンド実行、外部システムとの連携までを一貫して扱える「エージェントの基盤」として設計されています。ここでは、Agent SDKが標準で備えている主要な機能をカタログ形式で紹介します。サブエージェントの詳しい仕組みについては次章で扱うため、ここでは全体像の把握に留めます。

組み込みツール(Read・Write・Edit・Bashなど)

Agent SDKには、エージェントが自律的にタスクをこなすための組み込みツールが用意されています。代表的なものは以下の通りです。

  • Read:ファイルの内容を読み取ります
  • Write:新規ファイルを作成します
  • Edit:既存ファイルを編集します
  • Bash:ターミナルコマンドやスクリプト、git操作などを実行します
  • Monitor:バックグラウンドで動くスクリプトを監視します
  • Glob:パターンを指定してファイルを検索します
  • Grep:正規表現でファイル内容を検索します
  • WebSearch:最新情報をウェブ上で検索します
  • WebFetch:ウェブページを取得・解析します
  • AskUserQuestion:複数の選択肢を提示してユーザーに確認を取ります

これらは公式ドキュメントにまとめられている通り、ファイルを自動的に読み書きしながらコマンドを実行し、必要に応じてウェブ検索まで行うエージェントを、開発者が自前で実装しなくても構築できる点が特徴です。コーディング支援からリサーチ、業務自動化まで幅広い用途に対応できる土台になっています。

Hooksで動作をカスタマイズする

Hooksは、エージェントのライフサイクル上の重要なタイミングでカスタムコードを差し込める仕組みです。用意されているフックには、ツール実行前に呼ばれるPreToolUse、ツール実行後に呼ばれるPostToolUse、エージェント停止時のStop、セッション開始・終了時のSessionStartSessionEnd、ユーザーがプロンプトを送信した際のUserPromptSubmitなどがあります(詳細はHooksのドキュメントを参照してください)。

たとえば「危険なコマンドが実行される前に必ずログを残す」「特定のツール呼び出し後に外部システムへ通知を送る」といった制御を、エージェント本体のロジックを書き換えずに追加できます。運用ルールをコードとして外付けできる柔軟性は、本番環境で使う際の安心材料になります。

MCP(Model Context Protocol)で外部システムに接続する

Agent SDKは、Model Context Protocol(MCP)を介して外部システムと接続できます。MCPを使うと、データベースやブラウザ、各種APIなどをエージェントのツールとして組み込むことが可能で、すでに数百種類以上のMCPサーバーが公開されています。ブラウザ操作を可能にするPlaywright MCPはその代表例のひとつです。

自社独自のデータベースや社内システムをMCP経由で接続すれば、エージェントが単なるコード編集にとどまらず、業務システムと連携した自動化タスクをこなせるようになります。

権限管理とセッションの引き継ぎ

エージェントに強力なツール実行能力を与えるからこそ、権限のコントロールは欠かせません。Agent SDKの権限機能を使うと、エージェントが利用できるツールを細かく制御でき、安全な操作は自動で許可し、危険な操作はブロックしたり、機密性の高いアクションについては人間の承認を要求したりする設定が可能です。

またセッション機能により、複数回のやり取りをまたいでコンテキストを維持できます。セッションIDを使えば、後から会話を再開したり、同じ状態から別のアプローチを試すためにセッションを分岐(フォーク)させたりすることもできます。長時間・複数ステップにわたるタスクを扱ううえで、この継続性は実務上大きな価値を持ちます。

なお、SDKはClaude Code自体が持つファイルシステムベースの構成(Skills・Commands・Memory・Plugins)もサポートしており、デフォルトでは作業ディレクトリの.claude/と、ホームディレクトリの~/.claude/からこれらを読み込みます。Claude Codeで培った設定資産を、そのままSDKでのエージェント構築にも流用できる点は覚えておくとよいでしょう。

サブエージェントでタスクを分担する仕組み

Claude Agent SDKやClaude Codeで複雑なタスクをこなす際に欠かせないのが、サブエージェントという「タスク分担」の考え方です。ここでは、サブエージェントが何を解決する仕組みなのか、そして実行状況をどう追跡するのかという2点に絞って整理します。SDK全体の機能一覧については前章で紹介した通りですが、ここでは分業の設計思想そのものに焦点を当てます。

サブエージェントとは何か

サブエージェントとは、特定のサブタスクを処理するために特化して生成される、いわば「専門担当のエージェント」です。メインエージェントがすべての作業を一手に抱え込むのではなく、切り出せる単位の作業をサブエージェントに委譲し、サブエージェントがその結果をメインエージェントに報告するという構造になっています。Anthropic公式ドキュメントによれば、この委譲と報告の関係こそがサブエージェントの基本的な役割分担です。

たとえば「大規模なコードベースの中から特定のバグの原因を探る」というタスクを考えてみると、メインエージェントが全体の進行管理を担いながら、コードを横断的に検索する作業や、特定のモジュールだけを深く調査する作業をサブエージェントに任せる、といった使い分けが可能になります。1つのエージェントに全工程を任せるよりも、役割を分けたほうがそれぞれの作業に集中でき、結果としてタスク全体の見通しがよくなるという発想です。

なお、サブエージェントはAgentツールを経由して呼び出される仕組みになっています。そのため、実際にサブエージェントを利用する際にはallowedToolsの設定にAgentを含めておき、その呼び出しを自動承認できるようにしておく必要があります。この点は権限管理の設定漏れによる動作不良につながりやすいポイントなので、構築時には注意しておきたいところです。サブエージェントの仕組みそのものをさらに詳しく知りたい場合は、Agent SDKのサブエージェント関連ドキュメントも参考になります。

実行の追跡(parent_tool_use_id)

タスクを複数のサブエージェントに分担させると、次に気になるのが「どのメッセージがどの実行に対応しているのか」という追跡のしやすさです。サブエージェントが並行して動いたり、階層的に呼び出されたりする構成では、ログやメッセージが混在してしまい、どの結果がどの委譲元に紐づくのか分かりにくくなる懸念があります。

この課題に対応するため、サブエージェントのコンテキスト内から発せられるメッセージには、parent_tool_use_idというフィールドが含まれています。これにより、どのメッセージがどのサブエージェント実行に属しているかを、後から正確に追跡できるようになっています。

実務上は、複数のサブエージェントを組み合わせて複雑なワークフローを構築する場合ほど、このparent_tool_use_idによる追跡の重要性が増します。デバッグや監査の観点でも、どの委譲がどのような結果を返したのかを後から確認できる仕組みがあることは、本番環境でエージェントを運用するうえで安心材料になります。具体的な実装イメージをつかみたい場合は、Anthropic公式のデモリポジトリでサブエージェントを含む実装例を確認してみるとよいでしょう。

Claude Agentの始め方:インストールから初回実行まで

Claude Agent SDKの概念や機能が分かったところで、ここからは実際に手を動かすための具体的な手順を確認していきます。

TypeScript/Pythonでのインストール

Agent SDKはTypeScriptとPythonの両方に対応しており、開発言語に応じて次のコマンドでインストールできます。

  • TypeScriptnpm install @anthropic-ai/claude-agent-sdk
  • Python(uvを使う場合)uv add claude-agent-sdk
  • Python(pipを使う場合):仮想環境を作成したうえでpip install claude-agent-sdk

TypeScript SDKは、利用しているプラットフォーム用のネイティブClaude Codeバイナリをオプションの依存関係としてバンドルしているため、Claude Codeを別途インストールする必要はありません。一方、Python SDKパッケージを利用する場合はPython 3.10以降が必要になる点に注意してください。導入の詳しい前提条件や環境ごとの違いは、Anthropic公式ドキュメントで最新情報を確認するのが確実です。

APIキーの設定とクラウド連携(Bedrock・Vertex・Azure)

インストールが完了したら、次はAPIキーの設定です。基本的な流れとしては、Claude ConsoleからAPIキーを取得し、環境変数ANTHROPIC_API_KEYとして設定します。個人開発や小規模な検証であれば、この手順だけで最初のエージェントを動かせる状態になります。

すでに自社でクラウドインフラを利用している企業では、サードパーティ製の認証プロバイダー経由でAgent SDKを構成することも可能です。主なクラウド連携の設定は以下の通りです。

  • Amazon Bedrock:環境変数CLAUDE_CODE_USE_BEDROCK=1を設定します。詳しい手順はAmazon Bedrock連携の公式ドキュメントを参照してください。なお、Claude Platform on AWSを利用する場合はCLAUDE_CODE_USE_ANTHROPIC_AWS=1ANTHROPIC_AWS_WORKSPACE_IDを設定します。
  • Google Cloud(Vertex AI):環境変数CLAUDE_CODE_USE_VERTEX=1を設定します。設定の詳細はGoogle Vertex AI連携の公式ドキュメントにまとまっています。
  • Microsoft Azure:環境変数CLAUDE_CODE_USE_FOUNDRY=1を設定します。手順の詳細はMicrosoft Foundry連携の公式ドキュメントで確認できます。

すでにBedrockやVertex AI、Azureで社内のガバナンス・課金体制を構築している企業にとっては、既存の認証基盤にAgent SDKを乗せられる点が導入のハードルを下げるポイントになります。

最初のエージェントを動かす

環境変数の設定まで終われば、あとはコードを書いてエージェントを呼び出すだけです。Agent SDKはClaude Codeと同じツール・エージェントループ・コンテキスト管理を提供しているため、最初の一歩としては「ファイルを読み取らせる」「簡単なBashコマンドを実行させる」といった小さなタスクから試してみるのがおすすめです。

とはいえ、ゼロからコードを書き起こすのはハードルが高いと感じる方も多いはずです。そうした場合は、Anthropicが公開しているエージェント実装例のデモリポジトリを参照すると、実際の構成やコードの書き方を具体的にイメージしやすくなります。まずは既存のサンプルを手元で動かし、そこから自分のユースケースに合わせて組み込みツールやHooksを追加していく流れが、遠回りに見えて確実な習得ルートです。

Claude Agentの活用シーン

Agent SDKが備える組み込みツールを組み合わせると、実際の業務や開発の現場ではどのような使い方ができるのでしょうか。ここでは代表的な3つのシーンに分けて、具体的なタスクの粒度で紹介します。

コーディング支援・バグ修正の自動化

Agent SDKには、ファイルを読み取るRead、新規ファイルを作成するWrite、既存ファイルを編集するEdit、ターミナルコマンドやgit操作を実行するBashといった組み込みツールが用意されています。これらを使うことで、次のようなコーディング関連タスクをエージェントに任せられます。

  • コードベース全体をGlobやGrepで検索し、バグの原因箇所を特定してEditで修正する
  • テストコードを実行し、失敗した場合はBashのログを読み取って原因を切り分ける
  • リファクタリング作業のように、複数ファイルにまたがる修正をまとめて実行する
  • 長時間かかるビルドやバックグラウンドスクリプトをMonitorツールで監視し、完了後に結果を報告する

これらは1つのタスクの中でツールを何度も使い分ける必要があるため、対話的に指示を出しながら進めるならClaude Code CLI、CI/CDパイプラインに組み込んで自動実行するならAgent SDKという使い分けが基本になります(選び方の詳細は後述します)。実際の実装イメージは、Anthropic公式のデモリポジトリでも確認できます。

リサーチ・情報収集タスクの自動化

WebSearchツールで最新情報をウェブ検索し、WebFetchツールで対象ページを取得・解析できる点も、Agent SDKの特徴です。これにより、次のようなリサーチ業務を自動化できます。

  • 特定のトピックについて複数のサイトを横断的に調査し、要点をまとめる
  • 競合サービスの料金ページや仕様ページを定期的に取得し、変更点を検知する
  • MCP(Model Context Protocol)を介してブラウザ操作系のサーバーに接続し、通常のスクレイピングでは扱いにくい動的なページの情報を収集する

MCPは数百以上のサーバーが公開されている拡張の仕組みで、例えばPlaywright MCPを組み合わせればブラウザ操作を伴う情報収集も可能になります。どのようなMCPサーバーが利用できるかは、MCPサーバー一覧から確認できます。調査対象や手順が複雑なタスクほど、サブエージェントに分担させて並行処理させる構成が有効です。

ドキュメント作成・反復業務の効率化

Read・Write・Editといったファイル操作系のツールは、コーディング以外の文書作成にも応用できます。

  • 既存のコードやログを読み取り、仕様書・README・変更履歴などのドキュメントを自動生成する
  • AskUserQuestionツールでユーザーに選択肢を提示しながら、テンプレートに沿った定型文書を対話的に作成する
  • 決まったフォーマットのレポートやチェックリストを、毎回同じ手順で作成する反復業務を自動化する

こうした反復業務では、Hooksを使ってタスク完了時(Stop)やセッション開始時(SessionStart)に決まった処理を挟み込んだり、セッション機能で作業を中断・再開したりすることで、一度組んだワークフローを繰り返し安定的に運用しやすくなります。

Claude Code CLIとAgent SDK、どちらを選ぶべきか

これまで見てきたように、Claude Code CLIとClaude Agent SDKは、内部で同じツール・エージェントループ・コンテキスト管理を共有しています。つまり「できること」自体はほぼ同じであり、違いはインターフェースにあります。公式ドキュメントでも、Agent SDKとClaude Code CLIは同じ機能を異なるインターフェースで提供していると説明されており、Claude Agent SDK公式ドキュメントではインタラクティブな開発にはCLI、CI/CDパイプラインやカスタムアプリケーション・本番環境の自動化にはSDKが最適とされています。

判断のポイントをシンプルに整理すると、次のようになります。

  • 人間が対話しながら使いたいか、プログラムから呼び出したいか:ターミナルで自分自身が指示を出しながら開発を進めたいならCLI、アプリケーションやスクリプトの内部でエージェントを動かしたいならSDKが向いています。
  • 一時的な作業か、繰り返し実行される仕組みか:単発のコーディング支援やリファクタリングであればCLIで十分ですが、CI/CDパイプラインに組み込んで毎回自動実行したい場合はSDKでコードとして定義しておく方が管理しやすくなります。
  • 自社サービスに機能として組み込みたいか:カスタマーサポートボットや社内システムの一機能としてエージェントを埋め込みたい場合は、Python・TypeScriptでプログラム可能なSDKを選ぶ必要があります。

用途別の選び方早見表

用途・シーン適したインターフェース
ターミナルで対話しながらコーディングを進めたいClaude Code CLI
バグ修正やレビューをその場で試行錯誤したいClaude Code CLI
CI/CDパイプラインに組み込んで自動実行したいAgent SDK
自社アプリケーションやWebサービスにエージェント機能を組み込みたいAgent SDK
本番環境で継続的に稼働させる自動化基盤を作りたいAgent SDK
インフラを自前で管理せずホスト型で結果だけ受け取りたいManaged Agents

なお、SDK自体をゼロからプログラムする前に、Anthropic公式のデモリポジトリで実装例を確認しておくと、自分のユースケースに近い構成を見つけやすくなります。まずはCLIで手触りを確かめ、要件が固まった段階でSDKへ移行するという進め方も現実的な選択肢です。

導入前に確認しておきたい注意点

Claude Agent SDKを使ってエージェントを構築する前に、認証周りの制約と情報のキャッチアップ方法を確認しておきましょう。特にサードパーティ開発者が自社サービスにエージェントを組み込む場合、見落としがちなポイントがあります。

認証・利用規約まわりの注意点

まず押さえておきたいのは、認証方式に関する制約です。事前に承認されていない限り、Anthropicはサードパーティ開発者が自社サービスに「claude.aiログイン」や「レート制限」の仕組みを提供することを許可していません。これはClaude Agent SDKで構築したエージェントであっても例外ではなく、Anthropic公式ドキュメントで明示されています。

つまり、「Claude.aiのアカウントでログインさせて、そのままユーザーにエージェントを使わせる」という設計は原則NGということです。自社サービスにエージェント機能を組み込む場合は、ドキュメントで案内されているAPIキー認証の方式に従う必要があります。APIキーの取得・設定方法や、Amazon Bedrock・Google Vertex AI・Microsoft Azureといったクラウド経由での利用方法については、前のセクションで紹介した手順を参照してください。

この制約は、無償利用や個人利用を前提としたサービス設計でつまずきやすいポイントです。企業として本番導入を検討している場合は、法務・セキュリティ担当者とも認証方式を早めに確認しておくと、後工程での手戻りを防げます。

最新情報・不具合報告の確認先

Claude Agent SDKは活発に更新が続いているため、導入後も最新情報を追い続けられる体制を整えておくことが大切です。

  • 変更ログの確認:TypeScript SDKの更新内容はTypeScript SDK CHANGELOG、Python SDKの更新内容はPython SDK CHANGELOGで公開されています。バージョンアップ時の破壊的変更や新機能を把握するために、定期的にチェックすることをおすすめします。
  • 不具合報告・質問:不具合を見つけた場合や実装に関する疑問がある場合は、TypeScript SDK IssuesやPython SDK Issuesから報告・検索が可能です。同様の事例が既に報告されていないか、先に検索してみるとよいでしょう。
  • 実装例の参照:具体的なコード例で理解を深めたい場合は、Anthropic公式のclaude-agent-sdk-demosリポジトリも参考になります。

これらの一次情報源をブックマークしておくことで、SDKの仕様変更やアップデートにも慌てずに対応できる体制が整います。

まとめ

「claude agent」という語が指すものは一つではなく、会話AIとしてのClaude、CLIツールのClaude Code、開発者向けライブラリのClaude Agent SDK、ホスト型のManaged Agentsという4つの異なる概念が存在します。中心となるAgent SDKは、Read・Write・Bashなどの組み込みツール、Hooksによる動作カスタマイズ、MCPを介した外部システム連携、権限管理やセッション機能を備え、サブエージェントによってタスクを分担できる仕組みも用意されています。まずは対話的に試したいならClaude Code CLI、CI/CDや自社サービスへの組み込みを考えているならAgent SDKという使い分けを基準に、公式ドキュメントやデモリポジトリを参照しながら小さなタスクから試してみることをおすすめします。認証方式の制約や変更ログの確認先も押さえておけば、本番導入時の手戻りを減らせます。

// SHARE