這項由Meta公司研究團隊主導的研究發表於2026年6月,論文編號為arXiv:2606.29957,有興趣深入了解的讀者可以通過該編號查詢完整論文。研究的代碼已在GitHub公開,網址為github.com/Togetherbench/SWE-Together,配套網站為togetherbench.com。
**一切都要從一個真實的問題說起**
你有沒有用過那種AI編程助手?你告訴它"幫我寫一個登錄功能",它洋洋灑灑給你寫了一堆代碼,但你一看——方向完全不對,或者漏掉了關鍵細節。於是你再說一遍,它又改,改完還是有問題,你再糾正……這樣來來回回折騰好幾輪,最後你甚至開始懷疑,這助手到底是在幫你,還是在耽誤你?
這個日常體驗正是這篇論文想要研究的核心問題:我們現有的AI編程助手評測方式,根本沒有捕捉到這種"反覆糾正"的代價。
目前學術界評測AI編程能力的主流方式,類似於給一位廚師出一道考試題——把食譜完整地給他看,讓他把菜做出來,然後評分。但現實中,真正的客人不是這樣點菜的。客人可能說"我想吃點清淡的",廚師做了一道菜出來,客人說"這個太咸了",廚師改改,客人又說"能不能換個擺盤"……整個過程是一種動態的、來來回回的協作。
Meta的研究團隊發現,現有的編程基準測試(也就是給AI出的"考試題")都是靜態的:題目一次性給完,AI交卷,評分。但真實的編程工作恰恰相反——用戶會一邊看AI的輸出,一邊不斷補充要求、指出錯誤、調整方向。這種"一次性考試"的評測方式,讓我們對AI編程助手的實際使用體驗知之甚少。
正是為了填補這個空白,Meta的團隊推出了一個全新的評測框架,叫做**SWE-Together**。
---
**一、從真實對話中打撈出來的考試題**
SWE-Together最獨特的地方,在於它的題目不是人工編造的,而是從真實的人機編程對話記錄中挑選出來的。
研究團隊從四個公開數據集裡收集了超過11,260段真實的用戶與AI編程助手的對話記錄,這四個數據集分別來自DataClaw社區貢獻的2,228段對話、Pi-staging流水線的2,397段對話、Hyperswitch生產代碼庫的784段對話,以及SWE-chat項目的5,851段對話。這些對話都是真實用戶在使用AI編程工具時留下的記錄,不是人工設計的,充滿了各種各樣真實的人類需求和行為。
但問題來了:真實的對話雖然真實,卻不一定適合拿來直接當考題。就好像你想用某個真實烹飪節目的片段來考廚師,但那段片段可能缺少關鍵步驟,或者根本沒有最終成品可以評判好壞。
因此,研究團隊設計了一套嚴格的"選題流水線",分三個階段把原始對話變成可用的考題。
第一個階段是純規則篩選,完全不依賴AI來判斷。這一步要求每段對話至少有多條真實的用戶消息(不是單一指令),必須包含AI實際修改代碼的動作,而且對話涉及的代碼倉庫必須是公開的、有一定知名度的GitHub項目。另外,如果最終的代碼改動主要是用戶自己寫的,而不是AI完成的,這段對話也會被過濾掉——因為研究的重點是評測AI編程能力,不是用戶自己的能力。經過這輪篩選,大概有10%到21%的對話能留下來。
第二個階段是AI輔助的可行性判斷。一個AI評審員會看每段對話的摘要,判斷其中的編程任務能不能在本地、封閉的環境中獨立完成和驗證。舉例來說,如果某段對話的核心工作是"提交一個Pull Request"或者"部署到雲伺服器",這種任務依賴外部狀態,在考場環境裡無法重現,就會被淘汰。但如果核心工作是修改代碼邏輯、添加功能、修復Bug,這種有具體代碼改動、可以在本地測試的任務就會被保留。經過這輪,大約5%到12%的對話還在。
第三個階段是在隔離的"沙盒"環境裡實際生成考題。一個專門的AI在隔離環境中把代碼倉庫恢復到對話發生時的狀態,找到可以用來驗證答案的測試命令,寫好評分所需的各種工具,同時生成一個後續要用到的"用戶模擬提示詞"。整個過程完全在隔離環境裡完成,防止任何外部環境變量(比如本機已安裝的工具或已經改好的代碼)污染考題。
經過這三輪篩選,11,260段原始對話中最終只有109段變成了可用的考題,轉化率約為0.97%。這個比例看起來很低,但恰恰說明研究團隊對質量的要求有多嚴格。
---
**二、一個能"看情況說話"的虛擬用戶**
有了109道考題,下一個問題就是:怎麼讓不同的AI編程助手來參加這場考試,同時保證考試條件對每個助手都公平?
這裡有一個微妙的難題。真實的對話是用戶和某個特定AI之間發生的。如果換一個AI來做同一道題,它的行為可能完全不同——它可能走了一條不同的路徑,或者在不同的時間點犯了錯誤。如果把原始對話里用戶說的話原封不動地"播放"給新AI,就會出現錯位——比如用戶原本是在糾正AI走錯的方向,但新AI壓根就沒走那條路,這個糾正消息就毫無意義,甚至會干擾它。
為了解決這個問題,Meta的團隊設計了一個"活的"虛擬用戶,而不是簡單地"播放錄音"。
這個虛擬用戶在每次AI完成一個操作後,都會認真觀察AI幹了什麼,然後根據情況決定:要不要說點什麼,說什麼。它有五種可選動作:沉默(讓AI繼續干)、提問(向AI澄清某個細節)、重定向(AI跑偏了,把它拉回來)、提出新要求(原始用戶後來追加的需求),以及讓AI去查看某個外部資訊。默認動作是沉默,只有在當前情況確實需要介入的時候,虛擬用戶才會開口。
這個虛擬用戶的行為有兩個關鍵原則。第一,它的干預是根據AI當前的實際狀態來觸發的,而不是按照時間表固定在某個時間點說某句話。第二,它的行為被嚴格錨定在原始對話用戶的真實意圖上,通過一份從原始對話中提取的"用戶意圖分析報告"來約束,防止虛擬用戶說出原始用戶從未表達過的需求或觀點。
這兩條原則共同解決了兩種極端的失敗情況:如果完全按照原始腳本說話,時機可能錯亂;如果完全自由發揮,又可能偏離原始任務。錨定但靈活的虛擬用戶,讓不同AI都在相同的"任務精神"下被測試,同時各自面對符合自身實際情況的用戶反饋。
---
**三、怎麼給AI的工作評分?**
評分是整套框架里最講究的環節。
研究團隊發現,傳統的"跑單元測試"方式來評判AI有沒有完成任務,存在兩個方向的問題。一方面,測試用例可能太窄——它只檢查某個特定的實現細節,但AI用另一種同樣正確的方式實現了,測試卻判它失敗。另一方面,測試用例可能太寬——它檢查了一些原始用戶根本沒要求的行為,導致任何AI都很難通過。事實上,OpenAI在2026年2月就因為類似原因停止報告SWE-bench Verified的成績,認為這套測試已經無法準確區分真正完成任務和表面通過測試的情況。
SWE-Together的評分方案把兩種方式結合起來。可執行的測試仍然會運行,但它們只是提供證據,而不是最終裁判。最終裁判是一個"評審AI",它會根據一套從原始對話中提煉出來的"行為目標清單"來評判AI的最終代碼是否達到了用戶的真實目的。
這套目標清單的生成過程是關鍵:它在評測任何AI之前就已經固定好了,不會因為被評測的AI交出了什麼樣的代碼而改變。每個目標有對應的權重,最終分數是各個目標完成情況的加權平均,數值在0到1之間,超過0.85就算通過。同樣的清單和標準,對所有參加評測的AI一視同仁。
除了最終得分,研究團隊還設計了兩個"過程診斷"指標來觀察交互質量。
第一個叫做"意圖覆蓋率",用來衡量虛擬用戶在整個對話過程中,有沒有忠實地把原始用戶的所有需求傳遞給被測AI。這個指標會把虛擬用戶說過的話,與從原始對話中提取的原始用戶意圖一一對照,看有沒有遺漏或者跑偏,然後用70%的權重衡量"有多完整",30%的權重衡量"有多準確",合併成一個綜合分。這個指標主要是用來確認測試條件本身是否穩定,而不是用來給AI排名的。
第二個叫做"用戶糾正次數",這才是直接反映AI表現的指標。每當虛擬用戶明確指出AI的工作有誤(比如"你寫錯了"、"這不是我要的"),就計1分;如果虛擬用戶只是隱晦地表示懷疑(比如"這樣真的對嗎?"),就計0.2分。這個分數越低,說明AI越能自己把任務做對,越少需要用戶幫忙糾正。
---
**四、七個頂級AI助手同台競技,結果如何?**
研究團隊用這套框架評測了七個當前最先進的AI編程模型,每道題跑兩遍取平均,一共評測了109道題。
排名第一的是Claude Opus 4.8,通過率63%,而且平均只需要1.38次用戶糾正——在七個模型里需要用戶幫忙最少。GPT-5.5和Claude Opus 4.6緊隨其後,通過率都是58%,但GPT-5.5在兩次運行都成功這個嚴格標準上表現更穩定,而Claude Opus 4.6在平均分標準上略高一點,兩者基本平分秋色。GLM-5.2和GLM-5.1構成第二梯隊,通過率分別是55%和52%,GLM-5.2的兩次運行穩定性明顯優於GLM-5.1,說明GLM-5.2的表現更可預期。DeepSeek-V4-Pro和MiniMax-2.7排在最後,其中MiniMax-2.7的通過率只有40%,同時需要的用戶糾正次數最多,達到2.17次,幾乎是Opus 4.8的1.6倍。
作為參照,研究團隊還用原始對話中人類用戶實際提交的代碼改動來跑了一遍評分——這個"參考答案"的通過率約為78%,平均分0.90。最強的AI模型與這個"人類水平參考線"之間,還有約15個百分點的差距,說明現在最好的AI還不能完全替代有經驗的人類開發者。
用戶糾正次數與AI能力之間的關係,在數據上表現得相當清晰。研究團隊計算了用戶糾正次數與各項通過率之間的相關係數,結果是-0.92(與pass@1的相關性)和-0.84(與穩定通過率的相關性),負號代表"能力越強,需要糾正越少",數值接近-1說明這種反向關係非常緊密。換句話說,AI越厲害,用戶就越不用操心去糾正它。這個發現呼應了普通用戶的直覺:一個真正好用的助手,應該是你不用反覆解釋它就能幹好的那種。
在效率層面,GPT-5.5的表現格外突出。它不僅排名第二,而且用的token數量(可以理解為計算消耗)最少——每道題平均2.99萬個token,完成時間也最短,平均10.7分鐘。相比之下,Opus 4.8雖然最厲害,但每道題消耗了7.4萬個token,是GPT-5.5的兩倍多。MiniMax-2.7和GLM-5.1則是耗時最長的,分別需要36.2分鐘和38.8分鐘,不過這可能也受到各自伺服器位置和基礎設施的影響。
---
**五、虛擬用戶夠真實嗎?用四個真人來評判**
一個自然的疑問是:這個虛擬用戶模擬的行為,真的像真實用戶嗎?
研究團隊做了一個類似"圖靈測試"的實驗來回答這個問題。他們找來四位人工標註員,讓他們在一個網頁界面上逐一判斷:眼前這段對話里,用戶是真實的人,還是AI模擬的?每次判斷是二選一的強制選擇,不能棄權。
實驗使用了109道題中有52道被三個不同AI模型都做過的題目,這樣每道題有三段對話可以配對,總共產生156對配對、312次判斷。
最終結果是:標註員認為"這是真實用戶"的概率為46%,95%置信區間在40.5%到51.6%之間。因為這個區間包含了50%——也就是純隨機猜測的水平——統計上無法證明標註員能可靠地區分虛擬用戶和真實用戶。
這意味著,在普通人眼裡,這個AI模擬出來的"用戶"的行為,與真實用戶幾乎沒有可辨別的差異。
---
**六、這項研究在整個領域裡處於什麼位置?**
在SWE-Together之前,編程AI的評測大體上分兩類。一類是測試AI與工具環境的交互——AI可以看文件、運行命令、改代碼、跑測試,但用戶的要求從頭到尾就是那一句話,不會變。SWE-bench系列是這類測試的代表,是目前學界最權威的編程AI基準之一。另一類是測試AI與用戶的多輪對話,但這類測試的題目往往是人工編造的,不是來自真實用戶的真實需求,用戶模擬器也沒有錨定在真實行為上。
SWE-Together是目前極少數同時滿足四個條件的評測框架:題目來自真實代碼倉庫(而不是玩具級別的編程題)、AI可以與工具環境互動、包含真實的多輪用戶反饋、且整個任務來源於真實用戶與AI的錄製對話。
麻省理工學院、斯坦福等多個團隊此前也做過一些類似的探索,比如用模擬用戶逐步透露隱藏資訊的方式測試AI,或者用滿意度驅動的模擬用戶來測試GitHub Issue的解決能力。但這些工作的用戶模擬器大多基於通用的角色扮演提示詞,沒有錨定在真實用戶行為上。一項來自外部的研究(Suh等人,2026年)則發現,錨定在真實人類行為上的用戶模擬器,能培養出質量明顯更高的協作AI助手,這為SWE-Together的設計選擇提供了外部支撐。
---
**七、這套框架有哪些還未解決的問題?**
任何評測框架都有局限,SWE-Together也不例外,研究團隊在論文中坦誠地提出了這些問題。
當前的虛擬用戶只能在AI完成一輪操作之後才能說話,沒法在AI操作到一半的時候插嘴打斷。這意味著一些現實中非常自然的用戶行為——比如"等等,我剛才說錯了,你先停下"——目前還無法被模擬。
此外,虛擬用戶只能看到文字和命令行輸出,看不到界面截圖或者視覺化的資訊,而真實用戶有時候會根據看到的網頁效果來給反饋,這部分資訊目前被完全忽略了。
這套評測框架最擅長處理的是有明確可測結果的任務——比如"加一個功能"、"修復一個Bug",這類任務可以通過檢查最終代碼來評判是否完成。但如果任務本身是模糊的、開放式的,或者結果是主觀的(比如"幫我把代碼寫得更優雅一點"),當前框架就力不從心了。
---
歸根結底,這項研究揭示了一件對普通用戶來說挺重要的事:一個AI編程助手到底好不好用,不只是看它最終能不能把代碼寫對,還要看在這個過程中,你需要糾正它多少次。糾正次數越少,你的使用體驗就越好,省下來的時間和精力也越多。
從實驗結果來看,目前最好的AI助手(Opus 4.8)在109道真實任務里,平均只需要1.38次用戶糾正就能完成,通過率63%。這已經相當不錯,但距離"人類高手水平"(78%通過率)還有一段距離。這意味著即便是最頂尖的AI編程工具,在真實的工作場景中,仍然需要你投入相當程度的引導和糾正。
對普通用戶而言,這項研究提供了一種更符合實際的眼光去看待AI編程工具的評測排名:當你看到某個AI在傳統基準測試上拿了高分,不妨問一句——它在真實的來回對話中表現如何?它需要你糾正幾次才能幹好活?這兩個問題,可能比單純的通過率更能反映你的真實使用體驗。
有興趣深入研究的讀者,可以通過arXiv編號2606.29957獲取完整論文,或訪問togetherbench.com了解更多詳情。
---
Q&A
Q1:SWE-Together和SWE-bench有什麼區別?
A:SWE-bench是目前最主流的AI編程測試框架,它給AI一個完整的任務描述,AI提交代碼,然後評分,全程沒有用戶互動。SWE-Together在此基礎上加入了多輪用戶對話:AI每完成一步,一個虛擬用戶就會根據情況決定是否介入糾正,更貼近真實使用體驗。SWE-Together的題目還來自真實用戶與AI的錄製對話,而不是人工編造的。
Q2:用戶糾正次數指標是怎麼計算出來的?
A:每當虛擬用戶明確指出AI的工作有誤,就計1分;如果虛擬用戶只是隱晦地表示懷疑,就計0.2分。把每道題兩次運行的分數平均後,再對109道題取總平均,就得到每個模型的用戶糾正次數。這個數字越低,說明AI越不需要用戶幫忙糾正,使用體驗越好。
Q3:SWE-Together里的虛擬用戶是怎麼保證不偏離原始用戶意圖的?
A:研究團隊從每段原始對話中提取了一份"用戶意圖分析報告",詳細記錄了原始用戶想要什麼、有哪些限制條件、在什麼情況下才會開口。虛擬用戶在整個測試過程中始終以這份報告為行動依據,不會憑空發明原始用戶從未表達過的需求,同時又能根據被測AI的實際狀態靈活決定何時說話。






