专门「对抗」大模型的编程语言 KillSwitch:LLM 真的理解代码吗?
Dominik Picheta 设计了一门刻意让大模型难以使用的栈式编程语言 KillSwitch:规范中藏有错误陈述,解释器会检查标识符的字母数量,还加入了容易触发安全拦截和提示注入陷阱的语法。他用简单任务测试了主流模型,最高分为 66.8。
要点
- 作者的问题是:LLM 写代码的成功,是真正理解,还是对训练数据中片段的回忆
- 作者自己承认任务过于简单,测试结果不足以证明模型「理解」代码
- 部分模型得分低是因为安全拦截过于敏感,而非不理解语言,这干扰了结果
- 得分与其他公开基准的排名相关,作者计划在模型解出后设计更难的任务
为什么值得关注
这类「对抗式」测试为讨论 LLM 的泛化能力提供了一个有趣的视角,也提醒我们:在私有 DSL 或冷门技术栈上使用 AI 编程时,效果可能明显低于主流语言。
来源
原文
I built a programming language that LLMs can't use
blog.picheta.me · blog.picheta.me · 2026-10-17
### [专门「对抗」大模型的编程语言 KillSwitch:LLM 真的理解代码吗?]({{URL}})
Dominik Picheta 设计了一门刻意让大模型难以使用的栈式编程语言 KillSwitch:规范中藏有错误陈述,解释器会检查标识符的字母数量,还加入了容易触发安全拦截和提示注入陷阱的语法。他用简单任务测试了主流模型,最高分为 66.8。
- 作者的问题是:LLM 写代码的成功,是真正理解,还是对训练数据中片段的回忆
- 作者自己承认任务过于简单,测试结果不足以证明模型「理解」代码
- 部分模型得分低是因为安全拦截过于敏感,而非不理解语言,这干扰了结果
- 得分与其他公开基准的排名相关,作者计划在模型解出后设计更难的任务
**为什么值得关注**:这类「对抗式」测试为讨论 LLM 的泛化能力提供了一个有趣的视角,也提醒我们:在私有 DSL 或冷门技术栈上使用 AI 编程时,效果可能明显低于主流语言。
来源:[I built a programming language that LLMs can't use](https://blog.picheta.me/post/killswitch-lang/)