文章总结: 文章分析了Claude的记忆系统,发现其采用四层结构:系统提示词、用户记忆、对话历史和当前消息。Claude使用选择性检索机制管理对话历史,与GPT的滚动窗口加摘要方式不同。用户记忆以XML格式注入,包含身份、职业、学习偏好等信息。文章详细比较了Claude与GPT在记忆架构上的异同,揭示了两大AI系统在处理上下文方面的技术差异。 综合评分: 84 文章分类: AI安全,漏洞分析,安全产品
Claude的记忆系统是如何工作的?
原创
chengable
安全产品人的赛博空间
2025年12月15日 12:10 浙江
就在昨天,Manthan Gupta这位老哥又逆了Claude,分析了Claude的记忆系统,发现了一些与ChatGPT不同的东西。
Claude的记忆四层结构
通过大量实验,Manthan发现Claude的上下文结构分为四个层次:
[0] 系统提示词(静态指令)
[1] 用户记忆
[2] 对话历史
[3] 当前消息
0和3我们不用解释,接下来我们对1和2详细分析。
用户记忆:AI对你的”个人档案”
Claude的用户记忆包含了以下关键信息:
- 身份信息:姓名、地理位置
- 职业背景:工作经历、当前职位
- 学习偏好:学习风格、内容偏好
- 项目经验:参与的项目、使用的工具
- 专业水平:技术能力、知识背景
- 个人细节:其他个性化信息
这些记忆会以XML格式注入到每次对话中,例子如下:
<userMemories>
- User's name is Manthan Gupta.
- Previously worked at Merkle Science and Qoohoo (YC W23).
- Prefers learning through a mix of videos, papers, and hands-on work.
- Built TigerDB, CricLang, Load Balancer, FitMe.
- Studying modern IR systems (LDA, BM25, hybrid, dense embeddings, FAISS, RRF, LLM reranking).
</userMemories>
历史对话:Claude的管理机制
Claude使用三种不同的机制来关联对话历史:
1. 滚动窗口(当前对话)
- 保持完整的消息内容(非摘要)
- 基于约190k token的限制
- 达到限制时自动丢弃较旧消息
- 确保当前对话的连贯性
2. conversation_search工具
{
"query": "搜索关键词",
"max_results": "返回结果数量(1-10,默认5)"
}
3. recent_chats工具
{
"n": "聊天记录数量(1-20,默认3)",
"sort_order": "排序方式('asc'/'desc')",
"before": "开始时间(可选)",
"after": "结束时间(可选)"
}
对于1我们好理解,但是2和3实际上都是Claude的选择性检索机制,何时调用conversation_search或recent_chats,关键词怎么生成,各个参数如何设置,这些都藏在Claude的选择性检索机制中,是黑盒,我们无从得知。
与GPT的区别:Claude按需访问历史记忆
Claude最核心的设计是它的”选择性检索”机制。如果看过我们上一篇对GPT记忆系统分析文章的小伙伴应该记得,ChatGPT在对话历史这一层,是滚动窗口+消息摘要,但是Claude与ChatGPT不同,Claude不做摘要,而是:
- 判断:模型自主决定何时需要检索历史对话
- 调用:只在认为相关时才调用
conversation_search或recent_chats - 匹配:基于当前查询生成搜索关键词
这种设计体现了一个重要的技术权衡:消息精度 vs. 连续性。
至此,我们可以简单总结下两大巨头Claude vs ChatGPT记忆架构的异同
相同点
- 都使用明确的长期用户记忆,都支持编辑或隐式更新
- 都按滑动窗口保持当前会话所有内容
关键差异
- Claude使用选择性检索查询历史对话内容,而GPT一次性注入历史对话摘要
- GPT会注入会话元数据(Session_Matedata),而Claude不会
更多技术细节请参考原文:https://manthanguptaa.in/posts/claude_memory/
查看原文:《Claude的记忆系统是如何工作的?》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论