iT邦幫忙

2025 iThome 鐵人賽

DAY 7
0
生成式 AI

AI Agent 開發養成記:做出屬於自己的Agent P系列 第 7

[Day 7] AI Agent 為甚麼需要 工具使用

  • 分享至 

  • xImage
  •  

前言

AI Agent 再聰明,也只是「文字處理大師」。
如果沒有外部工具,它無法查天氣、呼叫 API、或讀取資料庫。
因此,要讓 Agent 真正變得有用,就必須學會 工具使用 (Tool / Function Calling)

今天我們來簡單說說為甚麼吧o(≧▽≦)o


Function Calling 是什麼?

定義:
Tool Calling(也常被稱為 Function Calling)是一種讓 AI Agent 透過結構化輸出,請求外部函式或 API 來執行任務的能力。
核心精神就是:「LLM 負責理解與決策,工具負責實際執行」

你可以把 Tool Calling 想像成替 Agent 裝上「外掛模組」,幫它突破原本只能「說話」的限制。

關鍵點:

  • Agent 不只會「回答問題」,還能「執行任務」
  • 工具可以是天氣 API、計算器、資料庫查詢,甚至是郵件系統
  • LLM 決定 什麼時候用工具、用哪個工具、傳什麼參數
  • 工具則負責 真正的行動

為什麼需要 Function Calling?

  • 缺乏即時資料 → 透過工具查詢天氣、新聞、股市
  • 數學能力有限 → 交給計算工具做精確運算
  • 系統操作受限 → 透過 API、資料庫或檔案系統來存取與操作

簡單說:模型會「提出需求」,工具會「執行任務」


運作流程

  1. 使用者下達需求
  2. Agent 判斷是否需要工具
  3. LLM 產生結構化輸出(通常是 JSON 格式,包含 function 名稱與參數)
  4. 系統層接收並執行對應工具 / API
  5. 工具回傳結果
  6. Agent 整合資訊並回覆使用者

範例情境

# 使用者輸入
user_input = "今天台北天氣如何?"

# LLM 判斷需要工具 → 產生結構化輸出
{
  "name": "get_weather",
  "arguments": { "city": "Taipei" }
}

# 系統層呼叫工具
result = get_weather(city="Taipei")

# 工具回傳
{"weather": "晴時多雲", "temperature": "28℃"}

# Agent 整理最終回覆
"今天台北是晴時多雲,氣溫大約 28℃。"

注意:真正執行工具的是系統,不是 LLM 自己直接跑程式碼。


對照表:沒有工具 vs 有工具

特徵 沒有工具的 Agent 有工具的 Agent
資訊來源 只能依靠訓練資料(知識有時效性) 可即時查詢 API 或資料庫
能力範圍 純文字生成與推理 能做查詢、計算、操作應用程式
回答限制 可能過時、不準確 可取得最新、正確的資訊
執行任務 無法執行「真實動作」 能幫你寄信、下單、控制 IoT 裝置等

結尾廢話

Tool / Function Calling 是讓 AI Agent 從聊天夥伴升級為工作助理的第一步。
有了工具,它不再只是陪你聊天,而是能幫你 查資料、處理任務等。
當你第一次幫 Agent 接上工具時,你會驚訝地發現:「哇,它真的動起來了!」

先到這邊,我們下一篇見(*≧▽≦)
reference link


上一篇
[Day 6] Agent 的挑戰與 Prompt 簡單技巧
下一篇
[Day 8] 天氣 Agent
系列文
AI Agent 開發養成記:做出屬於自己的Agent P8
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言