HeadlinesBriefing favicon HeadlinesBriefing.com

Grep 胜过 LSP:编码代理为何偏好词法搜索

Hacker News •
×

一项将词法搜索(grep)与 LSP 支持的语义导航进行比较的研究发现,尽管 LSP 的精度更高,但编码代理往往更偏好 grep。在 Python 和 TypeScript 仓库上测试了三个 Claude 模型(Opus 4.8,Sonnet 4.6,Haiku 4.5),代理在简单代码定位任务中仅有 0-6% 的时间选择语义工具。强制使用语义优先路径会使成功率从 100% 降至 89%。然而,对于如查找所有调用者这样的参考完整性任务,模型选择语义导航的时间占比为 45-57%,实现了 1.00 的精度,而 grep 的精度为 0.76,这是因为语义导航能够消除假匹配。两种方法的召回率均保持在约 0.66,受限于代理的彻底性而非检索精度。更强的模型在精度上有所提升,但 token 使用量增加。代码库噪声被证明是决定性因素:在干净的 TypeScript 仓库中,LSP 未带来 F1 提升且多用 16% 的 token;而在嘈杂的仓库中,LSP 使 F1 提升了 0.246 且 token 使用量减少了 12%。关键预测因素是词法噪声,而非静态类型的强度。结果表明,工具的可用性取决于上下文返回格式和模型熟悉度,而不仅仅是精度。一个模型及其熟悉的工具循环共同构成一个能力表面,工具的选择依据任务类型而非习惯进行路由。