從真實世界經驗中學習

透過訓練 Perplexity Computer 模型來模仿成功行為、減少使用者修正的需求,並避免工具錯誤。

作者Perplexity Research

使用者如何在真實世界中與我們的產品互動,是模型訓練的寶貴來源。這些資料很豐富,反映了使用者任務的實際分佈,並捕捉了綜合環境可能會錯過的使用者校正和工具失敗。

從真實世界資料中學習的常見方法是拒絕取樣微調:評判每個工作階段的結果,保留成功的工作階段,並訓練模型去模仿它們。但成功的結果並不代表每一步都正確,因此模仿整個軌跡除了好的中間行為外,還冒著強化不良中間行為的風險。捨棄不成功的工作階段也會失去模型短處的重要證據。

我們將拒絕取樣微調與提示引導自我蒸餾相結合,藉此從成功與不成功的工作階段中學習。提示是一項簡短的修正指令,奠基於模型在犯錯時已經擁有的資訊。來自成功工作階段的有益步驟依然是模仿的目標,而有根據的提示則將可避免的錯誤轉化為修正的目標。

除了任務是否最終成功之外,使用者校正和工具 errors 還增加了關於過程中出錯之處的監督。我們在綜合環境中的強化學習之後套用此階段,以助於縮小這些環境與真實世界使用之間的差距。

在實際使用中,與較早訓練的檢查點相比,後期訓練的 GLM-5.2 檢查點將工具呼叫失敗率降低了 21.2%。對於 GLM-5.3,與原版模型相比,後期訓練將工具呼叫失敗率降低了 33.0%,並將中度或高度用戶不滿意的平均估計機率降低了 17.2%。

從綜合資料到真實世界資料

綜合任務讓我們能夠建立受控的問題,其結果易於驗證,但通常受限於單一提示,且只能涵蓋我們明確設計的情境。

相比之下,真實世界工作階段中的使用者將多樣化的指令、上下文和工具組合帶入跨越多個互動輪次展開的工作階段中。這種真實世界的使用自然會產生兩個有價值的錯誤訊號:使用者校正揭示了代理程式在哪裡未能交付他們想要的結果,而工具錯誤則顯示其動作在真實環境中在哪裡崩潰。我們的取樣管線透過排除包含個人識別資訊(PII)以及已選擇退出的使用者的工作階段,來尊重使用者的隱私和訓練選擇。

因此,真實世界資料為我們提供了綜合環境可能無法暴露的失敗案例,並且通常已經內建了失敗發生的位置。

模仿好的步驟,校正壞的步驟

在真實世界資料上進行訓練時,標準的拒絕取樣微調(RFT)根據最終結果選擇成功的工作階段,而沒有明確使用使用者和工具意見反應來區分好的中間動作與壞的中間動作。代理程式可能會從糟糕的工具呼叫中恢復,或者在使用者意見反應後校正錯誤,並在最後仍然交付正確的輸出。

捨棄失敗的工作階段也會限制樣本效率。從未達到良好結果的工作階段仍然可以揭示清晰、可避免的錯誤,作為有用的訓練訊號。

我們透過區分兩個決定來解決這些限制:哪些工作階段包含值得模仿的行為,以及哪些輪次包含值得校正的錯誤。資料管線會分別做出這些決定,然後為模型輪次指定以下三種處理方式之一:

  • 模仿:成功工作階段中的非錯誤輪次接收普通的交叉熵(CE)損失,從而提高記錄 token 的機率。
  • 正確:在成功和不成功的工作階段中,具有有效提示的錯誤輪次會接收 Kullback–Leibler (KL) 散度損失,使模型朝向其在看到提示時所做出的下一個 token 預測移動。
  • 保留為上下文:在沒有經過驗證的提示的不成功工作階段中的輪次,以及在兩種工作階段類型中缺乏經過驗證的提示而被標記為錯誤的輪次,會作為上下文,但不接收任何損失。

