宅中地 - 每日更新
宅中地 - 每日更新

贊助商廣告

X

當學生怎麼學都學不會時,問題可能出在「教材」上

2026年08月20日 首頁 » 熱門科技

你有沒有遇到過這種情況:請了一個特別厲害的老師來輔導,老師講得頭頭是道,可你回去做題還是不會。問題出在哪兒?

有一種可能是,老師講的是"我是怎麼想到這個解法的",而你需要的是"你到底哪裡想錯了"。這是兩件完全不同的事情。

這正是當下 AI 智能體(能自己完成多步驟任務的大模型程序)領域裡一個挺尷尬的現狀。研究者們發現,讓一個能力較弱的 AI 智能體變強,光靠給它看"標準答案"或者"它自己的錯題本",效果都不太好。2026年8月,一篇叫做《SKILL-KD》的論文提出了一個新思路:與其單獨看學生做錯了什麼,或者單獨看老師做對了什麼,不如把兩者放在一起對比,專門找出"學生和老師之間那個具體的、能落地的差距",然後把這個差距變成一條可執行的規則,交給學生用。

這篇論文來自浙江大學、北京大學和阿里巴巴的聯合團隊,題目直譯過來是"技能知識蒸餾",聽起來有點繞,我們慢慢拆開講。

先搞清楚:這裡說的"技能"到底是什麼

在這篇論文的語境裡,AI 智能體(agent):能夠自主進行多步驟推理、調用工具、與環境交互來完成任務的大模型系統,比如能自己上網搜索、操作表格、玩文字遊戲的 AI 程序

不是靠單次問答解決問題的,而是需要走很多步:搜索資料、調用工具、拆解任務、檢查中間結果對不對。這些"怎麼走這幾步"的套路,就是論文裡說的技能(skill):可復用的、用文字描述的操作規則,比如"當表格里出現貨幣符號時,先解析成數字再計算",這類規則不需要重新訓練模型,只需要寫進提示詞裡給模型看

技能這個東西一直是 AI 智能體研究的熱門方向。此前的做法大體分兩條路:一條是讓智能體自己復盤,把自己走過的彎路總結成經驗,存到一個"記憶庫"里,下次遇到類似問題就翻出來看;另一條是找一個更強的模型做示範,把強模型的成功案例總結成技能,直接餵給弱模型用。

這兩條路聽起來都挺合理,但論文作者指出了一個容易被忽略的問題。

核心問題:證據不等於答案

先說第一條路,讓智能體自己總結失敗經驗。這裡有個邏輯漏洞。

如果一個學生做錯了一道題,僅僅盯著這道錯題看,能看出"哪裡錯了",但不一定能看出"應該怎麼做才對"。論文原話是,失敗的軌跡可能顯示智能體走錯了哪一步,但不會揭示是什麼缺失的知識或策略本來能帶來正確的那一步。

舉個具體的例子想像一下。假設一個學生解方程解錯了,卷子上寫著"移項時符號弄反了"。這句話是對的,但它只告訴你"你錯在哪兒",沒有告訴你"移項到底該怎麼處理符號"這個更深層的規則。真正缺的知識點,可能壓根不會在錯題卷面上體現出來,因為學生自己就不知道這個知識點存在,又怎麼能在總結里寫出來呢?

這就是為什麼論文說自我復盤存在天花板:它能發現的問題,永遠局限於"學生已經能意識到的問題",那些學生根本沒意識到自己不會的東西,是復盤不出來的。

再看第二條路,直接照抄強模型的示範。這條路的問題在於"太implicit",也就是太隱晦了。

一份優秀的解題過程,對寫這份過程的強模型來說是順理成章的,因為它有足夠的知識儲備去支撐每一步的跳躍。但如果直接把這份過程原封不動地總結成一條規則給弱模型看,弱模型可能壓根接不住,因為規則要麼寫得太抽象套不上具體情況,要麼隱含了弱模型根本不具備的前置知識。

