第 4 章

建立 Agent

前兩章的機器人只會「說」。這一章的主角會「做」——給 AI 一組工具,讓它自己判斷什麼時候查維基百科、什麼時候上網搜尋、什麼時候查時間,然後把結果整理給你。這就是 AI Agent(智慧代理)。

本章目標

要學什麼
Agent 是什麼、如何在 Dify 建立與設定
學會的技能
Agent 的運作原理、工具的安裝與註冊、以工具為前提的提示詞寫法、用對話驗證工具是否正常運作
能做出什麼
自動查證的調查員、結合搜尋與計算的助理、能讀圖片與 PDF 的多模態 Agent

4.1Agent 是什麼?

聊天機器人是「一問一答」;Agent 是「一問,然後自己想辦法」。收到任務後,Agent 會在內部反覆執行一個循環:

  1. 思考:要完成這個任務,我還缺什麼資訊?
  2. 行動:呼叫一個工具(搜尋、查時間、算數學……)取得資訊。
  3. 觀察:看工具回傳的結果,判斷夠不夠。不夠就回到第 1 步。
  4. 回答:資訊齊了,整理成最終答案。
重點
Agent 的能力上限 = 模型的推理能力 × 工具的豐富度 × 指令的清晰度。三者缺一不可,這也正是本章操作的三個重點。

4.2先準備工具:從 Marketplace 安裝

Dify 的工具和模型供應商一樣是插件制。本章挑三個完全免費、不需要 API 金鑰的工具,在「Marketplace」搜尋並安裝:

工具能力備註
CurrentTime查詢目前時間、時區換算、星期計算Dify 內建,免安裝
Wikipedia查詢維基百科條目Marketplace 搜尋「wikipedia」安裝
DuckDuckGo網頁搜尋(注重隱私的搜尋引擎)Marketplace 搜尋「duckduckgo」安裝

安裝方式與第 2 章裝模型供應商完全相同:搜尋 → 卡片上按「安裝」→ 確認 → 等待數秒。之後需要更強的工具(Google 搜尋、Tavily、Firecrawl 爬蟲等)也是同一套流程,只是多半要填各自的 API 金鑰。

4.3建立你的 Agent

  1. 建立 Agent 應用工作室 →「建立空白應用」→ 展開「對於初學者」→ 選擇 Agent(「具有推理和自主工具使用的智慧代理」),取名「百科調查員」。
  2. 寫「指令」提示詞Agent 的提示詞重點和聊天機器人不同——除了角色,更要告訴它每個工具該在什麼時機使用
    你是一位嚴謹的調查員。回答問題前,先判斷是否需要查證:
    需要百科知識時使用 Wikipedia 工具,
    需要最新資訊時使用 DuckDuckGo 搜尋工具,
    需要時間資訊時使用 time 工具。
    回答一律使用繁體中文,並在最後註明資料來源。
  3. 加入工具在「工具」區塊按「新增」,搜尋並加入 CurrentTime(可按「全部新增」一次加入五個時間工具)、Wikipedia 的 WikipediaSearch、DuckDuckGo 系列工具。
建立 Agent 應用的對話框
圖 4-1建立 Agent。注意類型要選「Agent」而不是聊天助手——差別就在能不能自主使用工具。
Agent 編排頁,已加入十個工具
圖 4-2設定完成的樣子:提示詞寫明工具使用時機,「工具」區塊顯示 10/10 啟用(5 個時間工具+Wikipedia+4 個 DuckDuckGo 工具)。每個工具可以個別開關。
注意
編排頁的修改不會自動保存!設定完提示詞和工具後,務必按右上角「發佈 → 發布更新」。沒發佈就重新整理頁面,所有設定會直接消失(我們親身踩過這個坑)。

4.4驗證工具:一個一個測

Agent 建好後,先用能明確對應到單一工具的問題逐一測試,確認每個工具都真的會被呼叫。

4.4.1測試時間工具

Agent 呼叫時間工具回答日期時間
圖 4-3問「今天是幾月幾號、星期幾?現在幾點?」——Agent 自己呼叫了時間查詢與星期計算兩個工具,並照指令附上了資料來源。LLM 本身並不知道現在時間,這個答案完全來自工具。

4.4.2測試 Wikipedia 工具

Agent 呼叫 wikipedia_search 回答珍珠奶茶起源
圖 4-4問「用維基百科查珍珠奶茶的起源」——回覆上方出現「已使用 wikipedia_search」的標記,這就是 Agent 的行動足跡。答案末尾同樣註明了來源(zh.wikipedia.org)。
小技巧
點開回覆上方的「已使用 ○○○」標記,可以看到 Agent 傳給工具的參數與工具回傳的原始資料——除錯 Agent 的第一手線索。如果 Agent「該用工具卻不用」,通常是指令裡的使用時機寫得不夠明確。

4.5工具串接:讓 Agent 組合技

Agent 真正的威力在於一個任務用上多個工具。試試這些需要組合的問題:

觀察回覆上方的工具標記,你會看到 Agent 依序呼叫多個工具——這種「自主規劃執行順序」的能力,就是 Agent 與普通聊天機器人的分水嶺。

4.6多模態:讓 Agent 看得見

在編排頁面打開「視覺」開關(記得發佈),發布後的應用就能接收圖片:使用者上傳照片、截圖、圖表,Agent 用模型的視覺能力理解內容,再搭配工具處理。同理,打開「文件」開關即可接收 PDF 等文件檔。

典型玩法:上傳一張菜單照片問「幫我挑三道不辣的菜」、上傳報表截圖要求「總結重點並搜尋產業平均值比較」。我們會在第 8 章的聊天流中,完整實作一個支援圖片與文件上傳的多模態應用。

4.7本章回顧

Agent 靈活但不可控——它自己決定流程。當業務需要「固定的多步驟處理」時,我們需要另一個武器:下一章的 Workflow。