拓十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

AI凭什么“记得住“?深度解析Kiro Crew记忆系统实现:FTS5全文检索+进程内嵌入+时间衰减

AI凭什么“记得住“?深度解析Kiro Crew记忆系统实现:FTS5全文检索+进程内嵌入+时间衰减 AI凭什么记得住深度解析Kiro Crew记忆系统实现FTS5全文检索进程内嵌入时间衰减【免费下载链接】KiroCrewA persistent workspace for development work that self-improves and continues beyond one session.项目地址: https://gitcode.com/gh_mirrors/ki/KiroCrewKiro Crew 是一个面向开发工作的持久化 AI 工作空间它最打动人的能力不是会聊天而是跨会话的记忆系统你上周交代过的偏好、项目里踩过的坑它在新的对话里依然记得。本文将带你拆解开 vector_memory.py 背后的三大核心机制——FTS5 全文检索兜底、进程内本地嵌入模型、以及时间衰减排序看看一个有记性的 AI Agent 究竟是怎么造出来的。为什么 AI 总是金鱼记忆普通聊天工具的上下文窗口是易失的会话一结束模型对用户偏好 Python、上次构建失败的根因就一无所知。要做长期记忆工程上必须回答三个问题存什么哪些对话碎片值得记住怎么存用什么数据结构让记忆既快又省怎么取海量记忆中哪一条此刻最相关Kiro Crew 的答案集中在 src/kiro_crew/vector_memory.py 这一个记忆引擎模块里约 8000 行配合 src/kiro_crew/memory_schema.py 定义存储结构、src/kiro_crew/embeddings.py 提供向量化能力。三层存储SQLite 是记忆的地基所有记忆最终落在本地 SQLite 数据库~/.kiro/crew/memory.dbWAL 模式没有任何云端依赖。记忆被归为三类定义见 memory_schema.py类型含义例子directive指令行为偏好、教训用户偏好简洁的 commit 信息fact事实项目/用户/语义事实本项目测试用 pytestepisode情景对话片段、每日历史昨天讨论过缓存失效问题这种指令—事实—情景三分法正好对应人类记忆中的习惯、知识与经历是整套系统能像人一样记得的根基。全文检索兜底FTS5 让没有向量也能搜到最有意思的设计是降级策略文件头部注释就写明——情景记忆检索默认走 FAISS 向量搜索若没有嵌入模型则回退到 FTS5见 vector_memory.py 第 9 行。SQLite 的 FTS5 扩展在这里扮演安全网角色即使嵌入模型缺失、推理失败_fts5_episodic_searchvector_memory.py 第 7882 行也能用关键词匹配把相关记忆捞出来成员记忆的每日日志同样建有 FTS5 虚表memory_ftsmemory_schema.py 第 121 行支持按天快速检索历史。这意味着记忆检索永远可用向量只是让找得准FTS5 保证找得到。进程内嵌入向量计算不出本机嵌入Embedding通常要调远程 API——慢、贵、还要联网。Kiro Crew 选择了更硬核的路线Embeddings run in-process via the vendored llama-cpp-python runtimeembeddings.py 第 3 行也就是说嵌入模型是一个打包在程序里、用 llama.cpp 在进程内推理的本地 GGUF 小模型。用户也可以通过memory.embed_model_path换成自己的本地模型全程零网络请求。配合一个共享嵌入队列区分交互/普通/批量三种优先级避免批量任务抢占实时检索记忆写入的延迟被压得很低。这一设计对新手很友好安装即用不需要配置任何 Embedding API Key。时间衰减让最近的事更有分量如果只按相似度排序三个月前的旧结论可能压过昨天的新决定。Kiro Crew 的排序公式融合了三个信号vector_memory.py 第 4808-4809 行最终得分 向量相似度 × 重要性权重 ×时间衰减因子时间衰减采用经典的指数形式exp(-rate × 天数)默认衰减率约 0.03/天第 456 行——一条记忆每过一天新鲜度打约 97 折一年后的记忆权重只剩约 5%。妙处在于可按标签定制通过memory.decay_rates配置项你可以给不同标签的记忆设不同衰减速率。比如给bug-前缀的记忆设更高衰减率bug 修好后快速淡出给preference-偏好类记忆设更低衰减率偏好应该长期保鲜。这就是时间衰减不只是个公式而是可以调的记忆策略。记忆生命周期情景自动毕业为长期事实检索只是记忆系统的半篇文章另外半篇是整理。引擎内置了情景晋升机制vector_memory.py 第 7907 行定期扫描高频出现的情景记忆把语义相近的聚类相似条目超过阈值默认 5 条、相似度 0.75时自动合成一条fact型长期记忆晋升后打上新来源标记原始碎片归档并留下完整审计日志memory_events表记录每次增删改。这模拟了人类的睡眠巩固过程反复出现的经历沉淀为稳定的知识零散的碎片则逐步淡出。你可以在 knowledge/retrieval.py 与 knowledge/store.py 中继续看到知识层如何叠加在记忆层之上做检索增强。快速上手体验有记性的 AI安装并启动 Kiro Crew安装脚本见 install.sh在对话中告诉它一条偏好例如以后回答都用中文关闭并重新打开会话再问它相关问题——它依然记得想调衰减策略在配置中修改memory.decay_rates即可改动对后续检索即时生效。相关行为还有大量测试保障例如 test/ 目录下的成员记忆工具 member_memory_helpers.py 与 CI 基准脚本 ci-member-memory-benchmark.py确保记得住这件事可测量、可回归。总结三个词看懂 Kiro Crew 记忆系统机制解决的问题关键实现FTS5 全文检索向量不可用时也能搜到SQLite FTS5 虚表 关键词回退进程内嵌入免 API、零网络、低延迟llama.cpp 本地 GGUF 模型时间衰减新近记忆优先、可按标签调参指数衰减 × 相似度 × 重要性一句话FTS5 保底、本地嵌入提效、时间衰减排序再加上自动整理晋升Kiro Crew 用纯本地方案让 AI 真正记得住——不上传数据、不依赖外部服务记忆完全掌握在你手里。这也是它区别于云端记忆方案最核心的竞争力。【免费下载链接】KiroCrewA persistent workspace for development work that self-improves and continues beyond one session.项目地址: https://gitcode.com/gh_mirrors/ki/KiroCrew创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表