VIBE CODING 新手村 · 第 4 課

AI Agent 使用:
從「會開」練到「開得穩」

上一課你搞懂了 Agent 是什麼生物;這一課教你怎麼把牠用得順手。 一小時之後,「context window」「compaction」「MCP」「Skill」這些名詞會從咒語變成你的日常操作—— 而且下次挑 coding agent 的時候,你會知道自己在挑什麼。

66 分鐘
課程總長
7 個章節
循序漸進
1 個儀表板
動手玩 context
0 行公式
保證看得懂
⏱ 12 分鐘

第 1 章 · CONTEXT 管理你的 Agent 有一張會坐滿的桌子

先建立一個貫穿全課的畫面:模型工作的時候,眼前有一張桌子。 你的指示、專案的檔案、對話的歷史、工具跑出來的結果——通通要攤在這張桌子上, 它才「看得到」。桌上沒有的東西,對它來說等於不存在。 這張桌子的正式名字,叫 context window(上下文視窗)

桌子的大小用 token 計算——token 是模型讀寫文字的最小單位, 你可以粗略想成「比字小一點的碎片」:一個英文單字大約 1~2 個 token, 一個中文字大約 1~2 個 token。桌子能攤幾個 token,是模型出廠就定死的硬上限

桌子有多大?主流模型的量級感

不用背精確數字(各家一直在改),抓住量級就好:早年的模型只有 4k~8k token(幾頁文件就滿), 現在主流模型普遍在 128k~200k token 這個級距(大約一本中篇小說), 部分模型已經推進到 100 萬 token 等級。聽起來很大? 一個中型專案的原始碼、幾輪來回的工具輸出,塞滿 200k 比你想像中快得多。

塞爆的那一刻,會發生什麼事?

桌子滿了,東西還一直來,只有三種下場(取決於系統怎麼設計):

殘酷真相:桌子大 ≠ 每個角落都看得清楚

🔍 Lost in the middle:中段視力衰退症

研究者發現一個尷尬的現象:就算內容全部塞得進去,模型對開頭和結尾的內容記得最牢, 對埋在中段的內容卻常常視而不見——術語叫 lost in the middle。 像你讀一份 300 頁的簡報:第一頁和最後一頁印象深刻,第 147 頁寫了什麼?誰知道。 所以「反正塞得下,全部塞進去就對了」是新手最常見的迷信—— 塞得下,不代表看得見。

而且,每一張桌面都是要錢的

API 按 token 計費:桌上攤的東西越多,每一輪的花費越高、回應越慢。 更陰的是「每一輪」三個字——對話式互動裡,之前的內容每輪都要重新攤上桌重新算錢。 塞了 150k 的垃圾上下文,代表你之後的每一句話都在為這 150k 買單。 大桌子是能力,不是免費午餐。

🎮 動手玩:Context 儀表板

口說無憑,看儀表。下面是一個模擬的 200k token 桌面, 平常它被四種東西瓜分:系統提示(Agent 的出廠說明書+工具清單)、 對話歷史(你們的來回)、工具輸出(讀檔、跑指令的結果), 剩下的才是可用空間。點一個情境,看看桌面被吃成什麼樣——

📊 選一個情境:

※ token 數為教學示意值,非真實模型即時計算。

💡 本章一句話

Context window 是有硬上限、越滿越貴越慢、而且中段會看不清楚的一張桌子。 所以「管理桌面」不是潔癖,是剛需——你剛剛在儀表板上看到的每一種爆桌姿勢, 下一章都有對應的解法。

✋ 隨堂快問「模型 context window 很大,所以把所有資料全部塞進去是最佳策略。」這句話的問題在哪?
三個代價一起記:(token 計費、每輪重算)、速度(越長越慢)、 注意力(中段視力衰退)。大桌子是空間,不是保證——這就是要「主動管理」的原因。
⏱ 12 分鐘

第 2 章 · 上下文管理桌子就這麼大,怎麼把日子過好

