摘要
arXiv:2608.13568v1 公告类型:新论文
编码智能体将大部分上下文预算消耗在检索上。词法检索(grep)通用、即时、零配置,但存在噪声:它无法区分定义、调用与注释。通过语言服务器协议(LSP)进行的语义检索精确且类型化,但需要运行中的、已建立索引的服务器,并为每个符号付出往返开销。
关于语义检索更具词元效率的说法,我们发现其几乎处处被断言,却几乎无处被测量:没有公开来源在任务成功率相等的情况下,单独量化智能体在LSP与词法检索之间的词元差异。
研究设计
本文通过一个指标(成功所需词元数)形式化该问题,设计了一个五臂消融实验以从混杂因素中分离语义检索,将三个预设的失败模式映射到可测量变量,并报告了一项初步研究(涵盖Python和TypeScript代码库;使用Claude Opus 4.8、Sonnet 4.6、Haiku 4.5模型)。
主要发现
答案是条件性的,且通常是负面的。
- 符号命名定位任务:LSP增加词元成本(+6%至+118%),且智能体在免费时也会忽略它。
- 引用完整性任务:LSP带来精度提升,但并未节省词元,且无法提高由智能体彻底性设定的召回上限;它仅对最弱的模型节省词元。
- 工具选择依赖任务类型:模型在定位任务中默认使用grep(语义使用率0-6%),但在引用任务中约半数情况下会主动使用LSP。
编辑任务中的显著差距
在通过真实测试执行评分的编辑任务中,差距最为显著:
grep能完美解决多文件重命名;仅提供位置的LSP因遗漏调用点而失败四分之三;即使完整的、索引预热、文本增强的LSP(将每个引用的行内联,如生产级LSP-MCP服务器所做)能恢复大部分差距,但仍无法完全弥合,因为重命名必须触及语义引用所排除的注释和字符串。
结论
其启示并非“始终使用LSP”,而是一个基于任务类别、模型能力和词法噪声进行自适应的路由器。