這就好比讓一個剛學做飯的新手看米其林大廚的菜譜影片。大廚輕描淡寫地說一句"炒到差不多就行",這句話對大廚來說是幾十年手感的濃縮,可對新手來說完全是一句空話,因為"差不多"這個判斷標準,新手壓根沒有建立起來。如果不去彌合這個差距,直接把大廚的做法抄給新手,新手大概率還是做不出那道菜。

論文管這個現象叫做"隱式的教師示範"(teacher trajectory may be too implicit to be internalized)。

那要怎麼辦:把"對比"本身當成學習材料

SKILL-KD 的思路是,既然單看學生的錯、單看老師的對都不夠,那就把兩條軌跡放在一起比。

具體流程是這樣的。給定一個任務,先讓學生模型(論文裡叫 student,能力較弱、參數被凍結不做訓練的那個模型)自己去做一遍。

凍結(frozen):指模型的參數在整個過程中不發生任何更新,不做微調、不做強化學習訓練,唯一改變的是餵給它的提示詞內容

如果學生做對了,這事兒就翻篇了,不需要任何操作。如果學生做錯了,系統會讓教師模型(teacher,能力更強的那個模型)去做同一個任務,產出一條對照軌跡。

接下來就是關鍵的一步:不是把教師的軌跡直接總結成規則塞給學生,而是引入一個叫做"整合智能體"(consolidation agent)的角色,讓它把學生的失敗軌跡和教師的成功軌跡放在一起對比,專門去找兩者之間那個"能落地的差距"(actionable discrepancy),然後把這個差距濃縮成一條文字形式的技能補丁(skill patch)。

這裡有個細節挺有意思:論文特意強調,教師模型也不一定每次都能做對。就算教師這次也失敗了,對比兩條都失敗的軌跡依然有價值,因為可以看出兩者在哪一步開始分道揚鑣,這個分叉點本身就是有用的資訊。數據顯示,在學生失敗的案例里,教師只有 46.1% 的情況下能成功,但即便教師失敗,仍然有 38.5% 的被採納補丁是從教師失敗的軌跡里提煉出來的。這說明整合智能體真正關心的不是"誰做對了",而是"哪裡出現了有意義的分歧"。

光有補丁不夠,還得驗證補丁真的有效

這裡論文提出了整篇工作里我覺得最巧妙的一個設計:自適應技能蒸餾(Adaptive Skill Distillation)。

補丁寫出來之後,不能想當然地認為它就是對的,得拿去讓學生重新做一遍這個任務,看看學生這次能不能做對。

如果學生做對了,這條補丁就正式收編進技能庫。如果學生還是做錯,整合智能體會看著學生這次新的失敗軌跡,重新寫一版補丁,再讓學生試一次。這個過程最多循環 n 輪(論文裡默認設為 3 輪)。

這個設計背後的邏輯其實很樸素:一條規則寫得好不好,光靠人(或者另一個模型)拍腦袋判斷是不夠的,唯一可靠的檢驗方式是讓真正要用它的那個人去試一遍。

這就像教練教一個新手學游泳。教練示範了一遍蛙泳的動作要領,講得清清楚楚,可這不代表新手聽完就能游起來。真正可靠的做法是讓新手下水試一次,教練站在旁邊看他哪裡做得不對,再針對性地調整講解方式,再試一次。如果教練只是講完就假定學生學會了,從不下水看效果,那這套教學方法的可靠性完全無從談起。

論文用實驗數字驗證了這個循環的價值。在 Group 1 的設置下(學生模型是 Qwen3.5-4B,教師模型是 Qwen3.7-plus),第 0 輪(也就是學生第一次自己嘗試,還沒用上任何補丁)的訓練集平均成功率是 58.9%,經過第一輪補丁驗證之後直接跳到 67.7%,提升了近 9 個百分點。這說明"讓學生試一次再看效果"這一步貢獻了絕大部分的改進,後面第二輪、第三輪的提升就明顯放緩了,分別是 70.8% 和 72.7%。這符合邊際收益遞減的規律:大部分能解決的問題,第一次校準就能搞定,剩下的都是難啃的骨頭,需要更多輪次的打磨。