因此,成功的工作階段可以提供模仿和校正目標,而不成功的工作階段僅提供校正目標。所有剩餘的輪次(包括系統、使用者和工具輸出)均保持為上下文。

目前的工作階段路由與助理內容遮罩。成功的工作階段提供模仿目標;保留的意見反應記錄即使在工作階段不成功的情況下,也能提供提示校正。其他內容保持為上下文。未完成的工作階段會被排除。未繪出非最終的產出/停止 token CE 例外情況,且此圖表未確立早期檢查點所使用的混合方式。

模仿部分使用標準 RFT。校正部分使用線上自我蒸餾(On-Policy Self-Distillation, OPSD):同一個模型扮演教師和學生,並賦予教師特權資訊。在此,該特權資訊是解釋可避免錯誤的簡短提示。我們訓練學生去匹配教師的下一個 token 預測,而不需要被傳遞提示。

兩個部分都很重要。僅有校正的訓練可能會暴露捷徑:教師和學生可以透過忽略上下文來達成一致,而不是學習校正。CE 項將訓練錨定在有用的行為上,有助於遏止因忽略上下文而產生的一致性。

經過後訓練的學生模型隨後成為 Computer 中的模型選項。來自即時使用的全新工作階段在進入下一輪訓練管線之前,會先通過相同的資格和隱私過濾器。

範例:一個工作階段可以教導兩個教訓

接下來,我們將走訪一個包含模仿和校正的具體範例。

考慮一個最終成功的工作階段,其中使用者要求使用官方說明文件對比 Python 3.13 中的 asyncio 變更。我們的工具說明文件指出 search.web 會傳回一清單的命中結果,每個結果都有一個 url 欄位。

作為收集比較證據的一部分,模型首先對一個版本執行有效的搜尋,這是一個值得模仿的良好行為。

然而,下一個程式碼執行呼叫錯誤地將該清單視為字典。程式碼工具傳回 TypeError: list indices must be integers or slices, not str。由於返回類型在呼叫前已記錄在案,這是模型本應能夠避免的錯誤。可以產生帶有正確呼叫的提示來校正該動作。

說明性編碼工作階段顯示了三種訓練角色:僅上下文輸入與工具輸出(灰色)、有用記錄呼叫的 CE 模仿(深色),以及標記錯誤的 KL 校正(藍色)。在此,模型錯誤地將搜尋命中清單視為字典;僅限教師的提示以早期工具說明文件為依據來引導校正。CE 目標僅在完成的工作階段被評判為成功時適用,而不成功的工作階段仍然可以提供符合資格的 KL 校正目標。

訓練是如何運作的

訓練管線有四個階段:選取工作階段並評判其結果、識別錯誤並從使用者意見反應和工具錯誤中建立提示、從教師和學生雙方產生下一個 token 機率、以及使用組合的 CE 和 KL 損失訓練模型。

選取工作階段,然後評判結果

抽樣管線會從由 GLM 5.2 提供服務、符合訓練資格的真實世界 Computer 工作階段子集中抽取資料。在為此工作流程選取範例之前,會先套用訓練退出選項及管線中與 PII 相關的排除條件。

初始篩選程序會選取經 LLM 評判在五分制任務難度量表上評分為 4 或 5 的候選者,並將其分為 2 組:

  • 使用者意見反應群組包含具有真實使用者後續追問或中度至高度不滿意度標記的工作階段。我們發現這些高意圖的後續追問對於學習特別有用:使用者正在積極嘗試完成任務,而他們的校正精確指出了模型遺漏之處。
  • 工具錯誤群組包含由基於規則的檢查標記失敗呼叫的工作階段,但不包括已識別的基礎設施故障和拒絕授權。

然後,兩個 LLM 評判會根據使用者的請求評估最終產出;兩位評判都必須給出正面判定,工作階段才會被標記為「成功」。對於交付成品的情況,結果階段可以重建並檢查交付成果,如果該階段失敗,則會改回使用基於文字的判斷。被歸類為未完成的工作階段(例如等待使用者的工作)則會被排除。