先講清楚分工:第 1 章講的是「牆在哪裡」——context window 的硬限制和物理機制; 這一章講「怎麼在牆內過日子」——實際的管理策略。 限制不會消失,但用對策略,同一張桌子能做完十倍的事。以下四招,由淺入深。

第一招:對話壓縮(compaction)——把流水帳換成便條

長對話裡真正需要「逐字保留」的內容其實很少。跑了 40 輪之後, 前 30 輪的價值大多可以濃縮成幾行:「使用者要做 X、已決定用方案 B、踩過的雷是 C」。 Compaction 就是讓模型把舊對話摘要成一段短文字,替換掉原文—— 桌面瞬間清出一大塊,代價是細節變粗。所以聰明的工具會讓你選時機: 在一個任務段落結束時壓縮,損失最小;在關鍵指令剛下完時壓縮,就可能把細節摘丟了。

實戰習慣:長任務進行中,感覺 Agent 開始「忘東忘西」,先懷疑是不是剛發生過一次壓縮—— 重要的約定,壓縮後值得再講一次,或者,寫進下面這招的「長期記憶」裡。

第二招:短期 vs 長期記憶——別把家規寫在便利貼上

兩種記憶,性質完全不同:

📌 判斷口訣

同一件事你發現自己第二次跟 Agent 講,就該寫進長期記憶檔。 「我們的 API 都用 snake_case」這種家規講一次寫一次,之後每個新對話它自動知道—— 這是所有上下文管理技巧裡投資報酬率最高的一招。

順帶一提,這份檔案不一定叫 CLAUDE.md——那是 Claude Code 的慣例名字。 業界還有一個更通用的名字叫 AGENTS.md,不少 agent 工具都認這個檔名; 有些專案甚至兩個都放,或取自己喜歡的名字。名字不重要,概念是同一個: 放在專案根目錄、每次開新對話都會被讀進來的那份說明書。

🗒️ 陽春但好用:自己養一份 memory.md

除了專案層級的 CLAUDE.md / AGENTS.md,你還可以自己養一份更個人的記憶檔, 隨便取名 memory.mdnotes.md 都行。做法陽春到不行: 每次任務結束,把「這次學到什麼、踩了什麼坑、跟 Agent 講好了什麼規矩」隨手記幾行進去; 下次開新對話,第一句就是「先讀 memory.md」——Agent 立刻接上上次的脈絡。

這就像護理站的交班筆記:值班的人換了,但筆記還在,新來的人翻一下就知道昨晚發生什麼事。 不用裝任何工具、不用任何設定,一個文字檔就搞定——這是所有「銜接記憶」技巧裡最好上手的一招。

第三招:RAG vs 直接塞——資料要用「檢索」還是「全上」

手上有一堆參考資料(文件庫、程式碼、知識庫),要讓 Agent 用得到,兩條路:

做法📎 直接塞進 prompt📡 RAG(檢索補充)
適合資料量小:幾頁到幾十頁大:塞不下、或塞了很浪費的量級
優點簡單粗暴、模型看得到全貌、不會漏檢只佔用「相關的那幾段」的桌面,省錢省注意力
缺點吃桌面、吃錢、大了之後中段失明多一套檢索系統要維護;檢索失準就答錯
口訣塞得下又需要全貌 → 直接塞資料庫等級的量 → 檢索,別硬塞

這不是二選一的宗教戰爭,是「資料量 × 是否需要全貌」的工程判斷。 十頁的規格書直接貼,兩百頁的知識庫上 RAG——第 1 課學過的 RAG,在這裡歸位成「上下文管理工具箱的其中一件」。

📡 想搞懂 RAG 到底怎麼運作?

這裡只講「什麼時候該用」,真正拆開「檢索怎麼找、向量資料庫怎麼配」的原理, 我們另外開了一堂免費課 RAG 入門課, 有興趣可以去那邊看。

第四招:Multi-agent 的上下文——傳「結論」,不傳「流水帳」

多個 Agent 協作時(主 Agent 派任務給子 Agent),上下文設計有兩條鐵律:

