教學

Dify Agent 教學:讓 AI 自己決定要用哪個工具

Chatbot 只會查知識庫,Workflow 的順序是你排的。Agent 不一樣——它自己決定要不要查資料、要用哪個工具、要跑幾輪。這篇說明它怎麼設定、什麼時候該用、什麼時候不該用。

E
Eric 浪花科技創辦人 ·

🚀 想直接開始?60 秒部署你的 Dify

AI 應用開發平台 — No-Code 建構你的 AI。月付 NT$1,599 起,

立即訂閱 Dify

Chatbot 只會查知識庫。Workflow 的步驟順序是你排好的。

Agent 是第三種:你給它一組工具,它自己決定要用哪個、用幾次、什麼時候停。

聽起來很強,但也是三種應用型態裡最不可預測的一種。這篇講清楚它適合什麼、不適合什麼。

30 秒總覽

ChatbotWorkflowAgent
誰決定步驟固定模型
可預測性
處理未知問題
模型費用(會多輪呼叫)
除錯難度
適合單一主題問答流程明確的任務問題形態難以事先窮舉

Agent 實際在做什麼

它跑的是一個迴圈:

  1. 讀使用者的問題
  2. 判斷需不需要用工具,用哪一個
  3. 呼叫工具,拿到結果
  4. 判斷資訊夠不夠,不夠就回到第二步
  5. 夠了就整理成回答

關鍵在第二步和第四步——那兩個決定是模型做的,不是你。這是它的價值,也是它的風險來源。

兩種策略怎麼選

Function Calling

靠模型原生的工具呼叫能力。準確度高、速度快,但要模型本身支援。

如果你用的模型支援,就用這個。

ReAct

用 Prompt 引導模型「思考 → 行動 → 觀察」的循環。相容性好,什麼模型都能跑,但推理過程會消耗較多 token,也比較容易繞路。

適合的情境是:你用的模型不支援原生工具呼叫,或你想看到它的推理過程來除錯。

工具從哪裡來

內建工具

搜尋、計算、圖片生成這類。設定簡單,多數需要對應服務的 API Key。

自訂工具

用 OpenAPI 規格描述你自己的 API,Agent 就能呼叫它。這是讓 Agent 真的能做事的關鍵——查訂單、查庫存、建立工單都靠這個。

把工作流當工具

已經做好的 Workflow 可以包成工具給 Agent 用。這是很實用的組合:Agent 負責決定要做什麼,Workflow 負責穩定地把它做完。

工具描述是成敗關鍵

Agent 靠工具的描述決定要不要用它。描述寫不好,它就會挑錯工具或根本不用。

寫法結果
「查詢訂單」太模糊,它不知道什麼情況該用
「用訂單編號查詢出貨狀態與預計到貨日。需要訂單編號才能使用。」清楚,它知道何時用、需要什麼

原則是:寫給一個沒看過你系統的新同事看。它什麼時候該用這個工具、需要準備什麼、會拿到什麼。

迭代次數要設上限

Agent 可能陷入迴圈——工具回傳的結果不符預期,它再試一次,再試一次。

每一輪都是一次模型呼叫,也就是一次費用。務必設迭代上限,通常三到五次足夠。超過還沒結論的情況,多半是工具描述有問題或該用的資料根本不存在。

什麼時候不該用 Agent

誠實講,多數需求不需要 Agent:

  • 流程是固定的——用 Workflow。步驟明確卻交給模型決定,只是把可預測的事變不可預測。
  • 只是要查文件回答問題——用 Chatbot,便宜又穩。
  • 對回答的一致性要求高——Agent 同一個問題問兩次,走的路徑可能不同。
  • 成本敏感——多輪呼叫的費用是 Chatbot 的好幾倍。

值得用 Agent 的情境其實很窄:使用者的問題形態你事先窮舉不完,而且需要跨多個資料來源才答得出來。

一個實際的例子:訂單客服 Agent

抽象的說明不好判斷,看一個具體的:

掛上去的工具

  • 查訂單——用訂單編號查出貨狀態
  • 查運費——依地區與重量算運費
  • 搜尋知識庫——退換貨政策與商品說明

它會怎麼跑

使用者問:「我上週買的東西什麼時候到?運費怎麼算的?」

  1. Agent 判斷這裡有兩個問題,需要兩個工具
  2. 先呼叫查訂單——但發現沒有訂單編號,於是回頭問使用者
  3. 拿到編號後查出貨狀態
  4. 再呼叫查運費工具
  5. 把兩份結果組成一段回答

第二步是 Agent 跟 Workflow 最大的差別:Workflow 在缺參數時會直接失敗,Agent 會想辦法補。

同樣這個需求,Workflow 會怎麼做

你要自己排:先問訂單編號 → 查訂單 → 判斷有沒有問運費 → 有的話查運費 → 組合回答。步驟固定、費用可預測、出錯知道在哪一格。

兩種都能做,差別在誰承擔「想清楚流程」這件事。需求穩定就自己排,需求變化多就交給 Agent。

常見問題

Q:Agent 一直不使用我設定的工具?

九成是工具描述寫得太模糊。把描述改成「什麼情況該用、需要什麼參數、會回傳什麼」再測一次。

Q:費用比預期高很多?

看迭代次數。Agent 每一輪都是一次完整的模型呼叫,如果經常跑滿上限,實際費用會是 Chatbot 的數倍。先確認是不是工具一直失敗導致它重試。

Q:同一個問題答案不一致?

這是 Agent 的本質,不是 bug——路徑由模型即時決定。需要一致性的場景應該用 Workflow。

Q:可以限制它只能用某幾個工具嗎?

可以,工具是逐個掛上去的。建議從最少的工具開始,確認行為穩定再加。工具越多,它挑錯的機率越高。

費用怎麼估

Agent 的費用不好預估,因為輪數是浮動的。一個粗略的抓法:

單次對話成本 ≈ 平均輪數 × 每輪的模型費用。而每輪都會把先前的對話與工具結果一起送出去,所以越後面的輪數越貴。

實務上建議上線前先跑二十個真實問題,記錄平均輪數,再乘上預估的日對話量。這個數字通常會比直覺高——很多人以為 Agent 只是「多呼叫一兩次」,實際上三到四輪是常態。

資料來源與延伸連結

延伸閱讀

準備好開始使用 Dify 了嗎?

完成訂閱後 60 秒,系統自動幫你裝好 Dify——獨立容器、資源硬性上限不與他人共用、HTTPS 開箱即用。

立即訂閱 Dify

月付訂閱、不綁約、隨時取消

嗨,我是小浪!有任何問題都歡迎點我詢問,我來幫你解答。

小浪

小浪 - AI小助手

在線中
小浪

有任何問題都歡迎隨時詢問我,我會盡力為你解答!

Powered by RoamerHost AI