他負責維護一套會自動核對理賠申請文件、抓出缺漏項目的 AI 代理程式,上週在客戶展示會上,同一份理賠申請他先在測試環境跑了一次,代理程式完美無誤地抓出兩項缺漏文件
「AI 代理程式」,也就是英文常說的 Agent一種會自己判斷目標、自己拆解成好幾個步驟、還會自己呼叫工具去把事情辦完的 AI 程式,跟只回答一個問題的聊天機器人不一樣,最近很流行拿去做「自動核對合約」「自動訂票改票」這類需要好幾個步驟才能完成的工作。但這篇文章戳破一個大家很少提的現實:同一個代理程式、面對同一個任務,這次做對了,不代表下次再問一模一樣的問題,它還會做對。
要看穿這個現實,得先分清楚兩把不同的尺。大多數評測報告秀出來的數字,其實是 Mean@k把同一個任務重複跑 k 次,算出「平均成功率」,這是大多數排行榜在秀的那個數字,例如常聽到的「77% 準確率」多半就是這種平均值。但文章提出另一把嚴格很多的尺,叫 Pass^k把同一個任務重複跑 k 次,只有「k 次全部都成功」才算過關,比平均值嚴格非常多,也更貼近使用者反覆問同一件事時的真實感受,這個數字才是「這個代理程式,我敢不敢重複依賴它」的真正答案。
文章介紹的診斷工具「一致性分析器(Consistency Analyzer)」,聰明的地方在於它不用把整個任務從頭到尾重新跑五遍(那樣既貴又慢,遇到會真的送出訂單、真的改文件的任務還會製造一堆髒資料)。它只需要代理程式「已經跑過的那一次紀錄」,在紀錄裡的每一個 決策點代理程式執行過程中,每一次要決定「下一步做什麼」的那個瞬間,例如要挑哪個工具、要填什麼參數 上,重新問語言模型「同樣的情境下,你會給我幾種不同的答案」,藉此揪出 翻牌點模型在這個決策點上,只要換一次隨機抽樣結果,就有很高機率選出不同答案的步驟,白話說就是「差一點運氣不好就會做錯的那一步」。
找出翻牌點之後,下一步是把診斷結果變成看得見的改善。研究團隊把這些高風險決策點的模式,自動整理成 一致性指引根據診斷結果自動生成的一句一句操作提醒,會在代理程式下次執行到類似情境時,被插入到它看到的資訊裡,提醒它「這一步容易選錯,請特別注意」,塞回去讓代理程式參考。結果是連續五次都成功的比例,缺口從 24.4 個百分點砍到只剩 12.0 個百分點,而且平均準確率完全沒有被拖累——穩定跟聰明,這次不是只能二選一。
| 指標 | 在問什麼 | 數值高低關係 |
|---|---|---|
| Pass@k(樂觀) | k 次裡「至少 1 次」成功就算過關 | 最寬鬆,通常最高 |
| Mean@k(平均) | k 次的「平均成功率」,多數排行榜秀的就是這個 | 介於兩者之間 |
| Pass^k(悲觀) | k 次「全部都要」成功才算過關,最貼近使用者的真實感受 | 最嚴格,通常最低 |
用一小段 Python 邏輯,說明 Mean@k 和 Pass^k 到底怎麼算出來的——看懂這段,你就能自己動手驗證任何代理程式的一致性。
results = [[1,1,1,0,1], [1,1,1,1,1], [0,1,1,1,0]]def mean_at_k(runs): return sum(runs) / len(runs)def pass_hat_k(runs): return 1 if sum(runs) == len(runs) else 0mean5 = sum(mean_at_k(r) for r in results) / len(results)pass5 = sum(pass_hat_k(r) for r in results) / len(results)