正在打开每日关注
正在打开每日关注
作者分享一条 Agent 规则:复杂度优化时优先复用 SQLite 的索引与缓存,而非让模型手搓数据结构。
最近加了一个rule告诉agent: O(n) -> O(nlogn) 或是near O(1)的优化,能用sqlite就不要自己手搓。 SQLite 有现成的 B+ 树、index、page,还有缓存,不香吗? 自己临时手搓的数据结构和算法不仅性能做不到sqlite那么快,还老是cache和ram遇到大瓶颈🤣
是什么:一条面向编码 Agent 的工程经验分享。作者为 Agent 增加一条规则:当需要把 O(n) 优化到 O(nlogn) 或接近 O(1) 时,优先使用 SQLite,而不是让模型临时手写数据结构与算法。
核心逻辑:SQLite 内置 B+ 树、索引、页管理与缓存,是历经数十年打磨的成熟实现;LLM 现场生成的手搓数据结构在常数性能、缓存友好性和边界处理上都难以匹敌,还容易在 cache 与 RAM 上撞墙。因此复用成熟存储比重新发明轮子更划算。
关键洞察:这折射出 Agent 工程的新思路——不是要求模型什么都会写,而是用规则约束它站在成熟基础设施之上。把领域最佳实践压缩成一条条可执行的 rule,是低成本提升 Agent 产出质量的手段;SQLite 作为零运维的嵌入式数据库,正是这类默认选项的理想载体。
边界与风险:该规则属于经验性启发式而非普适真理:纯内存小数据集、特殊访问模式或教学场景下手写结构仍有价值;引入 SQLite 也伴随持久化、并发与部署的额外考量。规则应结合项目上下文调整,而非机械套用。