Bible Network Crypto DeFi Onchain RWA AI Agent Stablecoin Chain SAFU CryptoTax DeFAI AGI Claude Me Claude Skill Claude Design Claude Cowork
独立メディア
いかなるプロジェクトとも無提携
暗号資産のAIエージェントを解剖する:仕組み・リスク・経済モデル
aiagent-bible.com
最新
オンチェーンAgentのGas最適化設計:バッチトランザクション・動態戦略・タイミング選択でAgentの手数料を60%削減  ·  Agentトークンエコノミー設計:なぜほとんどのAgentトークンが失敗するのか、そして良いトークン設計とはどのようなものか  ·  AI AgentのContext Window管理:なぜエージェントが「忘れる」のか、そして4つの解決策  ·  MCPとは何か?なぜ2025年のすべてのAI AgentがMCPについて話しているのか  ·  Agentic Loopとは:AIエージェントがどのように「継続的に動く」のか——感知・計画・実行・観察の完全サイクル解説  ·  2026年の主流オンチェーンAgentフレームワーク5選:LangGraph・ElizaOS・AutoGen・Olas・ZerePy、それぞれ誰に向いているか
用語解説 · エージェントの構造と推論

Tool Use

ツール使用(Tool Use)
エージェントの構造と推論 中級

詳しく読む +
01 · これは何?

Tool UseとFunction Callingの違いは何ですか?同じ概念ですか?

この2つの用語は業界では時々混用されますが、厳密には微妙な違いがあります:

Function CallingはOpenAIが2023年6月に導入した特定のAPI機能で、GPTモデルが開発者定義の関数を呼び出すための特定のフォーマットを定義します(ツールを定義するJSON Schema;モデルはJSONフォーマットの関数呼び出しリクエストを出力)。Function CallingはこのOpenAI APIメカニズムを特定します——ベンダー固有の実装です。

Tool Useは、AIモデルが外部ツール/サービスを呼び出す一般的な能力を説明するより広義の概念で、特定のベンダーやAPIフォーマットに縛られていません。AnthropicはそれをTool Use、GoogleはFunction Callingと呼びますが、技術的にはほぼ同じことをします。

MCP(Model Context Protocol)はTool Useの上にある標準化層で、AIとツール間の統一された通信フォーマットを定義し、同じツールを異なるAIモデルで各モデルに個別に対応することなく使用できるようにします。

02 · なぜ存在する?

良いツールSchemaをどのように設計しますか?ツール記述の品質はAgentの意思決定品質にどれだけ影響しますか?

ツールのSchema設計は、LLMがツールを正しく選択して呼び出せるかを直接決定します。よく書かれたツール記述は、LLMが追加の説明なしに「いつこのツールを呼び出し、どのパラメータを渡すか」を正確に知ることができます。

良いツールSchemaの5つの要素:

ツール名(name):明確で動詞始まり、ツールが何をするかを説明します。良い例:get_aave_usdc_apywithdraw_from_morpho。悪い例:tool_1execute(曖昧すぎる)。

ツール記述(description):ツールの目的・使用するタイミング・使用すべきでないタイミングを説明します(ネガティブな説明も同様に重要)。

パラメータ定義(parameters):各パラメータに明確な型・説明・列挙値があります。examplesフィールドを追加して、LLMが期待されるパラメータフォーマットを知れるようにします。

返却値の説明:ツールが返すフォーマットを記述で説明し、LLMが返却値を解析する方法を知れるようにします。

ツールの境界説明:「このツールができることとできないこと」を明確に述べ、LLMがツールの実際の能力を超えた仮定をするのを防ぎます。

03 · 意思決定にどう影響する?

ツール呼び出しが失敗した場合、Agentのエラー処理ロジックはどのように設計すべきですか?

ツール呼び出しの失敗はオンチェーンAgentの日常業務で最も一般的な中断イベントです;堅牢なエラー処理ロジックを設計することは本番環境デプロイの必要条件です。

