新闻详情

新闻详情

首页 / 资讯中心 / 详情

让AI跨会话记住你的偏好:claude-code-from-scratch语义记忆召回系统设计解析

发布时间:2026/10/1 3:01:10来源:尧图网络
让AI跨会话记住你的偏好:claude-code-from-scratch语义记忆召回系统设计解析
让AI跨会话记住你的偏好claude-code-from-scratch语义记忆召回系统设计解析【免费下载链接】claude-code-from-scratchBuild your own Claude Code from scratch. Claude Code 开源了 50 万行代码读不动用 ~5000 行 TypeScript / Python 从零复现核心架构11 章分步教程带你理解 coding agent 精髓项目地址: https://gitcode.com/gh_mirrors/cl/claude-code-from-scratchclaude-code-from-scratch 是一个用约 5000 行 TypeScript / Python 代码从零复现 Claude Code 核心架构的开源教程项目它的记忆系统能真正做到让 AI 跨会话记住你的偏好——关掉终端再打开AI 依然知道部署去 staging、回复别加总结。本文带你读懂这套语义记忆召回系统的设计精髓四类记忆文件、sideQuery 语义选择、异步预取三大机制几乎零等待就让 AI想起该想起的事。 痛点为什么 AI 每次都要重新认识你大多数 coding agent 的记忆只是当前会话的消息数组——会话一关全部清零。你上周纠正过的习惯这周它还会再犯一次。claude-code-from-scratch 给出的答案是把用户偏好、项目事实写成磁盘上的小文件一份记忆一个文件下次会话时按当前话题的相关度自动捞回相关记忆塞进 System Prompt而不是把整段历史都背回来。核心源码就一个文件src/memory.tsPython 版在 python/mini_claude/memory.py完整设计思路见官方教程 docs/08-memory.md。 记忆存储一份偏好 一个小 Markdown 文件四种封闭分类防止标签膨胀系统只允许四种记忆类型这是刻意设计的封闭分类法——防止标签自由膨胀导致召回时的模糊匹配类型记什么触发时机user用户角色、偏好、知识背景了解到用户偏好时feedback对 Agent 行为的纠正和肯定用户纠正或肯定某行为时project项目进展、决策、截止日期了解到项目动态时reference外部系统定位信息URL、面板等了解到外部资源位置时一个细节很值得学feedback类型不只记错误也记肯定——只记错误会让模型放弃用户已验证过的好做法。项目隔离 自动索引记忆按项目隔离路径取process.cwd()的 sha256 前 16 位同一项目目录始终映射到同一记忆空间见 getProjectHash。每个记忆文件带 YAML frontmattername / description / type文件名格式为{type}_{slugified_name}.md文件系统排序时自动按类型分组人眼扫描一目了然。每次写入后自动重建MEMORY.md索引。索引是索引不是容器每条一行链接内容按需读取并设 200 行 / 25KB 双重截断保护MAX_INDEX_LINES。 语义召回AI 如何想起该想起的事关键词匹配为什么不够早期版本用关键词重叠打分召回最小实现见 recall_memories简单、零 API 调用但用户问部署流程时标题为CI/CD 注意事项的记忆完全匹配不上——没有共同关键词。sideQuery让模型判断哪条记忆有用新方案在 selectRelevantMemories 中只把每条记忆的文件名 描述 时间戳一份轻量清单发给模型让模型判断哪些与当前查询真正相关最多返回 5 条。几个关键设计输入极小不发送记忆全文只发清单token 成本很低宁缺毋滥提示词明确要求不确定就不选避免无关记忆污染上下文静默失败召回失败只打日志返回空数组——记忆召回永远不应阻塞主循环L276-L281。数据库性能能匹配到PostgreSQL 索引优化经验——因为模型理解语义关联而不是字面重叠。异步预取用户几乎零等待语义召回需要一次 API 调用同步执行会拖慢每次提问。解法是 startMemoryPrefetch在用户提交输入的瞬间启动召回与第一次模型 API 调用并行执行主循环每轮迭代做一次非阻塞轮询就绪即注入为system-reminder消息。三个门控条件避免浪费 API 调用查询太短如单词 hi直接跳过语义匹配无意义会话记忆累积超过60KB 预算后停止召回防止挤占上下文MAX_SESSION_MEMORY_BYTES没有记忆文件时跳过省一次调用。配合alreadySurfaced集合同一会话中展示过的记忆不再重复出现——越到会话后期召回越精准。⏳ Freshness Warning提醒模型记忆会过期记忆是时间切片不是实时状态。一条项目下周截止的记忆在两周后读到时已经过时。memoryFreshnessWarning 的规则很简单1 天以内不提示超过 1 天就附带警告明确告诉模型这是过去某个时刻的观察引用前请先对照当前代码验证。这比单纯标注X 天前更有效——它给出了行动指引。 一条命令跑起来无需 API key想亲眼看看效果克隆仓库后运行第 8 章 demo 即可——它会从磁盘记忆认出部署去 staging并直接回答git clone https://gitcode.com/gh_mirrors/cl/claude-code-from-scratch cd claude-code-from-scratch npm install npm run build node steps/run.mjs 8 # 跑记忆章节 demo本地 mock 模型不联网 node steps/run.mjs 8 --py # 换成 Python 版对应的最小实现与测试场景分别在 steps/canonical/py/memory.py 和 steps/scenarios/recall-memory.json可对照阅读。 延伸阅读与文件导航资料路径记忆系统完整教程第 8 章docs/08-memory.mdTypeScript 版记忆源码src/memory.tsPython 版记忆源码python/mini_claude/memory.pyfrontmatter 共享解析模块src/frontmatter.ts章节运行入口steps/run.mjs 加入 AI Agent 工坊对这个约 5000 行就能看懂的 coding agent 架构感兴趣扫码加入交流群一起拆解 Agent Loop、语义记忆召回、多 Agent 这些话题。【免费下载链接】claude-code-from-scratchBuild your own Claude Code from scratch. Claude Code 开源了 50 万行代码读不动用 ~5000 行 TypeScript / Python 从零复现核心架构11 章分步教程带你理解 coding agent 精髓项目地址: https://gitcode.com/gh_mirrors/cl/claude-code-from-scratch创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Flutter鸿蒙跨端坐标转换精讲:localToGlobal与globalToLocal的实用指南 2026/10/1 4:02:00

