编码智能体不再逐个读文件:本地索引先搜开源仓库,输出token降到2.7分之一
核心概要
XERJ 是一个社区信任的本地 AI 搜索工具,能自动索引任意文件夹,让编码智能体不再逐个读取文件,而是直接取回所需代码片段。它的主要用途是参考编码:把智能体指向一个任务,它会下载最接近的开源仓库、建立索引,并在自己写代码前复用这些仓库的解法。在一项对照研究中,同一 16/16 求解率下编码智能体的输出 token 减少到 2.7 分之一,用户在日常工作中报告约 5 倍降幅;该收益受记忆化限制,对模型已熟悉的流行公开库为中性到有害。
深度剖析
编码智能体获取代码的方式从整文件读取改为按查询取回片段,索引对象是任意本地文件夹。 此前的做法是让智能体用 grep 把整个文件拉进上下文,在一次语料测量中单次可达 1.06M 输入 token,而且仍要自己读。 在模型未记忆过的代码上做了端到端测量:8 个任务、4 种语言、每臂 16 次运行,使用真实的 claude -p token 计数。
工具把文件夹变成可检索的语料,智能体先查再写。 参考编码是同一原语的一种用法:xerj autoindex <folder> 让智能体直接知道语料内容,而不是去 grep。 一条命令即可索引代码、文档、日志、PDF、SQLite 等来源,检索返回带 file:line 的排序片段,另有 go-to-definition 返回 file:line 与签名。
收益取决于模型是否已经记住目标代码。 在私有、内部、小众或训练截止之后的代码上它占优,在模型已熟悉的流行公开库上为中性到有害。 对照研究给出同一 16/16 求解率下输出 token 为 grep 的 2.7 分之一、为纯记忆的 26 分之一,单个 Java 任务上最多 278 分之一;用户在日常工作中报告约 5 倍降幅。
启示与展望
已展示的范围是本地索引加检索式参考编码:一条命令索引代码、文档、日志、PDF、SQLite 等来源,检索返回带 file:line 的排序片段,并可通过 MCP 与 skill 接入 Claude Code 或 Cursor。适用读者是需要让编码智能体在私有或小众代码上工作的工程师,收益在模型未记忆过的代码上最明显。
收益受记忆化限制:在模型已熟悉的流行公开库上为中性到有害。对照研究的具体细节与诚实边界写在案例研究中,本报告只读到摘要,未覆盖完整论文。
