在 Agent 實作裡,你一定會遇到兩個很現實的挑戰:
話不多說,我們直接進入今天的內容 (ง •̀_•́)ง
一個實用的 Agent,絕對不會只靠「一把螺絲起子」。
舉個例子,它可能同時具備:
如果沒有路由機制,Agent 可能會亂槍打鳥,或者乾脆「想像」一個答案出來。
因此,我們需要 意圖識別 (Intent Recognition) + 工具路由 (Routing):
這樣,Agent 就能做到「聽得懂 → 選得對 → 回得準」✨。
想要讓 LLM 正確使用工具,關鍵就是 清楚的工具說明。
常見做法是:
範例:
你可以使用以下工具:
1. get_weather(city):查詢天氣
2. get_stock_price(symbol):查詢股價
3. calculator(expression):數學計算
請先判斷使用者意圖,若需要工具則輸出 JSON:
{"intent": "weather", "tool": "get_weather", "args": {"city": "Taipei"}}
這樣設計的好處是:模型能明白 工具的邊界,避免濫用或亂叫。
在實務中,意圖判斷最好不要全靠 LLM。比較穩健的做法是 規則 + 模型混合:
另外還要考慮:
這樣的路由設計才能兼顧 高效 + 精準。
就算路由判斷正確,工具還是有可能「出錯」:
這時候,系統不能直接「爆掉」,而是要:
這些做法能確保即使單一工具掛掉,系統也能「活下來」。
錯誤處理做好了,但還得顧及 使用者體驗:
這樣能把「失敗」變成「可理解的等待」,而不是讓人直接放棄使用。
最後一個重點:不要讓整個 Agent 因為一個工具掛掉而全面崩潰。
常見策略:
目標很單純:就算部分功能失效,整體體驗仍然可用。
在設計 Agent 的時候,除了「工具選擇」與「錯誤處理」,其實 Prompt 本身的寫法 也會大幅影響穩定性與體驗。常見的有兩種路線:
這類寫法會在系統層面定義:角色、職責、工具邊界、安全限制。
這類方式會賦予 Agent 一個 persona(背景、風格、口頭禪),讓互動更有情感與品牌特色。
最穩妥的設計是:
這樣,你的 Agent 才能同時兼具 專業的「大腦」 與 溫暖的「靈魂」 ✨
今天我們把兩個關鍵主題放在一起:
這就像打造一台飛機:
路由系統 是導航,讓飛機飛對方向;
錯誤處理 是保護機制,確保就算一個引擎熄火,飛機也能安全降落。
寫 Agent 不怕它笨,怕的是它一旦出錯就「死當」。
只要做好 路由 + 錯誤處理,你的 Agent 就能又聰明、又可靠,真正能「上線服務」而不是只能「實驗室展示」。
Prompt 並沒有固定格式,我通常都是依照功能需求去寫。
這幾篇看下來,你應該對 Prompt 已經超熟悉了吧?在座的各位都是 Prompt 大師啦 (๑•̀ㅂ•́)و✧
今天就先到這裡,我們下一篇見~(´∀`)♡