Blog

Claude Agent SDKで構築するカスタムAIエージェント

2026.05.27

  • Claude AI

はじめに

Claude Codeの中核を支える技術が、開発者向けに公開されています。

Claude Agent SDK(旧Claude Code SDK)を使えば、Claude Codeと同じコアツール、コンテキスト管理、権限フレームワークを活用して、独自のカスタムAIエージェントを構築できます。

フィンテックのコンプライアンスエージェント、サイバーセキュリティエージェント、コードデバッグエージェントなど、様々なユースケースで既に活用されています。

この記事では、Claude Agent SDKの基本から実践的な使い方まで詳しく解説します。

 

Claude Agent SDKとは

Claude Agent SDKは、Claude Codeを動かす同じ基盤技術を開発者に提供するSDKです。

ターミナルのUIを使わずに、プログラム的にClaude Codeの能力を活用できます。

主な用途:

  • カスタム開発ワークフロー:特定の開発プロセスに特化したエージェント
  • 自動化パイプライン:CI/CDの一部として動作するAIエージェント
  • 専門業務エージェント:ドメイン固有の知識を持つエージェント
  • マルチエージェントシステム:複数のエージェントが協調するシステム

基本的なセットアップ

 npm install @anthropic-ai/agent-sdk 
 
import { ClaudeAgent } from '@anthropic-ai/agent-sdk'; 
const agent = new ClaudeAgent({
 model: 'claude-sonnet-4-6',
 tools: ['file_operations', 'code_execution', 'bash'],
 workingDirectory: '/path/to/project' }); 

シンプルなエージェントの作成

最も基本的なエージェントを作成してみましょう:

 
import { ClaudeAgent } from '@anthropic-ai/agent-sdk';
 async function runCodeReviewAgent(prDiff: string): Promise<string> {
 const agent = new ClaudeAgent({
 model: 'claude-sonnet-4-6',
 systemPrompt: `あなたはコードレビューの専門家です。
 変更されたコードを分析し、以下の観点からフィードバックを提供してください:
 1. セキュリティ上の問題
 2. パフォーマンスの懸念
 3. コードの品質と可読性
 4. バグの可能性
 フィードバックは具体的で、実行可能なものにしてください。` 
});
 const result = await agent.run(`
 以下のPRの差分をレビューしてください: ${prDiff} `);
 return result.response; } 

ファイル操作を伴うエージェント

実際のコードを読み書きするエージェントの例:

 
import { ClaudeAgent } from '@anthropic-ai/agent-sdk';
 async function runTestGenerationAgent(
 sourceFile: string 
): Promise<void> {
 const agent = new ClaudeAgent({
 model: 'claude-sonnet-4-6',
 tools: ['file_read', 'file_write', 'bash'],
 workingDirectory: process.cwd(),
 systemPrompt: `あなたはテスト自動化の専門家です。
 指定されたソースファイルを読み込み、
 包括的なユニットテストを作成してください。
 既存のテストスタイルと一致するよう努めてください。`
 });
 await agent.run(`
 ${sourceFile} を読み込み、
 対応するテストファイルを作成してください。
 テストは同じディレクトリに __tests__ フォルダを作成して配置してください。
 `);
 console.log('テスト生成が完了しました'); 
} 

サブエージェントを使ったマルチエージェントシステム

SDKではサブエージェントの作成と管理もサポートしています:

 
import { ClaudeAgent } from '@anthropic-ai/agent-sdk';
 async function runParallelDevelopment() {
 const mainAgent = new ClaudeAgent({
 model: 'claude-sonnet-4-6',
 tools: ['bash', 'file_operations'],
 systemPrompt: 'あなたは開発チームのリーダーとして、タスクを調整します。' 
 }); 
// サブエージェントを並行して実行
 const [backendResult, frontendResult] = await Promise.all([
 mainAgent.createSubAgent({
 task: 'ユーザー管理のREST APIを実装してください',
 tools: ['file_read', 'file_write', 'bash'],
 systemPrompt: 'バックエンドAPI開発の専門家として作業します。'
 }).run(),
 mainAgent.createSubAgent({
 task: 'ユーザー管理画面のReactコンポーネントを実装してください',
 tools: ['file_read', 'file_write'],
 systemPrompt: 'Reactフロントエンド開発の専門家として作業します。'
 }).run()
 ]);
 console.log('バックエンド:', backendResult.summary);
 console.log('フロントエンド:', frontendResult.summary); 
} 

専門業務エージェントの実装例

フィンテックコンプライアンスエージェント

