PROFILE MEMORY SOUL AGENTS——四种记忆文件各自管什么
每个 Agent 有自己的一套记忆文件
在 MateClaw 里,每个 Agent 都有一组固定的记忆文件,放在工作空间目录下。这些文件是 Markdown 格式,人类可以直接读写,但主要由 Dreaming 和对话提取自动维护。
四种文件各有分工:
| 文件 | 内容 | 谁写的 |
|---|---|---|
| PROFILE.md | 用户画像——名字、角色、偏好、沟通风格 | Dreaming + 对话提取 |
| MEMORY.md | 长期记忆——历史项目、决策、知识点、未完成事项 | Dreaming + 对话提取 |
| SOUL.md | Agent 自己的「性格」——工作方式、擅长什么、不擅长什么 | Dreaming(Agent 自我反思) |
| AGENTS.md | 其他 Agent 的角色定义——这个工作空间里还有谁、各干什么 | 手动 + 自动 |
PROFILE.md:用户是谁
记录这个 Agent 的主要用户。比如:
用户:张三角色:后端工程师偏好:写代码时先写测试;Spring Boot 栈;PostgreSQL 优先;讨厌过度注释沟通风格:喜欢直接、不要客套
Dreaming 会从每次对话里提炼新的偏好追加进去——你之前可能在某轮对话里随口说过一句「我喜欢直接的回答」,Dreaming 提炼后就写进 PROFILE.md 了。
MEMORY.md:长期发生过什么
Agent 的长期记忆仓库。按时间或主题组织:
2026-10 项目 A:升级 Spring Boot 3.2 → 3.5,遇到的 breaking changes 包括自动配置类前缀变更…… 2026-09 决策:团队决定从 MySQL 8 迁移到 PostgreSQL 16知识点:HikariCP 连接池的 minimumIdle 设成 maxPoolSize 的 20% 是最佳实践
这个文件是 Agent 第二天上班时的「日报」——先读一遍,知道自己是谁、上次聊到哪了。
SOUL.md:Agent 自己擅长什么
我是代码助手,擅长:Spring Boot、PostgreSQL、Docker。我不擅长:前端 CSS、iOS 原生开发。我的工作方式:先理解需求 → 搜索相关代码 → 给出修改建议 → 等用户确认再动手。
Dreaming 会根据 Agent 实际执行的任务和反馈,不断更新这个文件——如果 Agent 在某次任务里表现好,会加进去;表现不好的,标记为不擅长。
AGENTS.md:同工作空间的其他 Agent
- 研究助手:Plan-and-Execute 模式,负责 Web 调研和资料整理
- 写作助手:ReAct 模式,带图像生成能力
- 数据分析:ReAct 模式,有 SQL 工具权限
Agent 之间可以通过这个文件互相委派任务——「我搞不定这个,应该让研究助手来」。