过期 TODO 可能让编程智能体多耗 Token
文章援引 Google 的 Agent Distraction 研究,称过期 TODO 等注释可能诱导编程智能体偏离任务,带来额外 Token 消耗。研究通过关联代码注释中的工单、工单状态及用户请求,识别智能体的无效绕行。
原文暂未完整获取,基于公开信息的快读
代码里的 TODO,可能把编程智能体带去处理你没布置的任务。一篇 dev.to 文章援引 Google 的 Agent Distraction 研究称,出现未经请求的绕行时,文件读取会话的 Token 消耗高出 77%。这个数字统计的是任务外绕行,不能直接当成过期 TODO 的统一成本。
目前能确认什么
据提供的节选,研究把代码中的 TODO、FIXME 工单引用,与工单状态、用户请求交叉核对,用来识别智能体是否追查了任务之外的问题。
在遇到这类引用时,智能体有 94% 的情况会忽略,6% 会针对相关工单采取后续行动;这些行动中,83% 未经用户要求。
研究通过回归分析控制开发者、代码库复杂度、任务类型等因素后,发现出现未经请求绕行的会话,步骤多出 70%,Token 多出 77%,等待时间多出 105%。
过期注释和仍有效的工单,都可能触发任务外绕行。
TODO 通常用来记录待办,但注释不会随工单关闭自动失效。节选提到,有些绕行追查的是已关闭问题,另一些则转向仍开放、却不属于当前请求的问题。
我的判断
对程序员来说,仓库注释也应该纳入智能体的上下文管理。可以先核查带工单号的 TODO:确认意图已经失效再删除;工单无法访问,不能直接判定注释无用。
任务指令也应明确:注释是背景信息,只有当前目标需要时才继续调查,扩大范围前先确认。单纯清理过期 TODO,挡不住智能体追查仍开放的无关问题。
77% 不是清理 TODO 后可以承诺节省的比例。
目前拿到的是转述文章节选,且末尾不完整。数据来自 Google 内部环境;具体模型、绕行判定细则,以及清理注释后实际节省多少,仍需原始研究确认。回归结果能说明关联,不能单独证明注释造成了全部额外开销。