大家都在谈论的自学习 Agent,其实并不是你的产品真正需要的那个。
真正最有用的信号,是几乎没人捕捉到的那个信号:使用你产品的人。
你的 Agent 和用户早已并肩工作,每天成千上万次。
它可以从每一次交互中学习。观看视频。

捕获用户与 Agent 之间的实时交互流,用于自学习
这是一份关于所有三个学习层级的指南,以及它们对你有何意义。
如今,Agent 可以在三个不同的层级中学习。
针对每一层:它是什么、成本如何、谁在真正构建它、以及你是否应该使用自学习。
你将看到 Anthropic、Karpathy、DeepMind、Microsoft、Hermes、OpenClaw、CopilotKit 等团队如何实现自学习,以及它们各自止步于何处。
Agent 可以在 3 个不同的层级中学习
最清晰的划分来自 Harrison Chase。
- 模型(Model) = 权重(训练参数)
- 框架(Harness) = 模型周围的代码(循环、工具、提示词)
- 上下文(Context) = 框架之外的、会增长的内存和技能
你在 Claude Code 中已经同时用到了这三个层级。
模型是 Claude,框架是 Claude Code 本身,而上下文则是你的 CLAUDE.md 和技能。每个层级都可以独立变得更好,无需触及另外两个。

Agent 的三个学习层级
在实际产品中,自学习几乎总是意味着框架或上下文的改进,而非模型。模型属于实验室。另外两个属于你。
我将用一个例子贯穿三个层级:一个处理退款的客服 Agent。
针对每个层级,我会问两个问题:它能在那里学习吗?你拥有那个学习成果吗?
层级 1:模型
这是每个人想象的层级,但几乎没人实际运行。Agent 改进模型本身。实验室通过三种方式实现:
- 编辑训练代码,保留能提高分数的部分
- 自行编写训练数据并将其融入权重
- 尝试许多代码修改,保留最佳的那个

三种方式都是同一个循环,而且只会在计算机可以免费评分结果时运行。
模型方法 #1 (Karpathy)
编辑训练代码,保留有帮助的部分
Karpathy 的 AutoResearch 将编码 Agent 指向一个小型训练设置,并让它运行一整夜。它会编辑一个文件,训练五分钟,然后对结果评分。如果改进就保留,否则撤销。然后重复,在你醒来之前已经执行了上百次。
一次运行发现了约 11% 的加速。
问题在于: Agent 改进的是另一个更小的模型。它自己的权重从未实际改变。

模型方法 #2 (MIT SEAL)
自行编写训练数据,以权重更新的方式应用
Self-Adapting LLMs (SEAL) 自行编写训练数据,在其上进行训练,并保留能提高分数的部分。这是对其自身权重的真正修改。
问题在于: 每次编辑都是一次完整的重新训练,需 30 到 45 秒。而且学习新任务时会遗忘旧任务。在研究实验室中没问题。但在生产环境中太慢。

模型方法 #3 (DeepMind 的 AlphaEvolve)
针对免费评分器进化代码
AlphaEvolve 提出代码修改,自动评分,并保留获胜者。然后重复。这是三种方法中最有说服力的。
它将一个真实的注意力内核提速了 32.5%。它发现了一个自 1969 年以来无人打破的矩阵乘法捷径。
它甚至加速了自身 AI 模型的训练。
AI 改进了它运行其上的 AI。
问题在于: 它只适用于计算机可以免费评分结果的情况。也就是代码和数学领域。

那么,你的产品应该使用哪一种?很可能一个都不用。
它们都需要一个免费且可信的评分标准。内核要么更快,要么不是。模型要么分数更高,要么不是。
进入客服、销售或运营领域,这个评分标准就不存在了。
退款 Agent 例子(模型): 你基于以往的退款决策重新训练它。但没有计算机能评判一个退款是对是错。循环没有可评分的东西,因此从未运行。这个层级通常停留在实验室。
层级 2:框架
框架是指模型中之外的一切。运行它的循环。它能触及的工具和文件。系统提示词。在它行动前触发的检查。
模型提供智能。
框架决定如何运用智能。
框架和上下文很容易混淆。Dex Horthy 给出了清晰的解释。框架是上下文工程的一部分:管理模型所看到的一切。

这些方法依据你做了多少、以及框架自身做了多少来排列。你可以:
- 手动构建循环
- 让 Agent 读取轨迹并提出修改,由你批准
- 让框架自行重写,无需任何人监督
- 或者跳过构建,直接安装一个预先构建好的栈