技能庫越用越亂怎麼辦:防漂移的整合機制

講到這裡還有一個問題沒解決。如果每次失敗都生成一條新補丁,久而久之,這個技能庫會變成什麼樣子?

論文給出的答案是:會變得又臭又長,還可能自相矛盾。這個現象論文裡叫做技能漂移(skill drift):指技能庫隨著不斷打補丁逐漸變得冗餘、局部過擬合,或者新補丁覆蓋掉了舊補丁里本來有用的內容,導致整體質量下降而不是提升

論文具體拆解出了三種漂移的表現形式,讀起來都挺真實。

第一種叫"案例特定漂移"(case-specific drift)。舉個例子,在 DocVQA(一個從文檔圖片裡讀取資訊回答問題的任務)里,有一條關於"數字要不要帶單位"的規則,被反覆修改:先是遇到"10毫克"這種情況就加上單位,後來遇到問題里已經寫明了單位(比如"多少千克")就改成去掉單位,再後來遇到貨幣又改一版。每次修改單獨看都合理,但問題是,如果整合智能體看不到這條規則之前經歷過哪些具體案例,它就只能根據眼前這一個新案例去調整邊界,邊界就會像牆頭草一樣跟著最後一個案例搖擺。

第二種叫"技能膨脹漂移"(skill-bloat drift)。在 SpreadsheetBench(表格操作任務)里,如果整合智能體看不到歷史證據,最後攢出來的技能庫會有 50 條規則、2930 個單詞,裡面充斥著諸如"處理 P6:Q6 這個單元格"這種極度具體、只對這一次任務有用的補丁。這些補丁單獨看都沒錯,但堆在一起,庫就變得又大又難用。

第三種叫"破壞性更新漂移"(destructive-update drift)。這種更隱蔽:一條早先記錄了"如何解析貨幣、如何做分層計算限額"的具體規則,後來被一條新補丁的措辭悄悄替換掉了,新補丁強調"要寫可執行代碼而不是偽代碼",這個新要求本身沒錯,但它把原本記錄著具體計算邏輯的老規則給沖淡了,等於好心辦了壞事。

面對這三種漂移,SKILL-KD 的解法是給技能庫配一本"帶證據鏈的修改日誌",也就是漂移感知的技能整合(Drift-Aware Skill Consolidation):不只記錄每條技能規則的當前內容,還完整保留每一次修改的操作類型(新增、修改、刪除還是跳過)、修改理由,以及這次修改是基於哪幾條具體的師生對比軌跡做出的

這個機制配了兩個工具給整合智能體用:一個是"追溯鏈接工具",可以隨時把某條歷史規則背後的原始對話記錄調出來重新看;另一個是"打補丁工具",用來正式執行新增、修改、刪除或跳過的操作。

這套機制運作起來,有點像一個經驗豐富的病歷管理員。普通的病歷系統可能只記錄"病人現在吃什麼藥",但一個好的病歷管理員會保留完整的既往病史:這個藥是什麼時候加的、當時是為了治什麼症狀、後來症狀變化了沒有。如果醫生要調整用藥方案,不看既往病史,直接根據眼前這次複診的症狀拍腦袋改藥,很容易把之前控制得好好的另一個病症給耽誤了。有了完整病史做支撐,醫生才能判斷這次調整是真的該改,還是僅僅針對這一次的偶然情況。

論文用一個消融實驗驗證了這套機制的價值。去掉編輯日誌和追溯鏈接這兩個組件之後(也就是只留下打補丁的動作,但看不到歷史),在 SpreadsheetBench 上的分數從完整版的 24.3 掉到 14.6,在 LiveMath(數學推理任務)上從 54.8 掉到 27.4,幾乎腰斬。這說明"記得住來龍去脈"這件事,不是錦上添花,而是決定這套系統能不能長期穩定運作的關鍵。

實測效果:五個任務,兩組師生搭配

