你上周剛給智能體接上了自我批評循環。第一輪迭代,它修正了明顯的錯誤;第二輪,抓住了更隱蔽的問題。到第三輪,它開始重寫那些無關緊要的措辭,評估分數幾乎紋絲不動。第四輪,分數反而掉了兩分——模型開始捍衛之前的一個錯誤選擇,繞著問題修修補補,就是不改正。
這是把反思循環投入真實評估數據后,團隊們最終都會撞上的形狀。Self-Refine和Reflexion這些早期論文的標題沒寫錯:讓模型批評自己的輸出確實有用。但大多數生產團隊忽略的是,這條曲線是凹的、短的,經過少數幾輪迭代后,循環就開始消耗你的token、延遲和準確率。
![]()
這個模式不是一個固定數字。它取決于任務類型、模型本身,以及批評者是能接觸到ground truth還是只能看到執行者的上一輪輸出。綜合已發表的研究(Self-Refine論文、Reflexion論文,以及Anthropic關于構建有效智能體的文章),這個形狀足夠一致,可以用來做規劃。
第零輪迭代是基線草稿。第一輪是首次批評-修訂。從零到一的提升是你在整個循環中能看到的最大增益。根據團隊公開分享的評估數據,這個提升通常在特定領域基準測試上落在5到15分的區間,具體數字高度依賴任務和模型——把它當作軼事參考,而非保證。第二輪增加一個較小但真實的 bump,通常是第一輪增量的一個分數。第三輪是曲線趨于平緩的地方。第四輪是某些運行中開始出現回歸的地方(這是作者在生產循環中的觀察,非發表數據)。
回歸的機制并不稀奇。一旦模型產出文本并在第一輪批評中為其辯護,這段文本就進入了上下文。模型將其視為已承諾的工作。第二輪自我批評看到之前的批評和之前的修訂,開始過度編輯:觸碰原本正確的部分,刪除細微差別,給原本通順的句子堆疊謹慎的限定詞。代碼任務中,一個能跑的函數被重寫成更"防御性"的版本,引入了一個微妙的off-by-one錯誤。寫作任務中,原始主張上堆了太多限定詞,主張本身被淹沒了。
所以實用規則是:預算一到兩輪批評迭代,把三輪當作上限,絕不要因為智能體說"實際上,反思一下,我還可以進一步改進"就讓循環無限制運行下去。
解決錨定問題的最干凈方案是結構性的。不要用同一個模型調用來產出文本和批評文本。用兩個獨立的prompt(理想情況下是兩個獨立的對話上下文)——一個執行者產出輸出,一個批評者評判輸出。
這種拆分之所以重要,有兩個原因。首先,批評者看不到執行者的思維鏈……
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.