一般的なツール呼び出し失敗のタイプと対応する処理戦略:

ネットワークタイムアウト(HTTPタイムアウト / RPC接続失敗):最も一般的な一時的な失敗。処理戦略:指数バックオフリトライ(最初1秒待ち、2番目2秒、3番目4秒)、最大3回リトライ。3回リトライしても失敗する場合は、エラーログを記録してOrchestratorに「サブタスク失敗、次のステップを決定してください」と通知します。

APIエラー返却(4xx / 5xx):エラータイプを区別します。4xx(クライアントエラー)は通常パラメータの問題で、リトライしても解決しません。5xx(サーバーエラー)は一時的なサーバーの問題で、リトライが適切です。

オンチェーンリバート(トランザクションリバート):トランザクションはブロードキャストされたがオンチェーン実行時にリバート。一般的な原因:スリッページ超過・Gas不足・承認期限切れ。単純にリトライできません——LLMがリバート原因を分析して調整パラメータでリトライするか操作を断念するかを決定する必要があります。

バックエンド検証遮断(BLOCKED):これは通常「エラー」ではなく「正しいセキュリティ遮断」です。LLMがこの遮断を回避しようとすべきではなく、アラートを記録して人間のレビューに通知します。

04 · どうすればいい?

オンチェーンAgentでは、読み取りツールと書き込みツールの隔離をどのように設計すべきですか?

読み取りツール(Read Tools)と書き込みツール(Write Tools)の隔離は、オンチェーンAgentのセキュリティ設計の核心原則の一つです:

読み取りツールの特性と設計:外部状態を変更しない;呼び出し失敗は何回でもリトライ可能;追加確認なしにいつでも呼び出せる。設計原則:関数名はget_query_fetch_で始まる;純粋なデータオブジェクトを返す;トランザクションのブロードキャストをトリガーしてはならない。

書き込みツールの特性と設計:オンチェーン状態を変更し・Gasを消費し・操作は不可逆です。設計原則:関数名はexecute_send_deposit_withdraw_で始まる;関数内部でパラメータの二次検証(金額上限・アドレスホワイトリスト・操作タイプ許可)を行う;高額操作には人間確認のinterruptポイントを追加する。

隔離の実装:サブAgentの設計レベルで、読み取りサブAgentには読み取りツールのみを与え、書き込みサブAgentには書き込みツールのみを与え、2つのサブAgent間は直接通信できません(Orchestrator経由のみ)。

具体例 +

実際の例:DeFi利回り最適化Agentのツール設計

$50,000 USDCを管理するDeFi利回り最適化Agentの完全なツールセット:

読み取りツール(3つ):

  • get_protocol_apy(protocol: str, token: str) -> {apy: float, tvl: float, updated_at: timestamp} ——指定プロトコルとトークンの現在APYとTVLを照会。意思決定に必要な最小フィールドのみ返す
  • get_gas_price() -> {base_fee_gwei: float, priority_fee_gwei: float, estimated_usd: float} ——現在のGas費用を照会
  • get_wallet_balance(address: str) -> {usdc: float, eth: float} ——操作ウォレットの残高を照会

書き込みツール(2つ、Orchestratorの承認後のみ呼び出し可能):

  • withdraw_from_protocol(protocol, amount_usdc, approval_token) ——プロトコルからUSDCを引き出し。バックエンド検証:amount_usdc ≤ 10,000;プロトコルがホワイトリストに;approval_tokenが有効
  • deposit_to_protocol(protocol, amount_usdc, approval_token) ——プロトコルにUSDCを入金。同じバックエンド検証

このツール設計のセキュリティ:LLMがPrompt Injectionに侵害されても、有効なapproval_tokenなしに書き込みツールを呼び出すことはできません。