論文在五個基準測試上做了驗證,覆蓋面還挺廣:SearchQA(基於搜索的問答)、SpreadsheetBench(表格操作)、DocVQA(文檔圖片問答)、LiveMath(數學推理)、ALFWorld(虛擬環境裡的具身交互任務,比如"把蘋果放進冰箱"這種指令)。

師生搭配設置了兩組。第一組是"同門師兄弟"式的搭配:學生是 Qwen3.5-4B,教師是 Qwen3.7-plus,都屬於通義千問家族,架構和訓練風格比較接近。第二組是"跨門派"搭配:學生是 Qwen3.6-35B-A3B,教師是 ChatGPT-5.5,兩者來自完全不同的模型家族,分詞器、預訓練數據、行為習慣都不一樣。

結果如下表所示(分數是百分比,數字越高越好):

| 方法 | SearchQA | SpreadsheetBench | DocVQA | LiveMath | ALFWorld | 平均 |

|---|---|---|---|---|---|---|

| 學生自己(無技能) | 68.1 | 9.3 | 86.9 | 22.4 | 30.6 | 43.5 |

| EvoSkill | 68.6 | 17.9 | 79.7 | 23.4 | 67.9 | 51.5 |

| Trace2Skill | 68.5 | 19.3 | 88.0 | 27.2 | 64.9 | 53.6 |

| SkillGen | 69.2 | 13.2 | 88.8 | 21.0 | 70.1 | 52.5 |

| SkillOpt | 71.2 | 23.9 | 89.0 | 52.0 | 81.3 | 63.5 |

| **SKILL-KD** | **79.2** | **24.3** | **89.3** | **54.8** | **86.6** | **66.8** |

(這是第一組,學生 Qwen3.5-4B、教師 Qwen3.7-plus 的結果)

在第二組(學生 Qwen3.6-35B-A3B、教師 ChatGPT-5.5)里,SKILL-KD 的平均分是 74.6,同樣是所有方法裡最高的,比排第二的 SkillOpt(68.6)高出 6 個百分點。

值得單獨說一下 ALFWorld 這個任務上的結果。這個任務的測試集用的是訓練時完全沒見過的新環境,相當於一個"舉一反三"的考驗。SKILL-KD 讓 4B 學生模型的分數從 30.6 飆升到 86.6,提升了整整 56 個百分點。這麼大的提升幅度,說明學出來的技能規則確實是可遷移的通用套路(比如"先找到目標物體,再找加熱設備,再放置"這種模式),而不是死記硬背某個具體房間裡東西擺在哪兒。

拿另一組數字來對比感受一下這個提升有多大:無技能狀態下,學生模型平均每做 10 個 ALFWorld 任務只能做對 3 個;用上 SKILL-KD 之後,10 個任務里能做對將近 9 個。這意味著原本走 3 步就迷路的智能體,學會了一整套"先幹嘛後幹嘛"的行動策略。

拆開揉碎地看:到底是哪個環節在起作用

論文還做了幾組細緻的消融實驗,專門回答"這套系統里每個模組到底貢獻了多少"這個問題。

第一組對比了不同的技能獲取方式:只用教師軌跡(Teacher-only)、只用學生失敗軌跡(Student-only)、只做一次對比不做疊代(Pairwise)、把多條軌跡打包一起處理(Batch)。結果發現,只用教師軌跡這種做法平均分只有 58.3,是所有方案里最差的,恰好印證了前面說的道理:光看強模型怎麼做,不結合弱模型具體錯在哪兒,轉化出來的規則往往對不上號。

| 方法 | 平均分 | 相對提升 | 規則總數 | 詞數總量 |

|---|---|---|---|---|

| 無技能 | 43.5 | +0.0 | 0 | 0 |

| 只用學生軌跡 | 60.1 | +16.6 | 96 | 6821 |

| 只用教師軌跡 | 58.3 | +14.8 | 80 | 5683 |

| 打包處理 | 59.4 | +15.9 | 46 | 3849 |

