核心理念来源于2023年Sumers等人的CoALA论文,提出了代理记忆框架,区分“程序性记忆”(如提示指令)与“情景记忆”(如过去行为)。Claude Code将系统指令存储于CLAUDE.md文件,且会保存会话日志。但如何将过往日志转化为持久且通用的规则,并融入指令体系,是关键难题。
2023年Park等人的Generative Agents论文展示了“反思”步骤:将过去行为综合为通用规则,指导未来规划与决策。2025年Zhang等人进一步提出“成长与精炼”方法,结合推理轨迹生成器、成功失败提炼器和结构化整合者,持续优化代理指令。Anthropic的Claude Code团队也采用类似思路,基于会话创建日记条目并反思发现模式。
Lance的实现基于此反思方法,令Claude提炼会话日记,定期汇总反思以更新CLAUDE.md。具体做法:
- 生成日记条目不再解析复杂日志,而是利用当前会话上下文,通过/diary命令捕捉完成任务、设计决策、挑战、用户偏好及PR反馈,保存路径为~/.claude/memory/diary/YYYY-MM-DD-session-N.md。
- 创建日记结合手动调用与PreCompact自动触发,兼顾用户控制与自动覆盖长会话。
- 反思由/reflect命令执行,分析日记,检查规则违背,强化薄弱规则,识别反复出现的模式,生成一行规则更新同步至CLAUDE.md,反思结果保存在~/.claude/memory/reflections/YYYY-MM-reflection-N.md。
- 利用processed.log避免重复反思,保持反思过程人工审核以确保规则质量。
- 仅更新用户级CLAUDE.md文件,因许多模式如提交风格、测试习惯、代码质量具有通用价值。
实践中,Claude Diary显著提升了:
- PR审查反馈的记忆和应用,利用pr-comments命令导入评论。
- Git工作流偏好捕捉,如原子提交、分支命名、提交信息格式。
- 测试策略优化,先快速执行针对性测试,再运行全面测试套件。
- 代码质量提升,避免命名冲突、陈旧目录残留及冗长代码。
- 代理设计改进,倾向单代理任务委派,优先令牌效率及上下文文件系统卸载。
- 自我纠正能力,强化未遵守规则的行为修正。
Claude Diary是一种简洁但有效的持续学习框架,将零散会话转化为结构化记忆更新。其命令由提示语驱动,易于定制和自动化扩展,未来仍有巨大提升空间。插件代码托管于Claude Code生态,欢迎试用与改进。