Finatextのエンジニア、Reo Uehara氏がAnthropic公式のGo SDK「anthropic-sdk-go」を実際に試した検証記事を公開しました。SDKの利用にはGo 1.24以上が必要で、Goアプリケーションから直接Claude APIを呼び出せます。「Goで書かれた既存のサービスに、別言語のランタイムを増やさずそのままClaudeを組み込める」としています。
記事では基本的なメッセージ送信(Messages.New()による同期的な応答取得)に加え、外部関数・APIをClaudeに呼び出させるTool Use機能、ストリーミングでの応答受信の3つの使い方をコード例とともに解説しています。認証は環境変数ANTHROPIC_API_KEYの設定が最もシンプルとしつつ、antというCLIでのOAuth認証も紹介しています。天気予報を題材にした検証では、ツールなしでは「予報不可」という回答だったのに対し、ツールありの場合はダミーデータから具体的なアドバイスを返す回答になったと報告されています。
出典が伝えている要点
- 著者はFinatextのエンジニア、Reo Uehara(上原玲緒)である
- 記事はAnthropic公式Go SDK「anthropic-sdk-go」について解説している
- SDKのGitHubリポジトリはgithub.com/anthropics/anthropic-sdk-goである
- SDKの利用にはGo 1.24以上が必要である
- SDKを使うとGoアプリケーションから直接Claude APIを呼び出せる
- SDKにはTool Use機能があり、外部関数・APIをClaudeに呼び出させることができる
- SDKはストリーミングでの応答受信に対応している
- 認証方法として環境変数ANTHROPIC_API_KEYの設定が最もシンプルだと説明している
- 認証の代替案としてantというCLIでのOAuth認証も可能だと説明している
- 基本メッセージ送信はMessages.New()メソッドで同期的に応答を取得する
- Tool UseはMessages.New()にツール定義を渡し、ツール呼び出しに対して自動実行と結果返却のループを実装する形で行う
- 記事内の検証で、天気予報に関する質問に対しツールなしでは「予報不可」という回答になったが、ツールありの場合はダミーデータから具体的なアドバイスを提供する回答になったと述べている
原文より
Goで書かれた既存のサービスに、別言語のランタイムを増やさずそのままClaudeを組み込める
出典: zenn.dev