![]()
在當前評測生成式模型代碼能力的浪潮中,傳統依賴人工編寫的算法基準測試集,正日益暴露出可擴展性不足與數據污染嚴重兩大瓶頸。
為突破這一困局,北京大學與通用人工智能研究院聯合提出全新 UniCode 框架。該研究由北京大學梁一韜助理教授指導,博士生鄭欣悅為第一作者,林昊葦為共同一作,創新性地構建了一套能夠自動生成高質量算法題目與抗污染測試用例的進化式評測系統。
UniCode 框架通過三大核心策略動態擴展題目,并采用基于「壓力測試」的用例合成技術,成功構建出包含 492 道題目的全新評測基準。在對 19 個前沿大模型進行系統性測試后,表現最佳的 o4-mini 模型也僅達到 70.3% 的通過率,充分印證了 UniCode 在評測上的高挑戰性與強判別力,為代碼能力評估開辟了一條動態、可擴展的全新路徑。
![]()
- 論文標題:UniCode: A Framework for Generating High Quality Competitive Coding Problems
- 論文地址:http://arxiv.org/abs/2510.17868
- 代碼開源:https://github.com/grandsmile/UniCode
- 數據集: https://huggingface.co/datasets/grandsmile/Generative_Coding_Dataset
三種「進化式」題目生成策略
![]()
UniCode 將問題生成看作類似生物進化的變異與重組過程,設計了三類互補策略:
- 單題擴展 (Single-problem extension):在保持核心邏輯的前提下,對單題進行結構性修改(如收緊約束、增加條件、改變輸入格式)。例如 Two Sum → Three Sum。該策略能保持問題范式一致,同時迫使模型在算法復雜度上做出新權衡。
- 同類融合 (Same-type fusion):將同算法標簽的兩題融合。通過讓 LLM 抽取共用的算法模式并重新實例化,生成語義新穎但邏輯相關的題目,從而避免「僅換敘述」的表層變化。
- 跨類融合 (Cross-type fusion):跨算法類別組合題目,由 LLM 自動發現「橋接概念」,生成復合型挑戰(如將求和與回文檢測結合為 Palindrome Sum Pair)。這種策略顯著提高了題目難度與診斷價值。
這三種策略既能沿用已有題目的結構性優勢,又能通過單題變異和重組在題目分布上產生真正的新樣本,從而抑制數據污染的影響并提高對模型算法泛化能力的考察力度。
壓力驅動的測試用例合成
![]()
自動生成題目的難點在于:沒有正確參考題解時,如何為題目構建高可信度的測試樣例集合?UniCode 提出一個壓力驅動的測試樣例合成流程來解決這一核心問題:
- 小規模暴力求解(Brute-force)+壓力測試(Stress test):對能在小輸入下暴力枚舉的題目,先由 LLM 生成一個以正確性為優先的「暴力算法」并在小規模輸入上運行,得到被信任的輸入 — 輸出對,這些對用作「壓力測試集」去篩選一組來自不同 LLM 的高效候選解。
![]()
3.LLM 仲裁(Adjudication):若沒有嚴格多數產生共識,則把最票數最多的兩種輸出樣例,再次輸入給 LLMs 進行分析裁決;若裁決仍不明確,則該用例被舍棄以保持試題集的完整性和可靠性。通過這套流程,研究團隊報告了測試用例正確率 94.5% 的水平,并在覆蓋率上也優于多項基線方法。
該流程實現了94.5% 的測試用例正確率,并在覆蓋率上優于多項基線方法。輸入生成采用三路并重策略:隨機樣本、對抗生成與 LLM 合成,并按固定比例(20 隨機 + 20 對抗 + 10 LLM 合成)構建最終測試套,兼顧覆蓋廣度與挑戰性。
評測與結論
![]()
借助 UniCode 框架,研究團隊從 Codeforces 等競賽平臺篩選種子算法題,自動生成了一個包含 492 道高質量題目、覆蓋 15 個核心算法標簽的評測基準,并在此基礎上對 19 個主流大語言模型 進行了系統評估。關鍵發現包括:
- 高挑戰性:即便是排名第一的模型(o4-mini-high),總體 pass@1 也只有 70.3%;在較難題目上,大部分模型表現斷崖式下降,說明 UniCode 框架能夠生成具有高挑戰性的算法題,暴露模型真實的算法能力差異。
- 模型魯棒性仍待提升:模型在隨機用例和對抗用例間平均存在約 11.2 個百分點的性能差,表明對邊界條件與復雜輸入的魯棒性仍是薄弱環節。
- 開源模型進步明顯:若干開源模型(如 DeepSeek-v3.1、Qwen3-235b)在整體性能上表現出競爭力,這對研究社區的可復現性和透明性具有積極意義。
LLMs 在算法推理場景下的泛化表現
![]()
為考察 LLMs 在算法題上的泛化能力,研究團隊構造了三類對照題集:SeedQS(原始種子題)、ShadowQS(保留邏輯但改寫敘述的「影子」題)與CodeGenQS(UniCode 生成的新題)。
實驗顯示:多數模型在 SeedQS 與 ShadowQS 上表現幾乎一致,說明它們對表層敘述變換具有較強魯棒性;但在 CodeGenQS(由 UniCode 生成、要求組合或遷移算法能力的題目)上,模型普遍出現顯著下跌 —— 論文給出若干例證:claude-3.5-sonnet 從 0.70 跌至 0.21,gpt-4.1-mini 從 0.83 跌至 0.40,整體上模型在 UniCode 問題上的平均性能下降超過 30%,而在僅為敘述改寫的 ShadowQS 上幾乎無變化。
這一對照實驗清晰區分了模型的「表層魯棒性」與「算法遷移能力」,并驗證了 UniCode 的「進化式」題目生成策略確實能夠構造出新穎且具挑戰性的任務,為理解和量化模型的真實泛化能力提供了幫助。
UniCode 題集與基準對齊
此外,研究團隊通過與兩項既有公開基準的對齊檢驗(LiveCodeBench 與 LiveCodeBenchPro)量化了 UniCode 的可信度:與 LiveCodeBench 的 Pass@1 分數呈高度正相關(Pearson r ≈ 0.986,p = 6.5e-06),而與 LiveCodeBenchPro(采用「排名越小越優」的打分方式)表現為強負相關(r ≈ ?0.916),這主要是度量方向的約定所致 —— 若取絕對值,兩者均顯示 |r|>0.9。
論文特別指出:UniCode 與這些成熟基準間獲得的相關性(以 |r| 衡量)超過了這些現有代碼基準數據集之間的互相關,從而證明UniCode 在評估尺度上與現有主流工具高度一致,且具備獨立揭露模型弱點的能力。論文同時通過人工盲審驗證了生成題目的可解性(在抽樣的 50 道題中,解題率達 98.0%),增強了生成題目在可讀性與語義明確性方面的可信度。
![]()
討論:錯誤題會讓評測失效嗎?
從可靠性角度的再思考
在傳統觀念中,一個基準的所有題目都必須是完美無瑕的。然而,當基準規模大幅擴展(如從幾百題增至數千題),尤其是通過自動生成方式構建時,完全避免錯誤題目成本極高,甚至不現實。UniCode 的研究通過數學論證指出:一個存在少量錯誤但題量巨大的基準,其整體評估結果可能比一個題量小但「完美」的基準更為可靠。
這背后的核心邏輯在于區分兩種不同類型的誤差:
- 系統偏差:由于基準中的錯誤題目導致的誤差。例如,一個錯誤題目可能永遠無法被解對。這種誤差是固定的,其大小大致等于「錯誤題目的比例」。在 UniCode 的設定中,即便有約 5.5% 的錯誤題目,其引入的系統偏差也相對較小且穩定。
- 隨機誤差:由于評測題目的抽樣隨機性導致的誤差。樣本量越小,結果的波動性就越大。一個僅有 200 道題的「完美」基準,很容易因為題目抽樣的偶然性(例如,恰好抽到了某個模型擅長的題型)而無法穩定反映模型的真實能力。
因此,在評估模型,尤其是區分頂尖模型時,我們更害怕的是結果「晃動」,而不是一個微小且固定的「偏移」。UniCode 通過其大規模生成能力,正是用可接受且極小的系統偏差,換取了隨機誤差的顯著降低,從而實現了比傳統小規模基準更高、更可靠的判別力。論文在附錄中通過嚴格的數學模型證明了這一點,確保了其基準報告的準確性是值得信賴的。
結語
UniCode 將「生成式評測」從理念推進到了可操作的工程化體系:通過三條進化式題目生成路徑 + 一套壓力驅動、分層驗證的測試合成流水線,UniCode 在題目多樣性、判題可靠性和對模型泛化能力的診斷上都取得了令人信服的結果。該框架不僅能緩解傳統靜態基準的污染與擴展問題,還為研究人員提供了一個可重復、可追溯的工具鏈,有望成為未來代碼生成與算法泛化評估的重要基石。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
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.