iT邦幫忙

2026 iThome 鐵人賽

DAY 7
0
自我挑戰組

AI Agent 從零開始系列 第 7 篇

Tool Calling 到底是什麼?

  • 分享至 

  • xImage
  •  

簡單來說,Tool Calling(工具呼叫 / 函式呼叫 Function Calling)是讓 LLM 從「純文字聊天機器人」升級成「能操作外部系統的控制器」的核心技術。

它並不是讓 LLM 直接去執行程式碼,而是讓 LLM 能夠理解人類意圖,並將意圖精確轉換為程式看得懂的結構化數據(JSON)。


1. 為什麼需要 Tool Calling?

大語言模型(LLM)有兩個本質上的局限:

  1. 知識凍結與無法獲取即時資訊(例如:無法知道今天的股市、天氣、你的資料庫資料)。
  2. 缺乏精確計算能力(例如:算複雜數學、精確時間推算易產生「幻覺」)。

如果沒有 Tool Calling,當你問 AI:「台北今天天氣怎樣?」

  • 無 Tool Calling:AI 只能回答「我無法獲取即時天氣資訊」或憑空瞎編一個答案。
  • 有 Tool Calling:AI 會發現自己不會,但知道有一個叫 get_weather 的 API 可以用,於是主動發出呼叫請求。

2. Tool Calling 的運作流程(三階段機制)

許多人誤以為是 AI 直接跑去執行了 Python 或 API,但實際上 LLM 本身只負責「決定要用什麼工具與準備參數」,真正的執行是由你的應用程式(後端程式碼)來做的。

流程拆解如下:

[使用者] ──(1) 提問──> [LLM]
                          │
                          │ (2) 發現需要工具,輸出結構化 JSON
                          ▼
                       [應用程式 (App)]
                          │
                          │ (3) 執行真正的 API / 程式碼
                          ▼
                       [外部系統/數據庫]
                          │
                          │ (4) 回傳執行結果
                          ▼
                       [應用程式 (App)] ──(5) 帶入結果──> [LLM] ──(6) 回答──> [使用者]

具體步驟範例:

  1. 定義工具(Tool Specification):
    你先告訴 LLM 你有哪些工具可用(包含工具名稱、用途說明、參數格式):
{
  "name": "get_stock_price",
  "description": "取得特定股票的即時價格",
  "parameters": {
    "symbol": "股票代碼,例如 NVDA, TSLA"
  }
}

  1. 意圖識別與 JSON 生成(Tool Choice):
    使用者問:「輝達(NVDA)現在股價多少?」
    LLM 不會直接輸出文字,而是回傳一段 Tool Call 指令:
{
  "tool_call": "get_stock_price",
  "arguments": { "symbol": "NVDA" }
}

  1. 外部執行與結果回傳(Execution & Observation):
    你的後端程式碼拿到這個 JSON,真正去呼叫 Yahoo Finance 或台股 API,拿到結果:{"price": 135.5, "currency": "USD"}。
  2. 最終回答生成(Final Answer):
    你的程式碼把這個結果塞回給 LLM,LLM 讀懂後組織成自然語言告訴使用者:「輝達目前的股價是 135.5 美元。」

3. Tool Calling 的關鍵特性

特性 說明
結構化輸出 (Structured Output) LLM 輸出嚴格符合 JSON Schema,便於程式碼解析與自動化串接。
多次/平行呼叫 (Parallel Tool Calling) 現代模型(如 GPT-4o, Claude 3.5)支援一次發出多個工具請求(例如同時查詢台北、東京、紐約三地的天氣)。
LLM 不直接接觸外部網路/資料庫 安全性由後端控制,LLM 只是發出「請求清單」,最終是否執行、如何過濾權限完全由後端程式掌控。

4. 總結:Tool Calling 與 Agent 的關係

如果把 Agent(AI 代理) 比喻成一個人:

  • LLM 模型 是大腦(負責推理與決策)。
  • Tool Calling 就是大腦發出神經訊號、控管手與腳(API、資料庫、搜尋引擎)去動作的溝通協調機制。

沒有 Tool Calling,Agent 就無法真正對現實世界產生影響。


上一篇
親手做一個最小 Agent
下一篇
自己設計第一個 Tool System
系列文
AI Agent 從零開始 共 25 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言