Agent
一句話定義
Agentic system 的一種——LLM 動態決定自己的流程與工具使用,並維持對「如何完成任務」的控制;對比於 workflow(走預定義 code path)。
核心要點
Workflow vs Agent(Anthropic 的分法)
- Workflow:LLM + tools 走預定義 code path;流程固定可預測
- Agent:LLM 動態決定流程;可規劃、自我糾正、向環境請求資訊、在 checkpoint 暫停
自主程度光譜(從固定到完全自主)
「動態決定」不是二元,而是光譜。同樣是「動態」,決策範圍不同產生不同 pattern:
| 級別 | Pattern | 動態決定的是什麼 | 受限於什麼 |
|---|---|---|---|
| 0 | 直接呼叫 LLM | 無——一次輸入一次輸出 | 任務必須單步可解 |
| 1 | Routing | 把輸入分類到哪個後續處理 | 後續處理本身固定 |
| 2 | Parallelization | 無——子任務在啟動時已知 | sectioning / voting 結構固定 |
| 3 | Prompt-Chaining | 中間閘門可分支,但主鏈固定 | 主鏈是預定義 code path |
| 4 | Evaluator-Optimizer | 何時停止迭代 | 生成 / 評估角色固定 |
| 5 | Orchestrator-Workers | 子任務組成(看到輸入即時決定) | 合成策略固定,子任務只能在 worker 池內挑 |
| 6 | Agent(本頁) | 整個流程(規劃 / 工具選擇 / 何時停止 / 如何修正) | 環境的 ground-truth feedback + ACI |
Orchestrator-Workers vs Agent 的灰色地帶:兩者都「動態」,但 O-W 的決策只在子任務拆解這一層(合成是 fixed),Agent 的決策遍及整個流程(包含「合成不滿意要不要重來」「要不要新增一個工具呼叫」)。O-W 仍歸 workflow;Agent 是 workflow 之外的另一類。光譜上越往右,預測性越低,需要的 ACI 與環境回饋越強。
Stanford / Andrew Ng 語境的三層自主性
2026-05-13-Stanford-AI系統課程 以 Agentic-Workflow 角度補上另一種 production-friendly 分法:
| 層級 | 設計 | 實務意義 |
|---|---|---|
| Hardcoded steps | 步驟順序寫死,LLM 只處理部分判斷 | 最安全、最可預測,但彈性最低 |
| Hardcoded tools | 工具集固定,agent 自行決定步驟與工具組合 | 常見 production 起點:可控又有彈性 |
| Fully autonomous | agent 自己決定步驟,甚至自己寫工具 / code | 能力最強,但風險最高,需要更強 guardrail |
這個分法不是取代上方 0-6 光譜,而是從產品控管角度提醒:先固定工具邊界,再讓 agent 在邊界內規劃,通常比一開始追求全自主更健康。
何時用 agent
- 問題開放、步驟不可預測、無法 hardcode 路徑
- 需要對 model 決策有信任
- 需要環境提供 ground-truth feedback(測試、編譯、API 回應)
何時不用 agent
- 任務定義良好 → 用 workflow(5 個 pattern 之一)
- 簡單任務 → 直接呼叫 LLM
- 「先用最簡單的解法,只在必要時增加複雜度。」
對話式 Agent 的兩個觸發信號(2026-05-02-Agent神文沒告訴你的事 整理)
多步驟 ≠ Agent;狹義對話式 Agent 通常只有兩個觸發信號:
- 流程必須讓人參與——不管是被動(模型能力達不到 / 需人指導)還是主動(需要人的偏好)
- 功能選項多到前端會指數型增長——不能或不想為每種功能加單獨前端時,才需要 Agent 作為通用入口
反例:每出現一種新需求就加一個按鈕(一鍵重做 / 一鍵改風格 / 一鍵改顏色 / 一鍵換模板…)→ 最後產品變成飛機駕駛艙——這時才天然需要 Agent 通用入口。
判斷指標的反面:「用戶不需要在中間反覆參與,那你大概率不需要對話 Agent」——多步驟但中間不需用戶介入 = 確定性流程 = 用 chain workflow 即可(N8N / Diffie / 純 Prompt-Chaining 編排已夠)。
複雜度演化軸(縱向時序視角)
本節提供縱向時序視角,補位本頁前段 自主程度光譜 的橫向 pattern 分類;詳見 Agent複雜度演化。
- 橫向(既有 7 級 pattern 表)回答:「你的任務該用哪個 pattern」
- 縱向(Agent複雜度演化)回答:「你的任務從小變大時該按什麼順序升級」
7 階段速覽(每階段都對應一個明確的觸發信號):
| 階段 | 升級觸發信號 |
|---|---|
| 0. API Call | 一句話可解 |
| 1. Workflow | 多步驟但中間不需用戶介入 |
| 2. 對話 Agent | 流程需人參與 / 功能選項指數爆炸(兩信號之一) |
| 3. 加工具 | Prompt 已到頂仍做不好——任務需要的能力它沒有 |
| 4. Context-Engineering | 工具 3-4 個後 Agent 持續性變差(注意力犧牲) |
| 5. Agent-Memory | 需傳遞不能改動的長內容(指針而非內容) |
| 6. Observability(Trace) | 系統複雜後 debug 困難 |
核心紀律:「不需要一上來就優雅,千萬不要讓優雅變成你 AI 系統設計路上的絆腳石」——AI Agent 是非確定性系統,在它上面再搭一層精緻架構等於是在不確定性上再疊加一層不確定性。詳見 Agent複雜度演化。
三大成功原則
- 維持簡潔(simplicity)
- 透過明確規劃步驟提升透明度(transparency)
- 用完善文件與測試打造好的 Agent-Computer-Interface(ACI)
Agent = LLM + Harness(Harness-Engineering 視角)
- AI Agent 的兩個成分:(1) LLM(Claude / Gemini / GPT;雲端 / 地端 / 開源 / 閉源)+ (2) Harness(其他所有支援 LLM 呼叫工具、管理 context、執行迴圈的程式 = 馬具)。
- 強化 agent 兩條路:(a) 改 LLM(pre-train / fine-tune)/ (b) 改 Harness(AGENTS.md / CLAUDE.md / 工具設定 / 工作流 / feedback 機制)。
- Harness Engineering 把 Agent 的「夠不夠聰明」議題從模型本身延伸到 harness 設計:「有時候模型無法完成任務不是能力不行,而是沒有好的 harness」——同一個 Gemma 4 2B 模型,加了不到 80 字的工作原則就從幻想者變正常 agent。
Context 視角下的 Agent = LLM 的守門人 / 經紀人
- LLM 是文字接龍、活在當下,且輸入長度有上限——Agent 攔截在 LLM 與外界之間,選擇給 LLM 看的內容(不能太長、也不能太短)。
- 這層工程化載體就是 Context-Engineering——演算法層形式
C = (P, M)+ 更新函式F;Agent 的工程性質很大程度上 = 設計 F 的策略。 - OpenCode 是 AI Agent 的 Nokia 時代代表(李宏毅 比喻)——這只是初代原型,未來會有更多進展。
- Sub-Agent 是 Agent 在自主程度光譜中的延伸:超越 Orchestrator-Workers 的固定合成,能動態決定「要不要新開一個 sub-agent」+「主 / 副 agent 之間怎麼切割任務」。
多 agent 協作
當任務需要多個專業 agent 互相協作時,單一 agent 的工具呼叫不足以描述整個系統。Agent2Agent 提供 agent 之間的能力發現、任務提交、狀態更新、訊息交換與工件回傳協議,讓 agent 可以作為 agent 互相合作,而不只是被當成工具呼叫。
兩個實證有效的領域
- 客戶支援:對話 + 工具整合(客戶資料、訂單、退款、ticket);resolutions 可量化
- Coding agents:解可被自動測試驗證的問題(如 SWE-bench、GitHub issue 解決)
與其他概念的關係
- 基礎元件:Augmented-LLM——agent 在 augmented LLM 之上加上自主規劃與迭代。
- 對照模式:5 個 workflow pattern——Prompt-Chaining、Routing、Parallelization、Orchestrator-Workers、Evaluator-Optimizer。其中 Orchestrator-Workers 距離 agent 最近(也含動態決定子任務的元素)。
- 緊密相關:Context-Engineering——agent 每一步都要決定 context window 該放什麼。
- 介面層:Agent-Computer-Interface——agent 與工具/環境的互動規範。
- 協議層:Model-Context-Protocol 負責 agent 連接工具 / 資料;Agent2Agent 負責 agent 之間協作。
- 整體工程化載體:Harness-Engineering——把 agent 的所有非 LLM 部分視為一層獨立可工程化的 Harness;本概念 = 「會動的東西」,Harness-Engineering = 「馬具」。
- 時間尺度延伸:Lifelong-AI-Agent——多 session 持續累積 + 能力隨人類成長的 agent。
相關來源
- 2026-04-28-Anthropic-Building-Effective-Agents
- 2026-04-28-Google-A2A-MCP
- 2026-05-02-Harness-Engineering駕馭工程 — Agent = LLM + Harness 拆解 + 同模型 / 不同 prompt 從幻想者變正常 agent 的具體實證
- 2026-05-02-AI-Agent-Context-Engineering系統化 — Agent = LLM 守門人 / 經紀人視角 + Sub-Agent 延伸自主程度光譜 + OpenCode 是 Nokia 時代代表的歷史定位
- 2026-05-02-Agent神文沒告訴你的事 — 對話式 Agent 兩個觸發信號(人需介入 / 功能指數爆炸)+ 縱向複雜度演化軸 7 階段(由 Agent複雜度演化 承接)+ AI Agent 是非確定性系統的反直覺核心命題
- 2026-05-13-Stanford-AI系統課程 — 補入 hardcoded steps / hardcoded tools / fully autonomous 三層自主性,以及客服 agent task decomposition case