Claude API & Claude Code 活用
0 / 6 完了 (0%
← Claude API & Claude Code 活用
LESSON 05 / 06

Agent SDK で自律エージェントを構築

所要時間 14分 更新: 2026年4月29日 上級レベル

このレッスンでは、Anthropic の Agent SDK を使ってカスタム自律エージェントを作る方法を学びます。Agent とは「目標を与えると、自分で考えて手順を踏み、ツールを使って完了させるAI」のことです。

Agent SDK の特徴

  • ループ実行:1リクエスト/1応答を超えて、複数ステップを自動実行
  • 状態管理:会話履歴・中間結果を保持
  • ツール統合Tool Use を抽象化して扱いやすく
  • コンパクション:長期実行時のコンテキスト圧縮

シンプルなエージェント例(Python)

from anthropic import Anthropic

client = Anthropic()

tools = [
    {"name": "search_docs", "description": "...", "input_schema": {...}},
    {"name": "write_file", "description": "...", "input_schema": {...}},
]

def run_agent(goal: str, max_steps: int = 10):
    messages = [{"role": "user", "content": goal}]

    for step in range(max_steps):
        response = client.messages.create(
            model="claude-sonnet-4-5",
            max_tokens=2048,
            tools=tools,
            messages=messages,
        )

        # ツール呼び出しが含まれていなければ完了
        if response.stop_reason == "end_turn":
            return response.content[-1].text

        # ツール実行 → 結果を会話に追加
        messages.append({"role": "assistant", "content": response.content})
        tool_results = []
        for block in response.content:
            if block.type == "tool_use":
                result = execute_tool(block.name, block.input)
                tool_results.append({
                    "type": "tool_result",
                    "tool_use_id": block.id,
                    "content": result,
                })
        messages.append({"role": "user", "content": tool_results})

    return "max_steps reached"

設計パターン

  • Reflexion:自分の出力をレビューさせて改善
  • Plan-and-Execute:最初にステップ分解、その後実行
  • Memory:長期記憶を外部DB化
  • Multi-agent:役割の異なるエージェントを連携

運用上の注意

  • ループ上限:必ず max_steps で暴走防止
  • コスト監視:1タスクあたりの上限金額を設定
  • 人間レビュー:本番反映前に人間チェックを挟む
  • 権限分離:書込・送信などのツールには厳格な確認

このレッスンのまとめ

Agent SDK で、Claude を業務プロセスの一部として動かせます。次の最終レッスンでは、本番運用で必須のエラーハンドリング・レート制限対応を学びます。

やってみよう(演習)

  1. シンプルなエージェントループを Python で実装
  2. max_steps とコスト上限を設定する
  3. ツール実行結果をログ出力する仕組みを追加

到達度チェックリスト

  • エージェントループの基本構造を書ける
  • 暴走防止の仕組みを実装できる
  • 代表的なエージェントパターンを2つ以上知っている

よくある失敗パターン

  • max_steps を設定せず、無限ループでコストが膨大になる
  • エージェントが書込・送信などのアクションを人間レビューなしに実行してしまう
  • コンパクション戦略を持たずに長期実行で context_length エラー

よくある質問(Q&A)

Q. エージェントの暴走を防ぐ最低限のガードは?

A. max_steps と「人間確認が必要なアクション」のホワイトリスト・ブラックリスト管理。さらに 1 セッション当たりの予算上限も。

Q. Agent SDK と LangChain・LangGraph の違いは?

A. Agent SDK は Anthropic 公式で Claude 最適化、LangChain/LangGraph はマルチプロバイダ対応。Claude 中心ならネイティブが簡潔。

Q. マルチエージェント(複数AI連携)は実用的?

A. ユースケースによります。役割分担が明確なら効果的、曖昧だとオーバーヘッドだけ増える。

よくある質問

この記事に関連する質問と答えをまとめました。

Q.Agent SDK は何ができますか?
A.
自律的に複数ステップのタスクを実行する AI エージェントを構築できます。Tool Use の組み合わせ・メモリ管理・ループ制御・トレースなどが標準サポートされ、本格的なエージェント開発が短期間で可能です。
Q.簡単なエージェントの実装には何分くらいかかりますか?
A.
基本的な構成なら30分〜1時間で動きます。本格的な業務利用には認証・権限・監視を加えて1〜2週間。エージェントのデバッグと信頼性向上に時間が必要です。

理解度チェック(クイズ)

このレッスンの理解度を確認してみましょう。全問終わると最高記録が保存されます。

読み込み中…