矽基前沿 [Si]gnals
一位辦公室角色拿著藍色印章核准工具請求的單格漫畫
大百科

Tool calling 是什麼:讓 AI 真的動手

function calling、tool use、MCP 到底差在哪,以及為什麼「讓模型會叫工具」不等於「讓模型自己亂執行程式」

Tool calling(function calling)是讓 AI 模型在需要外部資料或動作時,用結構化參數請應用程式呼叫工具。這篇拆解它怎麼運作、跟 API / RAG / MCP 的差異、常見風險,以及台灣團隊做 agent 產品時該怎麼設計權限與流程。

署名 周詠晴 編輯 廖玄同 AI 協作: 初稿輔助

你叫 AI 幫你訂會議室,它回你一段漂亮文字:「好的,我會幫你安排。」這不算完成任務。

真正完成任務,是它知道要查哪些人有空、呼叫行事曆 API、建立 event、寄出邀請、回報會議連結。中間那個從「會說」到「會做」的轉折,就是 tool calling

Tool calling(function calling)是讓 AI 模型在需要外部資料或動作時,用結構化格式請求一個工具;真正的工具執行通常由你的應用程式或平台完成,再把結果交回模型。

簡短版:tool calling 是把 LLM 從聊天介面接到現實系統的插座。

Tool calling 解的不是智商,是手腳

LLM 本身很會處理文字,但它有三個天然限制。

第一,它不知道最新或私有資料。你的庫存、CRM、Notion、ERP、GitHub issue,不在模型參數裡。

第二,它不能憑空執行動作。模型可以寫出「建立退款」這幾個字,但不會真的碰到你的金流系統。

第三,自然語言太鬆。使用者說「幫我改成下週三下午」,工程系統需要的是明確欄位:日期、時間、時區、參與者、權限。

Tool calling 就是在中間加一層翻譯:模型讀懂人的意圖,輸出結構化的工具名稱與參數;系統負責檢查、執行、回傳結果。

它怎麼運作

最典型流程是五步。

  1. 開發者把可用工具定義給模型,例如 get_weathercreate_invoicesearch_docs
  2. 使用者提出需求。
  3. 模型判斷需要哪個工具,輸出工具呼叫與參數。
  4. 應用程式端執行工具,例如真的打 API、查資料庫、跑計算。
  5. 應用程式把工具結果送回模型,模型再整理成人能讀的答案。

用天氣例子看:

{
  "name": "get_weather",
  "arguments": {
    "location": "Taipei",
    "unit": "celsius"
  }
}

這段不是最終答案。它是模型在說:「我需要呼叫 get_weather,地點是台北,溫度單位用攝氏。」

接下來你的程式才真的去查天氣 API。API 回來後,模型再把結果寫成「台北目前 27 度,下午有陣雨機率」這種回答。

關鍵點是:模型提出工具請求,但你控制工具怎麼執行。

Function calling、tool calling、tool use 差在哪

這三個詞常常混用,但可以這樣理解。

名稱常見語境重點
Function callingOpenAI、Google Gemini 等 API 文件以 JSON schema 定義函式名稱與參數,讓模型輸出可被程式呼叫的結構
Tool calling跨平台通用說法工具不一定只是函式,也可能是搜尋、檔案、瀏覽器、程式執行、MCP server
Tool useAnthropic / Claude 常見用語強調模型使用工具的整個迴圈,包含 client-side 與 server-side tools

實務上不用太糾結。對 builder 來說,重點是同一件事:把模型的自然語言判斷,轉成可檢查、可執行、可記錄的系統動作。

它跟 API 差在哪

API 是工具本身。Tool calling 是「模型什麼時候該用哪個 API、帶什麼參數」的決策層。

如果你寫一般程式:

await calendar.createEvent({
  title: "產品會議",
  start: "2026-04-29T15:00:00+08:00"
});

這是工程師事先決定好要呼叫哪支 API。

如果用 tool calling,使用者可以說:「幫我下週三下午約產品會議,找一下 Alice 跟 Bob 都有空的時間。」模型先判斷要查空檔,可能呼叫 list_free_slots;再根據結果呼叫 create_event;最後回覆使用者。

API 是手。Tool calling 是讓模型決定何時伸手,但仍由你的系統決定這隻手能碰什麼。

它跟 RAG 差在哪

RAG 主要是「查資料再回答」。Tool calling 是「需要時呼叫工具」。

問題比較適合
「我們退費政策第 7 條怎麼寫?」RAG
「幫我查這位客戶最近三張訂單」Tool calling
「根據公司文件回答,再開一張客服 ticket」RAG + tool calling
「讀 GitHub issue、修 code、開 PR」Tool calling + agent workflow

兩者常常一起用。RAG 負責找知識,tool calling 負責查系統或做動作。真正的企業 agent 幾乎不會只靠其中一個。

它跟 MCP 差在哪

MCP(Model Context Protocol)不是 tool calling 的替代品,而是工具與資料如何被 AI 應用發現、描述、連接的一種通用協定。