這個步驟會識別學習訊號的潛在來源;然而,並非所有錯誤都可歸咎於模型,因為有些錯誤是由模稜兩可的指令或基礎設施故障引起的。後續的註解會決定哪些候選錯誤實際上是可以避免的且適合用於訓練。

從使用者意見反應中尋找錯誤

考慮使用者意見反應群組中的範例工作階段,其中使用者詢問:「如何在 paychex 上找到我的 w3」。模型將「w3」視為 W-2 的拼字錯誤,搜尋 W-2 指令,並解釋如何找到該表單。使用者的後續追問「我指的是 W-3 轉發表單」指出了錯誤,即使該工作階段最終成功。

投訴有助於定位錯誤,但根本原因是先前將「w3」重新解釋為 W-2 的決定。原始請求使得錯誤變得可以避免:模型本可以保留 W-3 或要求澄清。事實證明,投訴前的最後一個助理輪次大約只有一半的時間是根本原因。

我們的註解管線在每個使用者意見反應工作階段中系統性地對應因果關係。註解者首先篩選出遺漏的需求或由早期上下文支援的意圖。然後,三個 LLM 評判會識別出負責的輪次,並要求至少兩個評判對給定的輪次達成一致。有時,早期的陳述會明確建立需求。在其他情況下,沒有單一先前陳述這樣做,但前面對話的多個部分共同使預期的行為可被推斷。這種設計讓他們能夠將投訴連接到早期的根本錯誤,而不是將其歸咎於最後一個答案。

在接受提示之前,管線也會檢查其校正主張是否遵循自標記輪次之前可用的資訊。這些檢查旨在減少後見之明偏誤(hindsight bias),即把投訴中揭露的新偏好視為模型本應早已知道的事。

在此範例中,提示告訴模型在 Paychex 上搜尋 W-3 轉發表單而不是 W-2,或者如果請求模稜兩可,則詢問使用者指的是哪種表單。校正針對的是先前的解釋和搜尋決定,而不僅僅是最終答案。原始輪次保持不變;註解新增了 is_bad_turn: true 以及一個非空的 hint。

一個真實的工作階段,展示了如何將投訴追溯至先前的錯誤,並疊加了註解程序。使用者在 Paychex 上詢問「w3」,但模型將其視為 W-2 的拼字錯誤並搜尋了錯誤的表單。提案者共識可定位根本原因,而兩個基礎檢查則評估證據是否早於錯誤,以及提示的主張是否遵循當時可用的資訊。接受的註解會保留原始文字並新增標記和提示,而不是重寫的目標。

從工具錯誤中尋找錯誤

考慮工具錯誤群組中的另一個工作階段,其中包含一個搜尋呼叫,代理程式使用 recency_filter: "year" 進行搜尋,但工具拒絕了它,因為允許的值是「day」、「week」或「month」。這是一個明顯的 schema 違規。

工具錯誤路徑對已知錯誤使用確定性規則,對模稜兩可的情況使用模型判斷。單獨的錯誤訊息也不足以歸咎於模型;評判的校正必須指出模型可以從工具 schema、系統指令或早期對話中得知的資訊。

報告中無效的搜尋引數說明了目前的工具錯誤程序。Schema 使這種錯誤變得可以避免,單純的中斷則不然。原始呼叫會留在記錄中並接收有依據的提示。如果欄位是選用的,提示允許列出值或省略;它並不要求每個請求都必須使用「month」。

在此,提示命名失敗的呼叫、包含驗證錯誤,並指示模型使用允許的值或如果欄位是選用的則予以省略。

兩次前向傳遞

一旦某個回合被標記,訓練器就會執行相同的檢查點兩次:一次作為教師,另一次作為學生。教師會看到提示,而學生則不會。

兩次傳遞都使用教師強迫(teacher forcing),即我們向模型提供記錄的工作階段,而不是讓它選擇新的 token。前向傳遞在每個步驟仍然產生完整的下一個 token 分佈,但它一律以記錄中的固定前綴為條件,而不是以 rollout token 為條件。