你會發現這其實就是好主管的帶人方式:交代任務給明確的目標和必要背景(不是轉寄整串信), 收報告要重點摘要(不是逐字錄音檔)。上下文管理,本質是資訊的管理學。

✋ 隨堂快問「專案的部署流程」這種每次對話都用得到的資訊,最該放在哪?
短期記憶(對話 context)會被壓縮、會蒸發;「每次都該知道」的資訊屬於長期記憶—— 寫進檔案,一勞永逸。compaction 是摘要不是保險箱,指望它保留關鍵細節是常見翻車點。
⏱ 10 分鐘

第 3 章 · MCP 介紹AI 世界的 USB-C

前兩章管的是「桌面上的資訊」;這章開始講「桌邊的工具」從哪來。 上一課說過,Agent 的能力上限就是它的工具清單——那問題來了: 誰來寫這些工具?每個都要自己做嗎?

標準化之前的黑暗時代:M × N 困境

想像你是 Agent 開發者,想讓你的 Agent 接上 GitHub、Slack、資料庫、Google Drive。 在沒有標準的年代,每一條線都要客製:你的 Agent 接 GitHub 寫一套接口, 別人的 Agent 接 GitHub 再寫一套;你要接十個服務就寫十套, 市面上 M 種 Agent × N 種服務 = M×N 套重複發明的輪子。 就像手機充電線的黑暗時代:每個牌子一種頭,出門要帶一包線。

🔌 MCP 的解法:規格統一,一插就通

MCP(Model Context Protocol,模型上下文協定)做的事就是 USB-C 做的事: 定義一套標準介面,規定「工具怎麼被描述、怎麼被呼叫、結果怎麼回傳」。 服務方照規格包一個「MCP server」,任何支援 MCP 的 Agent 都能直接插上用—— M×N 條客製線,變成 M+N 個標準接頭。寫一次,處處能插。

三個角色:Client、Host、Server

MCP 的架構用三個角色講完:

一句話串起來:Host 裡的 Client,按照 MCP 規格跟 Server 通話; Server 提供的工具,就這樣出現在模型的「服務型錄」上。 模型本人完全不知道 MCP 存在——它只看到型錄上多了幾道菜。

常見誤會:MCP 就是 function calling 嗎?

很多人把 MCP 跟「tool use / function calling」混在一起講,其實它們是兩層不同的東西。 Function calling 是底層機制本身:模型說「我要呼叫這個工具、參數是這些」, 你的程式真的去執行,再把結果餵回給模型——這個一來一回的動作,是所有 Agent 框架的地基, 不管有沒有 MCP 都存在。MCP 解決的是另一個問題:工具那麼多、散落在各家服務, 要怎麼標準化地「接」給 Agent 用,不用每家都重新客製一遍。

打個比方:function calling 是「打電話」這個動作本身——拿起話筒、撥號、對方接聽; MCP 是電話簿加上統一規格的電話線路,讓你不用為了打給每一家公司都自己拉一條專線。 MCP 沒有取代打電話,它只是讓「找到號碼、接上線」這件事變得標準化。 所以下次聽到有人說「MCP 就是 function calling」,你可以微笑搖頭:一個是動作,一個是接線標準。

📞 Function calling / Tool use🔌 MCP
解決的問題模型「怎麼呼叫」一個工具(呼叫的動作本身)工具「怎麼接上來」給 Agent 用(散布與整合)
誰負責寫模型廠商內建機制+你的程式處理呼叫結果MCP server 作者寫一次,所有支援 MCP 的 Agent 都能用
沒有對方行不行沒有 MCP 照樣存在,是 Agent 的地基沒有 function calling 就沒戲,MCP 建立在它之上
類比「打電話」這個動作電話簿+標準化的電話線路

菜市場逛一圈:常見的 MCP server

📁 檔案系統 — 讀寫本機檔案 🐙 GitHub — 開 issue、查 PR、讀 repo 💬 Slack — 讀訊息、發訊息 🗄️ 資料庫(Postgres / SQLite)— 下查詢 🌐 瀏覽器自動化 — 開網頁、擷取內容 🔍 搜尋服務 — 查即時資訊

