【openclaw】从提示词到状态机 —— 基于 MEMORY.md 的 Agent 任务栈架构实践
目前的 AI Agent 开发中,我们正经历一个关键的范式转移:从单纯的“提示词工程 (Prompt Engineering)”走向系统化的“上下文工程 (Context Engineering)”。
当 Agent 处理长周期、多步骤的复杂任务时,单纯依靠 LLM 自身的上下文窗口必然会导致“上下文腐败 (Context Rot)”——模型会在长对话中迷失最初的目标,甚至产生幻觉。将 MEMORY.md 改造为“任务栈 (Task Stack)”,本质上是为大模型外挂了一个可视化的图灵机状态纸带。

以下是关于这一改造思路的深度技术思考与架构设计。
为什么选择 Markdown?—— “Memory as Documentation” 理念
目前业界对 Agent 的记忆管理主要有两条路线:
1. Memory as Database:使用 Milvus 等向量数据库存储历史。这种方案适合 RAG(检索增强生成)做知识储备,但极不适合维持“执行状态”,因为向量检索是模糊的,无法保证逻辑的严密性。
2. Memory as Documentation:使用纯文本/Markdown 文件(如 OpenClaw、Claude Code 等框架的底层逻辑)。
使用 MEMORY.md 的最大优势在于状态的绝对透明与可篡改性。作为工程师,我们可以随时用文本编辑器打开它,像查看系统进程树 (Process Tree) 一样查看 Agent 正在“想”什么。如果它跑偏了,人类可以直接手动修改 Markdown 文件来纠正它的状态,这比去数据库里改 JSON 字段要高效得多。