EsoLang-Bench:用冷門程式語言戳破 LLM 的「真正推理」假象——標準測驗 95%,換個語言直接 0%
EsoLang-Bench:用冷門程式語言戳破 LLM 的「真正推理」假象——標準測驗 95%,換個語言直接 0%
title: "EsoLang-Bench:用冷門程式語言戳破 LLM 的「真正推理」假象——標準測驗 95%,換個語言直接 0%" date: 2026-03-10 author: Aman Sharma et al. source: https://arxiv.org/abs/2603.09678 category: articles tags:
- LLM
- Benchmark
- 推理
- 程式碼生成
- 論文 created: 2026-03-23 updated: 2026-03-23
EsoLang-Bench:用冷門程式語言戳破 LLM 的「真正推理」假象——標準測驗 95%,換個語言直接 0%
論文摘要
LLM 在程式碼生成 benchmark 上的表現已經接近天花板(85-95%),但這些成績越來越反映的是記憶(memorization)而非真正的推理(genuine reasoning)。
研究者提出 EsoLang-Bench,用五種冷門程式語言(Esoteric Programming Languages)來測試 LLM 是否真的會推理。
為什麼用冷門語言?
五種測試語言
- Brainfuck:只有 8 個指令的極簡語言
- Befunge-98:二維網格上執行的語言
- Whitespace:只用空格、Tab、換行符的語言
- Unlambda:基於 Lambda 演算的函數式語言
- Shakespeare:程式碼看起來像莎士比亞戲劇的語言
為什麼這些語言適合測試?
- GitHub 上的公開 repo 比 Python 少 1,000 到 100,000 倍——訓練資料中幾乎沒有
- 沒有 benchmark gaming 的動機——沒有人會為了刷分特地在這些語言上訓練
- 需要的計算原語和主流語言完全相同——迴圈、條件判斷、變數操作都一樣,只是語法不同
如果 LLM 真的「理解」程式設計,換個語法應該還是會做。如果不會,那之前的高分就是背答案。
實測結果
💀 災難性的能力落差
| 測試 | 標準 Benchmark | EsoLang-Bench |
|---|---|---|
| 成績 | 85-95% | 0-11% |
| Easy 以上 | — | 0% |
- 測試了 5 個頂級模型(frontier models)
- 嘗試了 5 種 prompting 策略
- Few-shot learning 沒有幫助
- Self-reflection 也沒有幫助
這代表什麼?
Few-shot 和 self-reflection 之所以在標準測驗上有效,是因為它們在利用訓練資料中的先驗知識(training priors),而不是在「真正學習」。
換句話說:LLM 不是「學會了程式設計」,而是「背了很多 Python/JavaScript 的答案」。