Skip to content
系列
14 篇文章

CMU 11-768 AI Agents 導讀

逐講讀 CMU 11-768 AI Agents(Fall 2026):從 agent 迴圈、工具使用到 RL 訓練、credit assignment 與 reward hacking,依官方課序整理。

CMU 11-768 AI Agents 導讀:沒訓練過語言模型就不能選的 agent 課,三份作業從 harness、評測一路做到 RL

CMU 11-768 是 Graham Neubig 和 Daniel Fried 在 2026 秋季新開的 agent 研究所課:先修嚴格要求訓練過語言模型,23 講從工具呼叫、context、記憶、規劃講到 SFT、RL、沙盒與人機互動。前半學期三份個人作業依序做 harness、評測、訓練,後半學期是團隊研究專題;投影片與前 9 講影片已公開。

CMU 11-768 第 1 講:agent 是跑在迴圈裡的模型,難的是讓它真的做得好

11-768 第 1 講先把 agent 拆到最小:工具定義和工具呼叫都只是 token,harness 負責解析、執行、把結果塞回 context,ReAct 迴圈一跑就是 agent。接著 Neubig 列出好 agent 要的六種能力,每一種都能從訓練或 harness 兩條路補,並主張 agent 是由 harness、沙盒、推論、訓練、監控五塊組成的系統,不只是一個模型。

CMU 11-768 導讀 L2:Tool Use 怎麼從 token 變成動作——schema、受限解碼、MCP 與平行呼叫

Neubig 把 tool use 拆成五層:能力、機制、約束、介面、系統。工具呼叫本質上是模型吐出的 token,要靠 harness 解析、驗證、用 call ID 對回結果;受限解碼只保證格式不保證對;MCP 的真正價值是憑證中介;同一個模型換家 provider,工具呼叫錯誤率可以從約 15% 掉到 0.1% 以下。

CMU 11-768 導讀 L3:長 context agent 怎麼管記憶體——混合注意力、RoPE 外推、prompt cache 與 compaction

Agent 每一步都把整段歷史重新送進模型,五次呼叫就累積 80K token 的輸入;OpenHands 的 1,500 個 session 平均 7.8 萬 token,其中 37% 是工具結果。Neubig 分兩層處理:模型層靠「多層局部 + 一層全域」的混合注意力與長度課程撐起百萬 context;harness 層靠穩定前綴吃到便宜約十倍的 cache,再用保留錨點、外存證據的 compaction 撐過上限,而且 compaction 要用接續任務來評。

CMU 11-768 導讀 L4:Skills and Memory——agent 怎麼不從零開始

CMU 11-768 第 4 講把跨任務的經驗分成 episode、fact、skill 三種,存在 context 與權重之外的外部檔案裡:人寫的 skill 靠 SKILL.md 與漸進揭露載入,SkillsBench 上把平均通過率從 33.9% 拉到 50.5%;agent 自己歸納的 skill 寫成程式碼時可以先測再收,但換個網站就容易壞。最難的是生命週期:判官不準、檢索太多、技能庫膨脹,每一段都會吃掉收益。

CMU 11-768 導讀 L5:Planning——agent 什麼時候該先想清楚,什麼時候該邊做邊改

CMU 11-768 第 5 講把 agent 的計畫定義成「針對這個任務、可被檢查和修改的未來行為表示」,並用四個理由決定要不要加計畫結構:模組化、環境回饋、長時程、控制。講者 Fried 自己的 MACU 用管理者拆出 DAG、平行派子 agent,在 Odysseys 上把成功率從 8.5% 拉到 34.0%;在 OSWorld 子集上,完全不規劃是 25.0%,只給初始 DAG、之後不准改是 27.8%,允許改 10 次升到 58.3%。

CMU 11-768 導讀 L6:Coding Agents——從補一行程式到修完整個 repo

Neubig 的 L6 把 coding agent 拆成三層:先把模型訓練成會寫程式(預訓練、中訓練、infilling、測試獎勵的 RL),再用 localize–edit–verify 迴圈和一套編輯工具讓它改 repo,最後用 SWE-bench 類的可執行環境評測與訓練;修 bug 只佔開發者一天的 15%,下一步是測試、CI、維護這些外迴圈任務。

