用「進(jìn)化+壓力測試」自動生成的競賽級編程題,各家大模型誰更hold住?
在當(dāng)前評測生成式模型代碼能力的浪潮中,傳統(tǒng)依賴人工編寫的算法基準(zhǔn)測試集,正日益暴露出可擴展性不足與數(shù)據(jù)污染嚴(yán)重兩大瓶頸。
為突破這一困局,北京大學(xué)與通用人工智能研究院聯(lián)合提出全新 UniCode 框架。該研究由北京大學(xué)梁一韜助理教授指導(dǎo),博士生鄭欣悅為第一作者,林昊葦為共同一作,創(chuàng)新性地構(gòu)建了一套能夠自動生成高質(zhì)量算法題目與抗污染測試用例的進(jìn)化式評測系統(tǒng)。
UniCode 框架通過三大核心策略動態(tài)擴展題目,并采用基于「壓力測試」的用例合成技術(shù),成功構(gòu)建出包含 492 道題目的全新評測基準(zhǔn)。在對 19 個前沿大模型進(jìn)行系統(tǒng)性測試后,表現(xiàn)最佳的 o4-mini 模型也僅達(dá)到 70.3% 的通過率,充分印證了 UniCode 在評測上的高挑戰(zhàn)性與強判別力,為代碼能力評估開辟了一條動態(tài)、可擴展的全新路徑。

- 論文標(biāo)題:UniCode: A Framework for Generating High Quality Competitive Coding Problems
- 論文地址:http://arxiv.org/abs/2510.17868
- 代碼開源:https://github.com/grandsmile/UniCode
- 數(shù)據(jù)集: https://huggingface.co/datasets/grandsmile/Generative_Coding_Dataset
三種「進(jìn)化式」題目生成策略

UniCode 將問題生成看作類似生物進(jìn)化的變異與重組過程,設(shè)計了三類互補策略:
- 單題擴展 (Single-problem extension):在保持核心邏輯的前提下,對單題進(jìn)行結(jié)構(gòu)性修改(如收緊約束、增加條件、改變輸入格式)。例如 Two Sum → Three Sum。該策略能保持問題范式一致,同時迫使模型在算法復(fù)雜度上做出新權(quán)衡。
- 同類融合 (Same-type fusion):將同算法標(biāo)簽的兩題融合。通過讓 LLM 抽取共用的算法模式并重新實例化,生成語義新穎但邏輯相關(guān)的題目,從而避免「僅換敘述」的表層變化。
- 跨類融合 (Cross-type fusion):跨算法類別組合題目,由 LLM 自動發(fā)現(xiàn)「橋接概念」,生成復(fù)合型挑戰(zhàn)(如將求和與回文檢測結(jié)合為 Palindrome Sum Pair)。這種策略顯著提高了題目難度與診斷價值。
這三種策略既能沿用已有題目的結(jié)構(gòu)性優(yōu)勢,又能通過單題變異和重組在題目分布上產(chǎn)生真正的新樣本,從而抑制數(shù)據(jù)污染的影響并提高對模型算法泛化能力的考察力度。
壓力驅(qū)動的測試用例合成

自動生成題目的難點在于:沒有正確參考題解時,如何為題目構(gòu)建高可信度的測試樣例集合?UniCode 提出一個壓力驅(qū)動的測試樣例合成流程來解決這一核心問題:
- 小規(guī)模暴力求解(Brute-force)+壓力測試(Stress test):對能在小輸入下暴力枚舉的題目,先由 LLM 生成一個以正確性為優(yōu)先的「暴力算法」并在小規(guī)模輸入上運行,得到被信任的輸入 — 輸出對,這些對用作「壓力測試集」去篩選一組來自不同 LLM 的高效候選解。
- 大規(guī)模多數(shù)投票(Majority vote):對于計算上無法暴力驗證的大規(guī)模輸入,運行第一階段篩出的「高效候選解」并對每個測試用例采用嚴(yán)格多數(shù)投票來決定最終輸出(即輸出被超過
個解法一致產(chǎn)生時被接受)。這種按測試用例粒度的聚合,比整題級別的一致性要求更能保留困難但可靠的問題。 - LLM 仲裁(Adjudication):若沒有嚴(yán)格多數(shù)產(chǎn)生共識,則把最票數(shù)最多的兩種輸出樣例,再次輸入給 LLMs 進(jìn)行分析裁決;若裁決仍不明確,則該用例被舍棄以保持試題集的完整性和可靠性。通過這套流程,研究團(tuán)隊報告了測試用例正確率 94.5% 的水平,并在覆蓋率上也優(yōu)于多項基線方法。
該流程實現(xiàn)了 94.5% 的測試用例正確率,并在覆蓋率上優(yōu)于多項基線方法。輸入生成采用三路并重策略:隨機樣本、對抗生成與 LLM 合成,并按固定比例(20 隨機 + 20 對抗 + 10 LLM 合成)構(gòu)建最終測試套,兼顧覆蓋廣度與挑戰(zhàn)性。
評測與結(jié)論

借助 UniCode 框架,研究團(tuán)隊從 Codeforces 等競賽平臺篩選種子算法題,自動生成了一個包含 492 道高質(zhì)量題目、覆蓋 15 個核心算法標(biāo)簽的評測基準(zhǔn),并在此基礎(chǔ)上對 19 個主流大語言模型 進(jìn)行了系統(tǒng)評估。關(guān)鍵發(fā)現(xiàn)包括:
- 高挑戰(zhàn)性:即便是排名第一的模型(o4-mini-high),總體 pass@1 也只有 70.3%;在較難題目上,大部分模型表現(xiàn)斷崖式下降,說明 UniCode 框架能夠生成具有高挑戰(zhàn)性的算法題,暴露模型真實的算法能力差異。
- 模型魯棒性仍待提升:模型在隨機用例和對抗用例間平均存在約 11.2 個百分點的性能差,表明對邊界條件與復(fù)雜輸入的魯棒性仍是薄弱環(huán)節(jié)。
- 開源模型進(jìn)步明顯:若干開源模型(如 DeepSeek-v3.1、Qwen3-235b)在整體性能上表現(xiàn)出競爭力,這對研究社區(qū)的可復(fù)現(xiàn)性和透明性具有積極意義。
LLMs 在算法推理場景下的泛化表現(xiàn)

