这篇文章提出一个有意降低效率的做法:不要直接复制大语言模型生成的代码,而是手工重新输入,以避免积累“认知债务”。材料没有提供实验、案例或量化结果,但这个观点在 Hacker News 获得 360 points 和 296 条评论,说明开发者对生成速度与代码理解之间的矛盾已有明显关注。

什么是认知债务

这里的“认知债务”可以理解为:代码已经进入项目并开始运行,但维护者并未真正掌握它的结构、假设和边界。与技术债务不同,它未必立即表现为糟糕的架构或缺陷,问题首先出现在人的理解上。大模型能够快速产出完整实现,也更容易让开发者跳过逐行推导、变量追踪和接口核对。短期内任务完成得更快,后续调试、修改或审查时,却可能需要重新补课。

重敲代码能解决什么

手工重敲的潜在价值,不在于键盘输入本身,而在于人为增加一道检查流程。开发者在重新输入时,更可能注意函数签名、数据流、异常处理和依赖关系,也有机会停下来质疑不熟悉的写法。它相当于用摩擦换取理解,而不是把模型输出直接视为可交付结果。

但重敲并不等于验证。开发者仍可能在没有理解的情况下机械照录,代码中的逻辑错误、安全问题或错误假设也不会因此自动消失。材料并未说明这种方法相较于逐行审查、补充测试或要求模型解释代码是否更有效,因此不能把它当成经过验证的通用实践。

我的判断

这个建议的价值,是提醒团队不要只衡量生成代码节省了多少时间,还要计算理解和维护成本。它更适合学习场景、关键模块、陌生技术栈,以及需要由本人长期维护的代码。对于样板代码、一次性脚本或已经有严格测试和审查流程的项目,全部重敲可能只是低效仪式。更稳妥的原则不是“所有代码都要重敲”,而是确保进入代码库的实现至少被人解释、检查并验证过。