Files
nexus/wiki/concepts/写入纪律.md

80 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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]] ← 类似的自改进机制