金融規制への準拠を自動チェックするエージェント:

 
const complianceAgent = new ClaudeAgent({
 model: 'claude-sonnet-4-6',
 tools: ['file_read', 'bash'],
 systemPrompt: `あなたは金融規制コンプライアンスの専門家です。
 コードが以下の規制に準拠しているか確認してください:
 - PCI DSS: 決済カード業界データセキュリティ標準
 - SOX: サーベンス・オクスリー法
 - GDPR: 一般データ保護規制 
 違反の可能性がある箇所を特定し、修正方法を提案してください。`,
 // 出力をJSON形式に制限
 responseFormat: {
 type: 'json',
 schema: {
 violations: 'array',
 riskLevel: 'string',
 recommendations: 'array'
 } 
} 
}); 
const report = await complianceAgent.run(
 'src/ ディレクトリのコードをコンプライアンス観点から確認してください' 
); 

サイバーセキュリティエージェント

 
const securityAgent = new ClaudeAgent({
 model: 'claude-opus-4-7', // セキュリティタスクには最高性能モデルを使用
 tools: ['file_read', 'bash', 'network_analysis'], 
 systemPrompt: `あなたはサイバーセキュリティの専門家です。
 コードベースの脆弱性を特定し、OWASP Top 10を参照した
 詳細なセキュリティ評価を提供してください。`
 }); 

ファイルが見つからない場合のフォールバック処理を考慮する

 
const agent = new ClaudeAgent({
 model: 'claude-sonnet-4-6',
 errorHandling: { onToolFailure: 'continue', // ツール失敗時も継続
 maxRetries: 3,
 onMaxRetriesExceeded: 'report' // ユーザーに報告
 } 
}); 

Hooksによるエージェントのカスタマイズ

SDKはフックシステムをサポートしており、エージェントの動作をきめ細かく制御できます:

 
const agent = new ClaudeAgent({
 model: 'claude-sonnet-4-6',
 hooks: { 
 // ファイル変更前の確認
 beforeFileWrite: async (path, content) =>
 { if (path.includes('/production/')) {
 throw new Error('本番ファイルの変更には追加の承認が必要です');
 } 
 return { allow: true }; 
}, 
// コマンド実行前のログ
 beforeBashExec: async (command) => {
 console.log(`実行予定コマンド: ${command}`);
 // dangerousなコマンドをブロック
 if (command.includes('rm -rf')) {
 return { allow: false, reason: '危険なコマンドはブロックされました' };
 } 
 return { allow: true };
 },
 // 各ターンの終了後
 afterTurn: async (turnResult) => {
 await logTurnToDatabase(turnResult);
 }
 }
});

長時間実行タスクの管理

大規模タスクを安全に実行するための設定:

 
const agent = new ClaudeAgent({
 model: 'claude-sonnet-4-6',
 // 最大実行ターン数(無限ループ防止)
 maxTurns: 50,
 // タイムアウト設定
 timeout: 3600000, // 1時間
 // チェックポイントの有効化
 checkpoints: {
 enabled: true,
 directory: '.claude-checkpoints'
 } 
}); 

エージェントの出力の活用

エージェントの実行結果を他のシステムと連携させる:

 
const result = await agent.run('全テストを実行し、失敗したテストを修正してください');
 // 結果をGitHubのPRコメントに投稿
 if (result.success) {
 await github.createPRComment(prNumber, `
 ## AI Code Review 完了
 **実行結果**: ${result.status}
 **変更ファイル数**: ${result.changedFiles.length}
 **修正されたテスト**: ${result.fixedTests.length}
 ${result.summary} 
`); 
} 

まとめ

Claude Agent SDKは、Claude Codeの能力をカスタムアプリケーションに組み込むための強力なツールです。
マルチエージェントシステム、Hooks、フォールバック処理などの高度な機能により、複雑な業務要件にも対応できます。
フィンテックのコンプライアンスチェックから、セキュリティ監査、テスト自動化まで、様々な専門業務でAIエージェントを活用する可能性が広がっています。
Claude Agent SDKを使ったエージェント開発に、ぜひ挑戦してみてください。

 

ご利用にあたってのお願い

本記事は執筆時点の情報をもとにしており、仕様変更により内容が古くなっている場合があります。
最新情報はAnthropic公式ドキュメントでご確認ください。
記事内のコマンドやコードの実行はご自身の責任で行ってください。
AIの出力は必ずレビュー・検証した上でご利用ください。
とくにAPIキーや機密情報の取り扱い、セキュリティ設定の変更には十分ご注意ください。

業務効率化、AI導入支援、AI人材育成、AI戦略策定コンサルティング、補助金・助成金活用支援はAIパートナーズ合同会社にお任せください!

AI導入のヒントをLINE限定で配信。
DX事例・業務効率化ノウハウを無料公開しています。
LINE登録で「誰でも役に立つChatGPTプロンプト」を無料プレゼント。
▶ LINE登録はこちら