CMU 11-768 導讀 A1:親手寫一個 agent harness——同一個 ReAct 迴圈,修 bug、壓上下文、下西洋棋

CMU 11-768 第一份作業要你從空白的 ReAct 迴圈做起:先讓 CodeAgent 用 bash 修好一個西洋棋 app 的 bug,再加上下文壓縮去修一題 SWE-bench,最後讓同一個迴圈變成下棋的 ChessAgent,並用 simulate_move、run_python 與 skill 做兩步搜尋;100 分全部靠離線重播 patch 與軌跡評分。

CMU 11-768 導讀 L7:Computer Use Agent 怎麼看螢幕、怎麼評分、怎麼訓練

JY Koh 這講把 computer use agent 拆成三件事:評測從單步點擊(ScreenSpot-Pro、Mind2Web)一路走到程式驗證終態(WebArena、OSWorld)、VLM 評審與長時程 rubric(Odysseys、OSWorld 2.0);模型就是吃「截圖+動作」交錯歷史的 VLM;訓練走預訓練 grounding → SFT 模仿人類與合成軌跡 → 在可重置的模擬環境做 RL。

CMU 11-768 導讀 L8:Agent 的 SFT 怎麼做——loss mask、軌跡挑選、資料格式與交棒給 RL

Yueqi Song 這講把 agent SFT 拆成六個決定:loss 只算 assistant token(停止 token 也要算)、挑哪些軌跡(通過測試的也會教壞模型,換老師、加新任務比多抽樣有用)、用 Agent Data Protocol 統一格式、訓練時注意 packing 與 template drift、用實際 harness 評估,以及 SFT 要為接下來的 RL 選 checkpoint,而不是訓到自己最好。

CMU 11-768 第 9 講:RL 基礎——policy gradient 就是 SFT loss 乘上一個權重

Daniel Fried 用 1 到 16 猜數字當例子,把 RL 講成 SFT 的延伸:先點出 SFT 的三個缺口(任務不對齊、學不了失敗、沒見過自己的錯),再依序推出 ReST、REINFORCE、baseline 與 GRPO/DrGRPO——四者都是對 agent 自己產生的 token 算 log 機率,差別只在每個 token 乘上的權重。

CMU 11-768 導讀 L10:Deep Research Agent 怎麼評、怎麼訓、怎麼檢索

Akari Asai 的 L10 把 deep research agent 拆成三塊:評測要補齊搜尋難度、領域專業、長答案品質與引用支持四個缺口;訓練走 mid-training → SFT → RL,長答案用 DR Tulu 的演化式 rubric 當 reward;檢索要讓 retriever 看到 agent 的推理,AgentIR-4B 在 BrowseComp-Plus 搭 Tongyi-DR 拿到 68%。

CMU 11-768 第 11 講:進階 RL 演算法——credit assignment、穩定更新、reward hacking 與蒸餾

Graham Neubig 用一個修 bug 的 coding 任務,把第 9 講的 policy gradient 推到實戰:用 critic、GAE 或 PRM 把功勞分給個別回合,用 importance ratio 與 clipping 處理非同步 RL 的過期資料,並把 PPO、GRPO、CISPO、GSPO、DAPO 收成一張對照表;最大的篇幅留給獎勵本身——verifier 誤判、reward hacking 與探索崩塌,最後以 on-policy 蒸餾收尾。

CMU 11-768 導讀 A2:替資料視覺化 agent 寫評分器——四類錯誤、MCC 與 Harbor 驗證器

11-768 的 Assignment 2 要學生只用一個固定的 Qwen3-VL-30B-A3B 當裁判,替資料視覺化 agent 的每一次執行判四類錯誤,並用四類 MCC 的平均在私有測試集上評分(占作業 30%);後半還要把自己出的題包成 Harbor 任務,寫一個被驗證器擋下、一個騙過驗證器的錯誤解。它的主題是:評分器就是之後 RL 的 reward。