实测 BM25 agent 记忆索引:每条 4.6KB 内存、线性扩展、两处硬伤
Neither-Witness-6010 · reddit · 2026-10-27
作者实测了自己开源的进程内 BM25 agent 记忆层的真实开销(tracemalloc,约 30 词/条,Zipf 词表):
- 1000 条 4.8MB 内存 / 1.7MB 磁盘 / 7ms 检索;5000 条 23MB / 34ms;10000 条 46MB / 68ms——每条约 4.6KB 内存、1.7KB 磁盘,均线性增长。
三个非显然发现:
- 成本不在词表:词表在约 3000 词后饱和,真正贵的是每条记录常驻的 term→float 字典(TF-IDF 向量),紧凑倒排会小得多。
- 检索是线性扫描而非倒排索引,延迟随 N 增长(25k 约 170ms),单轮少量召回没问题,查询密集场景结构不对。
- 持久化每次写入重写整个 JSON,插入总成本是二次方,超几千条应改 append-only 或真数据库。
外推:25k≈115MB、100k≈460MB 内存;默认上限 1 万条后按最低相关度淘汰。结论:个人/小团队 agent 到 1 万条内很舒适,更大规模该上 embedding 或正经索引。附 40 行复现脚本,MIT 开源。
「编程与Agent」频道最新
- DevSpeak MCP:让编码 agent 帮你润色 PR 描述与提交信息 — modelcontextprotocol · 2026-10-27
- ThreadMind MCP 用 Git 式记忆树管理 agent 上下文并降低 token 成本 — mahmu_tech · 2026-10-27
- 让 Claude 独立设计 e-ink 名片:原理图到产品页一手包办 — isaul32 · 2026-10-27
- Papers with Code 以 Apache 2.0 开源复活,代码已上架 GitHub — NielsRogge · 2026-10-27
- 2023 年 AI 工程师四步上岗,2026 年留白引热议 — JafarNajafov · 2026-10-27
- 开发者实测 DeepSeek Flash:让它自建工具效果出色且成本低 — victormustar · 2026-10-27