図解
Tool Use: Read vs Write Isolation + Schema Design Checklist左側:讀取工具和寫入工具的隔離設計示意圖,展示各自的安全邊界和 approval_token 機制;右側:工具 Schema 設計的五要素 Checklist。Tool Use: Read/Write Isolation + Schema Design ChecklistRead/Write Tool Security IsolationRead ToolsNames: get_ · query_ · fetch_No state change · unlimited retries · no confirmationReturn filtered data only (not raw API response)Risk if injected: wrong data only · no chain impactWrite ToolsNames: execute_ · send_ · deposit_ · withdraw_Changes on-chain state · irreversible · Gas costRequires approval_token from OrchestratorBackend: amount limit + whitelist + type checkAll calls logged to security audit logKey: Read Sub-agent and Write Sub-agent never communicate directlyAll data flows through Orchestrator (Hub-and-Spoke)Tool Schema Design Checklist✓ 1. Name: verb-first, specific actionget_aave_usdc_apy · withdraw_from_morpho (not: tool_1, execute)✓ 2. Description: use + when NOT to use'Use when: comparing rates. NOT for: historical data (use get_historical_apy)'✓ 3. Parameters: type + description + examplesprotocol: str, enum=[aave, morpho, compound], example: 'aave'✓ 4. Return format: describe output structureReturns: {apy: float, tvl: float, updated_at: ISO timestamp}✓ 5. Boundaries: what it cannot do'Read only. Does NOT execute transactions or modify any state.'Tool description quality affects call accuracy by 20-30%Keep total tool count 5-15 per agent · use sub-agents for moreAI Agent Bible · aiagent-bible.com
スクリーンショット歓迎。転載時は出典を明記してください。
よくある誤解 +
✕ 誤解 1
× 誤解1:ツール記述は詳細であればあるほど良い——説明が多いほど安全。ツール記述をContextに追加するにはコストがかかります——各ツール記述は500〜2,000トークンを消費する可能性があり、20個のツールがあると記述だけで10,000〜40,000トークンを消費します。正しいアプローチは「ちょうど十分な明確さ」です:LLMがいつ呼び出すか・何のパラメータを渡すかを正確に判断できればよく、操作マニュアル全体を含める必要はありません。
✕ 誤解 2
× 誤解2:ツール呼び出しが失敗したら、LLMに自分でリトライ方法を決めさせれば良い。LLMの「リトライ方法」の判断はしばしば信頼性がなく、特にオンチェーン操作のシナリオでは——リバートの原因を無視して、確実に失敗する操作を同じパラメータで繰り返しリトライする可能性があります。正しいアプローチ:ツール関数のバックエンドコードで構造化されたエラー分類を設計し(「一時的なエラー→自動リトライ可能」vs「永続的なエラー→Orchestratorにエスカレーション」)、リトライロジックをコードレベルで制御します。
The Missing Link +
直接的な影響

ツール数が多い → Agentはできることがより多く柔軟ですが、推論ごとのContextコストが高くなり(ツール記述がより多くのトークンを占有)、LLMがツールを選択する際の「選択困難」問題がより深刻になります。ツール数が少ない → Contextコストが低くツール選択が明確ですが、Agentの能力が制限され複雑なタスクはより多くのシーケンシャルなツール呼び出しが必要です。ベストプラクティス:単一Agentのツールセットを5〜15個に保ち;より多くのツールが必要な場合はサブAgentでグループ化します。

質問する
10文字以上入力してください
関連記事
Agentic Loopとは:AIエージェントがどのように「継続的に動く」のか——感知・計画・実行・観察の完全サイクル解説
fundamentals · 06月27日
Tool Use完全メカニズム解説:AIエージェントはどのように「行動」するか、そしてなぜこの設計が信頼できるかどうかを決定するのか
fundamentals · 06月17日
最初のCryptoエージェントを動かす方法:ゼロから始める完全ガイドと、ほとんどの人がやらかすミス
beginners · 06月17日
AIエージェントはどう考えるか:ReAct推論フレームワークの完全解説と、エージェントが本当に仕事をこなせるかどうかを左右する理由
fundamentals · 06月15日