社群目錄上還有幾千個——凡是「Agent 想碰的外部系統」,大概率已經有人包好了。

「裝」一個 MCP server 長什麼樣?

以「幫 Agent 接上資料庫」為例,流程大致四步(示意,不是可執行程式碼):

STEP 1 · 找到現成的 server 到 MCP server 目錄(社群維護的清單)搜「postgres」,找到官方或社群包好的 server 套件。
STEP 2 · 在 Host 的設定檔登記 { "mcpServers": { "db": { "command": "npx", "args": ["mcp-server-postgres"], "env": { "DB_URL": "…" } } } }
STEP 3 · 重啟 Host Host 啟動時拉起這個 server、透過 Client 握手,問它:「你會哪些工具?」
STEP 4 · 工具上架完成 模型的服務型錄多出 query_database(sql) 這道菜。你說「幫我查上週的訂單量」,它就會點這道菜。
⚠️ 順手的安全提醒

裝 MCP server = 給 Agent 加手腳。裝之前想一下:這雙手能碰到什麼? 能刪檔案的 server、能發訊息的 server,來源要挑可信的,權限給最小的。 上一課的鐵則在這裡復活:Agent 能闖的禍,上限就是你給它的工具清單。

⏱ 9 分鐘

第 4 章 · SKILL 介紹把 SOP 寫成 Agent 看得懂的秘笈

MCP 解決了「接工具」,但還有另一種東西工具給不了:做事的方法。 你一定遇過這種情況——Agent 明明有全部需要的工具,卻把一件你每週都做的事搞得七零八落, 因為它不知道你家的流程:部署前要先跑哪個檢查、報告要用什麼格式、哪個坑絕對不能踩。 每次都重新口頭交代一遍?那你就是在當人肉 SOP 復讀機。

📜 Skill:封裝好的操作知識

Skill 就是把一段可重複使用的操作知識(SOP、領域訣竅、工作流程)寫成文件, 讓 Agent 在需要的時候自動載入照做。 它通常就是純文字(一個 markdown 檔),不需要寫程式、不需要外部服務—— 像武功秘笈:平常收在書架上(不佔桌面),遇到對的情境才抽出來翻。 Claude Code 的 Skills 機制就是這個概念的代表實作。

一個 skill 裡面大概有什麼?

Skill 跟 MCP 差在哪?——「工具」vs「工法」

兩個都是「幫 Agent 加能力」,但加的東西本質不同:

🔌 MCP📜 Skill
本質接外部工具/資料源的協定封裝好的操作流程/領域知識(通常是純文件)
給 Agent 的是新的「能力」:以前碰不到的系統現在碰得到新的「方法」:工具早就有,現在知道怎麼用得對
需要什麼一個 server 程式在跑(本機或遠端)一份寫清楚的文件,不一定要任何外部服務
類比買一台新的廚房設備一張貼在設備旁邊的食譜+操作守則
誰都能做嗎要會寫程式(或用現成的)會寫文件就能做——這是它最親民的地方

兩者常常搭配:MCP 接上資料庫(能力),skill 記載「我們家查報表的標準流程與欄位慣例」(方法)。 設備+食譜,才是完整的廚房。

什麼情境值得寫成 skill?

💡 本章一句話

MCP 給 Agent ,skill 給 Agent 手感。 而且 skill 的門檻低到不可思議:你今天就可以把自己最常交代的那件事寫成一份文件—— 恭喜,你已經在做 Agent 工程了。

⏱ 6 分鐘

第 5 章 · 裝備迷思裝越多 MCP 和 Skill,Agent 就越強嗎?

學完 MCP 和 skill,很多人的第一反應是:那我裝爆不就好了?MCP server 裝二十個、skill 存五十份, 我的 Agent 豈不是十項全能?

抱歉,事實剛好相反。Agent 的能力不是裝備欄,不會線性疊加——裝過頭,還會倒扣。

MCP 佔的不是硬碟,是桌面

