Claude Agent SDK とは、Anthropic が提供する AI エージェント構築用の開発キットであり、Claude の Tool Use やマルチターン会話を活用したエージェントを Python・TypeScript のコードで実装するためのフレームワークである。
Claude の API を直接叩いてエージェントを組むことは可能だが、ツール呼び出しの結果をモデルに返すループ処理、エラーハンドリング、ガードレールの設定といった定型的な実装が毎回必要になる。Claude Agent SDK はこの「エージェントループ」を抽象化し、開発者がビジネスロジックに集中できるようにした公式フレームワークである。## SDK が解決する課題 エージェント開発では、LLM への指示(システムプロンプト)・外部ツールの定義・実行結果の判定を1つのループに統合する必要がある。
素朴に実装すると、ツールの戻り値をメッセージ履歴に追加し、再度モデルを呼び、終了条件を判定し……という処理が数百行に膨れ上がる。SDK はこのループを `Agent` クラスに凝縮している。開発者はツールを関数として定義し、`Agent` に渡すだけでよい。
ループ制御・トークン管理・ツール実行の直列/並列切り替えは SDK 側が処理する。## 基本構造 SDK の中心は `Agent` オブジェクト。`name`・`instructions`(システムプロンプト)・`tools`(ツール一覧)を渡してインスタンス化し、`Runner.run()` で実行する。
```python from agents import Agent, Runner, function_tool @function_tool def get_weather(city: str) -> str: return f"{city}の天気は晴れです" agent = Agent( name="weather-bot", instructions="天気を聞かれたらツールで取得して回答してください。", tools=[get_weather], ) result = Runner.run_sync(agent, "東京の天気は?") ``` ツールの入出力は型アノテーションから自動的に JSON Schema に変換されるため、スキーマを手書きする必要がない。筆者が最初に触ったとき、この自動変換だけで従来のボイラープレートが半分以下になった印象だった。
## ガードレールとハンドオフ エージェントが意図しない動作をした場合に備えて、入力・出力に対するガードレールを宣言的に設定できる。たとえば「個人情報を含む入力は拒否する」「回答が特定のフォーマットに従わなければリトライする」といった制約を、エージェント定義の一部として組み込める。また、複数のエージェントを連携させる「ハンドオフ」機能がある。
1 つのエージェントが処理の途中で別のエージェントに制御を渡す仕組みで、たとえばカスタマーサポートの一次対応エージェントが、技術的な質問を検知したら専門エージェントに引き継ぐ——といったマルチエージェント構成を、明示的なオーケストレーションコードなしで実現できる。## MCP との連携 SDK は MCP(Model Context Protocol)サーバーへの接続をネイティブにサポートしている。MCP サーバーが公開するツール群を `Agent` のツール一覧に動的に追加できるため、データベース操作やファイルシステムアクセスといった外部機能を、SDK のエージェントループにそのまま組み込める。
Claude Code が MCP サーバー経由で Supabase を操作するのと同じ仕組みを、自前のエージェントでも再現可能ということになる。## Claude Code との関係 Claude Code は Anthropic が公式に提供する CLI ベースのコーディングエージェントだが、その内部実装に Claude Agent SDK が使われている。つまり SDK は「Claude Code のようなエージェントを自分で作るためのビルディングブロック」という位置づけ。
Agent Skills の定義やツール実行のフローも、SDK のアーキテクチャに準拠している。ただし、SDK 自体は汎用フレームワークであり、コーディング以外の用途——営業支援、データ分析パイプライン、社内チャットボットなど——にも同じ設計パターンで対応できる。


A2A(Agent-to-Agent Protocol)とは、異なる AI エージェント同士が能力の発見・タスクの委譲・状態の同期を行うための通信プロトコルであり、Google が 2025 年 4 月に公開した。

Agent Skills とは、AI エージェントに特定のタスクや専門知識を実行させるために定義された再利用可能な命令セットであり、エージェントの能力を拡張するモジュール単位として機能する。

Agentic AI とは、人間の逐一の指示なしに目標を解釈し、計画の立案・実行・検証を自律的に繰り返す AI システムの総称である。


ATDD(Acceptance Test-Driven Development)とは、開発着手前に受け入れテストの基準をチーム全体で定義し、そのテストを自動化してから実装を進める開発手法である。