昨天第一次接觸 AI Agent。
我們先建立最基本的:
Chat Trigger → AI Agent → Chat Model
接著再加入一個簡單的 Tool,讓 Agent 不只是回答問題,而是可以根據任務決定要不要使用工具。
昨天只有一個 Tool 時,其實還看不太出來 Agent「選擇工具」的能力。
所以今天想再往前一步:
如果同時提供好幾個 Tools,AI Agent 能不能自己判斷應該使用哪一個?
今天不打算做太複雜的系統。
先讓 Agent 擁有兩種不同能力:
Calculator:負責計算
Wikipedia:負責查詢基本資料
整體概念:
Chat Model
│
使用者 → AI Agent
│
┌────────┴────────┐
↓ ↓
Calculator Wikipedia
這次我們不使用 IF 或 Switch 告訴它要走哪條路。
而是:
把工具提供給 Agent,讓 Agent 根據問題自己選。

圖 1 AI Agent 同時連接多個 Tools
先保留昨天建立的 Calculator Tool。
所以目前 Agent 有:
AI Agent
│
└── Calculator
可以先測試:
「125 × 48 是多少?」
這種問題明顯是計算任務。
Agent 就可以判斷是否使用 Calculator。
如果執行成功,就代表昨天的功能還正常。
接下來替 Agent 加入第二種完全不同的工具。
為了讓差異明顯,可以使用可以查詢資料的 Tool,例如 Wikipedia。
現在 Agent 可以使用:
Calculator
Wikipedia
一個負責:
計算
另一個負責:
查詢資料
這樣才比較容易觀察 Agent 到底有沒有根據任務選擇工具。
📷 這裡放加入第二個 Tool 的畫面
圖 2 替 AI Agent 加入第二個 Tool
如果你的 n8n 版本或目前環境沒有相同的 Wikipedia Tool,也可以使用其他可查詢資料的 Tool;今天的重點是「同一個 Agent 擁有不同功能的工具」。
先輸入:
「245 × 36 是多少?」
這時候 Agent 會先理解使用者的需求。
它手上有兩個工具:
Calculator
Wikipedia
Wikipedia 明顯不是最適合這個問題的工具。
所以預期會使用:
Calculator
整個過程可以理解成:
使用者
↓
245 × 36 是多少?
↓
AI Agent
↓
這是一個計算問題
↓
Calculator
↓
取得計算結果
↓
Agent 回答
245 × 36 的結果是:
8820

圖 3 AI Agent 判斷計算問題並使用 Calculator
接著完全不修改 Workflow。
直接把問題改成資料查詢,例如:
「Who is Alan Turing?」
這次同一個 Agent 收到問題後,就要重新判斷。
Calculator 顯然沒有辦法協助查詢人物資料,因此如果工具設定正確,Agent 就可能選擇 Wikipedia Tool。
概念變成:
使用者
↓
Who is Alan Turing?
↓
AI Agent
↓
這是一個資料查詢問題
↓
Wikipedia
↓
取得資料
↓
Agent 整理回答

