← 返回概念解读

Concept Fable精修版

HumanEval (代码生成评估)

HumanEval · 基准

先读故事。这里不急着给定义,先让问题自己长出来。

寓言故事

木匠写机关而不只是说机关

工匠学院考试过去问学徒:如果要让水车停在指定水位,你会怎么做。会背书的人答得很好。

后来工坊真的需要自动水车。会解释的人写不出能转的机关,写得出的机关又常在边角情况卡死。

院长先让学徒写更长的方案。方案读起来完整,却没人知道放进河里会不会动。

他又让老师凭经验打分。老师喜欢熟悉的写法,忽略了某些短机关其实能可靠运行。

新考官改了题:给出函数说明和测试样例,让学徒写出可执行机关。机关会被放进一组隐藏水槽里试。

有的答案文字漂亮,却一运行就漏水;有的答案朴素,但通过所有水槽。分数开始接近真实造机关能力。院长还把成绩拆开看:能不能处理空水槽,能不能承受满水,能不能在水位刚好贴边时不乱跳。这样一来,分数不再只是漂亮名次,而能指出哪类小活已经可靠,哪类还需要回炉。

考官也承认,这只测小机关,不代表能建整座水厂。题目泄露或过度刷题,也会让分数虚高。后来学院把题库也看得更严。公开练习题可以给学徒熟悉规矩,正式考试却要保留没见过的机关,否则有人只记住答案形状,到了真河道仍然不会修。

工坊因此把它当作写机关能力的一把尺,而不是全部软件工程能力的证明。院长说:写机关的人,最终要让代码跑起来,而不是只把思路讲顺。后来管事把这次经验写进日常规矩:先看场景,再看边界,最后看失败时谁能接手。只有这些都清楚,漂亮演示才会变成可交付的工作。复查时,他们还会拿旧事故对照一遍,确认新规矩不是只在纸上好看,而能在忙乱现场真正挡住同样的错误。

揭示

这个故事讲的是:HumanEval (代码生成评估)

HumanEval 是用于评估代码生成模型的基准,通常给出函数签名、说明和测试,要求模型生成能通过测试的代码。它衡量小型编程题的功能正确性,常用 pass@k 等指标;但它不能完整代表真实软件工程,也容易受到题目污染、测试覆盖不足和刷榜优化影响。

它重要的地方在于:它不只是一个术语,而是在真实 AI / Agent 系统里会反复出现的结构性问题。理解它,才能判断什么时候该加模型,什么时候该改流程,什么时候该补治理。

隐喻映射

  • 水车机关:生成的代码
  • 方案作文:只解释不执行
  • 隐藏水槽:隐藏测试用例
  • 漏水:代码运行失败
  • 小机关:短函数编程题
  • 整座水厂:真实工程项目。

Soloharness 判断

这个概念的实战价值,是帮你把“看起来聪明的 AI 功能”拆成可交付、可验收、可治理的工作单元。

代码生成评测pass@kMBPPSWE-bench