Agent:給只會出一張嘴的天才
裝上手腳的技術
一小時,搞懂 AI Agent 到底是什麼生物。上完這堂課,「Agent Loop」「tool use」「function calling」 這些名詞會從咒語變成常識——而且你會終於看懂:你每天使喚的 Claude Code, 跟聊天視窗裡的 ChatGPT,根本不是同一種東西。
第 1 章 · 開場破題密室裡的天才顧問
先想像一個場景:
有一位地表最聰明的顧問,法律、醫學、程式、滷味配方樣樣精通。 但他被關在一間密室裡——沒有窗、沒有網路、沒有電話, 門上只有一道窄窄的縫,紙條進、紙條出。 他沒有手可以幫你按按鈕,沒有腳可以幫你跑腿,沒有眼睛可以看外面的世界。 他的全部能力,就是讀你遞進去的紙條,然後寫一張紙條遞出來。
這位顧問,就是 LLM(大型語言模型)。文字進、文字出,就這樣,沒有別的了。
他回紙條:「好的!訂機票的步驟如下:
第一步,打開訂票網站……」
然後機票並不會出現。
注意,他不是不聰明——他寫的攻略可能專業到讓旅行社失業。 問題是他只能用嘴巴回答,不能動手做事:
- 他碰不到真實世界。查不了即時航班、讀不了你的檔案、按不了任何一個按鈕。
- 他看不到結果。你照他的攻略去訂票,訂成功還是失敗,他毫不知情。
- 他一次只答一回合。紙條出去,工作結束。他不會追蹤後續、不會主動修正。
那怎麼辦?很多人以為答案是「等一個更聰明的模型」。錯—— 再聰明一百倍的顧問,關在密室裡還是只能寫攻略。 真正的解法方向完全不同:
給這位顧問裝上手腳(可以動手操作的「工具」)、 裝上眼睛(可以觀察操作的結果)、 配上記事本(記得剛剛做到哪一步), 然後允許他反覆行動:查一下 → 看結果 → 決定下一步 → 再做一下…… 直到任務完成。這一整套「顧問+手腳+眼睛+記事本+反覆行動」組成的系統, 才叫 AI Agent。
整堂課抓住這一句就夠了:「Agent = LLM + 工具 + 迴圈」。 工具讓它能做事(第 2 章),迴圈讓它能把事做完(第 3 章)。 我們一章一章拆。
第 2 章 · TOOL USE只出一張嘴,也能做事的方法
等等——剛剛不是說 LLM 只能文字進文字出嗎?那「裝上手腳」是怎麼裝的? 難道工程師真的改造了模型,讓它長出 USB 接口?
沒有。這裡藏著全課最漂亮的一個把戲: 模型從頭到尾還是只會輸出文字——但我們在門外雇了一位助理,照著紙條上的指令做事。
密室 2.0:服務型錄 + 門外助理
我們對密室做兩個升級:
- 📖 給顧問一本「服務型錄」——裡面列著他可以點的服務: 「查航班(日期、目的地)」「讀檔案(路徑)」「執行程式(指令)」…… 每項服務都寫清楚名稱和需要填的欄位。
- 🧍 門外站一位不聰明但超可靠的助理——顧問只要在紙條上 按照約定格式寫下「我要點哪個服務、參數填什麼」, 助理就真的去做,做完把結果寫成紙條遞回密室。
於是「訂機票」這件事,變成一場紙條接力賽:
這就是 tool use / function calling 的全部真相:
- 模型「說」它想做什麼——輸出一段格式化文字(工具名+參數),這叫工具呼叫。
- 系統「做」那件事——外面的程式碼才是真正碰檔案、打 API、跑指令的人。
- 結果「餵」回給模型——執行結果變成文字塞回對話,模型看著結果決定下一步。
是開發者。型錄上有什麼服務,是寫 Agent 的人決定的—— 給它「讀檔案」工具它才能讀檔案,給它「發推文」工具它才能發推文(求你三思)。 模型再聰明,也點不了型錄上沒有的菜。 這也是為什麼安全邊界清楚:Agent 能闖的禍,上限就是你給它的工具清單。
第 3 章 · AGENT LOOP轉起來!跟拍一場修 bug 實錄
有了工具,還缺最後一塊拼圖。想想看:訂機票要「查航班 → 看結果 → 選一班 → 訂位 → 確認訂單」, 修 bug 要「讀 code → 找病因 → 改 code → 跑測試 → 看過不過」—— 真實任務從來不是一步完成的,而是一連串「做了才知道下一步」的決策。
所以 Agent 的心臟是一個迴圈,術語叫 Agent Loop:
一直轉,直到任務完成(或達到終止條件)。
口說無憑,直播一場。任務:「使用者回報結帳按鈕壞了,幫我修好這個 bug。」 按「下一步」,全程跟拍一隻編碼 Agent 怎麼轉這個迴圈——注意看它總共轉了三圈。
這跟 Chatbot 差在哪?差在誰負責「跑完全程」
同一個任務丟給純聊天機器人:「結帳按鈕壞了怎麼辦?」它會回你一篇 〈按鈕失效的十大常見原因與除錯建議〉——寫得非常好,然後換你去做全部的事: 你自己開檔案、自己對照、自己改、自己測、有問題再回來問。 迴圈還是存在,只是轉迴圈的人是你。
| 比較 | 💬 Chatbot(一問一答) | 🤖 Agent(迴圈) |
|---|---|---|
| 一回合做多少事 | 回答一次就結束 | 自主連續執行多步,直到完成 |
| 能不能碰真實世界 | 不能,只能給建議 | 能,透過工具讀檔、跑指令、打 API |
| 看得到結果嗎 | 看不到你照做之後怎樣 | 每次行動後觀察結果,發現錯誤能自我修正 |
| 轉迴圈的人 | 你(人肉 Agent) | 它自己 |
迴圈什麼時候該停?三種情況:任務完成(測試全過、機票訂到)、 達到上限(轉了 50 圈還沒修好?先停下來,別把 API 額度燒成灰)、 卡關求助(需要刷卡密碼?該回頭問人類了)。 設計得好的 Agent 知道什麼時候該停、什麼時候該問; 設計得差的會在原地鬼打牆,一邊燒你的錢一邊充滿自信。
第 4 章 · 破除誤解ChatGPT 是大腦,不是 Agent
課上到這裡,該來拆除市面上流傳最廣的幾顆地雷了。 第一顆,也是最大顆的:「我有在用 ChatGPT,所以我在用 AI Agent。」
不是。ChatGPT、Gemini、Claude 這些名字指的是模型——那顆關在密室裡的大腦。 Agent 是「大腦+工具+記憶+迴圈」組裝出來的系統。 你在聊天視窗裡跟模型講話,就像隔著門縫跟顧問傳紙條:很聰明,但那不是 Agent, 是裸體的大腦。(現在的聊天 App 常會偷偷掛幾個工具,例如聯網搜尋—— 掛了工具和迴圈的那部分功能,才開始有 Agent 的成分。)
廚師比喻:手藝 vs 餐廳
模型是廚師的手藝,Agent 框架是整間餐廳。 一位主廚手藝再神,空有手藝變不出一頓飯—— 要有廚房設備(工具)、有食材動線和出餐 SOP(工作流程)、有訂位簿記得每桌客人點了什麼(記憶/上下文管理)。 同一位主廚,放進不同的餐廳,端出來的體驗天差地遠: 夜市攤位、五星飯店、外送雲端廚房——手藝一樣,系統不同,成品完全是三回事。
Claude Code、OpenClaw、Hermes Agent 這類東西,就是「餐廳」—— Agent 框架/產品。它們不是新的大腦,而是在模型之上組裝出來的整套系統: 決定給模型哪些工具、怎麼管理它的記憶、迴圈怎麼轉、什麼時候停。
🎮 動手實驗:同一顆大腦,三種身體
下面永遠是同一個模型。點一個「身體」,看它被裝進不同的工具+記憶+迴圈之後, 變成什麼生物——
🧠 同一顆大腦,裝進:
「Agent 是一種新的、更強的模型」——不是,Agent 是架構不是模型。
裡面那顆大腦可能就是你天天在聊的那顆。
「換更聰明的模型,Agent 就會變強」——只對一半。
大腦是天花板沒錯,但工具爛、記憶亂、迴圈設計差,再聰明的大腦也發揮不出來——
米其林主廚進了沒瓦斯的廚房,照樣端不出菜。這題嚴重到值得專開一章,就是下一章。
| 🧠 模型(Model) | 🤖 Agent | |
|---|---|---|
| 本質 | 會讀字、寫字的大腦 | 大腦+工具+記憶+迴圈的系統 |
| 例子 | GPT、Gemini、Claude(模型本體) | Claude Code、OpenClaw、Hermes Agent |
| 能做什麼 | 文字進、文字出 | 多步驟自主完成任務、與環境互動 |
| 誰打造的 | 模型公司訓練出來的 | 開發者(可能是你!)組裝出來的 |
第 5 章 · 好用的秘密為什麼有些 Agent 特別好用——關鍵不(只)是模型
你一定有這種經驗:兩個產品號稱用同一顆模型,一個順到起飛,另一個蠢到你想砸電腦。 大腦一樣,差在哪?差在「餐廳」的五個地方——這五項,才是 Agent 好不好用的勝負手。
① 工具設計的品質——手腳好不好使
工具不是越多越好,是越好用越好。好的工具像合手的菜刀:
名字一看就懂、參數簡單明確、回傳的結果乾淨好讀、失敗時的錯誤訊息講人話。
給模型一把「參數有十七個、錯誤訊息只回 Error: -1」的工具,
等於給主廚一把生鏽的雕花刀——大腦再聰明也只能猜。
② 上下文管理與記憶——記事本亂了,全亂
模型一次能「看在眼裡」的內容有限(context window)。 一場長任務下來,讀過的檔案、跑過的指令、犯過的錯堆積如山, 塞什麼、丟什麼、摘要什麼,是框架每一秒都在做的取捨。 管得好,Agent 轉到第 40 圈還記得最初的目標;管得差,第 10 圈就忘記自己為什麼站在這裡—— 像你走進廚房卻想不起來要拿什麼的那種感覺,但發生在每一步。
③ 錯誤重試與自我修正——跌倒了爬不爬得起來
真實世界充滿失敗:指令打錯、測試爆紅、API 超時。 好的 Agent 把失敗當成觀察結果,讀錯誤訊息、換個方法再來; 差的 Agent 要嘛當場放棄,要嘛用一模一樣的方式再撞五次牆。 「跌倒之後的第二步」,是 Agent 之間拉開差距最兇的地方。
④ 多步驟規劃能力——先拆解,再動手
大任務直接硬上必死。好的框架會引導模型先把任務拆成步驟、 邊做邊核對進度、發現方向錯了敢回頭重排計畫。 這一部分靠模型本身的聰明,一部分靠框架的流程設計——就像再強的主廚,也需要出餐順序表。
⑤ 與環境互動的深度——手腳伸得多深
能讀檔案,跟能「讀檔案+跑測試+開瀏覽器實際點點看+部署上線」是兩個世界。 Agent 對環境(檔案系統、終端機、瀏覽器、各種 API)的觸角越深, 能閉環驗證的事就越多——不用事事回頭找你,它自己就能確認「做完了、而且是對的」。
換更聰明的模型像換更大的引擎,但輪胎(工具)、油量表(上下文)、防滑系統(重試)、導航(規劃)、路權(環境權限)沒跟上, 引擎再猛也只是原地燒胎。評估一個 Agent 產品好不好,別只問它用哪顆模型—— 問它這五項做得怎麼樣。
第 6 章 · 學以致用你每天都在使喚 Agent(現在終於看得懂它)
這堂課不是通識課。你是 Vibe Coding 的人——你每天打開的 Claude Code 這類編碼 Agent, 就是本課所有概念的集大成。現在用新眼睛看一次它在幹嘛:
你說:「這個專案跑不起來,幫我修。」接下來發生的事——
- 它先讀你的 repo(觀察:用搜尋和讀檔工具摸清專案長相)
- 跑一次程式重現錯誤(行動+觀察:拿到真實的錯誤訊息,不是用猜的)
- 定位問題、動手改 code(思考+行動:編輯檔案工具上場)
- 跑測試驗證(觀察:紅的就回去再修,綠的才敢說完成——迴圈在轉)
- 最後回報結果,甚至幫你 commit、部署(工具伸進 git 和終端機的深度互動)
每一步你現在都叫得出名字:工具呼叫、觀察結果、自我修正、終止條件。魔法褪下,剩下工程。
懂原理之後,你使喚 Agent 的姿勢會直接升級
- 下任務要給「可驗證的終點」。「幫我修到
npm test全過」遠勝「幫我看看」—— 你在幫它定義終止條件,迴圈才知道何時該停。 - 出錯時看它的行動軌跡,不是只看結論。它讀了哪些檔?跑了什麼指令?在哪一圈開始鬼打牆? 八成的問題出在某次工具結果被誤讀——會看軌跡,你就會 debug 你的 Agent。
- 餵對上下文。它不是全知的——repo 裡有 README、有慣例文件,主動叫它先讀; 關鍵背景直接講清楚,別讓它把額度花在盲目探索上。
- 別迷信換模型。覺得 Agent 笨,先檢查:任務給得夠不夠清楚?工具夠不夠?上下文塞對了嗎? (第 5 章的五個關鍵,就是你的檢查清單。)
「它怎麼會自己去讀檔案?」→ tool use:模型說要做,系統照做,結果餵回去。
「它怎麼知道自己修對了?」→ 迴圈裡的觀察步驟:跑測試、看結果、不對再來。
「同一顆模型為什麼這家的好用?」→ 系統層五關鍵:工具、上下文、重試、規劃、環境。
「任務下了它做不完/停不下來」→ 檢查你有沒有給清楚的終止條件。
「這產品到底算不算 Agent?」→ 看有沒有「工具+迴圈+自主多步驟」,不是看名字。
第 7 章 · 結業考畢業前,五題定生死
全對的人,從此聽到「Agentic」不再肅然起敬。答錯也沒關係,解釋就在下面。
🎓 帶走這 5 句話(其他都可以忘)
- Agent = LLM + 工具 + 迴圈:大腦負責想,工具負責做,迴圈負責做到完。
- 模型永遠只輸出文字;tool use = 模型說要做什麼,系統真的去做,結果餵回來。
- Agent Loop:觀察 → 思考 → 行動 → 觀察結果 → 重複,直到完成或觸發終止條件。
- ChatGPT/Claude 是模型(大腦);Claude Code 這類是Agent(系統)——同一顆大腦能裝進很多身體。
- Agent 好不好用,看工具、上下文、重試、規劃、環境互動五件事,不是只看那顆腦。
你可以微笑著說:
「就是給一個被關在密室裡、只會出一張嘴的天才,
裝上手腳和眼睛,再教他做完一件事之前不准下班。」