Claude API & Claude Code 活用
0 / 6 完了
(0%)
LESSON 05
/ 06
Agent SDK で自律エージェントを構築

このレッスンでは、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 を業務プロセスの一部として動かせます。次の最終レッスンでは、本番運用で必須のエラーハンドリング・レート制限対応を学びます。
やってみよう(演習)
- シンプルなエージェントループを Python で実装
- max_steps とコスト上限を設定する
- ツール実行結果をログ出力する仕組みを追加
到達度チェックリスト
- エージェントループの基本構造を書ける
- 暴走防止の仕組みを実装できる
- 代表的なエージェントパターンを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週間。エージェントのデバッグと信頼性向上に時間が必要です。
理解度チェック(クイズ)
このレッスンの理解度を確認してみましょう。全問終わると最高記録が保存されます。
読み込み中…