為考察 LLMs 在算法題上的泛化能力,研究團(tuán)隊構(gòu)造了三類對照題集:SeedQS(原始種子題)、ShadowQS(保留邏輯但改寫敘述的「影子」題)與 CodeGenQS(UniCode 生成的新題)。
實驗顯示:多數(shù)模型在 SeedQS 與 ShadowQS 上表現(xiàn)幾乎一致,說明它們對表層敘述變換具有較強魯棒性;但在 CodeGenQS(由 UniCode 生成、要求組合或遷移算法能力的題目)上,模型普遍出現(xiàn)顯著下跌 —— 論文給出若干例證:claude-3.5-sonnet 從 0.70 跌至 0.21,gpt-4.1-mini 從 0.83 跌至 0.40,整體上模型在 UniCode 問題上的平均性能下降超過 30%,而在僅為敘述改寫的 ShadowQS 上幾乎無變化。
這一對照實驗清晰區(qū)分了模型的「表層魯棒性」與「算法遷移能力」,并驗證了 UniCode 的「進(jìn)化式」題目生成策略確實能夠構(gòu)造出新穎且具挑戰(zhàn)性的任務(wù),為理解和量化模型的真實泛化能力提供了幫助。
UniCode 題集與基準(zhǔn)對齊
此外,研究團(tuán)隊通過與兩項既有公開基準(zhǔn)的對齊檢驗(LiveCodeBench 與 LiveCodeBenchPro)量化了 UniCode 的可信度:與 LiveCodeBench 的 Pass@1 分?jǐn)?shù)呈高度正相關(guān)(Pearson r ≈ 0.986,p = 6.5e-06),而與 LiveCodeBenchPro(采用「排名越小越優(yōu)」的打分方式)表現(xiàn)為強負(fù)相關(guān)(r ≈ ?0.916),這主要是度量方向的約定所致 —— 若取絕對值,兩者均顯示 |r|>0.9。
論文特別指出:UniCode 與這些成熟基準(zhǔn)間獲得的相關(guān)性(以 |r| 衡量)超過了這些現(xiàn)有代碼基準(zhǔn)數(shù)據(jù)集之間的互相關(guān),從而證明 UniCode 在評估尺度上與現(xiàn)有主流工具高度一致,且具備獨立揭露模型弱點的能力。論文同時通過人工盲審驗證了生成題目的可解性(在抽樣的 50 道題中,解題率達(dá) 98.0%),增強了生成題目在可讀性與語義明確性方面的可信度。

討論:錯誤題會讓評測失效嗎?
從可靠性角度的再思考
在傳統(tǒng)觀念中,一個基準(zhǔn)的所有題目都必須是完美無瑕的。然而,當(dāng)基準(zhǔn)規(guī)模大幅擴展(如從幾百題增至數(shù)千題),尤其是通過自動生成方式構(gòu)建時,完全避免錯誤題目成本極高,甚至不現(xiàn)實。UniCode 的研究通過數(shù)學(xué)論證指出:一個存在少量錯誤但題量巨大的基準(zhǔn),其整體評估結(jié)果可能比一個題量小但「完美」的基準(zhǔn)更為可靠。
這背后的核心邏輯在于區(qū)分兩種不同類型的誤差:
- 系統(tǒng)偏差:由于基準(zhǔn)中的錯誤題目導(dǎo)致的誤差。例如,一個錯誤題目可能永遠(yuǎn)無法被解對。這種誤差是固定的,其大小大致等于「錯誤題目的比例」。在 UniCode 的設(shè)定中,即便有約 5.5% 的錯誤題目,其引入的系統(tǒng)偏差也相對較小且穩(wěn)定。
- 隨機誤差:由于評測題目的抽樣隨機性導(dǎo)致的誤差。樣本量越小,結(jié)果的波動性就越大。一個僅有 200 道題的「完美」基準(zhǔn),很容易因為題目抽樣的偶然性(例如,恰好抽到了某個模型擅長的題型)而無法穩(wěn)定反映模型的真實能力。
因此,在評估模型,尤其是區(qū)分頂尖模型時,我們更害怕的是結(jié)果「晃動」,而不是一個微小且固定的「偏移」。UniCode 通過其大規(guī)模生成能力,正是用可接受且極小的系統(tǒng)偏差,換取了隨機誤差的顯著降低,從而實現(xiàn)了比傳統(tǒng)小規(guī)?;鶞?zhǔn)更高、更可靠的判別力。論文在附錄中通過嚴(yán)格的數(shù)學(xué)模型證明了這一點,確保了其基準(zhǔn)報告的準(zhǔn)確性是值得信賴的。
結(jié)語
UniCode 將「生成式評測」從理念推進(jìn)到了可操作的工程化體系:通過三條進(jìn)化式題目生成路徑 + 一套壓力驅(qū)動、分層驗證的測試合成流水線,UniCode 在題目多樣性、判題可靠性和對模型泛化能力的診斷上都取得了令人信服的結(jié)果。該框架不僅能緩解傳統(tǒng)靜態(tài)基準(zhǔn)的污染與擴展問題,還為研究人員提供了一個可重復(fù)、可追溯的工具鏈,有望成為未來代碼生成與算法泛化評估的重要基石。
