以搜尋範例來說,給予提示時,同一個模型會為「month」指定高得多的機率,而對「year」則賦予較低的機率。訓練會將這種分佈偏移作為軟性目標。

兩次傳遞,一組權重。兩次傳遞都對記錄的延續進行評分;只有教師接收提示。其分離的下一個 token 機率透過前向 KL 引導學生。獨立的 CE 目標錨定模仿。這兩種損失都提供給一次權重更新。早期的提示可能會留在教師目前的水段中;兩次傳遞都不會產生替代的訓練答案。

教師模型的預測是分離的,或稱停止梯度:它們提供目標,但不會透過教師傳遞接收更新。在學生模型傳遞之後,一個優化器步驟會更新共用模型。

損失函數

CE 損失

CE 損失將選定用於模仿的記錄 token 視為真實目標,並對為其分配低機率的模型進行懲罰。這會產生一個硬性模仿目標。

在 token 位置 ,讓 為學生在完整詞彙表 中對 token 的機率。回應或工具呼叫中記錄的下一個 token 為 ,one-hot 目標分佈為 。iipi(v)p_i(v)vvVVyiy_irir_i

ri(v)=1[v=yi]r_i(v)=\mathbf{1}[v=y_i]

交叉熵(Cross-entropy)衡量學生預測該記錄 token 的準確度。透過 one-hot 目標,它會簡化為分配給 yiy_i 的負對數機率。

H(ri,pi)=−∑v∈Vri(v)log⁡pi(v)=−log⁡pi(yi)H(r_i,p_i)=-\sum_{v\in V}r_i(v)\log p_i(v)=-\log p_i(y_i)

CE 遮罩 miCEm_i^{\mathrm{CE}} 在應模仿 token 的位置為 11,在其他位置則為 00。對選定的位置進行加總即可得出模仿損失。

LCE=∑imiCEH(ri,pi)\mathcal{L}_{\mathrm{CE}}=\sum_i m_i^{\mathrm{CE}}H(r_i,p_i)

KL 損失

KL 損失改為使用教師模型的完整下一個 token 機率分佈 qiq_i 作為軟性校正目標。教師模型的上下文包含目前的提示以及該訓練片段中保留的任何早期提示;學生模型的上下文則一律不含提示。

KL 遮罩 miKLm_i^{\mathrm{KL}} 在應校正 token 的位置為 11,在其他位置則為 00;CE 和 KL 遮罩不會重疊。在這些位置,前向 KL 會懲罰教師和學生在完整詞彙表中的不一致:

LKL=∑imiKLDKL(qi∥pi)=∑imiKL∑v∈Vqi(v)log⁡qi(v)pi(v)\mathcal{L}_{\mathrm{KL}}=\sum_i m_i^{\mathrm{KL}}D_{\mathrm{KL}}(q_i\Vert p_i)=\sum_i m_i^{\mathrm{KL}}\sum_{v\in V}q_i(v)\log\frac{q_i(v)}{p_i(v)}

組合損失

兩個項共用一個分母,而不是分別進行正規化。此分母計算全域訓練批次中選定用於模仿的總 token 數。權重 λ\lambda 控制校正訓練相對於模仿的貢獻。

這種共用正規化符合我們訓練基礎設施的單分母介面,並在 λ=0\lambda=0 時恢復標準 SFT 損失,從而簡化基準比較。由於 CE token 比 KL token 豐富得多,使用共用分母也可以避免在標記 token 很少的批次中,賦予個別 KL token 過大的權重。

L=LCE+λLKL∑imiCE\mathcal{L}=\frac{\mathcal{L}_{\mathrm{CE}}+\lambda\mathcal{L}_{\mathrm{KL}}}{\sum_i m_i^{\mathrm{CE}}}

應用於先前的範例,包含 W-3/W-2 混淆以及無效搜尋呼叫的輪次會接收 KL。成功工作階段中的其他未標記助理內容仍會接收 CE。不成功工作階段中的其他助理內容則會保留為上下文,但不接收 CE 也不接收 KL。

