我們要的是 AI Agent 還是一個Workflow?
去年看到這張圖,恍然大悟:
- 你很清楚第一步、第二步、第三步 — 那叫 workflow
- 當你知道起點跟終點,但中間怎麼走你不管 — 那叫 agency
我們每天在用 coding agent,常常走到不知道哪裡去,為什麼?因為 LLM 就是「文字接龍」,他真的.真的.沒有腦,就是機率,所以「可預測性」天生就不可控。
那反過來想,如果你每一步都確定了,你要的根本不是 AI,一個 Shell Script 就搞定了 (認真,寫個腳本就好)。
AI 真正賦能的地方,是你知道目標在哪、知道從哪出發,但中間那條路你「真的不知道」、「沒決定好」,這段讓 AI 做,幫助超.級.大.。
Imperative 跟 Declarative
學校教過 imperative 跟 declarative 的差別,以前我以為是 C/C++ Imperative code 跟 JavaScript Functional Programming 差別。
NO,我想太小了。
- Imperative — 你想上廁所,1)你站起來 2)走到走廊 3)打開廁所門 4)坐在馬桶上,上廁所
- Declarative — 你想上廁所,有一個人帶你去,你在馬桶上,上廁所
Workflow 就是 imperative — 每一步寫死;Agency 就是 declarative — 你定義目標,讓 AI 自己 find the way out。
真實情況是,工程上沒有人站在天平的兩端,一定是光譜上的某個 「最適合位置」,或是隨著時間不斷地調整。
Somewhere in Between
Anthropic 自己在 “Building Effective Agents” 也講了一樣的事 — 自主性是一個光譜,從 workflow 到 agent,漸進式增加複雜度或是降低複雜度。
怎麼讓它多少可控一點
有趣的是怎麼在「可預測性不可控」的情況下,讓他多少可控一點。做法愈來愈多,甚至是以前學過的東西:
- Divide and Conquer — 把任務拆小,每個小任務完成才往下走
- Human in the Loop — 每個階段跟 AI 確認結果,不符合預期就拉回來;控制「失控的時候能抓回來」
- Autonomous + TDD — 訂好測試標準,讓 AI 自己跑,跑完 test pass 再找我。我不盯過程,我盯結果
- Hook — 指定條件達成才做指定動作
- Memory Management — 開發過程寫到硬碟上,給別的 Session 讀取
blahblahblah
實務上我是這樣看一個 「任務」:
很確定要怎麼做 — 二話不說,直接把流程寫出來,叫他照做就好,「拆步驟,1.2.3.4..,每完成一步就先問我要不要往下」(Imperative,沒什麼好猶豫的)。
你不確定怎麼做 — 我第一件事是先跟 agent 聊聊天、談場戀愛:
- 先問問看:「我們的問題,你怎麼看?」
- 問一問以後,他進到我的 context 裡了
- 切到 planning 相關的 skill — superpower brainstorm 之類的
讓他幫我把路「大致」鋪好;有錢老爸的概念,就照做就對了,做了就發大財。
再進階一點:開始之前,先在另一個 agent session 聊一輪,搞清楚問題全貌,然後跟他說:「給我一個 prompt,讓另一個 LLM 來解這個問題」,再開新的 agent session,用剛剛拿到的 prompt 當作 planning 的起點。
俄羅斯娃娃。
(這時候華麗的詞彙就來了,Spec-Driven Development ,嗯嗯,都好,要比抽象,大家一起來 😂 把課程的錢省下來,看底層邏輯,如何😀👍
底層邏輯就是 context engineering
其實這整件事的底層邏輯就是 context engineering。
「LLM 就像 CPU,Context Window 就是 RAM,Context Engineering 就是 Code」 - 這是 2026 年的軟體工程
你不是在寫更好的 prompt,你是在管理「這一刻 AI 能看到什麼資訊」,所以與其每一步都 micromanage AI 怎麼走,不如把 context 餵好 — CLAUDE.md 寫清楚、task description 拆乾淨、相關檔案先餵進去。
讓他在對的框架裡自由發揮,這就是 declarative 的精神。
不過代價也是真的,有一個比喻:
- workflow 像走過一間燈火通明的房子,你看得到每一個房間、通道、轉角
- agent 像在你搭著前面的遊客的肩膀走鬼屋迷宮
在工程維護、Debug上,Agent 比普通 chat 多吃 4 倍 token,multi-agent 更是 15 倍 (Anthropic 的報告,我不知道這個數據怎麼驗證來的🤣
所以不是什麼都要 agent 的,拜託🙏🙏🙏 老闆們,留點活路給我們工程師。能 workflow 就 workflow,需要彈性的時候開 agent。
工程一直都不該是絕對值的,看任務決定解法。
That’s the whole point, come on!
以後世界應該是很多台機器人跟很多台投幣販賣機吧!
我想