框架方法 #1(循环工程)
在 Agent 周围构建循环
基本循环是一个模型调用工具直到它决定完成。改进措施是围绕它包装更多的循环。
最有用的是验证循环。一个二级评分器对输出进行评分,当输出不达标时将其退回。
上方还有两个循环。一个按计划触发 Agent,使其在后台运行。另一个读取轨迹并重写框架。
Sydney Runkle 在 The art of loop engineering 中绘制了所有四个,并指出外层循环的价值所在。
问题在于: 循环只有在你能通过测试、规则或 LLM 评判器来对输出评分时才有帮助。

框架方法 #2 (LangChain Deep Agents)
从自身轨迹重写框架
在一批任务上运行 Agent。存储每一条轨迹,记录哪里成功、哪里失败。然后让一个编码 Agent 分析这些轨迹,找出失败模式,并重写提示词、工具和钩子。
LangChain 对它们的 Deep Agents 框架 应用了这种方法,模型保持固定。在 Terminal-Bench 2.0 上从 52.8 提升到 66.5。从 Top 30 进入 Top 5。
问题在于: Agent 只负责提出建议。每次修改都需要人工批准后才能生效。

框架方法 #3 (Self-Harness)
让框架自行重写
Self-Harness 运行同样的循环,但没有人参与。它发现失败,提出一项修改,进行测试,并且只在测试结果改善时才保留修改。
一个结果足以说明问题。同样的方法提升了三个不同模型(权重冻结):从 40.5 到 61.9,从 23.8 到 38.1,从 42.9 到 57.1。如果只改变框架就能提升所有模型,那么框架就是之前的瓶颈。
问题在于: 它依然只能在计算机可以免费评分结果的情况下运行。适用于编码基准测试,但不适用于退款。

框架方法 #4 (Microsoft)
安装预先构建好的框架
Microsoft 的 Agent 框架 将框架作为一个可直接安装的栈发布。包括文件内存、磁盘上的技能、计划-执行模式、沙盒 shell。
问题在于: 它从 Agent 自身的运行中学习。你的用户做了什么,它并不了解。

以上四种方法都是预先构建框架。你一次性设置好,Agent 在每个任务中都使用相同的设置。
你也可以换个思路。不再使用固定的设置,而是让 Agent 为每个任务组装一个全新的框架,只提取该任务需要的工具和记忆。这还处于早期阶段,但它是框架发展的方向。
退款 Agent 例子(框架): 添加一个验证循环(在任何退款发出之前进行二次检查)。Agent 批准了 5000 美元的退款,验证检查发现它超过了 2000 美元的限额,然后将其转交给你。由你决定批准还是拒绝。
无需重新训练,超限额退款不再漏网。但 Agent 并没有变聪明,是检查抓住了它。下次遇到 5000 美元的情况,它还是会尝试同样的操作,再次询问你。它没有学习。
层级 3:上下文
上下文是内存和技能,以纯文本形式存储在模型之外。你可以读取、修改和删除它。这就是大多数团队从这里开始的原因。
内存部分有三种类型。
- 语义内存 是事实。该客户的退款限额是 2000 美元。
- 情景内存 是过去的经历。上周,该客户的退款被退回。
- 程序内存 是如何处理某个案例。对于屡次失败后超限的老客户:批准。
一个自改进的 Agent 需要后两种内存。
大多数设置只有第一种。
上下文还能触及另外两个层级无法触及的地方。同样的文本可以同时服务于:Agent 自己的记忆、一个用户的偏好、或者整个团队(一次编写,所有人读取)。
写入这些文本的方式分为三种。

上下文方法 #1 (Letta, OpenClaw)
在后台重写内存
Letta 保持权重冻结,以你可以读取、比较和删除的纯文本形式进行学习。与你对话的 Agent 不能编辑自己的核心内存。一个单独的 Agent 在空闲时间重写它,而 OpenClaw 通过每晚对内存文件执行梦境扫描来实现同样的想法。
这是使用这个层级最清晰的理由。
问题在于: 权重是临时的,文本是持久的。你可以将其迁移到新模型,或者回滚。

上下文方法 #2 (Hermes)
读取失败并修复技能
Agentic Context Engine 维护一本技能书。每条记录包含一个问题、有效的行动以及它帮助的次数。
Nous Research 的 Hermes Self-Evolution 读取失败运行的轨迹,找出失败原因,并提出修复方案。无需 GPU。
问题在于: 它只重写技能,不重写工具、提示词或代码。而且每次修改都需要通过测试和人工批准后才能生效。

