很多开发者用 Claude Code 或 Cursor 审查同一段代码时,都会遇到一个让人抓狂的现象:连续跑三次 Review,它每次都能提出完全不一样的 … · @fishjar · TwKit
@fishjar
很多开发者用 Claude Code 或 Cursor 审查同一段代码时,都会遇到一个让人抓狂的现象:连续跑三次 Review,它每次都能提出完全不一样的 Bug 和改进意见。 有人觉得这是模型在胡说八道,有人觉得是第一次检查漏掉了。 撕开表象看底层,这根本不是什么质量问题,而是你误把一个“自回归概率采样器”当成了“确定性静态分析器”。 传统的 ESLint、SonarQube 是基于抽象语法树(AST)的规则匹配,输入相同的代码,AST 遍历结果绝对不会变。 但大模型审查代码本质上是根据当前上下文预测下一个 Token 的概率分布。只要采样温度 Temperature 大于零,每一次前向传播都在高维向量空间里走不同的分叉路径。 第一次采样击中了并发锁竞争的 Token 路径,第二次采样偏移到了边界值溢出,第三次则被上一轮对话残留在上下文里的系统提示词带向了代码坏味道。 想让 AI 给出确定性的代码审查,必须在 CLI 层面固定种子(Seed)、将温度焊死在 0,并清空历史会话状态。指望一个概率模型拥有静态 Linter 的确定性,本身就是对数学基础的认知偏差。
曝光 496 · 评论 8 · 点赞 7 · 书签 2
查看原帖