圖 4 相同 AI Agent 根據不同問題選擇另一個 Tool
今天真正想觀察的不是 Alan Turing 的答案,而是:
我沒有重新接 Node,但 Agent 使用的 Tool 改變了。
接下來再測一種情況。
輸入:
「請幫我用一句話介紹 AI 自動化。」
這種問題 Chat Model 本身就有可能直接回答,不一定需要 Calculator 或 Wikipedia。
所以 Agent 也可能判斷:
不需要使用工具。
這一點其實也很重要。
Agent 的概念不是:
「每一次都一定要呼叫一個 Tool。」
而是:
根據任務判斷目前是否需要使用可用的 Tool。
所以目前可能出現三種情況:
| 使用者問題可能使用 | |
|---|---|
| 245 × 36 是多少? | Calculator |
| Who is Alan Turing? | Wikipedia |
| 用一句話介紹 AI 自動化 | 直接回答 |
這樣 Agent 的「選擇」就開始比較明顯了。
做到這裡,我發現一件之前沒有特別注意的事情:
Agent 必須知道每個 Tool 是拿來做什麼的。
假設今天有兩個工具:
Tool A
Tool B
但完全不知道它們分別能做什麼,那 AI 要正確選擇就會更困難。
所以 Tool 的名稱、用途和描述也很重要。
例如:
Calculator
用途:進行數學計算
另一個:
Wikipedia
用途:查詢百科資料
這樣 Agent 才比較容易理解:
「現在這個任務應該交給誰?」
這跟之前寫 Prompt 有點像。
我們提供的資訊越清楚,AI 越容易按照預期工作。
今天測試時也不能預設:
Agent 一定永遠選對。
因為 Agent 的判斷還是和模型、提示、工具描述及輸入內容有關。
例如問題:
「Alan Turing 活了幾歲?」
這其實可能需要:
查詢出生日期與死亡日期
↓
再進行計算
如果工具與 Agent 支援這種任務,它甚至可能需要不只一次工具操作。
概念上可能變成:
使用者問題
↓
AI Agent
↓
Wikipedia
↓
取得日期資料
↓
Calculator
↓
計算
↓
回答
這就開始跟以前固定的 Workflow 很不一樣。
以前如果要這樣做,我可能必須自己設計:
查資料 → 取得日期 → 計算 → 回答
Agent 則有機會根據任務和可使用的工具決定處理方式。
不過今天先不用把這種多步驟任務做得太複雜。
做到這裡,我開始想到前面使用過的 Google Sheets。
以前的流程是我們自己設定:
AI
↓
Google Sheets
如果未來把資料儲存能力提供給 Agent,就可以想像:
「幫我把這筆資料記錄下來。」
Agent 判斷:
需要使用資料儲存工具。
然後執行相對應的動作。
甚至使用者可以說:
「幫我查這個資料,整理完成後再記錄下來。」
這時候就可能需要:
AI Agent
↓
查詢工具
↓
取得資料
↓
整理
↓
Google Sheets
這也是我接下來最想嘗試的部分。
前幾天的客服分類:
Webhook
↓
AI
↓
Switch
↓
Email / Sheets
每一步都已經寫死。
但 Agent 的方式比較像:
Calculator
↑
使用者 → AI Agent ← Wikipedia
↓
其他可用 Tools
所以差別慢慢變得很明顯。
Workflow 是我們決定流程。
Agent 是我們提供能力,再讓 AI 根據任務選擇如何使用。
不過這不代表 Agent 一定比較好。
固定又重要的流程,使用 IF、Switch 等方式反而更容易控制。
Agent 比較適合:
使用者需求可能一直改變的情況。
今天我會至少測三次:
測試 1:
245 × 36 是多少?
預期:
Calculator
測試 2:
Who is Alan Turing?
預期:
Wikipedia
測試 3:
請用一句話介紹 AI 自動化。
預期:
可能不需要 Tool,直接回答
如果執行時可以看到 Agent 面對不同問題選擇不同的處理方式,今天的實驗就成功了。



圖 5 AI Agent 面對不同任務時的 Tool 使用結果
昨天第一次做 AI Agent 時,我覺得它有點像:
「多了一個 Tool 的 ChatGPT。」
但今天同時加入不同 Tools 之後,開始比較能理解 Agent 的核心概念。
真正重要的不是 Tool 有多少個。
而是:
Agent 可以先理解使用者想完成什麼,再從允許使用的工具中決定下一步。
也就是:
理解任務
↓
選擇工具
↓
執行工具
↓
取得結果
↓
繼續完成任務
這就比單純:
Prompt → AI → Answer
多了一層「執行工作」的能力。
今天把昨天只有一個 Tool 的 AI Agent 升級成:
Chat Model
│
Chat Trigger → AI Agent
↙ ↘
Calculator Wikipedia
並使用不同問題測試 Agent 是否能選擇適合的工具。
做到這裡,AI Agent 已經不只是回答問題,而是開始能:
理解任務 → 選擇工具 → 使用工具 → 整理結果
不過目前 Calculator 和查詢工具主要都還是在「取得資訊」。
下一步我想讓 Agent 做一件更實際的事情:
把資料真的寫進外部系統。
所以明天就來嘗試讓 AI Agent 擁有資料儲存能力。