從真實世界的經驗中學習

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

作者Perplexity Research

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

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

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

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

在實際應用中,經過後續訓練的 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」而拒絕它。這是明確的綱要違規。

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

報告中無效的搜尋引數說明了當前的工具錯誤程序。綱要使這個錯誤可以避免;單獨的中斷則無法。原始呼叫會保留在記錄中並接收有根據的提示。如果欄位是選用的,提示允許列出值或省略;它並非要求每個請求都必須使用「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 範例中,在「W-」前綴之後,提示將下一個 Token 機率朝向「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 個保留的標記輪次上進行工具錯誤提示驗證,每個條件進行四次重新生成。長條圖顯示未變更之基礎模型在有提示與無提示情況下的失敗避免率和修正行動率。避開目標錯誤並不代表工具呼叫或任務成功。

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

接著,我們測試訓練後的模型在不接收提示的情況下是否會犯更少錯誤。我們在離線基準任務以及實際使用者工作階段中,評估原始模型與各個訓練後檢查點,檢查工具失敗是否更少,以及使用者不滿是否更低。

離線評估

離線評估使用 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+ 比率是指在符合資格且已評分的後續討論串中,中度或高度不滿意的平均預估機率,而非客訴次數。工具失敗率不包含未記錄成功或失敗狀態的呼叫。

結論

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

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

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

這些限制同樣重要。評估者可能會出錯,修正一次對話並不能保證整個任務成功。目標不只是打造一個在修正後能恢復的 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}
}