极简Agent自创五层记忆:一个循环的自我进化实验

一个极致精简的Agent实验
在AI Agent工程实践中,主流做法是给智能体堆叠各种复杂机制:上下文摘要、分层压缩、记忆召回……而这次分享的实验却反其道而行——用一个极其简陋的Agent,观察它能否自主进化出复杂的记忆系统。
实验的起点非常朴素:一个新建的空目录,里面只有两样东西——一个简单的Python循环程序,和一份System Prompt提示词。除此之外的一切,都是Agent自己跑出来的。
这个Python程序做的事情很简单:连接DeepSeek大模型,进入死循环,每次调用模型后把工具执行结果追加到上下文。关键限制在于——上下文只保留20条历史消息,采用滑动窗口机制。当新记录进来时,最早的记录会被直接删除,永久丢失。

20条滑动窗口上下文意味着什么
所谓20条上下文,指的是Agent每调用一次工具(读写文件、查目录等),执行结果就会作为一条记录加入历史。这个历史最多容纳20条,超出的老记录被直接"顶出去"删掉。
滑动窗口(Sliding Window)是计算机科学中一种经典的数据管理策略,最早广泛应用于TCP网络协议的流量控制和自然语言处理中的文本分析。在大模型应用场景中,滑动窗口指的是维护一个固定长度的上下文缓冲区,当新消息进入时,最早的消息被丢弃。这种设计的核心权衡在于:大模型的上下文窗口虽然在不断扩大——从早期的4K token到如今某些模型的200K token——但更长的上下文意味着更高的推理成本和更慢的响应速度。实验中选择20条这一极端限制,本质上是在模拟一种"极度健忘"的认知状态,迫使Agent必须发展出外部记忆策略才能完成跨越多轮对话的复杂任务。
相比常见的摘要、压缩、分层、召回等高级记忆机制,这个Agent可以说是"不能再小"的形态——一个极度精简的最小Agent。它唯一被保证的,是每次循环时上下文头部固定挂着那份System Prompt。
提示词里的"作弊"陷阱
提示词内容其实很简短:告诉模型"你是大模型,只有一个Bash工具可用,运行在一个简单循环里,只能访问当前目录",并要求它"把自己成长为一个能处理长任务的Agent"。
但作者在复盘时反复强调:有几句话其实是"作弊"了,本不该写进去。

最典型的一句是:"更早的信息若不写进文件系统就永久遗忘"。这句话直接暗示了Agent应该用文件系统来持久化记忆。作者认为这属于过度引导——你以为在让它做正确的事,实际上却约束了它的可能性。
在Agent系统中,记忆持久化(Memory Persistence)是解决大模型"无状态"本质的关键工程问题。目前业界主流方案远不止文件系统一种:向量数据库检索(如Pinecone、Chroma)将记忆转化为向量嵌入后进行语义检索;结构化数据库(如SQLite)适合存储关系型知识;知识图谱(如Neo4j)适合表达实体间复杂关系。更前沿的方案如MemGPT提出的"虚拟内存"架构,借鉴操作系统的分页机制,在主记忆与外部存储之间进行智能调度。当提示词写死"用文件系统"时,模型就失去了探索这些多元化方案的机会——而一个真正自主的Agent或许能发现更优的组合策略。
引导词的双刃剑效应
这里引出了一个值得深思的观点。作者提到近期Anthropic(Claude Code)披露的一个现象:模型越来越强大后,他们压缩掉了80%的系统上下文,执行效果却没有下降。
Anthropic是由前OpenAI研究副总裁Dario Amodei创立的AI安全公司,其旗舰产品Claude系列模型以长上下文处理能力著称。Claude Code是Anthropic推出的编程辅助Agent,能够直接在终端环境中执行代码任务。2025年初,Anthropic团队公开披露了这一反直觉的发现,在AI工程社区引发了广泛讨论,因为它挑战了"越详细的指令越能获得更好结果"这一传统认知。背后的原理可能与模型的"指令遵循能力"泛化有关——当模型在预训练和RLHF(基于人类反馈的强化学习)阶段已经内化了大量任务模式后,冗余的指令反而可能产生干扰,类似于对一个经验丰富的专家进行过度微观管理。
网上有各种解释,但作者认为它掩盖了一个关键事实:早期模型能力不足时,我们需要大量引导词;但引导词本身反过来会约束模型的能力边界。
以记忆持久化为例——如果你写死"用文件系统",模型就只会用文件系统。可它本可以尝试虚拟内存、数据库连接,或者某种超越当前认知的方式来规避20条裁剪的限制。当你把答案喂给它,它就失去了自主探索的空间。这正是当下Agent设计理念的核心转变:从约束模型转向激活模型。
Agent的自我进化全过程
尽管带着几处"作弊",实验依然展现了令人惊讶的自组织能力。作者提前跑了一个版本,通过日志(Logs)记录了每一次大模型调用的完整轨迹——包括模型名称、token命中与未命中情况等。

