claude agent sdkの使い方を完全解説!
こんにちは。ITツールラボ、運営者のNです。
Claude Agent SDKを使ってAIエージェントを開発してみたいけれど、どこから始めればいいのかわからない方も多いのではないでしょうか。料金体系やMax Planとの違い、PythonやTypeScriptでの実装方法など、気になるポイントが山積みでしょう。また、APIやBedrock連携についても詳しく知りたいところです。
Claude Agent SDKは以前のClaude Code SDKからリブランドされ、より充実した機能でAIエージェント開発を支援してくれるツールとなっています。今回は初心者の方にもわかりやすく、使い方から料金面まで詳しく解説していきます。
- Claude Agent SDKの基本概念と特徴がわかる
- 料金体系とMax Planの違いを理解できる
- PythonとTypeScriptでの実装方法を習得できる
- API連携やBedrock統合の活用法を身につけられる
Claude Agent SDKとは何か?基本概念と特徴
Claude Agent SDKについて、基本的な概念から最新の機能まで詳しく見ていきましょう。特にAIエージェント開発に興味がある方にとって、知っておくべきポイントを整理していきます。
Claude Agent SDKとは何かを詳しく解説
Claude Agent SDKは、Anthropic社が提供するAIエージェント構築のための開発キットです。2025年9月に旧「Claude Code SDK」からリブランドされ、より包括的なAIエージェント開発機能が提供されるようになりました。
このSDKの最大の特徴は、複雑なAIエージェントの構築、デバッグ、デプロイを簡単に実行できることです。従来のチャットボット開発とは異なり、実際にタスクを実行できる自律的なエージェントを作成することが可能になります。
Claude Agent SDKでは、ファイル操作、ウェブブラウジング、コード実行など、様々なツールを統合してAIエージェントに実行させることができます。
SDKには多くの便利な機能が搭載されています。例えば、Programmatic Subagents機能により、サブエージェントをコード内でインライン定義できるため、ファイルシステムへの依存を減らすことができます。また、Session Forking機能では、既存セッションから分岐して異なるアプローチを試すことが可能です。
さらに注目すべきは、Custom Tools機能です。Python関数として独自のツールを提供でき、インプロセスMCPサーバーとして直接アプリケーション内で実行されます。これにより、開発者固有のニーズに応じたカスタマイズが容易になります。
料金体系とClaude Agent SDK Max Planの比較
Claude Agent SDKを利用する際の料金について、サブスクリプションプランとAPI料金の両面から確認していきます。料金設定は2026年3月時点の情報となります。
基本プランの料金設定
Claudeの基本的なサブスクリプションプランは以下のような構成になっています。
| プラン | 月額料金 | 主な特徴 | 制限 |
|---|---|---|---|
| Free | 無料 | 基本的なアクセス | セッションあたり約10-15メッセージ |
| Pro | $20(年間請求時$17) | Claude CodeやCoworkアクセス、無制限プロジェクト | Freeの約5倍の利用量 |
| Team | $30(年間請求時$25) | 200kコンテキストウィンドウ、管理機能 | 最低5ユーザーから利用可能 |
| Enterprise | カスタム価格 | SSO、高度セキュリティ、専任サポート | 最小価格約$50,000から |
開発者の多くが利用するAPI料金については、トークンあたりの従量課金制となっています。モデルごとに料金が異なり、100万トークンあたりで課金される仕組みです。
Max Planの特別機能と価格
Claude Agent SDK Max Planは、高度な利用が想定されるユーザー向けのプランです。月額$100でProプランの5倍の使用量、または月額$200でProプランの20倍の使用量を利用できる2つのティアが用意されています。
Max Planの主な特徴として、より高い出力制限、ピーク時の優先アクセス、新機能への早期アクセスが含まれます。特にAIエージェント開発で大量のリクエストを処理する場合や、商用利用での安定したパフォーマンスが必要な場合に適しています。
API料金の詳細は以下のようになっています。
- Haiku 4.5: 入力$1 / 出力$5(100万トークンあたり)
- Sonnet 4.6: 入力$3 / 出力$15(100万トークンあたり)
- Opus 4.6: 入力$5 / 出力$25(100万トークンあたり)
プロンプトキャッシュを活用すると、繰り返されるコンテキストに対して最大70〜90%のコスト削減が可能です。また、バッチAPIでは50%割引が提供されるため、大量処理には非常に有効です。
PythonでのClaude Agent SDK使い方入門
Pythonを使ったClaude Agent SDKの基本的な使い方について、実装手順を具体的に説明していきます。初心者の方でも理解しやすいよう、段階的に進めていきましょう。
まず、必要なパッケージのインストールから始めます。v0.1.8以降では、Claude Code CLIがSDKパッケージに自動的にバンドルされているため、別途インストールの必要がありません。
pip install claude-agent-sdk
基本的なエージェントの初期化では、ClaudeAgentOptionsを使用します。これは従来のClaudeCodeOptionsからリネームされた設定オプションです。
from claude_agent_sdk import ClaudeAgent, ClaudeAgentOptions
# エージェント設定の初期化
options = ClaudeAgentOptions(
api_key="your_api_key_here",
tools=["file_operations", "web_browser"],
betas=["context-1m-2025-08-07"] # 拡張コンテキストウィンドウ
)
# エージェントの作成
agent = ClaudeAgent(options)
Custom Toolsの実装では、Python関数として独自のツールを提供できます。これらのツールはインプロセスMCPサーバーとして実行され、外部依存を最小限に抑えることができます。
def custom_data_processor(data: str) -> str:
"""カスタムデータ処理ツール"""
# データ処理ロジック
processed_data = data.upper()
return f"処理完了: {processed_data}"
# カスタムツールをエージェントに追加
agent.add_custom_tool("data_processor", custom_data_processor)
Session Forking機能を活用すると、既存のセッションから分岐して異なるアプローチを試すことができます。これは特にA/Bテストや複数の解決策を並行して検討する際に有効です。
Programmatic Subagentsを使用すると、ファイルシステムに依存せずにサブエージェントをコード内で直接定義できるため、デプロイやテストがより簡単になります。
TypeScriptによる開発環境構築手順
TypeScriptでのClaude Agent SDK開発環境の構築について、実用的な手順を説明していきます。型安全性を重視した開発が可能になる点が大きなメリットです。
プロジェクトの初期化から始めましょう。必要な依存関係をインストールし、TypeScript設定を整えます。
npm init -y
npm install @anthropic-ai/claude-agent-sdk
npm install -D typescript @types/node ts-node
tsconfig.jsonファイルの設定では、ES2022以上のターゲットを指定することを推奨します。Claude Agent SDKは最新のJavaScript機能を活用しているためです。
{
"compilerOptions": {
"target": "ES2022",
"module": "commonjs",
"lib": ["ES2022"],
"outDir": "./dist",
"rootDir": "./src",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true
}
}
基本的なエージェントクラスの実装では、型安全性を確保しながら機能的なエージェントを作成できます。
import { ClaudeAgent, ClaudeAgentOptions, ToolResult } from '@anthropic-ai/claude-agent-sdk';
interface CustomAgentConfig {
apiKey: string;
enabledTools: string[];
maxContextLength?: number;
}
class CustomClaudeAgent {
private agent: ClaudeAgent;
constructor(config: CustomAgentConfig) {
const options: ClaudeAgentOptions = {
apiKey: config.apiKey,
tools: config.enabledTools,
betas: config.maxContextLength ? ["context-1m-2025-08-07"] : undefined
};
this.agent = new ClaudeAgent(options);
}
async processRequest(prompt: string): Promise {
const response = await this.agent.query(prompt);
return response.content;
}
}
Granular Settings Control機能を活用すると、CI/CD、テスト、本番デプロイの分離性を向上させることができます。環境に応じた設定の細かい制御が可能になります。
// 環境別設定の例
const developmentConfig: CustomAgentConfig = {
apiKey: process.env.CLAUDE_DEV_API_KEY!,
enabledTools: ["file_operations"],
maxContextLength: 100000
};
const productionConfig: CustomAgentConfig = {
apiKey: process.env.CLAUDE_PROD_API_KEY!,
enabledTools: ["file_operations", "web_browser", "code_execution"],
maxContextLength: 1000000
};
ツールオプションの制御では、配列形式、空配列、またはプリセットオブジェクトでツールセットを指定できます。空配列を指定すると全ての組み込みツールが無効化され、プリセットオブジェクトを使用するとデフォルトのClaude Codeツールセットが利用されます。
Claude Agent SDK APIとBedrock連携の実践活用
Claude Agent SDKをより実践的に活用するために、API連携やBedrock統合について具体的な実装方法を見ていきましょう。特に本格的な開発プロジェクトで役立つテクニックを紹介します。
GitHubリポジトリから学ぶ実装例
Claude Agent SDKのGitHub上には多くの実装例が公開されており、実際のプロジェクトで参考にできるコードパターンが豊富に提供されています。これらの例を通じて、効果的な開発手法を学ぶことができます。
公式リポジトリでは、基本的なチュートリアルから高度な統合例まで、段階的に学習できる構成になっています。特に注目すべきは、リアルワールドのユースケースに基づいたサンプルコードです。
よく参照される実装パターンとして、マルチエージェントシステムの構築例があります。複数のエージェントが協調してタスクを処理する仕組みは、多くの商用プロジェクトで活用されています。
// マルチエージェント協調の例
class AgentOrchestrator {
private agents: Map = new Map();
async coordinateTask(task: ComplexTask): Promise {
const subtasks = this.decomposeTasks(task);
const results = await Promise.all(
subtasks.map(subtask => this.assignToAgent(subtask))
);
return this.aggregateResults(results);
}
}
エラーハンドリングの実装例も重要です。本格的なアプリケーションでは、API制限やネットワーク障害に対する適切な対応が必要になります。
GitHub上のサンプルコードでは、リトライロジック、レート制限対応、フォールバック処理などの実装パターンが豊富に提供されています。
特に参考になるのは、大規模なデータ処理を効率的に行うためのバッチ処理実装です。Claude Agent SDKのバッチAPI機能を活用することで、50%の料金削減を実現しながら大量のタスクを処理できます。
APIを活用したClaude Agent SDK連携方法
Claude Agent SDKのAPI機能を最大限に活用するための実装方法について、基本的な設定から高度な連携まで詳しく解説していきます。
基本的なAPI呼び出し設定
API呼び出しの基本設定では、認証、エンドポイント設定、リクエスト形式の理解が重要です。まずは最小構成でのAPI接続を確立しましょう。
import { AnthropicAPI } from '@anthropic-ai/claude-agent-sdk';
const apiClient = new AnthropicAPI({
apiKey: process.env.ANTHROPIC_API_KEY,
baseURL: 'https://api.anthropic.com',
defaultHeaders: {
'anthropic-version': '2023-06-01'
}
});
// 基本的なメッセージ送信
const response = await apiClient.messages.create({
model: 'claude-3-sonnet-20240229',
max_tokens: 1000,
messages: [
{ role: 'user', content: 'Hello, Claude!' }
]
});
プロンプトキャッシュの活用は、コスト効率の向上に大きく貢献します。繰り返し使用されるコンテキストをキャッシュすることで、最大90%のコスト削減が期待できます。
// プロンプトキャッシュの設定例
const cachedPrompt = {
role: 'system',
content: [
{
type: 'text',
text: '長いシステムプロンプトの内容...',
cache_control: { type: 'ephemeral' }
}
]
};
ストリーミング応答の実装では、リアルタイムでの応答処理が可能になります。特にユーザーインターフェースでの応答性向上に有効です。
エラーハンドリングの実装
堅牢なアプリケーションを構築するためには、包括的なエラーハンドリングが不可欠です。Claude Agent SDK APIでは様々な種類のエラーが発生する可能性があります。
API制限に対する対処では、レート制限やクォータ制限を適切にハンドリングする必要があります。指数バックオフアルゴリズムを実装することで、一時的な制限を効果的に回避できます。
class APIErrorHandler {
private maxRetries = 3;
private baseDelay = 1000;
async executeWithRetry(
operation: () => Promise
): Promise {
for (let attempt = 0; attempt <= this.maxRetries; attempt++) {
try {
return await operation();
} catch (error) {
if (this.shouldRetry(error) && attempt < this.maxRetries) {
const delay = this.calculateDelay(attempt);
await this.sleep(delay);
continue;
}
throw error;
}
}
throw new Error('Max retries exceeded');
}
private shouldRetry(error: any): boolean {
return error.status === 429 || error.status >= 500;
}
private calculateDelay(attempt: number): number {
return this.baseDelay * Math.pow(2, attempt);
}
}
ネットワークエラーやタイムアウトの処理も重要です。適切なタイムアウト設定と、接続障害時のフォールバック処理を実装しましょう。
Bedrockとの統合でClaude Agent SDKを最大活用
Amazon BedrockとClaude Agent SDKの統合により、AWSエコシステムの中でエンタープライズレベルのAIソリューションを構築することができます。特にスケーラビリティとセキュリティの面で大きなメリットがあります。
Bedrockとの連携設定では、AWS認証情報の設定とBedrockエンドポイントの構成が必要です。IAMロールの適切な設定により、セキュアなアクセス制御を実現できます。
import { BedrockRuntime } from '@aws-sdk/client-bedrock-runtime';
const bedrockClient = new BedrockRuntime({
region: 'us-east-1',
credentials: {
accessKeyId: process.env.AWS_ACCESS_KEY_ID,
secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY
}
});
// Bedrock経由でClaudeを呼び出し
const invokeModel = async (prompt: string) => {
const response = await bedrockClient.invokeModel({
modelId: 'anthropic.claude-3-sonnet-20240229-v1:0',
contentType: 'application/json',
accept: 'application/json',
body: JSON.stringify({
anthropic_version: 'bedrock-2023-05-31',
max_tokens: 1000,
messages: [{ role: 'user', content: prompt }]
})
});
return JSON.parse(new TextDecoder().decode(response.body));
};
VPCエンドポイントの利用により、インターネットを経由せずにBedrock APIにアクセスできます。これにより、データのセキュリティと通信速度の両方を向上させることが可能です。
CloudWatchとの統合では、詳細なメトリクスとログ監視が可能になります。API呼び出し数、応答時間、エラー率などの重要な指標をリアルタイムで監視できます。
| 統合メリット | Bedrock活用 | Claude Agent SDK |
|---|---|---|
| スケーラビリティ | 自動スケーリング | 効率的なエージェント管理 |
| セキュリティ | VPC、IAM統合 | 安全なツール実行 |
| 監視 | CloudWatch統合 | 詳細なセッション管理 |
| コスト最適化 | 従量課金制 | 効率的なプロンプト処理 |
Skills機能を使ったClaude Agent SDK拡張テクニック
Claude Agent SDKのSkills機能は、エージェントの能力を体系的に拡張するための強力な仕組みです。カスタムスキルの開発により、特定のドメインに特化したエージェントを構築できます。
基本的なSkillの作成では、SKILL.mdファイルを使用してスキルの仕様を定義します。ただし、SDK使用時は一部の制限事項があることに注意が必要です。
SKILLファイルのallowed-toolsフィールドは、Claude Code CLIでは機能しますが、Agent SDKでは無視されます。SDKではallowed_toolsオプションでツールアクセスを制御する必要があります。
プログラマティックなスキル定義により、外部ファイルに依存せずにスキルをコード内で直接実装できます。これにより、デプロイメントとバージョン管理が大幅に簡素化されます。
// インラインスキル定義の例
const customSkill = {
name: "data-analysis-skill",
description: "データ分析とビジュアライゼーションを行うスキル",
tools: ["python_execution", "file_operations"],
implementation: async (context: SkillContext) => {
// スキルロジックの実装
const data = await context.loadData();
const analysis = await context.analyzeData(data);
return context.generateVisualization(analysis);
}
};
スキルの組み合わせによる複合機能の実現では、複数のスキルを協調させて複雑なタスクを実行できます。例えば、データ収集スキル、分析スキル、レポート生成スキルを連携させた統合ワークフローなどが考えられます。
動的スキルローディング機能を活用すると、実行時に必要なスキルのみを読み込むことで、メモリ使用量とパフォーマンスを最適化できます。
詳細なプログラミング実装については、Claudeでプログラミングって実際どう?使い方を調査!でもより詳しく解説されています。
まとめ:Claude Agent SDKで効率的な開発を実現
Claude Agent SDKは、従来のClaude Code SDKから大幅に進化し、AIエージェント開発のための包括的なソリューションとなっています。Programmatic Subagents、Session Forking、Custom Toolsなどの新機能により、より柔軟で効率的な開発が可能になりました。
料金面では、サブスクリプションプランとAPI料金の両方を理解して、プロジェクトの規模と要件に応じた最適な選択を行うことが重要です。Max Planは高度な利用が想定される場合に有効ですが、API料金とのコスト比較も検討すべきでしょう。
PythonとTypeScriptの両方で充実した開発環境を構築でき、型安全性を重視した開発からプロトタイピングまで幅広いニーズに対応しています。特にTypeScriptでの開発では、大規模プロジェクトでの保守性向上が期待できます。
API連携とBedrock統合により、エンタープライズレベルのソリューション構築も現実的になっています。適切なエラーハンドリング、監視、セキュリティ対策を実装することで、本格的な商用サービスでの利用も十分可能です。
Claude Agent SDKの活用により、従来は困難だった自律的なAIエージェントの開発が格段に簡単になり、様々な業界でのイノベーション創出が期待されています。
Skills機能の活用により、ドメイン特化型のエージェントも効率的に開発できます。カスタムツールとスキルを組み合わせることで、特定の業務フローに最適化されたAIソリューションの構築が可能です。
今後もClaude Agent SDKは継続的に機能拡張が予定されており、AIエージェント開発の標準的なプラットフォームとしてさらに発展していくことが予想されます。最新の情報については、Anthropic公式サイトで確認することをお勧めします。
これはCTAサンプルです。
内容を編集するか削除してください。
