编码代理干活的样子经常很笨,笨在它只有蛮力,翻遍每个角落才敢回答,为了找一段代码,反复全局搜索、整个文件整个文件地读,token 哗哗地烧,烧的还是你自己账户里的钱。加拿大一位数据科学家上周开源了 Pensieve,思路是给代理配一个本地索引,先检索再动手。我把原博客、基准数据与仓库文档读了一遍,这个思路对重度代理用户是真省钱,省多少,文中给了数。
方法四步
先看它索引进什么。文件与文件夹、代码仓库连同未提交改动、主流编码代理的历史会话、笔记库,系统备忘录可选接入,凭据文件永不索引,这条红线划得对,必须划。索引存在用户主目录,用设备端嵌入模型建语义向量,配上关键词精确检索,单次搜索零点一到零点二秒,快到没有理由不用,数字按作者自称对待。
再看代理怎么用。走标准协议接入,代理提问时返回的只有相关片段加文件名行号,整文件不再进上下文,一段只挑相关的几行,上下文干净了,代理的注意力也集中了。安装命令还会往代理的配置文件里注入一条指令,先搜索后翻找,把习惯刻进流程。附赠的两件可视化也好玩,知识地图用代码注释归属告诉你谁懂哪块代码,三维主题图把整个仓库摊成星系,探索代码库有了新姿势,姿势之外有实用,新人接手老仓库先看星系图。
效果数据是这篇文章最硬的部分,口径全部为作者自报。四个规模从五百到三万多个文件的真实仓库,一百四十四次任务运行对比,找对文件一百三十一次对一百二十三次,每次查找的工具调用从三点四次降到两次,降四成三;单次成本从五美分落到四美分,降一成八;耗时降两成一,token 省一成六,最妙的一项隐藏收益,一百四十四次里八十二次一步到位,连追问都省了。基准脚本随仓库附带,谁都可以复现,这份坦率值得表扬,表扬给方法学,效果数字另算,两码事分开看。
教学价值
这篇东西的价值超出工具本身。其一,它示范了代理工程的一个通用解法,把翻找变成检索,同样的思路可以搬到任何工具调用密集的场景,客服代理查知识库、数据代理查表结构,先建索引再问答,效率逻辑一模一样。其二,基准设计可抄,真实仓库、重复运行、成本时间 token 三线并报,做代理工具的人都该照这个标准自证,标准之外再学一手,对照组要留,真实任务也要留,光讲最好的那次运行叫宣传不叫基准,基准文化立起来,吹牛的门槛就高了。其三,设备端嵌入模型做本地语义检索,隐私与速度两头占,架构上是个漂亮的折中,本地洞察还接了个小号开源模型,全程不出网,大模型的活小模型干,小模型干得漂亮,账单最诚实,诚实的账单人人爱。其四,成本口径要盯单次而非包月,订阅价把浪费摊平了,单次成本才见真章。
边界也要讲。仓库刚建几天,星数个位数,版本零点五,功能在长,扩展性留着,苹果芯片机器全功能,其他平台只有部分能力,安装包尚未公证。作者身份是位从业多年的数据工程师,个人项目,维护节奏看热情,热情目前看是足的,建仓四天连发多个版本。上手路径也给一条,装好先跑索引命令把主力仓库索引进去,再往代理配置里注入指令,两步十分钟,第一天的账单就能看到变化,省多省少因仓库而异,方向不会错,不会错的事值得今天就做,今天就做,明天见效。
一句话收尾,代理的账单是可以设计的,这篇给了第一性答案,七个字省三成成本,答案是索引,检索,再动手,七个字。
来源
- 原博客 https://tedhaley.ca/pensieve/
- 开源仓库 https://github.com/TedHaley/pensieve
- 社区讨论 https://news.ycombinator.com/item?id=50049508