ClaudeCode 消息系统(一)uuid 和 parent-uuid

  • 生成
    • 每条消息的uuid:主agent的消息模块,每次生成一条新消息的时候,用UUID v4生成的,全局唯一
    • parent-uuid:同样是UUID v4,生成消息的时候,指向这条消息的父消息,也就是上一条消息的uuid,用来构建会话的链路
  • 谁来生成:主agent的消息模块,每次生成新消息的时候自动生成
  • 怎么触发生成:每次有新的消息(用户输入、模型输出、工具结果),都会自动生成这两个id
  • 存储到了哪里 :存储到了会话的JSONL日志文件里,每条消息都有这两个字段,日志文件在~/.claude/transcripts/下,按会话分文件
  • 会被用来怎么用
    1. 增量提取记忆:用lastMemoryMessageUuid(也就是parent-uuid)做游标,记录上次提取到哪条消息,这次只处理新的消息,避免重复提取
    2. 会话链路追溯:用parent-uuid构建会话树,追溯消息的父子关系,恢复会话的历史
    3. 互斥检查:如果用户已经显式写了记忆,就跳过自动提取,避免覆盖
  • JSONL的记录
    • 是的,JSONL会把给大模型的内容全部记录下来,包括CLAUDE.md、Session Memory的内容,所有的系统提示、用户消息、模型输出、工具结果,都会记录到JSONL里
  • 和三个记忆的关系
    1. Auto Memory:用parent-uuid做游标,增量提取记忆,避免重复处理
    2. Session Memory:用parent-uuid做游标,增量更新会话记忆,每增长5K token更新一次
    3. AutoDream:用parent-uuid做游标,读取会话的JSONL日志,提取新的信号,整理记忆

7. 团队记忆同步的细节

  • 本地的CLAUDE.md不会自动同步给团队,本地的CLAUDE.md是用户的个人文件,只有团队的CLAUDE.md才会同步:
  • 团队同步的流程
    1. 本地优先:先加载本地的团队记忆文件,保证离线可用
    2. 远程同步:通过REST API,和服务器同步,用304缓存判断远程的文件有没有更新,避免重复下载
    3. Delta上传:如果本地的团队记忆有更新,就上传Delta变更,不是全量上传
    4. 乐观锁:用乐观锁解决冲突,多人同时修改的时候,保证数据的一致性
  • 本地的团队记忆目录 :是的,本地有~/.claude/projects/{项目hash}/memory/team/目录,里面是团队的记忆文件
  • 同步的方向:是先改了本地的团队目录的文件,然后同步到远端服务器,然后其他成员拉取更新,不是本地的个人CLAUDE.md同步,是团队的共享记忆。
相关推荐
字节跳动开源43 分钟前
30 分钟搞定个人情报站:Viking AI 搜索让前沿资讯实时推到面前
数据挖掘·开源·agent
早点睡觉1493 小时前
Agent 工程实习复盘 03|从 Pickle 到 PostgreSQL:LangGraph Checkpoint 迁移、内存治理与可回滚发布
agent
早点睡觉1493 小时前
Agent 工程实习复盘 04|长对话越聊越容易崩?Request-only Summary 与 Token 预算治理
agent
武子康5 小时前
GPT-Red:自动化红队如何形成 Agent 安全数据飞轮(4 个闭环 + 6 类评测指标 + 5 类风险误读)
人工智能·openai·agent
阿里云大数据AI技术5 小时前
DataWorks Data Agent 实战课堂(二):一句话搞定数据集成+处理,实现端到端数据流水线
人工智能·agent
像我这样帅的人丶你还5 小时前
MCP + npm:给五年前的老系统接上AI
前端·javascript·agent
牧艺5 小时前
从 Tool Calling 到 MCP Server:把业务能力做成 Agent 可复用接口
agent·全栈·mcp
码上解惑6 小时前
从模型接入到应用运行:智能体开发平台的整体架构设计
人工智能·agent·智能体·spring ai
FakeKesh17 小时前
学了一周Python,我决定手搓一个最小的AI Agent循环(附源码)
agent
程序员秋天7 小时前
用Spring AI实现多轮对话记忆,别再让AI每次都"失忆"
agent·ai编程