還記得第 1 章那張桌子嗎?每接上一個 MCP server,它提供的工具清單——每個工具的名字、參數、使用說明—— 全部都要攤在桌面上,Agent 才知道有這些工具可以用。裝一兩個沒感覺; 裝到十幾個,你的桌子有一大塊被「工具說明書」永久佔據,真正的任務內容反而要跟說明書搶位子。 你以為在給 Agent 加手腳,其實是在幫它的桌面堆雜物。

Skill 也佔位子,而且多一層「選錯」的風險

Skill 一多,Agent 每次都要先掃過所有 skill 的「什麼時候該用我」說明,才能判斷要載入哪份—— skill 越多,這層判斷越貴。更麻煩的是,如果你的 skill 們長得太像、描述又寫得模糊, Agent 會開始選擇困難:要嘛挑錯那份 SOP 照著做,做出你不要的東西;要嘛乾脆保險起見全部載入, 桌面直接塞爆。兩條路都是輸。

🎒 一句話重點

不是裝備越多越強,是背包越輕越好走。每一個 MCP、每一份 skill, 都在為它佔的桌面付租金——裝之前先想清楚,這房客付得起嗎。

實務口訣:裝之前先問三句話

✋ 隨堂快問小明幫他的 Agent 裝了 18 個 MCP server、存了 40 份 skill,覺得這樣 Agent 最強。以下哪個說法最正確?
背包的故事:每個 MCP 的工具說明書、每份 skill 的觸發說明,都要攤在桌面上佔位子—— 裝越多,留給任務的空間越少,skill 太像還會讓 Agent 選擇困難。 不是裝備越多越強,是背包越輕越好走。
⏱ 10 分鐘

第 6 章 · 怎麼選常見 AI coding agent 比一比

概念裝備齊了,來逛街。市面上的 AI coding agent 百家爭鳴, 但別急著問「哪個最好」——先看懂它們差在哪些維度,你才問得出對的問題。 以下挑幾個常見的代表選手(生態變化很快,抓定位就好,別背規格):

工具型態模型彈性大型 repo/終端機定價模式適合誰
Claude Code 終端機 CLI(另有 IDE 整合) 以 Claude 系列為主 多檔案與長任務能力強;terminal 是主場,原生跑指令、測試 訂閱方案或 API 計費 住在終端機裡的人、要跑長 agentic 任務的個人與團隊
Cursor 獨立 AI 編輯器(VS Code 系) 多模型可切換 編輯器內多檔案編輯順手,內建 agent 模式與終端機執行 訂閱制(含用量分級) 想要「IDE 裡一站搞定」體驗的個人開發者
GitHub Copilot IDE 外掛(VS Code、JetBrains 等) 提供多家模型選項 從行內補全起家,後續加入 chat 與 agent 能力;GitHub 生態整合深 訂閱制,企業方案成熟 團隊/企業導入、重度 GitHub 使用者
Windsurf 獨立 AI 編輯器 多模型可切換 主打 agentic 工作流(自動連續多步編輯) 訂閱制 定位近似 Cursor,偏好其 agent 流程設計的人
Cline VS Code 開源外掛 自帶 API key,模型完全自選 agent 模式可操作檔案與終端機,行為透明可審 外掛免費,付你自己的 API 費 想完全掌控模型與成本、偏好開源的開發者

※ 各家功能與價格迭代極快,此表抓的是「定位差異」;實際採用前請以官方當下資訊為準。

看懂表格的六個維度

挑選心法:三個問題,不是一個排名

「哪個最好」是錯的問題;「哪個適合我」才是對的。依序問自己三題:

  1. 我的工作流長在哪?整天活在終端機 → CLI 型;離不開 IDE 介面 → 外掛或 AI 編輯器。 逆著自己的習慣選工具,再強都用不久。
  2. 我要多少掌控權?想換模型、控成本、看得到它每一步 → 開源/自帶 key 的路線; 想開箱即用不折騰 → 整合度高的訂閱制產品。
  3. 誰要用?自己一個人 → 挑體驗最順的就對了; 整個團隊 → 權限、合規、管理後台的重要性瞬間超過個人手感。