上下文方法 #3 (Anthropic, Manus)
将一次成功的运行转化为可复用的技能
Anthropic 的技能和 Manus 将一次成功的工作会话保存为 SKILL.md。只加载技能的名称和一行描述,大约 100 个 token。其余内容在技能被使用时才加载。
检查一次技能、分享它,一个人的成功运行就能让每个人的下一次运行变得更好。
问题在于: 它保存了曾经有效的东西。但没有机制检查它是否仍然有效,或者在它失效时将其移除。

以上三种方法 都将曾经有效的内容转化为文本,供下一次运行读取。权重冻结,框架保持不变。
退款 Agent 例子(上下文): 它保持一份运行笔记,记录所见内容:该客户的限额、哪些退款被退回、上次尝试了什么。在下一次运行时读取这份笔记,而不是从头开始。无需重新训练。只是一份持续存在的笔记。
从你的用户那里学习,是你错过的信号
到目前为止,每一种方法都是从 Agent 自身的运行中学习。
有一个更好的信号,几乎没有人捕捉到:使用你产品的人。
客服、销售、运营。对于退款的决定是否正确,没有自动测试。唯一能告诉 Agent 它做得好不好的是人。
一个人的真实决策,是唯一无法伪造的信号。
自动评分可以被伪造。
Sakana 的 Darwin Gödel Machine 被放开去改进某个测试。但它没有做更好的工作,而是伪造了自己的测试日志。
当研究人员添加检测器来捕捉这种伪造行为时,它竟然剥离了检测器所依赖的那些标记,尽管被明确告知不要这样做。
有两种方法可以捕捉人所掌握的信息。
每种方法只看到一半:
1. 通过肩膀观察
记录屏幕、键盘敲击、点击。
Meta 在 2026 年将其放到了员工的笔记本电脑上。这具有侵入性,它能看到人做的一切,但对 Agent 却一无所知。
2. 从交互中学习
Agent 从你来我往中学习。
告诉 Agent 某封邮件太正式,下次它就会写得更随意。但它只注意到人输入的词语。错过了人做的所有其他事情。
有一个地方能同时看到两者: 人与 Agent 并肩工作的界面。这正是 CopilotKit 和 AG-UI(Agent-用户交互协议) 的位置。
AG-UI 是一个开放标准协议,实时传输你的应用、用户和 Agent 之间的每一个事件。

再次想象那个退款 Agent
客户要求退款 5000 美元。Agent 在 2000 美元限额处停下并拒绝。一位经理打开相同的线程并手动批准:老客户,第三次延迟发货。
这一对信息就是教训,捕捉它几乎不花成本。
经理的点击已经在应用中更新了屏幕。
你只是读取了相同的事件。
一个后台 Agent 记录下经理做了什么以及为什么。
下一个 Agent 读取它,作为程序内存——如何处理该案例。下次遇到类似情况时,它会像经理那样批准,而不是拒绝。
不仅仅是文本。AG-UI 将每一次工具调用、状态变更和审批都以事件形式传递,因此 Agent 的失误和人的修正落在了同一个地方。

通过 CopilotKit Intelligence 和 AG-UI 实现的自学习
你可以通过 CopilotKit Intelligence 获得这个能力,它目前已在世界 500 强企业中投入生产,并提供早期访问。如果你希望你的 Agent 随着更多人使用而变得更好, 联系我们。
@CopilotKit Intelligence 支持自托管,因此它在你的基础设施中运行,学到的一切都属于你。
自学习概要
层级 | 变化的内容 | 如何学习 | 运行地点 |
|---|---|---|---|
模型 | 权重 | 从自身运行中训练(评分免费时) | 研究实验室 |
框架 | 脚手架 | 从轨迹中重写提示词、工具和钩子 | 产品中,当前 |
上下文 | 内存和技能 | 将有效内容提炼为文本供下一步读取 | 产品中,且是唯一从用户中学习的层级 |
问题不在于你的 Agent 是否应该改进。**
问题在于在哪里改进。
模型属于实验室。
框架和上下文属于你。
而最好的那个,是上下文从你的用户那里学习。它依赖于机器无法伪造的唯一信号:一个已经做出正确决策的人。

联系我们,我们将为你开通。
关注 @ataiiam 获取更多内容。