| 單次對比不疊代 | 59.0 | +15.5 | 85 | 6966 |

| **完整 SKILL-KD** | **66.8** | **+23.4** | **38** | **3010** |

這張表最有意思的地方在於最後兩列。完整版的 SKILL-KD 用了最少的規則數(38條)、最少的詞數(3010詞),卻拿到了最高的分數。這說明這套系統不是靠"堆規則"取勝,而是真正找到了少而精的關鍵規則,反而是那些沒有經過充分驗證的方法,攢出來一堆又長又亂的規則,效果還不如精簡版。

這就好比整理書架。一種做法是把家裡所有看過的書全塞進書架,越堆越多,但真正要用的時候翻半天找不到;另一種做法是定期篩選,只留下真正常翻的那幾十本,擺放清晰。表面上書少了,但找書的效率和實際用處反而更高。SKILL-KD 走的就是後一條路,它不追求技能條數越多越好,追求的是每條技能都被驗證過、都確實有用。

寫在後面

讀完這篇論文,最讓我意外的一個數據點是那個 46.1%:教師模型在學生失敗的題目上,自己也只能做對不到一半。這其實推翻了一個我下意識的假設,我一直以為"教師蒸餾學生"這套框架默認教師是全知全能的裁判,實際上教師也會犯錯,而這篇論文完全接納了這一點,甚至把教師的失敗軌跡也當成有效素材來用。這是一個挺務實的設計,承認了強模型也有邊界,學習信號不來自於"誰絕對正確",而來自於"兩者的分歧點在哪"。

另一個值得單拎出來的細節是那三種技能漂移的分類,案例特定漂移、技能膨脹漂移、破壞性更新漂移。這套分類框架其實可以套用到很多"知識積累系統"上,不只是 AI 技能庫,公司內部的 wiki 文檔、團隊的最佳實踐手冊,甚至個人的讀書筆記系統,長期不加整理都會滑向這三種病態。這篇論文提供的解法(保留證據鏈、追溯歷史再決策)算是給這類通病開了一張具體的處方。

論文沒有回答的一個問題是:當技能庫積累到成百上千條規則、無法整個塞進提示詞的時候該怎麼辦。目前的做法是把整個技能文件都餵給模型看,這在規則量不大的時候沒問題,但如果規模繼續擴大,檢索和路由的問題遲早會浮現。這大概是留給後續工作的一個明確方向。

Q&A

Q1:SKILL-KD 和之前的技能學習方法最大的區別是什麼?

A:之前的方法要麼只從學生自己的失敗經驗里總結教訓,要麼直接照搬教師模型的成功示範,SKILL-KD 的核心區別在於它專門對比學生失敗軌跡和教師軌跡之間的差距,把這個"能落地的差距"提煉成技能補丁,而且會反覆用學生模型重新測試這條補丁是否真的有效,無效就繼續修改,而不是一次性總結完就算數。

Q2:SKILL-KD 需要重新訓練模型嗎?

A:不需要。SKILL-KD 全程不改動學生模型的參數,學生模型是完全凍結的,所有的改進都通過在提示詞裡追加一份文字形式的技能庫來實現,這也是它能在不同模型家族之間(比如通義千問和 ChatGPT)通用的原因,因為它不依賴模型內部的權重結構。

Q3:技能庫會不會越用越亂,越加規則效果越差?

A:這正是論文重點解決的問題,叫做技能漂移。SKILL-KD 用一套帶證據鏈的編輯日誌機制來應對,每條技能修改都會記錄背後的具體案例和修改理由,整合智能體在做新的修改決策時會先回溯歷史證據,判斷該新增、修改、刪除還是直接跳過,這樣技能庫能保持精簡但依然有效,實驗中完整版本用了最少的規則數卻拿到了最高分數。

宅中地 - Facebook 分享 宅中地 - Twitter 分享 宅中地 - Whatsapp 分享 宅中地 - Line 分享
相關內容
Copyright ©2026 | 服務條款 | DMCA | 聯絡我們
宅中地 - 每日更新