答完三題,表格裡的候選人通常只剩一兩個——而且不管選了誰, 前四章的功夫(context 管理、記憶檔、MCP、skill)全部通用,練了不白練。

⏱ 7 分鐘

第 7 章 · 結業考畢業前,八題定生死

全對的人,從此可以理直氣壯地說自己「會用 AI Agent」。答錯也沒關係,解釋就在下面。

Q1.關於 context window,下列哪個描述是對的?
Context window 是那張「會坐滿的桌子」:硬上限、進出都算 token、每輪重新計費。 它也不是永久記憶——session 結束就清空,要留下來的東西得寫進記憶檔。
Q2.「lost in the middle」指的是什麼現象?
300 頁簡報的第 147 頁症候群。實戰意義:關鍵指示放開頭或結尾, 而且別迷信「全部塞進去」——塞得下不代表看得見。
Q3.對話壓縮(compaction)的主要目的是?
Compaction 是「流水帳換便條」:空間回來了,細節變粗了。 所以關鍵約定要嘛在壓縮後重講,要嘛一開始就寫進長期記憶檔——別把家規寫在便利貼上。
Q4.手上有 200 頁的內部知識庫想讓 Agent 回答相關問題,比較合理的做法是?
「資料量 × 是否需要全貌」的判斷題:十頁的規格書直接貼沒問題, 兩百頁的知識庫每輪全塞就是在燒錢餵中段失明。檢索補充(RAG)正是為這個量級而生。
Q5.MCP(Model Context Protocol)要解決的核心問題是?
USB-C 的故事:以前 M 種 Agent 接 N 種服務要寫 M×N 套客製接口, MCP 定一套標準後變成 M+N——服務方包一次 server,所有支援 MCP 的 Host 都能插上用。
Q6.Skill 和 MCP 的差異,哪個說法最到位?
「設備 vs 食譜」:MCP 給手,skill 給手感。 判斷法——需要接一個外部系統?MCP。需要 Agent 照你家的 SOP 做事?寫 skill,一份文件就搞定。
Q7.小明幫他的 Agent 裝了 18 個 MCP server、存了 40 份 skill,覺得這樣 Agent 最強。以下哪個說法最正確?
背包的故事:每個 MCP 的工具說明書、每份 skill 的觸發說明,都要攤在桌面上佔位子—— 裝越多,留給任務的空間越少,skill 太像還會讓 Agent 選擇困難。 不是裝備越多越強,是背包越輕越好走。
Q8.朋友問你「哪個 AI coding agent 最好」,根據本課心法,最好的回答是?
「哪個最好」是錯的問題。工具型態、模型彈性、repo/終端機能力、定價、適用情境—— 維度對上需求,答案自然浮現。而且不管選誰,context 管理、記憶檔、MCP、skill 的功夫全部通用。

🎓 帶走這 6 句話(其他都可以忘)

  1. Context window 是會坐滿的桌子:硬上限、越滿越貴越慢、中段還會看不清楚(lost in the middle)。
  2. 上下文管理四招:compaction 收桌面、長期記憶檔存家規、大資料用檢索別硬塞、multi-agent 傳結論不傳流水帳
  3. MCP = AI 世界的 USB-C:標準化工具接口,把 M×N 的客製地獄變成 M+N。
  4. MCP 給手,Skill 給手感:一個接外部能力,一個封裝操作方法——會寫文件就會寫 skill。
  5. 裝備不是越多越強:MCP 和 skill 都佔桌面,裝之前先問這週會用幾次、值不值得。
  6. 選 agent 問三題:工作流在哪、要多少掌控權、誰要用——挑「適合」,不挑「最強」。
工具一直換,牌子一直出,
但把 Agent 用得好的人,贏在同一件事:
「懂它的桌子有多大、給它對的工具、寫下你家的做事方法。」

想有人手把手帶你,把 AI 真的用進日常?

我是 Lewis,開了 AgentVibe 補習班,一對一線上教學,60 分鐘幫你裝好自己的 AI 助理——不用工程背景,只要會打字。

預約試上 →