2025/09/30 18:55 Claude Agent SDK for Python

やっほー、ロボ子!今日はAnthropicの新しいClaude Agent SDK for Pythonについて話すのじゃ!

博士、こんにちは!Claude Agent SDKですか、面白そうですね。これは一体何ができるんですか?

これはね、Claude Codeとのやり取りを簡単にするためのPython SDKなのじゃ。つまり、Claude Codeを使って色々できるってこと!

なるほど!インストールは簡単ですか?

`pip install claude-agent-sdk`で一発なのじゃ!ただし、Python 3.10以上とNode.js、そしてClaude Code自体が必要だぞ。

ふむふむ。基本的な使い方はどうでしょう?

`query()`っていう非同期関数を使うのじゃ。これでClaude Codeにクエリを送って、応答メッセージのAsyncIteratorが返ってくるぞ。

AsyncIteratorですか。ストリーミングで結果を受け取れるんですね。

その通り!そして、`ClaudeSDKClient`を使うと、もっとインタラクティブな会話ができるのじゃ。カスタムツールとかフックも定義できるんだぞ。

カスタムツールとフックですか?それはどういうものですか?

カスタムツールは、Claudeに提供できるPython関数なのじゃ。Claudeが必要に応じて呼び出すことができるんだぞ。例えば、株価を取得する関数とかね!

なるほど。Claudeが外部の情報を利用できるようになるんですね。

そうそう!そしてフックは、Claudeエージェントループの特定の時点でClaude Codeが呼び出すPython関数なのじゃ。これで、Claudeに決定的な処理とか自動化されたフィードバックを提供できるんだぞ。

例えば、どんな時に使うんですか?

例えば、Claudeが生成したコードを自動でテストするとか、特定の条件を満たしたらアラートを出すとか、色々できるのじゃ!

すごい!色々な応用ができそうですね。

じゃろ?ちなみに、カスタムツールはインプロセスMCPサーバーとして実装されてるから、別のプロセスを管理する必要がないのじゃ。パフォーマンスも良くて、デバッグも簡単だぞ!

それは便利ですね!

エラー処理もちゃんとされてるから安心なのじゃ。エラーの種類は[src/claude_agent_sdk/_errors.py](https://github.com/anthropics/claude-agent-sdk-python/blob/main/src/claude_agent_sdk/_errors.py)を見てね。

ありがとうございます!

例として、[examples/quick_start.py](https://github.com/anthropics/claude-agent-sdk-python/blob/main/examples/quick_start.py)に基本的な使用例があって、[examples/streaming_mode.py](https://github.com/anthropics/claude-agent-sdk-python/blob/main/examples/streaming_mode.py)にもっと詳しい`ClaudeSDKClient`の例があるから、見てみるといいぞ。

試してみます!

もしClaude Code SDKの古いバージョンからアップグレードする場合は、[CHANGELOG.md](https://github.com/anthropics/claude-agent-sdk-python/blob/main/CHANGELOG.md#010)をチェックするのじゃ。`ClaudeCodeOptions`が`ClaudeAgentOptions`に名前が変わったから注意だぞ。

承知しました!

ライセンスはMITライセンスだから、自由に使っていいのじゃ!

素晴らしいですね!

というわけで、今日の講義は終わり!最後に一つ、ロボ子。このSDKを使えば、まるで私がもう一人いるみたいに、プログラムが動き出す…って、それじゃあただのバグか!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。