Flutter鸿蒙跨端坐标转换精讲:localToGlobal与globalToLocal的实用指南

做 Flutter 时间久了,你迟早会遇到一个需求:让某个浮层精准出现在某个按钮旁边,或者让一个拖拽中的卡片跟随手指动。很多人第一反应是写个Positioned,按肉眼看差不多的 x、y 填进去,真机一跑,偏了。尤其当这…

阅读更多 →
鸿蒙ArkUI自定义下拉刷新与上拉加载列表控件封装实践 2026/10/1 4:02:00

鸿蒙ArkUI自定义下拉刷新与上拉加载列表控件封装实践

搞这个自定义控件之前,我其实纠结过一阵子。列表页的下拉刷新和上拉加载更多,鸿蒙框架自己有Refresh容器可以用,看起来够省事。但产品上线的活儿干多了你就会发现,默认样式的刷新提示和加载尾部根本经不起设计稿的反复打磨&#x…

阅读更多 →
HotSpot Zero解释器源码解读:debug_zero.cpp的作用与实现 2026/10/1 4:02:00

HotSpot Zero解释器源码解读:debug_zero.cpp的作用与实现

1. 从一份源码文件说起:为什么我要去翻debug_zero.cpp先交代一下背景。我最近在排查一个跟 Zero 解释器相关的性能问题,顺着调用栈一路追到了 HotSpot 虚拟机源码里一个很容易被忽略的文件——debug_zero.cpp。说实话,绝大多数 Java 开发者一…

阅读更多 →
PostgreSQL + pgvector:语义搜索与RAG落地指南 2026/10/1 4:02:00

PostgreSQL + pgvector:语义搜索与RAG落地指南

先从一个很实际的场景说起吧。今年我一直在折腾私域知识库这摊事,陆陆续续有做后台系统的朋友来问:文档越来越多,全文搜索召回的结果越来越不相关,想上语义搜索,是不是一定要单独搞一套向量数据库?我的回答…

阅读更多 →
JSP+Servlet+MySQL博客源码部署实战:从环境配置到避坑指南 2026/10/1 4:02:00

JSP+Servlet+MySQL博客源码部署实战:从环境配置到避坑指南

简介:一套基于JSP、Servlet与MySQL的博客系统网站源码,面向Java Web初学者和需要快速搭建博客平台的开发者,可套用于课程设计、毕业设计或项目起步。整个压缩包共327个文件,大小约2.43MB,包含49个JSP页面、52个Java源文…

阅读更多 →
MySQL单库单表备份与恢复:mysqldump实战指南 2026/10/1 4:01:53

MySQL单库单表备份与恢复:mysqldump实战指南

1. 生产环境里的备份困局:为什么单库单表恢复是刚需先说一个我自己的真实经历。有一年线上商城做促销活动,运营同事在后台误操作,把商品表中的价格字段批量更新错了,整整几万条商品数据全部变成异常值。当时没有开启binlog&#x…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