Anthropicのツールとクロード3でタスクを自動化するには?
Anthropicのツールを使い始める
LLMを業務に採用する最大のメリットは、その汎用性にある。 LLMは、テキスト生成のためのAPIとして機能したり、非構造化データを整理されたフォーマットに変換したりと、無数の目的を果たすために特定の方法でプロンプトを出すことができる。 電子メールを作成したり、AIとおちゃらけた討論をしたりと、私たちの多くは日常業務でChatGPTを利用している。
GPT」とも呼ばれるプラグインのアーキテクチャは、レスポンスやクエリからキーワードを特定し、関連する機能を実行することを中心に展開される。 これらのプラグインは、外部アプリケーションとのインタラクションやカスタム機能のトリガーを可能にする。
OpenAIがタスク実行のための外部関数呼び出しを可能にする方法を先導したのに対し、Anthropicは最近、以前の関数呼び出しメカニズムに代わって「ツール使用」と呼ばれる拡張機能を導入した。 この更新版では、XMLタグの代わりにJSONを利用することで、開発を簡素化している。 さらに、Claude-3 OpusはGPTモデルよりも大きな20万トークンのコンテクスト・ウィンドウを持ち、特定のシナリオで特に価値を発揮する。
このブログでは、「ツール使用」のコンセプトを探求し、その特徴について説明し、始めるためのガイダンスを提供します。
道具の使用」とは何か?
クロードは、外部のクライアントサイドのツールや関数と相互作用する機能を備えており、クロードに独自のカスタムツールを装備して、より幅広い作業を行うことができます。
クロードでツールを使うワークフローは以下の通り:
- クロードにツールとユーザープロンプトを提供する(APIリクエスト)
- クロードが選択できるように、一連のツールを定義する。
- テキスト生成プロンプトに、ユーザークエリとともにそれらを含める。
- クロードが道具を選ぶ
- クロードは、ユーザーのプロンプトを分析し、利用可能なすべてのツールと比較して、最も適切なものを選択します。
- LLMの「思考」プロセスを活用し、関連ツールに必要なキーワードを特定する。
- レスポンス生成(APIレスポンス)
- プロセスが完了すると、選択されたツールおよびパラメータとともに、思考プロンプトが出力として生成される。
このプロセスに続いて、選択した関数/ツールを実行し、必要であればその出力を利用して別の応答を生成する。
ツールの一般的なスキーマ
このスキーマは、関数呼び出しプロセスの要件をLLMに伝える手段として機能する。 直接関数を呼び出したり、自らアクションを起こしたりすることはない。 道具の正確な識別を確実にするため、各道具の詳細な説明を提供しなければならない。 Properties
スキーマ内のパラメータは、後の段階で関数に渡されるパラメータを特定するために利用される。
デモンストレーション
ウェブをスクレイピングして、あらゆる銘柄の価格を見つけるツールを作ってみよう。
ツール・スキーマ
scrape_website
ツールでは、ユーザー・プロンプトからウェブサイトのURLを取得する。 stock_price
ツールに関しては、ユーザー・プロンプトから会社名を特定し、yfinanceのティッカーに変換する。
ユーザープロンプト
ボットに2つのクエリ(各ツールに1つずつ)を尋ねると、次のような出力が得られる:
この思考プロセスには、LLMが各クエリに適したツールを正確に選択し、ツールの説明にあるように必要な変換を実行するためのすべてのステップが記載されている。
関連ツールの選択
条件に基づいて関連関数をトリガーするコードを追加で書かなければならない。
この関数は、LLMレスポンスで取得されたツール名に基づいて適切なコードをアクティブにする役割を果たす。 最初の条件では、Tool入力から取得したウェブサイトのURLをスクレイピングし、2番目の条件では、株式ティッカーを取得し、yfinance pythonライブラリに渡します。
関数の実行
select_tool()
関数にToolUseBlock
全体を渡して、関連するコードをトリガーする。
出力
- 最初のプロンプト
- 第2プロンプト
このデモのソースコード全体をご覧になりたい場合は、このノートブックをご覧ください。
使用例
クロードの「ツール使用」機能は、LLMの多用途性をまったく新しいレベルに引き上げている。 提供された例は基本的なものであるが、これは機能を拡張するための基礎となるものである。 その実際の応用例をひとつ紹介しよう:
昨日、@AnthropicAIはツール使用のベータ版を開始した!
実際に問題を解決できるカスタマーサービスボットです!
みんながどんなものを作るのか楽しみだ!https://t.co/Xmi7pnwouS pic.twitter.com/T5bE4peexR
– エリック・シュランツ (@ErikSchluntz)2024年4月5日
より多くの使用例を見つけるには、Anthropicの公式リポジトリをご覧ください。
をご覧ください。
.