評估顯示了什麼

我們的評估回答了兩個不同的問題。首先,當提示存在時,提示是否真的能幫助模型校正錯誤?其次,在沒有提示的情況下,訓練是否能幫助模型在日後避免該錯誤?第一個測試提示是否提供有用的訓練訊號。第二個測試模型是否能從中學習。

提示可以引導模型避開錯誤

我們在訓練執行前先測試第一個問題,以確保提示確實能引導模型避開錯誤。

使用者意見反應

我們使用相同的 GLM-5.2 基礎模型(溫 度為零),在有提示與無提示的情況下重新產生被標記的使用者意見反應輪次。盲測評判會看到後期的投訴,但看不到提示,也看不到是哪種條件產生了答案。

在 W-3 範例中,提示將下一個 token 的機率在前綴「W-」之後朝向「3」轉移,並遠離「2」。

提示保留了要求的 W-3 表單。長條圖顯示八次前向傳遞的平均下一個 token 機率;鬚狀圖顯示觀察到的範圍,而非信賴區間。兩個條件都使用未變更的基礎模型。

在由明確陳述的早期證據支援的較大 40 個保留輪次樣本中,被評判為已修復或在軌的比例從沒有提示時的 40.0% 上升到有提示時的 75.0%。在另一個由推斷意圖支援的 40 個輪次中,它從 32.5% 上升到 80.0%。

提示驗證,而非後訓練評估。每個證據群組中的相同 40 個標記輪次,在溫度為零的情況下使用未變更的 GLM-5.2 進行有提示與無提示的重新產生。評判會看到投訴,但看不到提示或條件。計數衍生自報告的速率和樣本大小;未報告信賴區間。

工具錯誤

在搜尋工具錯誤範例中,提示確實將機率質量從 year token 轉移到 month token。

提示將機率朝向允許的值轉移。長條圖顯示八次前向傳遞的平均下一個 token 機率;鬚狀圖顯示觀察到的範圍,而非信賴區間。兩個條件使用相同的基礎模型;未進行已訓練檢查點的比較。

在較大的 985 個保留輪次樣本上,我們使用相同的基礎模型,在有提示與無提示的情況下將每個輪次重新產生四次。盲測評判評估每次重新產生是否能避免原始失敗。提示將失敗避免率從 75.1% 提高到 93.7%,成對增幅達 18.6 個百分點,並將採取校正行動的比例從 60.6% 提高到 82.3%。對於單靠重複取樣難以修復的錯誤,其提升幅度最大。

在 985 個保留的標記輪次上進行工具錯誤提示驗證,每個條件進行四次重新產生。長條圖顯示未變更的基礎模型在有提示與無提示情況下的失敗避免率和校正行動率。避免目標錯誤並不代表工具呼叫或任務成功。

訓練後的工具可靠性與使用者意見回饋

接著,我們測試模型在沒有收到提示時是否會犯更少錯誤。我們在離線基準測試任務及實際使用者工作階段中,評估基礎模型與各種後訓練 checkpoint,檢查工具故障是否更少,以及使用者不滿意是否更低。

離線評估

離線評估使用 BrowseComp、Finch、WideSearch、DRACO、DSQA、SpreadsheetBench、HLE、具代表性的 Computer 任務集,並檢查技能載入、文件審查和內嵌引用。我們在評估軌跡中測量結果被明確標記為錯誤的工具呼叫所佔的比例。

在這些評估中,記錄的工具錯誤率在原始 GLM 5.2 中為 2.79%,在僅 RFT 檢查點中為 1.35%,在 RFT-plus-OPSD 檢查點中為 0.87%。這些檢查點是在不同的資料上進行訓練的,因此這不是 OPSD 的匹配資料消融實驗。任務層級的基準結果參差不齊,因此較少的工具錯誤本身並不一定能轉化為任務成功的全面提升。

