你有沒有遇到過這種情況:客服機器人第一次回答你的問題時,答得挺像那麼回事,可你追問一句,它立刻露餡了。
更麻煩的是,如果這個機器人的"知識庫"是靠AI自己不斷修改升級的,你可能會發現一個詭異的現象:改了幾輪之後,它反而比最開始更笨了。
這不是危言聳聽。騰訊雲的一個技術團隊在給雲服務客服系統做智能升級時,就撞上了這堵牆。他們給客服機器人配備的知識手冊,業內管這個叫"Skill
"
**Skill**:可以理解成是一份濃縮了某個領域全部專業知識和處理流程的說明書,機器人接到問題後先翻這本手冊,再決定怎麼回答用戶
一開始靠人工寫,後來想用AI自動優化,結果發現,AI改著改著,手冊反而變得又臃腫又不準確。這篇論文要講的,就是他們怎麼把這件事修好的。
問題出在哪:第一輪之後,機器人就不進步了
先說一個反直覺的事實。
你可能以為,只要給AI一套"出題—評分—改進"的機制,它就能像學生刷題一樣越改越好。但騰訊團隊發現的現實是:目前業內主流的做法,恰恰在第二輪以後就卡住了,分數曲線像撞到了天花板一樣,死活上不去。
問題的根源在於"出題"的方式。
之前的做法大多是單輪問答式評測:給機器人扔一個完整的問題,機器人答一次,系統判斷對錯,然後照著錯誤的地方去修手冊。這套方法在論文裡被稱為"single-turn QA
"
**single-turn QA**:單輪問答評測,就是提一個完整問題,機器人回答一次,評測就此結束,不再追問
單輪問答有個天生的毛病。一個用戶在向客服提問時,通常不會把所有訴求一次性說完。真實場景里,用戶往往是先問一個開頭,得到回應後再往下追問,甚至會因為不滿意而反覆確認、抱怨、繞回原來的問題。這些追問里藏著的坑,單輪問答根本挖不出來。
論文裡做了個實驗對比,結果相當扎心。用單輪問答驅動改進的方法,機器人的任務解決率(論文叫TSR
)
**TSR**:任務解決率,英文Task Success Rate的縮寫,衡量機器人有多大比例真正解決了用戶問題
從58.9一路爬到66.4就再也上不去了,四輪疊代下來只漲了7.5個百分點。而這篇論文提出的方法,同樣從59.4起步,四輪之後衝到了81.8,漲了22.4個百分點。差距一目了然。
這就好比你請了一個家教幫你補習,家教只按照你在考試第一題上暴露的問題去講課,講完你確實會做第一題了,但試卷後面還有八道題目,那些題目里的知識漏洞,家教壓根沒看見過,自然也沒法幫你補。而如果這個家教能跟著你一起做完整張卷子,做錯一題就追問你"為什麼這麼想",那麼每往後推進一步,他就能看見更深一層的知識盲區。如果家教只看第一題,你的成績必然卡在某個分數線附近不再提高,這不是家教不夠用心,而是他看到的資訊本來就不夠。
這篇論文的核心判斷是:決定AI知識庫能不能持續進化的,不是編輯能力強不強,也不是改了多少輪,而是反饋信號本身夠不夠"新鮮"、夠不夠可信。
圍繞這個判斷,團隊搭了一套叫SkillEvo
的系統。
**SkillEvo**:論文提出的技能自我進化框架,靠兩根支柱撐起來,一是讓反饋信號持續更新的多輪交互機制,二是主動修復知識庫結構性問題的治理層
第一根支柱:讓追問自己"生長"出新的反饋
SkillEvo做的第一件事,是把"多輪對話模擬"從一個單純的考試環節,改造成一台能持續產出反饋的發動機。
具體怎麼做?團隊設計了一個受約束的虛擬用戶,這個虛擬用戶不是隨便瞎聊,而是嚴格按照一套狀態機來推進對話。
**意圖狀態機
**:一種追蹤機制,記錄用戶每個關鍵訴求有沒有被提出來、有沒有被真正解決,只有全部滿足才允許對話正常結束
這套狀態機的作用,是防止虛擬用戶"偷懶"。如果虛擬用戶提前結束對話,或者繞開了某個關鍵問題,系統會強制它繼續追問,直到把用戶真正關心的所有點都摸清楚。
這裡有個很關鍵的設計,叫"雙側正交評估
"。
**雙側正交評估**:把評測拆成兩條互不干擾的線,一條評價虛擬用戶有沒有把該問的都問到,另一條評價機器人對已經被問到的問題回答得準不準
為什麼要拆開評估?因為一次對話失敗,原因可能出在兩個地方:要麼是虛擬用戶根本沒把用戶的真實訴求問出來,是模擬本身出了偏差;要麼是虛擬用戶問對了,但機器人答錯了,是知識庫本身有缺口。如果混在一起打一個總分,你永遠搞不清楚該修的是模擬腳本還是知識手冊。
論文裡給出了具體數字。團隊讓虛擬用戶在98個知識文件覆蓋的場景里跑,結果關鍵意圖的覆蓋率達到98.9%,也就是說幾乎把用戶該問的都問全了。為了驗證這個數字不是自吹自擂,團隊還找了兩位業務專家,盲測200段模擬對話,對照真實工單評分,吻合度達到95.3%。這說明虛擬用戶模擬出來的對話,和真人提問的方式相當接近,不是機械地照著清單念題。
在這個前提下,機器人對已經暴露出來的意圖的回答準確率是71.1%。這個數字才是真正驅動後續修改的信號來源。
這裡還有個環節容易被忽略,叫"歸因
"。
**歸因**:判斷一次失敗到底是不是知識庫能修好的問題,論文裡分成三類,知識缺口、能力局限、評估噪聲
不是所有失敗都值得拿去改手冊。有的失敗是因為機器人壓根沒有權限查某些後台數據,這種叫"能力局限",改手冊沒用;有的失敗是評測本身出了偏差,比如虛擬用戶沒把話說清楚,這叫"評估噪聲",也不該算進去。只有真正因為知識手冊里缺了某條規則、某個鏈接、某個操作路徑而導致的失敗,才算"知識缺口",才會被送去修改。
這個歸因機制像什麼呢?像醫院裡的分診台。病人來了不能一股腦全推進手術室,得先分清楚是感冒還是骨折還是純粹掛錯科室。如果不分診,直接把所有病人都往一個方向治,輕則浪費資源,重則真正需要開刀的病人被耽誤。SkillEvo的歸因就是這個分診台,把不該治的病例擋在門外,讓手術刀真正落在能治好的傷口上。
數據也驗證了這套機制的價值。同一輪里如果出現多個指向同一個知識缺口的失敗案例,系統會把它們合併成一條反饋信號,而不是逐條修改造成冗餘。
第二根支柱:光會改還不夠,還得防止改壞
反饋信號解決了"往哪改"的問題,但另一個更隱蔽的麻煩冒出來了:改著改著,手冊本身會"病變"。
論文裡總結了三種典型病變。
第一種叫知識膨脹,手冊里的內容越堆越多,冗餘資訊稀釋了關鍵路由的精準度。第二種叫引用斷裂,文件之間原本互相指向的鏈接失效了,變成孤立的"死檔案"。第三種最隱蔽,叫事實過度泛化,原本寫得清清楚楚的具體數值、版本號、規則,被改成了含糊其辭的"請參考官方文檔"這種空話。
這三種病變有個共同的特點:傳統的評分機制根本看不出來。
之前很多同類工作的做法是,給修改後的手冊打一個總分,分數低了就打回重做。可這就像給一個病人量體溫,體溫正常不代表內臟沒出問題。一份手冊整體讀起來還算通順,分數也不低,但裡面可能悄悄丟了三個關鍵數字,埋了兩個死鏈接。總分這種"標量門"能拒絕一份差的答卷,卻指不出問題具體在哪一頁、哪一行。
所以SkillEvo專門配了一個獨立的治理層,把"事實一致性
"當成硬約束,把"結構一致性"當成軟約束來分別處理。
**事實一致性**:要求修改後的手冊至少保留生產版本里已經驗證過的穩定事實,不能丟
這裡有個巧妙的設計,叫"雙錨點
"。
**雙錨點**:治理層同時對照兩個參照物來檢查修改,一個是最初的生產基線版本,專門抓丟失了哪些老知識;另一個是上一輪修改結果,專門抓這一輪新引入了什麼錯誤
為什麼非要兩個錨點?如果只對照最初版本,你能發現"丟了什麼",但沒法判斷這個丟失是這一輪造成的還是很多輪前就丟的,修複方向就模糊了。雙錨點相當於同時保留了"案發現場"和"最近一次變動記錄",破案的時候才知道該往哪個方向查。
這就好比一棟老房子請裝修隊一輪一輪翻新。如果裝修隊只看最初的圖紙,他知道牆被拆了,但不知道是這次拆的還是上次拆的,修復起來就會瞻前顧後。而如果同時留著最初圖紙和上一次裝修完的照片,一對比就能精確定位,這堵牆是這一次施工時被誤拆的,那就該恢復;那面牆是三次前就沒了,而且已經用別的方式補上了,那就不用管。
結構一致性則是軟約束,不會直接判定修改失敗,而是生成一份治理建議,合併進下一輪的修改任務里,讓結構問題一輪一輪被消化掉,而不是一次性推倒重來。
數據上看,這套治理機制的效果相當直觀。有治理層保駕護航的情況下,知識庫累計膨脹率只有2.8%,而且增長主要集中在第一輪補充知識的時候,之後就趨於平穩;沒有治理層的情況下,膨脹率高達16.2%,是前者的將近六倍。任務解決率提升了51.8個百分點,而文檔體積幾乎沒怎麼變,這說明能力提升靠的是把已有知識改對,而不是靠往裡塞更多字。
論文裡還有一個指標叫"跨輪迴歸率
"。
**跨輪迴歸率(RegR)**:衡量上一輪本來答對了、這一輪反而答錯的比例,數值越低說明修改越穩定
這個指標從第一輪到第二輪的28.2%,一路降到第三輪到第四輪的21.1%,首尾相差7.1個百分點,說明治理層確實在壓制"改了新的、丟了舊的"這種拆東牆補西牆的現象。
三種方法擺在一起,差距是怎麼拉開的
論文把三種方案放在同一個跑道上比賽:完全沒有評測反饋、只靠模型自我反思瞎改的方法(Self-Reflection);單輪問答驅動的方法;還有SkillEvo這種多輪交互驅動的方法。四輪疊代,結果如下。
| 方法 | 初始值 | 第1輪 | 第2輪 | 第3輪 | 第4輪 |
|---|---|---|---|---|---|
| 原始手冊 | 30.0 | — | — | — | — |
| 自我反思 | 30.0 | 59.2 | 58.7 | 57.4 | 58.8 |
| 單輪問答驅動 | 30.0 | 58.9 | 64.5 | 65.7 | 66.4 |
| SkillEvo | 30.0 | 59.4 | 71.3 | 77.9 | **81.8** |
自我反思這條線的表現最能說明問題。沒有任何外部評測介入,模型自己反思自己修改,四輪下來分數在58分附近來回晃悠,幾乎沒有實質性進步。這說明單純依賴模型自我判斷是靠不住的,它分不清哪些是真正的知識漏洞,哪些只是自己臆想出來的問題。
單輪問答驅動的曲線呈現出典型的"前快後慢",第一輪漲得挺猛,從30到58.9,但後面三輪加起來只漲了7.5個百分點,邊際收益急劇遞減。
SkillEvo的曲線則是穩步攀升,每一輪漲幅都不小,四輪下來漲了51.8個百分點。
論文還專門做了消融實驗,把多輪交互換成單輪問答,其他環節(歸因、修改、治理)全都不動,結果分數直接掉回66.4,和單輪問答基準完全一致。這證明SkillEvo領先的15.4個百分點,確實是多輪交互反饋這一個改動帶來的,不是別的環節順帶產生的效果。
再把治理層單獨拿掉,分數從81.8掉到78.6,只降了3.2分,比拿掉多輪交互的降幅小得多。這也印證了一件事:治理層的價值不在於讓分數沖得更高,而在於防止分數在沖高的過程中因為副作用被拖累回去。
一個真實案例:錯誤的知識比沒有知識更危險
論文裡舉了一個具體的工單案例,讀起來挺有意思。
用戶問的是雲儲存流量包續費的問題:續費之後是馬上生效,還是要等原來的套餐用完才生效。
機器人第一輪迴答是:續費立刻生效,流量馬上疊加到當前套餐里,不用等原套餐到期。
這個回答聽起來相當自信,而且邏輯自洽。但真實的規則恰恰相反:續費只是延長有效期,新一輪的流量額度要等到重置日那天才會生效,在這之前用完的部分要按量計費,而不是立刻疊加。
評測系統給這次回答打了10分(滿分100),判定為嚴重錯誤。歸因結果顯示這是一個典型的"知識缺口":手冊里根本沒有寫清楚續費的生效規則。
這個案例特別值得說道的地方在於,虛擬用戶沒有在第一輪就放棄對話。因為機器人給出的答案聽起來挺像那麼回事,虛擬用戶信以為真,順著這個錯誤的前提繼續往下問:"如果套餐用完了會不會被停服"。這一連串追問,恰恰是單輪問答永遠看不到的層次。
這就是論文反覆強調的一個道理:錯誤的知識比缺失的知識更具欺騙性。一個"不知道"的機器人會誠實地說"我不清楚",用戶至少知道該去別處求證;但一個自信地給出錯誤答案的機器人,會把用戶帶偏,而且這種偏差往往要靠後續的多輪追問才能暴露出來。
針對這個問題,團隊只往手冊對應章節加了幾行文字,補充續費延長有效期而非疊加額度的規則,以及原套餐用完後按量計費不停服的說明,其餘十三個段落原封不動。修改之後再跑同一個場景,機器人第一句話就答對了規則,評分從10分直接跳到92分。
這個案例也側面印證了"有界編輯"
**有界編輯**:修改知識庫時只針對已驗證的具體缺口打補丁,不引入沒有證據支撐的內容,同時錨定生產基線版本,防止新知識覆蓋掉已經驗證過的老知識
的意義。團隊沒有讓AI"順便"把整個續費章節重寫一遍,而是精確定位到缺失的三條規則,做最小化的補充。這種克制,恰恰是防止知識膨脹的關鍵一環。
這套系統真的在跑,而不只是紙上談兵
這套框架不是停留在實驗室里的構想,而是部署在騰訊雲的實際生產環境裡,覆蓋了六大類雲服務、9個正在使用的客服知識庫,一共98份參考文件。
數據集本身也很有意思。所有測試用的工單,都是曾經被人工客服接手過的真實案例,大約四成是用戶一上來就轉人工的,剩下六成是機器人折騰了好幾輪沒解決、最後才轉人工的。也就是說,這些數據本質上就是"現有機器人系統的失敗清單",每一條都對應著一個真實用戶已經暴露、但當前系統還沒能覆蓋的知識空白。
為了保證評測結果可信,團隊還專門抽樣讓人工專家覆核評測系統的判斷,吻合度超過90%。這個數字支撐了後續所有基於自動評測的結論。
論文也沒有迴避風險。任何自動往生產環境寫知識的系統,都有一個隱患:一次錯誤的修改一旦合併進去,就會直接影響真實用戶。團隊的應對方式是,治理層把事實一致性當作硬性門檻,拒絕任何刪除穩定事實的修改候選;同時任何版本上線前都必須經過人工確認,這個環節不是可選項,而是被明確寫進流程里的必要一環。
寫在後面
讀這篇論文的時候,我一直在想一個問題:為什麼"越改越差"這件事,在很多AI自我進化系統里都會反覆出現,卻很少有人認真去拆解它的根源。
大部分團隊遇到類似問題,第一反應往往是加強編輯模型的能力,或者多跑幾輪疊代。但這篇論文的判斷反過來:如果反饋信號本身是失真或者枯竭的,再強的編輯能力也只是在原地打轉。這個思路挺值得記住,遇到一個系統"改不動"了,先別急著換更強的模型,先問問反饋信號是不是提前枯竭了。
另一個讓我印象深刻的細節,是那個續費規則的案例。機器人說錯話的自信程度和它說對話時幾乎沒有區別,這種"自信的錯誤"在很多場景里都比"誠實的沉默"更危險,只是很少有評測體系能把這種危險量化出來。
多輪追問能揪出這種深層錯誤,而單輪問答幾乎註定看不見它。這是不是意味著,所有依賴"一次性評分"來評估AI系統的場景,都可能藏著類似的盲區?這個問題留給你自己想。
Q&A
Q1:SkillEvo是什麼?
A:SkillEvo是騰訊雲團隊提出的一套讓客服知識庫自動持續改進的框架,核心是通過模擬多輪用戶對話不斷生成新的反饋信號,再配合一個專門的治理層修復知識庫結構性問題,避免改動過程中知識越改越亂。
Q2:為什麼單輪問答驅動的改進方法會失效?
A:因為真實用戶提問往往是分層次逐步暴露訴求的,單輪問答只能看到用戶開場白里的問題,第一輪改進之後能看到的漏洞就修完了,後續沒有新的反饋來源,分數曲線很快就會停滯,論文實驗裡四輪疊代只漲了7.5個百分點。
Q3:SkillEvo怎麼防止知識庫越改越臃腫?
A:SkillEvo設置了獨立的治理層,用雙錨點方式對照生產基線和上一輪版本檢測知識丟失和結構問題,把事實一致性當作硬約束直接拒絕違規修改,把結構問題作為建議合併進下一輪修改,實驗顯示有治理層時知識膨脹率只有2.8%,沒有治理層則高達16.2%。






