建立 AI Agent,
真正困難的往往不只是模型
要建立一個真正可以執行工作的 AI Agent,選擇模型其實只是其中一步。
更多工作通常發生在模型之外:定義任務、連接工具與資料、設計工作流程、管理記憶與權限,以及確保每一步都能夠被測試和追蹤。
以下是我在實際設計 AI Agent 時,會採用的一套工程框架。
模型只是系統的一部分
5%|模型
模型主要影響 Agent 的理解、推理及生成能力。需要考慮:
- 推理能力
- Context Window
- Tool Calling
- Multimodal 能力
- 速度
- 成本
95%|系統工程
真正影響 Agent 能否穩定工作的,往往是模型周邊的設計:
- Agent 負責什麼
- 可以取得哪些資料
- 可以使用哪些工具
- 如何拆解及執行任務
- 哪些操作需要人工批准
- 失敗時如何處理
- 如何記錄及評估結果
「5% / 95%」並不是精確比例,而是我用來理解 Agent 系統的一個簡化框架。
建立 Agent 的九個步驟
- 01
定義目的與範圍
首先需要決定 Agent:
- 要解決什麼問題
- 服務哪些使用者
- 什麼結果算成功
- 哪些事情不應處理
如果 Scope 不夠清楚,後面的 Prompt、Workflow 和 Evaluation 都會較難準確設計。
- 02
設計 System Prompt
定義 Agent 的角色、規則及決策邊界:
- 如何理解任務
- 哪些規則必須遵守
- 什麼情況需要確認
- 什麼情況必須停止
- 什麼情況需要交給人工
System Prompt 可以理解為 Agent 的 operating rules。
- 03
選擇模型
根據實際任務選擇模型,而不只是單純選擇最大或最新的模型。
主要考慮:
- 推理能力
- Context Window
- Tool Calling
- Multimodal
- Latency
- Cost
目標是在品質、速度及成本之間取得合適的平衡。
- 04
接入工具
如果 Agent 只能生成文字,它的能力仍然會比較接近傳統 Chatbot。
真正讓 Agent 能夠執行工作的,是不同工具的接入:
CRM API · Gmail MCP · Calendar · Google Sheets · Database · Internal API
Agent 可以根據任務需要,選擇並調用合適的工具完成操作。
- 05
設計記憶
決定 Agent 應該記住什麼,以及需要保留多久。
例如:
- 當前對話
- 任務進度
- 使用者偏好
- 過往處理紀錄
- 長期業務狀態
同時亦需要考慮資料私隱及 retention。
- 06
接入企業知識
企業 Agent 不應只依賴模型本身的公開知識。
我會建立較受控的知識來源,例如:
SOP · Policy · FAQ · Product Documentation · Internal Knowledge Base
讓 Agent 可以先搜尋較可信的資料,再產生答案或採取行動。
- 07
設計工作流程
這通常是 Agent 很核心的一部分工程工作。
需要定義:
- 任務如何開始
- 每一步如何排序
- 工具失敗如何重試
- 什麼情況需要人工批准
- 多個 Agent 如何交接
- 任務失敗如何 recovery
Agent 的價值不只是「理解」,而是能夠相對可靠地完成一連串操作。
- 08
設計使用介面
最後需要考慮 Agent 應該如何進入使用者原本的工作流程。
例如:
Chat UI · Web App · WhatsApp · Teams · Slack · Enterprise Portal
一個好用的 Agent 未必一定需要一個新的 App。
很多時候,更重要的是讓它出現在使用者本身已經工作的地方。
- 09
測試與評估
Agent 是否「好用」,不應只透過一次 Demo 判斷。
我會建立固定測試集,持續量度:
- Task Success Rate
- Accuracy
- Tool Success Rate
- Latency
- Token Usage
- API Cost
- Safety / Permission
每次修改 Prompt、模型、工具或 Workflow,都重新執行同一組測試。
這樣會比較容易判斷系統是真的改善了,還是只是產生了不同的結果。
一個 Agent 如何完成任務
假設使用者輸入:
請幫我跟進上星期仍未回覆的客戶。
Agent 背後並不只是生成一句答案。
它可能會完成一整條 workflow。
Task #A1042
- 10:32:14User Request
收到跟進客戶的要求。
- 10:32:16Planning
Agent 將任務拆成:查詢客戶 → 準備 Follow-up → 發送 Email → 更新 CRM
- 10:32:22CRM API
找到 8 位仍未回覆的客戶。
- 10:33:08Gmail
生成並發送 8 封個人化 Follow-up Email。
- 10:34:02CRM Update
更新客戶 Follow-up Status。
- 10:34:02Response
向使用者確認任務已完成。
但完成任務還不夠
如果 Agent 做錯了,我需要知道:哪一步錯了?
因此 Production Agent 必須具備 Observability。
我需要能夠重新查看:
Conversation
使用者當時說了什麼,以及完整 Context。
Agent Reasoning / Execution
Agent 選擇了什麼 Workflow。
Tool Trace
用了哪個工具、傳入什麼資料、返回什麼結果。
Performance
Latency、Token Usage、API Cost、Success Rate。
Governance
哪些 Tool 可以使用、哪些操作需要 Approval,以及誰修改過 Agent 的設定。
這些資料不只是用來 Debug。
它亦會成為下一輪 Evaluation 的基礎。
一個可以 Demo 的 Agent,和一個可以上線的 Agent,是兩回事
只證明 Agent 有一次成功完成任務。
要證明 Agent 可以持續、可靠、可控制地完成任務。
所以我設計 Agent 時,不會只問「應該用哪個模型?」。
我會問:
這些才是 Agent 從 Prototype 走到 Production 的關鍵。