Claude Agent SDKとは?自社アプリにAIエージェントを組み込む

この記事の要点
- Agent SDKは、Claude Codeと同じ道具・作業の進め方・権限の仕組みを、PythonやTypeScriptのプログラムから使える部品
- ターミナルで人が使うのがCLI、自社のアプリに組み込むのがAgent SDK、APIを直接呼ぶのがClient SDK
- 認証はAPIキーで行う。自社の製品に claude.ai のログインを使うことは、事前の承認がない限り認められていない
Claude Code をしばらく使うと、「この作業の進め方を、社内のツールや自社のサービスの中でも動かしたい」と考える場面が出てきます。たとえば、毎晩の点検を自社の管理画面のボタンから始めたい、問い合わせの下書きを自社のシステムの中で作らせたい、といった使い方です。
そのための部品が Claude Agent SDK です。この記事では、公式ドキュメント(2026年10月31日確認)にもとづいて、何ができるのか、ほかの手段とどう違うのか、最初の動かし方をまとめます。
結論:Claude Code の中身を、自分のプログラムから呼び出せる部品
公式ドキュメントでは、エージェントを「自分で手順を考え、ファイルを読む・コマンドを動かす・コードを直すといった道具を呼び出して仕事を終わらせるアプリ」と説明しています。Agent SDK は、Claude Code を動かしているのと 同じ道具・同じ作業の進め方(エージェントループ)・同じ会話の管理 を、Python と TypeScript から使えるようにしたものです。
つまり、Claude Code を一から作り直さなくても、自社のプログラムの中に「Claude Code と同じように働くAI」を入れられる ということです。
ほかの手段との違い
Claude には似た名前の手段がいくつかあります。公式ドキュメントの比較を、目的ごとに並べ直すと次のとおりです。
| やりたいこと | 使うもの | 中身 |
|---|---|---|
| ターミナルで人が対話しながら使う | Claude Code(CLI) | ふだん使う画面そのもの |
| 自社のアプリの中でエージェントを動かす | Agent SDK | Claude Code の本体を部品として動かす。道具・権限・会話・フックが付いてくる |
| 自分のコードから Claude の API を直接呼ぶ | Client SDK | API を呼ぶだけ。道具を呼ぶ繰り返しは自分で書く |
| エージェントの実行場所ごと任せる | Managed Agents | Anthropic 側でエージェントを動かす。API から設定する |
Python や TypeScript 以外の言語から同じ動きをさせたい場合は、CLI を -p 付きで呼び出し、結果を JSON で受け取る方法も案内されています。この方法は Claude Codeのヘッドレスモード で詳しく解説しています。
Agent SDK で使える Claude Code の機能
公式ドキュメントでは、次の機能が SDK でも使えるとされています。
- 組み込みの道具:ファイルの読み書き・編集、コマンドの実行、ウェブ検索
- フック:作業の決まった場面で自分のコードを動かす(フックの解説)
- サブエージェント:細かい作業を専門の担当に分けて任せる
- MCP:外部のツールやデータをつなぐ(MCPの追加手順)
- 権限:どの道具を自動で使わせ、どれを確認制にするかを決める
- セッション:会話を続ける・あとで再開する・枝分かれさせる
- スキル・コマンド・メモリ:プロジェクトの
.claude/やホームの~/.claude/から、Claude Code と同じように読み込む - プラグイン:スキルやフックをまとめたものを、置き場所を指定して読み込む
ふだん Claude Code で育てた スキル や CLAUDE.md を、そのまま自社のプログラム側でも生かせるのが大きな利点です。
最初の動かし方(Python の例)
公式のクイックスタートの流れは、次の4段階です。
- 部品を入れる:
pip install claude-agent-sdk(TypeScript ならnpm install @anthropic-ai/claude-agent-sdk) - API キーを環境変数
ANTHROPIC_API_KEYに入れる(キーはコードに直接書かない) - 小さなプログラムを書く
- 実行して、AI が道具を使いながら進める様子を見る
プログラムの骨組みは次のような形です。公式の例を、読みやすいように短くしています。
import asyncio
from claude_agent_sdk import query, ClaudeAgentOptions
async def main():
async for message in query(
prompt="utils.py に落ちる原因がないか調べて、あれば直して",
options=ClaudeAgentOptions(
allowed_tools=["Read", "Edit", "Glob"],
permission_mode="acceptEdits",
),
):
print(message)
asyncio.run(main())
ポイントは options です。allowed_tools で 確認なしで使ってよい道具 を、permission_mode で 権限の動き方 を決めます。最初は読む・探す・直すの3つ程度に絞り、コマンドの実行は確認制のままにしておくのが安全です。
仕事での使いどころ
- 社内ツールのボタンから点検を始める:決まったフォルダを読み、気になる点を一覧にして返す
- 定型の書類の下書き:社内の書式(スキル)に沿って、データから下書きを作る
- 自社サービスの裏側で使う:利用者の依頼を受けて、決められた道具だけで作業させる
どれも、人が画面で毎回打っていた依頼を、プログラムの側から同じ条件で出す という考え方です。
使うときの約束ごと
- 認証は API キーで行う:公式ドキュメントでは、事前の承認がない限り、第三者の開発者が自社の製品で claude.ai のログインや利用枠を提供することは認められていないと明記されています
- 名前の付け方に決まりがある:自社の製品の中で「Claude Code」と名乗ることはできません。「Claude Agent」や「(自社のエージェント名)Powered by Claude」といった表記が案内されています
- 利用条件は商用の規約:Agent SDK を使った製品やサービスには、Anthropic の商用利用規約が適用されます
まとめ
- Agent SDK は Claude Code と同じ働き方をするAIを、自社のプログラムに入れる部品
- 人が使うなら CLI、組み込むなら Agent SDK、API を直接呼ぶなら Client SDK
- 最初は 使わせる道具を絞って 小さく試し、API キーで認証する
出典
この記事はAIを使って下書きし、著者が事実確認・加筆しています。ツールの機能や料金は変わることがあるため、最新の情報は各社の公式ページでご確認ください。


