Claude Agent SDKでエージェントを構築する
Claude Codeユーザーへの適用可能性評価
この記事で紹介されている機能のClaude Code CLIでの利用可否を評価しました。
| 機能 | Claude Code CLIでの利用 | 備考 |
|---|---|---|
| ファイルシステムアクセス | 利用可能 | Read, Write, Edit, Globツールで対応 |
| Bashコマンド実行 | 利用可能 | Bashツールで対応 |
| エージェントループ | 利用可能 | Claude Codeの基本動作として実装済み |
| サブエージェント | 利用可能 | Skillツールやタスク分割で対応 |
| MCP連携 | 利用可能 | Chrome DevTools MCPなど複数利用可能 |
| コンパクション(要約) | 自動対応 | コンテキスト制限時に自動実行 |
| セマンティック検索 | 部分的に利用可能 | Grepツールでパターン検索可能 |
| LLM as Judge | 利用可能 | Claude自身が出力を評価可能 |
| カスタムツール定義 | 利用不可 | SDK専用機能(fetchInboxなど独自ツール) |
| 並列サブエージェント | 制限あり | 明示的な並列実行は限定的 |
結論: Claude Code CLIは既にClaude Agent SDKの多くの概念を実装しており、本記事の設計パターンやベストプラクティスはClaude Codeでの作業にも適用可能です。
概要
AnthropicはClaude Code SDKをClaude Agent SDKに名称変更しました。これは、コーディングタスク以外にも幅広く適用できることを反映したものです。このSDKにより、開発者はClaudeにコンピュータツール(ファイルシステム、bashコマンド、コード実行機能)へのアクセスを与えることで、自律型エージェントを構築できます。
コア設計原則
「Claude Agent SDKの背後にある重要な設計原則は、エージェントにコンピュータを与え、人間と同じように作業できるようにすることです。」このアプローチにより、エージェントはプログラマーが日常的に使用するのと同じツール(ファイルの検索、コードの作成・編集、リンティング、操作の実行、成功するまでの反復)を利用できるようになります。
エージェントループアーキテクチャ
SDKは4つの段階からなるフィードバックループを中心に動作します:
- コンテキストの収集 - エージェントが自身の情報を取得・更新
- アクションの実行 - 利用可能なツールを使用してタスクを実行
- 作業の検証 - 出力品質を評価
- 繰り返し - 目標が達成されるまで反復
コンテキスト収集機能
エージェント的検索とファイルシステム
エージェントはgrepやtailなどのbashコマンドを使用してファイル構造をインテリジェントにナビゲートし、関連情報を選択的に読み込みます。このようなフォルダ構造は一種のコンテキストエンジニアリングとなります。
セマンティック検索
エージェント的検索より高速ですが、セマンティック検索にはコンテンツのチャンク化、ベクトルとしての埋め込み、概念のクエリが含まれます。Anthropicは、まずエージェント的検索から始め、速度が重要な場合にのみセマンティックアプローチを追加することを推奨します。
サブエージェント
SDKは並列サブエージェント実行をサポートしています。サブエージェントは分離されたコンテキストウィンドウを使用し関連情報のみをオーケストレーターに返すため、大規模なデータセットを効率的に処理するのに理想的です。
コンパクション
コンテキスト制限に近づくと、以前のメッセージを自動的に要約する機能です。これにより、エージェントが長時間の操作中にコンテキストを使い果たすことを防ぎます。
アクション実行方法
ツール
ツールはエージェント実行の主要な構成要素です。メールエージェントの場合はfetchInboxやsearchEmailsなど、エージェントが頻繁に実行する高レベルのアクションを表す必要があります。コンテキスト効率を最大化するために意識的に設計してください。
Bashとスクリプト
コンピュータ操作のための汎用的な柔軟性を提供します。メールエージェントの場合、PDFのダウンロード、テキストへの変換、添付ファイルのプログラム的な検索が可能になります。
コード生成
SDKは正確で構成可能なコードの生成に優れています。他の出力とは異なりコードは無限に再利用可能であるため、複雑な操作に最適です。最近のClaude.aiのファイル作成機能は、Pythonスクリプトを活用してExcelスプレッドシート、PowerPointプレゼンテーション、Word文書を確実に生成しています。
MCP(Model Context Protocol)
Slack、GitHub、Google Drive、Asanaなどの外部サービスへの標準化された統合です。MCPは認証とAPI呼び出しを自動的に処理し、カスタム統合コードなしでエージェントがsearch_slack_messagesやget_asana_tasksなどのツールを呼び出せるようにします。
作業検証方法
ルールの定義
明確なルールベースのフィードバックが最も効果的です。コードリンティングは複数のフィードバック層を提供します。TypeScriptリンティングは通常、JavaScriptリンティングよりも堅牢性で優れています。
視覚的フィードバック
スクリーンショットとレンダリングは視覚的タスクの評価に役立ちます。HTMLメールの場合、視覚的フィードバックにより、人間によるレビューを必要とせずに、レイアウト、スタイリング、コンテンツ階層、レスポンシブ性を評価できます。
LLM as Judge(LLMを審査員として使用)
別の言語モデルが曖昧なルールに対してエージェントの出力を評価できます。堅牢性が低くレイテンシが高いですが、このアプローチは重要なアプリケーションでパフォーマンス向上をもたらします。
エージェント評価の質問
エージェントを改善する際には、以下を問いかけてください:
- 情報の不足が誤解を引き起こしていませんか?検索APIの構造を改善できますか?
- 繰り返しの失敗は、正式なエラー処理ルールの欠如を示していませんか?
- 異なる問題アプローチに役立つ追加の創造的ツールはありますか?
- 新機能でパフォーマンスは変化しますか?プログラム的な評価のための代表的なテストセットを構築してください。
ユースケース例
SDKで実現できること:
- 金融エージェント: APIと計算を通じたポートフォリオ分析と投資評価
- パーソナルアシスタント: 旅行予約、カレンダー管理、予約スケジューリング
- カスタマーサポート: データ収集とエスカレーションによる曖昧なリクエストの処理
- 深い調査: 大規模なドキュメントコレクション全体の包括的な分析
始め方
開発者はClaude Agent SDKのドキュメントにアクセスして、カスタムエージェントの構築を開始できます。既存の開発者は、Claude Code SDKからClaude Agent SDKへの名称変更を含む最新バージョンにアップグレードするための移行ガイドに従ってください。
この記事はThariq Shihipar氏が執筆し、Anthropicチームの複数のメンバーが編集に貢献しました。2025年9月29日公開。