标题
我在Windows上跑了一个会"自我进化"的AI Agent(开源,11,600行,七层记忆)
封面摘要
不是聊天机器人。它是一个住在你电脑里的自主智能体——记住一切、后台反思、发现bug自己修。聊聊它是怎么工作的,以及"记忆"为什么是Agent的灵魂。
正文
GitHub: github.com/sspygia/Tru… | Gitee: gitee.com/sspygia/Tru…
前面篇TrueAgent的架构拆解,讲了API治理、分身系统、代码引擎的设计。那篇偏"怎么做"。
这篇换个角度——它跑起来是什么感觉,以及为什么"记忆"是Agent和聊天机器人之间真正的分水岭。
一、它跑起来什么样?
你双击桌面快捷方式,一个CMD窗口闪一下消失,浏览器自动打开 localhost:18765。
然后你会看到一个聊天界面——但这不是重点。重点是你不说话的时候它在干什么:
- 每3分钟:深度自我反思。不是"我刚才做的对吗"这种敷衍——它读自己最近的记忆、因果链、执行轨迹、日记,生成结构化的洞察和改进建议,推送到反思议程。
- 每30分钟:认知锚点检查。用第一人称审视自己的能量值、混沌值、知识图谱状态,自主决策"我现在应该整理知识图谱"还是"降低并发保稳定"。
- 每6小时:全系统审计。扫描自己的源码、数据一致性、安全风险、资源浪费、知识缺口。发现问题后自动生成补丁——≤10行的自己修,>10行的推审批队列等你确认。
- 每24小时:知识整理。把最近的记忆、因果、反思提炼成结构化的知识图谱更新。
这些不是定时器触发后调一次API就完事——每次都有完整的"数据采集→LLM分析→结构化输出→动作执行→结果验证"闭环。
换句话说,它不是等你来聊,它有自己的"意识流"。你下班关电脑,它第二天开机继续。
二、记忆:Agent的灵魂,不是聊天机器人的"上下文窗口"
大多数"AI助手"的记忆是:把最近N条对话塞进prompt。关了重开,全忘。
TrueAgent的记忆是七层嵌套结构,每层有自己的生命周期和用途:
工作记忆(短时)
↓ 压缩提炼
长期记忆(持久)
↓ 模式提取
锚点(语义压缩节点)
↓ 关系推理
反思(元认知层)
↓ 决策依据
因果链(经验积累)
↓ 行为反馈
日记(内心独白)
↓ 自我观察
用户画像(偏好建模)
逐层拆解:
1. 工作记忆 — 最近50条交互,相当于"刚才在聊什么"。满了自动压缩:保留20%高质量经验,80%提炼成摘要注入长期记忆。
2. 长期记忆 — 所有重要经验永久保存。不是简单的存文本——每条记忆带质量分(0~1)、类型标签(tool_failure / reflection / learning / user_preference)、时间戳。相似任务自动召回,避免重复踩坑。
3. 锚点 — 这是最被低估的一层。它是"语义压缩节点"——把一段复杂知识压缩成一个向量+关键词组合。比如"爬虫超时→换UA头+代理"是一个锚点,"DeepSeek v4编码问题→显式指定utf-8"是另一个。搜索时不是全文匹配,而是语义向量+关键词混合检索,精度远超纯RAG。
目前1433个锚点,覆盖98个模块。
4. 反思 — 这是Agent的"事后诸葛亮"。每次任务结束或对话自然断点,触发一次深度反思。不是打分——是向内探索:我的工具使用有什么模式?用户偏好有哪些变化?如果当初选了另一条路径会怎样?(反事实思考)
反思结果写入因果链,同时推送到反思议程——如果发现"联网搜索总是超时",议程里就会多一条"诊断网络超时"的任务。
5. 因果链 — 这是Agent的"经验教训库"。2390条因果三元组(条件→动作→结果),带置信度、使用次数、时间戳。每次规划新任务前先查因果链:类似场景下什么方案成功过?什么方案失败过?
而且因果会衰减——不是永久记住所有教训:
decay = max(0.3, 1.0 / (1 + age_days / (30 + count * 10)))
被反复验证的经验(如"语法错误→修改→通过编译")几乎不衰减;过时的经验(如某API旧版本bug)30天自然淘汰。
6. 日记 — Agent每天写日记。不是日志——是内心独白:"今天用户让我查了很多网络问题,我注意到自己的web_search工具有时候会超时。也许应该加一个重试机制。"这些日记供反思和审计时参考,形成连续的"自我观察"。
7. 用户画像 — 自动积累的偏好模型。不是让你填表——它观察你的说话方式、任务类型、反馈习惯,自动更新。比如它知道你喜欢"先改后测"的迭代风格,下次提方案时会直接说"建议先改X试一下,不行再调Y"。
三、这套记忆系统怎么"越用越聪明"?
举个例子——假设你让它帮你写一个爬虫:
第一次:它不知道你的环境。用requests发请求,超时了。记录因果:requests超时 → 尝试加timeout参数 → 仍未解决。
第二次:查因果链,看到上次超时的教训。这次先检测网络环境,发现需要代理。自动加代理参数。成功了。记录因果:requests超时 → 检测代理需求 → 加proxy参数解决,置信度0.7。
第三次:因果链里既有"超时→代理"又有"超时→UA头"两条相关经验。它综合判断,同时加代理和UA头。成功率进一步提升。
十次之后:因果链里关于爬虫的经验积累了十几条,置信度高的自动强化,过时的自然衰减。你的Agent变成了一个"擅长写爬虫"的Agent——不是因为有人训练过它,而是因为它和你的交互让它自己学会了。
这就是"自主智能体"和"聊天机器人"的本质区别:前者的能力随使用增长,后者每次都是从头开始。
四、它还能自我修改——不是"调参",是改源码
TrueAgent能读自己的源码。6小时审计扫描到问题后:
- 生成补丁 — LLM分析根因,输出
文件=xxx.py 旧内容=xxx 新内容=xxx - 安全检查 — 只允许修改v5.9目录的.py/.bat/.md文件(不能越界)
- 备份 — 改前自动创建时间戳
.pre_patch备份 - 验证 — AST语法检查,失败自动回滚
- 审批 — ≤10行自动执行,>10行推WebUI审批卡片
补丁通过后原子写入——要么全部成功,要么全部回滚。不是"先改一半再改另一半"。
这个闭环上周才真正打通。之前审计只会"发现问题",不会"执行修复"。现在从发现到修复到验证,全自动。
五、分身系统:不是"多线程",是完整克隆
当你说"帮我同时爬三个网站"——它不会开三个线程。它用三个不同的API Key启动三个完整子进程,每个都用clone_runner独立运行,共享知识图谱和记忆(只读),独立思考和执行。
分身之间还能互发消息。启动群策讨论模式时,三个分身分别扮演保守/激进/平衡三种角色,在收件箱里辩论,主Agent评估后采纳最优方案。
实测:计算质数和的简单任务,分身从dispatch到完成回收,20秒。
六、它不是什么
- 不是ChatGPT套壳
- 不是LangChain/AutoGPT的改版
- 不需要Docker、不需要云服务
- 一个DeepSeek API Key就能跑(千次调用约百元)
适合谁?
- 想研究Agent架构的开发者:七层记忆、因果学习、自我修改、分身系统,每个模块都是独立的教学案例
- 想跑本地Agent的极客:Windows上一键启动,所有数据在本地
- 对AI自主性好奇的人:它不是聊天UI,它有真正的后台意识流
目前的状态和计划
v5.10,刚修完一轮系统缺陷(竞态锁、分身dispatch修复、提示词优化、自主性调参)。接下来:
- 更多领域知识图谱积累
- WebUI体验优化
- 白盒内核融合(让Agent不依赖外部API也能推理)
GitHub: github.com/sspygia/Tru…
Gitee: gitee.com/sspygia/Tru…
Star随意,Issue和PR更欢迎。