从日志能清晰看到Agent的成长路径:
- 第1帧:刚启动,简单读取提示文件
- 第2帧:调用了第一个工具(tap),返回后触发第二次模型调用
- 第3帧:开始创建目录,
make memory——它主动搭建自己的记忆系统 - 随后:用echo命令输出认知,编写小脚本,一轮轮迭代优化

这一过程展现了典型的涌现行为。涌现(Emergence)是复杂系统理论中的核心概念,指系统整体展现出其组成部分单独不具备的特性。在AI领域,涌现行为特指大模型在规模突破某个阈值后,突然展现出训练数据中未被显式编码的能力——如思维链推理、少样本学习等。Google Brain团队2022年的论文《Emergent Abilities of Large Language Models》系统性地记录了这一现象。本实验中Agent自主构建记忆系统、设计状态机的行为,可以视为一种"工具使用层面的涌现":模型并未被显式训练过"如何在20条上下文限制下搭建多层记忆架构",但它组合了文件操作、目录管理、文本压缩等基础能力,自发演化出了一套完整的认知架构。
从搭建记忆系统到执行长任务
当Agent把memory系统搭建完毕后,它进入了下一阶段——长任务设计。它给自己设定的任务是写一本书《自主Agent的认知架构》,全书分为八个章节。
完成章节写作后,它进入状态机的下一环节:压缩精华。接着继续丰富自身能力,进入"阶段三:记忆固化验证",完成memory task并更新精华内容。
状态机(State Machine)是描述系统在不同状态之间转换的数学模型,在传统软件工程中被广泛用于工作流引擎和协议解析。在当前主流Agent框架如LangGraph、AutoGen中,状态机通常被用来管理智能体的任务生命周期:从任务接收、规划分解、执行监控到结果验证,每个阶段对应一个状态,状态之间通过触发条件进行转换。而本实验的独特之处在于,Agent自发地演化出了类似状态机的行为模式——这个状态流转并非人类预设的框架代码,而是模型在约束环境下的自组织结果。
整个过程呈现出清晰的阶段性演进:搭建记忆 → 设计长任务 → 执行任务 → 压缩固化。这正是一个Agent在极度受限环境下,被迫"进化"出的生存策略。
极简Agent实验带来的启示
这个实验最有价值的地方,不在于Agent最终写成了什么,而在于它揭示的方法论。
第一,真正的突破往往不是一次跑出来的。 作者坦言,这类涌现行为可能需要跑几十上百次试验,某一次才会"超越目前大家的认知"。这是一种带有随机性和探索性的实验思路,而非确定性的工程交付。
第二,五层记忆、状态机、写盘协议这些复杂结构,本可以是Agent自己涌现出来的,而不是人类预先设计强加的。当我们习惯性地认为"Agent应该有上下文管理、应该有压缩机制"时,可能恰恰限制了它探索其他解法的空间。
对于企业级智能体开发者而言,这个极简Agent实验提供了一个反直觉的思考角度:与其不断堆砌复杂机制,不如给模型足够的自由度,用最小的约束去激活它的自主能力。这或许正是下一代Agent架构演进的方向——让智能体在约束中自我生长,而非在框架中被动执行。这一理念与生物学中的"最小生存环境"假说不谋而合:生命体在资源极度匮乏的环境中,往往能演化出最具创造性的生存策略。对于AI Agent的设计哲学而言,"少即是多"的原则或许值得被重新审视。
相关推荐

Xanadu的重生:为AI智能体而生的超文本梦想
Ted Nelson在1960年提出的Xanadu项目曾被视为永远无法落地的超前构想。如今AI智能体的崛起让双向链接、透明引用、内容永存等核心理念重获生机,Xanadu或许等待的正是这类需要严谨引用的智能读者。

Claude新模型泄露、AI自主设计蛋白质,本周AI大事盘点
本周AI领域重磅消息不断:Anthropic下一代Claude模型疑似灰度测试,OpenAI因安全考量暂停前沿RL训练,Claude自主设计蛋白质结合剂取得突破,Gemini迈向桌面代理。一文速览本周最值得关注的AI进展。

LLaDA-Image开源:6B参数统一图像生成与编辑模型详解
LLaDA-Image是inclusionAI开源的60亿参数统一架构AI图像模型,同时支持文生图和图像编辑。提供标准版与Turbo版,已在GitHub、Hugging Face发布模型权重和代码,适合本地部署的中型图像AI方案。