2026.05.27
Claude Codeの中核を支える技術が、開発者向けに公開されています。
Claude Agent SDK(旧Claude Code SDK)を使えば、Claude Codeと同じコアツール、コンテキスト管理、権限フレームワークを活用して、独自のカスタムAIエージェントを構築できます。
フィンテックのコンプライアンスエージェント、サイバーセキュリティエージェント、コードデバッグエージェントなど、様々なユースケースで既に活用されています。
この記事では、Claude Agent SDKの基本から実践的な使い方まで詳しく解説します。
Claude Agent SDKは、Claude Codeを動かす同じ基盤技術を開発者に提供するSDKです。
ターミナルのUIを使わずに、プログラム的にClaude Codeの能力を活用できます。
主な用途:
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' // ユーザーに報告
}
});
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登録はこちら