语言服务器是否为编码Agent节省词元?测量方法与初步研究
Does a Language Server Save Tokens for Coding Agents? A Measurement Methodology and Preliminary Study
摘要
编码智能体 将大部分上下文预算用于检索。词法检索 (grep) 是通用的、即时的、零设置的,但噪音很大:它无法区分定义、调用和注释。通过语言服务器协议 (LSP) 进行的语义检索是精确且类型化的,但需要一个运行的索引服务器并支付每个符号的往返费用。我们发现,语义检索更高效的说法几乎到处都有,但几乎没有任何地方进行过测量:没有任何公共来源能够在同等任务成功的情况下隔离代理的 LSP 与词汇标记增量。本文用一个指标(tokens-to-success)将问题形式化,指定了将语义检索与混淆隔离的五臂消融,将三种预先规定的故障模式映射到可测量变量,并报告了一项初步研究(Python 和 TypeScript 存储库;Claude Opus 4.8、Sonnet 4.6、Haiku 4.5)。答案是有条件的,通常是否定的。在符号命名的本地化中,LSP 需要花费词元(+6% 到 +118%),并且代理在空闲时会忽略它。在参考完整性方面,它购买的是精确性,但不是象征性的节省,也不能提高代理彻底性设定的召回上限;它只为最弱的模型保存词元。工具选择取决于任务:模型在本地化时默认使用 grep(0-6% 语义使用),但在参考任务上大约有一半时间会自动获取 LSP。在实际测试执行的编辑评分中,差距是最明显的:grep 完美地解决了多文件重命名,仅位置 LSP 由于缺少调用站点而失败了四分之三,甚至完整的、索引温暖的、文本丰富的 LSP(每个引用的行内联,如生产 LSP-MCP 服务器所做的)恢复了大部分差距,但无法弥补它,因为重命名必须触及语义引用排除的注释和字符串。其含义并不总是 LSP,而是一个以任务类别、模型能力和词汇噪声为关键的自适应路由器。