跳到主要内容

3 篇博文 含有标签「devtools」

查看所有标签

你的编程智能体忘记检查的分支状态

· 阅读需 12 分钟
Tian Pan
Software Engineer

你的编码智能体并不知道它在哪一个分支上。它以为它知道。十二轮对话前它看过 git status 的输出,它的上下文中有一份 CLAUDE.md 提到了会话开启时的分支名称,并且它观察到一个工具结果列出了五个当时正确的文件。从那时起,智能体就一直在基于那个快照进行静默推理。与此同时,你在另一个终端里运行了 git checkout main。智能体的 diff 顺利地写入了文件系统,因为操作系统并不关心这些字节属于哪个分支。这个 diff 在语义上是错误的,因为智能体对分支的心理模型已经落后了 300 个提交,且它所基于的父节点在你的工作树中已不复存在。

这就是分支状态漂移 (branch-state drift),它是数据库中“读-改-写”竞态 (read-modify-write race) 在编码智能体领域的翻版。智能体在第 N 轮读取世界状态,在第 N+1 到 N+k 轮之间修改计划,并在第 N+k+1 轮写回磁盘——而在这一时间窗口内的某个时刻,它脚下的世界已经发生了变化。没有异常抛出,没有工具返回错误。补丁被应用了。危害在下游显现:针对错误的基准分支开启了 PR,手动提交的代码被静默回滚,或者针对昨天刚迁移过的模式 (schema) 实现了新功能。

生产环境中的 LLM 代码审查:构建工程师真正信任的 Diff 流水线

· 阅读需 11 分钟
Tian Pan
Software Engineer

大多数部署 LLM 代码审查工具的团队都会在两周内发现同一种失败模式:模型为每个 PR 生成 10–20 条评论,其中 80% 都是噪音。在第三个 PR 中,如果开发者不看就关闭了所有评论,这个工具就名存实亡了 —— 通知被发送到无人查看的频道,而机器人仍然在每次推送时消耗算力。

问题不在于模型。而在于这些团队发布了一个评论生成器,却称之为审查工具。

大规模 AI 代码审查:当你的机器人带来的工作量超过它节省的工作量时

· 阅读需 11 分钟
Tian Pan
Software Engineer

大多数采用 AI 代码审查器的团队都会经历同样的阶段:最初的兴奋,伴随着大量看似有用的标注问题,然后逐渐演变成完全忽视该机器人。几个月内,工程师们已经形成了一种在不阅读 AI 评论的情况下直接将其关闭的肌肉记忆。工具仍在运行,评论仍在出现,但没有人再根据它们采取行动了。

这不是工具问题,而是衡量标准的问题。团队在部署 AI 代码审查时,从未定义过什么是“净收益”——如果没有这个基准线,告警疲劳最终会胜出。