降低 AI 代码变更的认知负担
摘要
Andrew Moffat 分享了一套针对 AI 生成代码的预审流程:先用提示词提取由 LLM 自行选定的定制术语,让人工逐一确认或覆盖这些术语,然后让 AI 执行全局查找替换,使代码读起来像是出自审阅者本人之手,从而降低不断累积的认知负担。
<p><a href="https://lobste.rs/s/iwvjr0/reducing_cognitive_load_ai_changes">评论</a></p>
查看缓存全文
缓存时间: 2026/10/01 14:25
# 降低 AI 代码变更带来的认知负担
来源:https://amoffat.github.io/blog/cognitive-load.html
Andrew · 2026 年 10 月 1 日 · 阅读约 2 分钟
在审阅大量 AI 生成的代码时,我常常发现 LLM 为抽象概念所选用的术语,并不总是与我自己的选择一致。比如,它可能称之为 `MutationIntent` 的东西,在我看来叫 `EditRequest` 会更自然。由于 LLM 的用词不是我理想的用法,每次看到这些术语时我都要在脑子里做一次语义查询,这无形中增加了认知负担。
这看似只是微小的摩擦,但当考虑到在陌生代码中有几十个新术语需要互相理解时,这些认知负担会不断累积。我脑子里能同时记住的语义查询数量是有限的,超过这个限度后,我就会开始误解代码的实际运作方式。
为了尽量减少这种负担,在进行代码审阅之前,我会先用这个提示词对 AI 的改动做后处理:
``
请审阅这些改动,提取出用于描述抽象对象、过程和概念的所有非常规或自创术语。为每个术语创建一个临时的 Markdown 文件,记录它的含义、选用它的原因,以及一些备选的替代术语。我将使用这份 Markdown 文件来确认术语选择,或提供我自己的定制术语。然后请按照这些决定对代码进行相应修改。这里的目标是将你的用词习惯映射到我的用词习惯,以便我能更轻松地理解这些概念。
``
接下来我会逐一确认这些术语的选择。AI 会把确定的术语在整个代码库中做查找替换,包括文档部分。最终得到的代码就容易审阅多了,因为它现在读起来更像是直接出自我的思路。
相似文章
AI时代下的代码审查生存指南
作者探讨了AI在代码审查中引入大型代码差异所面临的挑战,并寻求在保持人类理解的前提下应对这些挑战的策略建议。
@svpino: 如果你还在人工审查100%的AI生成代码,那你的速度就不够快。这根本不可能。审查…
该推文认为手动审查所有AI生成代码会造成瓶颈,并附带了一个链接,指向一种更好的方法。
使用AI进行代码审查,尤其是在diff很大的情况下
文章认为,人类代码审阅者应使用AI来处理大型diff,并贡献其分布外知识和高级上下文。
审查AI代码并非一个站得住脚的论点(2025)
文章认为,要求全面审查代码会抵消LLM编码助手所谓的生产力提升,因为实证研究显示它们并不能帮助写出更好或更快的代码,而且支持者未能解决固有的错误率问题。
用AI写更好的代码,但更慢
Nolan Lawson认为,AI编程助手可以通过使用多个模型进行彻底的代码审查和漏洞检测,从而更慢地编写高质量代码,提升代码库的健康状况,而不是最大化输出速度。