N.N. LLC. ロゴ - 千葉県船橋市のIT企業N.N. LLC.
技術ブログ

Claude Agent SDKでカスタムAIエージェントを構築する実践ガイド

三浦 亮
9分で読めます

はじめに

Claude Agent SDK(旧Claude Code SDK)は、Claude Codeと同じエージェントループ・ツール・コンテキスト管理をプログラマブルに利用できるSDKです。自社のワークフローに合わせたカスタムAIエージェントを構築でき、Python / TypeScriptの両方で提供されています。本記事では、Agent SDKの概要と実践的な構築方法を解説します。

Agent SDKとは

Agent SDKは、Claude Codeの内部で使われているのと同じ技術基盤を開発者に公開するものです。Claude Code以外のアプリケーション(ディープリサーチ、動画作成、ノート管理など)にも利用されていることから、「Claude Code SDK」から「Claude Agent SDK」に改名されました。

Client SDKとの違い

観点Client SDKAgent SDK
ツールループ自分で実装する必要があるClaudeが自律的に処理
ツール実行自分で実装する必要がある組み込みツール(Read, Write, Bash等)が即動作
ファイル操作非対応ローカルファイルの読み書き・編集が可能
用途直接API呼び出し自律型エージェントの構築

インストール

TypeScript

npm install @anthropic-ai/claude-agent-sdk

Python

pip install claude-agent-sdk

Claude Code CLIが自動バンドルされるため、別途インストールする必要はありません。

基本的な使い方(TypeScript)

import { query, ClaudeAgentOptions } from "@anthropic-ai/claude-agent-sdk";

async function main() {
  // エージェントにタスクを依頼
  const messages = query({
    prompt: "src/lib/auth.ts のバグを見つけて修正してください",
    options: {
      allowedTools: ["Read", "Edit", "Bash"],
      model: "claude-sonnet-4-5-20250929",
    } as ClaudeAgentOptions
  });

  // ストリーミングでメッセージを受信
  for await (const message of messages) {
    if (message.type === "assistant") {
      console.log(message.content);
    }
  }
}

main();

基本的な使い方(Python)

import asyncio
from claude_agent_sdk import query, ClaudeAgentOptions

async def main():
    async for message in query(
        prompt="auth.pyのバグを見つけて修正してください",
        options=ClaudeAgentOptions(
            allowed_tools=["Read", "Edit", "Bash"]
        )
    ):
        print(message)

asyncio.run(main())

組み込みツール一覧

ツール機能
Readファイルの読み取り(PDF、画像対応)
Write新規ファイルの作成
Edit既存ファイルの精密な編集
Bashターミナルコマンドの実行
Globパターンによるファイル検索
Grep正規表現による内容検索
WebSearchWeb検索
WebFetchWebページの取得・解析
Taskサブエージェントの起動

実践例: 自動コードレビューエージェント

Pull Requestの差分を分析し、問題点をレポートするエージェントの例です。

import { query } from "@anthropic-ai/claude-agent-sdk";

async function reviewPR(prNumber: number) {
  const messages = query({
    prompt: `GitHub PR #${prNumber} をレビューしてください。
      以下の観点でチェックしてください:
      1. セキュリティ脆弱性
      2. パフォーマンス問題
      3. コーディング規約違反
      結果をMarkdown形式でreview-report.mdに出力してください。`,
    options: {
      allowedTools: ["Read", "Bash", "Write", "Grep"],
    }
  });

  for await (const msg of messages) {
    // 処理結果をストリーミング
  }
}

Hooks — ライフサイクルの制御

Hooksを使うと、エージェントの動作をきめ細かく制御できます。

フックタイミング用途
PreToolUseツール実行前操作のバリデーション・ブロック
PostToolUseツール実行後ログ記録・後処理
Stopエージェント停止時リソース解放・レポート生成
SessionStartセッション開始時初期化処理

認証方式

Agent SDKは以下の認証方式に対応しています。

  • Anthropic API: 環境変数ANTHROPIC_API_KEYを設定
  • Amazon Bedrock: CLAUDE_CODE_USE_BEDROCK=1
  • Google Vertex AI: CLAUDE_CODE_USE_VERTEX=1
  • Azure Foundry: CLAUDE_CODE_USE_FOUNDRY=1

MCP連携

Model Context Protocol(MCP)を通じて、外部サービスとの接続も可能です。データベース、ブラウザ、外部API等をMCPサーバーとして構築し、エージェントのツールとして利用できます。

まとめ

Claude Agent SDKにより、Claude Codeの強力なエージェント機能を自社のワークフローに組み込むことが可能になりました。自動コードレビュー、データ処理パイプライン、カスタムCIツールなど、開発プロセスの様々な場面でAIエージェントを活用できます。Python / TypeScriptの両方で利用でき、既存のインフラに容易に統合できる点も大きなメリットです。

Claude Code
Agent SDK
AI開発
TypeScript
Python

関連記事