原始 GLM-5.2、僅 RFT 和 RFT-plus-OPSD 檢查點的離線工具錯誤率。各檢查點之間的訓練資料不同;這不是受控的消融實驗。

線上評估:GLM-5.2

對於 GLM-5.2,我們進行了兩個獨立的 A/B 測試,每個條件約有十萬名使用者。在第一個測試中,早期的 RFT-plus-OPSD 檢查點的工具失敗率略低於原生 GLM 5.2(2.82% 對比 2.94%),但差異並無統計顯著性。

在後期的測試中,我們比較了兩個 RFT-plus-OPSD 檢查點:較早的檢查點(檢查點一)和較晚的檢查點(檢查點二)。在具有記錄狀態的呼叫中,工具呼叫失敗率從 2.24% 下降至 1.77%。這是一個具統計顯著性的 21.2% 相對降幅。我們沒有在線上直接比較檢查點二與原始 GLM 5.2。

使用者意見回饋的結果較無決定性。在第二個 GLM-5.2 實驗中,檢查點一的強烈不滿意(中度或高度)平均機率為 2.58%,檢查點二則為 2.54%,兩者並無統計上的顯著差異。

兩個獨立的 GLM-5.2 即時 A/B 測試。檢查點 1 與原生 GLM-5.2 進行比較;檢查點 2 則與檢查點 1 進行比較。在這兩個測試中,只有後續的工具失敗率降低具有統計顯著性。MID+ 率指的是中度或高度不滿意的平均估計機率,而非投訴次數。

線上評估:GLM-5.3

針對 GLM-5.3,我們將後期訓練的檢查點與原版 GLM-5.3 進行了直接比較。在記錄了狀態的呼叫中,工具呼叫失敗率從 3.56% 下降至 2.38%,相對減少了 33.04%。MID+ 比率(即中度或高度不滿意的平均估計機率)從 4.12% 下降至 3.41%,相對減少了 17.2%。這兩項減少幅度均具統計顯著性。

在獨立的線上 A/B 測試中,比較後期訓練的 GLM-5.3 與原版 GLM-5.3。工具失敗率與 MID+ 比率、相對變化以及 95% 順序信賴區間均採用 CUPED 調整。兩項減少幅度均具統計顯著性。MID+ 比率是指符合條件且已評分的後續 thread 的中度或高度不滿意平均估計機率,而非客訴次數。工具失敗率不包含未記錄成功或失敗狀態的呼叫。

結論

核心概念是在決策層級進行學習,而不僅僅是在工作階段層級。

成功的結果可以掩蓋錯誤,而不成功的工作階段仍然可以揭示如何改進。我們將成功工作階段中有用的行為保留作為錨點,利用投訴和工具錯誤來識別可避免的失敗,並將模型訓練朝向當這些錯誤和校正明確化時它所做出的預測。成功提供要保留的行為;失敗提供改進的方向。

真實世界的使用使得這種方法特別有用。真實使用者帶來的目標、限制和工作流程是在綜合環境中難以預料的。他們的校正揭示了模型遺漏的需求,而工具錯誤則暴露了模型嘗試執行的動作與環境允許的動作之間的差距。這些訊號對基於結果的訓練進行了補充:我們不僅可以詢問任務是否成功,還可以詢問模型在哪裡出錯以及什麼資訊可以幫助它做出更好的決定。

這些限制同樣重要。評審可能會出錯,修正一個回合並不保證整個任務會成功。我們的目標不僅僅是培育出能在修正後恢復的 AI 代理程式,而是培育出更少需要修正的 AI 代理程式。

引用

BibTeX
@online{perplexity2026LearningFromRealWorldExperience,
  author = {{Perplexity} and Senzeyu Zhang and Chuan Wang and Hang Wu and Hao Zhang and Yuan Liang and Yunfan Zhong and Phi Hoang and Claire Beamer and Jeremy Yang and Andrew Wilson and Denis Yarats},
  title = {{Learning from real-world experience}},
  date = {2026-09-21},
  url = {https://www.perplexity.ai/hub/blog/learning-from-real-world-experience}
}