logo NodeSeekbeta

用 Rust 写了个开源桌面 AI Agent,聊两个实际卡住过我们的性能问题

BitFun,开源(MIT)桌面端 AI Agent,Windows / macOS / Linux 都有安装包。Agent 运行时 Rust 写的,外壳 Tauri v2,需要自备模型 API。

不列功能了,讲两个我们真正花时间的地方。

一、Agent 反复搜同一个仓库

Agent 干一个任务会把同一个仓库搜几十上百次。ripgrep 本身够快,但每次都是冷启动 —— 重新遍历目录树、重新过 gitignore。在 Chromium 这种千万行级的树上,这部分开销会盖过模型推理本身的耗时。

做了个跨轮次常驻的索引(flashgrep),进程活着索引就在,不用每次重建。实测在 Chromium 上搜索耗时最高降低 94.6%,平均快约 36 倍。

二、KV Cache 命中率

Agent 的 token 成本大头不是新生成的内容,是每轮重新发过去的上下文。要让 KV Cache 真正命中,prompt 前缀必须逐字节稳定 —— 一个时间戳、一次工具列表重排序,都会让缓存从那个位置断掉。

把 prompt 拼装重构成前缀稳定的结构之后,一轮 SWE-Bench-Pro 平均命中率 98.67%。

已知问题

macOS 第一次打开会提示「已损坏」,还没做 Apple 公证,Gatekeeper 会拦,需要跑一次:

xattr -d com.apple.quarantine /Applications/BitFun.app

在修了。

另外仓库里那组 SWE-Bench 对比数据是自己跑的,每个 case 只跑一次,没排除波动,别当排名看。

链接

顺便,项目 97% 以上代码是 AI 写的,包括用它自己开发它自己。这点大概有争议,欢迎拍。

  • 摩拜大佬

  • 来学习 xhj015

  • 支持rust!

  • 还是做个网页版吧 兼容性更好 哪里都能用
    03gvSq7EDsSG5adJDgABTeiVvx7N4XvS.webp
    9oOy1kg2vlY4Ydt4K9LZUX1sLQ2qDuVp.webp

  • 看起来是gpt做的,风格和我的项目很像 ac01

  • 网页是用的skill吗?挺好看的

  • 大佬是怎么做到这个的,需要什么基础?

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

📈用户数目📈

目前论坛共有72267位seeker

🎉欢迎新用户🎉