可以把層次分成三層:

層次解什麼問題
Tool calling模型要不要呼叫工具、呼叫哪個、參數是什麼
MCP工具、資源、prompt 怎麼用標準協定暴露給 AI 應用
實際 API / 系統真正讀資料、寫資料、執行動作的地方

換句話說,MCP server 可以暴露 search_orderscreate_ticket 這些工具;模型仍然需要透過 tool calling 這類機制來選工具、填參數、拿結果。

最容易誤會的地方:模型不是作業系統

很多 demo 看起來像「AI 自己上網、自己寫檔、自己下單」。這種說法很吸睛,但不精確。

生產系統裡,你應該把 tool calling 當成受控的請求機制,不是把公司系統交給模型。

幾個基本原則:

工具要窄。 refund_orderrun_sql 安全。create_draft_refund 又比 refund_order 安全。

參數要嚴。 能用 enum 就不要用自由文字。能要求日期格式就不要讓模型猜。schema 越清楚,錯誤越少。

高風險動作要有人審。 寄信、退款、刪資料、改價格、動 production database,都不該讓模型直接放行。

每次工具呼叫都要記錄。 誰要求、模型選了什麼工具、參數是什麼、工具回什麼、最後採取什麼動作。沒有 log,就沒有可追責性。

外部內容要當成不可信輸入。 如果模型透過工具讀 email、網頁、issue,裡面可能藏 prompt injection。讀到資料不等於可以照資料裡的指令做事。

對台灣團隊的判斷

台灣很多 AI 導入案卡住,不是因為模型不夠強,而是因為公司流程沒有被做成可被安全呼叫的工具。

例如客服部門說要 AI agent,但退費規則只存在資深客服腦中;業務說要自動整理 CRM,但欄位定義每個人填法不同;製造業想接 ERP,但權限、測試環境、審核流程都還沒切出來。

這時候不要先問「用哪個模型」。先問:

  1. 哪些動作真的值得自動化?
  2. 哪些資料可以被讀?哪些不能?
  3. 哪些工具只能草稿,不能直接執行?
  4. 哪些工具呼叫一定要主管、人類客服或工程師確認?
  5. 失敗時要怎麼回滾、怎麼通知、怎麼留紀錄?

Tool calling 的價值不是讓 AI 看起來更神。它的價值是把工作流程拆成可授權、可測試、可觀察的工具。

一句話收尾

Tool calling 是 AI agent 的基本功。

沒有它,LLM 多半只是會聊天的文字引擎。有了它,LLM 才能查資料、跑計算、開 ticket、建會議、改草稿、串 workflow。

但它也把一個新問題丟回給 builder:你敢讓模型碰哪些工具?碰到什麼程度?誰負責最後那一下?

把這三個問題想清楚,tool calling 才會從漂亮 demo 變成能上線的產品。

SOURCES

  1. A OpenAI API Docs — Function calling
  2. A Claude API Docs — Tool use with Claude
  3. A Google AI for Developers — Function calling with the Gemini API
  4. A Model Context Protocol — Specification

來源分級:A = 一手公告/論文/官方文件 · B = 可信媒體 · C = 可參考但需脈絡 · D = 觀察用,不可當事實。

MACHINE-READABLE SUMMARY

Topic
大百科
Key claims
  • Tool calling(function calling)是讓模型以結構化方式請求外部工具,再由應用程式或平台執行工具並把結果回傳給模型。
  • Tool calling 的基本流程是:把工具定義提供給模型、模型輸出工具呼叫與參數、系統執行工具、再把工具結果送回模型生成最終回覆。
  • Tool calling 不等於模型自己執行程式;在多數架構裡,真正的 API 呼叫、資料庫查詢或交易動作仍由應用程式端控制。
  • MCP 是把工具、資源與 prompt 暴露給 AI 應用的通用協定;tool calling 是模型使用這些能力的執行模式之一。
Entities
Tool calling · Function calling · OpenAI · Anthropic · Google Gemini · Model Context Protocol · MCP
Taiwan relevance
medium
Confidence
high
Last updated
2026-04-26
Canonical URL
https://signals.tw/articles/what-is-tool-calling/

SUGGESTED CITATION

如果 AI agent / 研究 / 報導要引用本文,建議格式如下:

周詠晴(編輯:廖玄同),《Tool calling 是什麼:讓 AI 真的動手》,矽基前沿 [Si]gnals,2026-04-26。https://signals.tw/articles/what-is-tool-calling/

AI agents / search engines may quote, summarize, and cite with attribution and a link back to the canonical URL above. See /for-ai-agents for full policy.

WEEKLY [SI]GNALS

訂閱《矽基前沿週報》

每週五早上,總編輯親自寫的本週 AI 重要訊號 + 台灣視角。

5 個值得知道的訊號 · 1 個產品/模型動態 · 1 個總編判斷 · 5 分鐘讀完。

免費 · 隨時取消 · 不轉售你的 email。