--- title: "写入纪律(Write Discipline)" type: concept tags: [openclaw, memory, agentic-ai, best-practices] sources: [养龙虾5天血泪史] last_updated: 2026-04-23 --- ## Definition 写入纪律是指强制 AI Agent 在任务执行过程中将决定、结果和错误主动记录到磁盘的规范。与"读取纪律"(设置文件供 Agent 读取)相对,是确保 Agent 记忆持久化的关键机制。 ## Core Principle > "写入纪律比读取纪律更重要" 大多数人设置文件供 Agent 读取,但从不强制执行写回。如果 Agent 不将决定、结果和错误记录到磁盘,这些东西只存在于上下文窗口中。而上下文窗口会被压缩。 **写回是临时上下文变成永久记忆的唯一方式。** ## Three Rules of Write Discipline 1. **每个任务记录其结果**:任务完成后必须写入 memory/YYYY-MM-DD.md 2. **每个错误变成规则**:Agent 犯的错误必须转化为一行规则写入 LEARNINGS.md 3. **任何值得记住的内容在压缩前写入**:配置 memoryFlush 确保重要信息存活 ## How to Enforce Write Discipline ### 1. 启动序列强制指令 在 AGENTS.md 顶部明确列出写入时机: ``` 开始任何任务前: - 搜索 memory/YYYY-MM-DD.md 获取相关上下文 - 检查 LEARNINGS.md 获取此类任务的规则 - 完成后立即写入结果 任务期间: - 如果有重要决定或新信息产生,立即写入 memory/YYYY-MM-DD.md ``` ### 2. 交接协议 在任何模型切换或会话结束前,Agent 将当前上下文写入每日日志: ``` # Handoff Protocol Before model switch or session end: 1. Write current task state to memory/YYYY-MM-DD.md 2. Note any pending decisions 3. Record what worked and what didn't ``` ### 3. 禁止直接写入 MEMORY.md > "任务期间永远不要直接写入 MEMORY.md" - **每日日志**(`memory/YYYY-MM-DD.md`):原始且仅追加,Agent 可自由写入 - **MEMORY.md**:策划的长期记忆,在定期审查期间(心跳或定时任务)通过提炼每日日志来更新 让 Agent 向 MEMORY.md 转储任何内容,几周内它就会膨胀成 200 行的混乱。 ## LEARNINGS.md: The Most Underrated File > "Agent 犯的每个错误都应该变成一行规则" 示例: - "在声称代码已推送前永远不要不检查 git 状态" - "不要在群聊中读取完整的 MEMORY.md" - "在安排前始终确认用户的时区" 这些规则会复合——几周后,Agent 就有了从自己失败中构建的个人操作手册。 ## Connections - [[上下文压缩]] ← 写入纪律防止压缩导致信息丢失 - [[上下文刷新]] ← 技术实现写入纪律的手段 - [[LEARNINGS.md]] ← 写入纪律的具体存储文件 - [[交接协议]] ← 写入纪律在模型切换时的应用 - [[养龙虾5天血泪史]] ← 主要来源 - [[Self-Improving-Skill]] ← 类似的自改进机制