AI 智能体的持续学习

2
分类技术博客
作者LangChain
来源跳转
发表时间

内容

大多数关于AI中持续学习的讨论都聚焦于一个方面:更新模型权重。但对于AI智能体而言,学习可以发生在三个不同的层级:模型、框架(harness)和上下文。理解这些差异将改变你构建能够随时间改进系统的思维方式。

AI智能体系统的三大主要层级包括:

  • 模型:即模型权重本身
  • 框架:围绕模型的框架,驱动智能体的所有实例。这包括控制智能体的代码,以及始终作为框架一部分的任何指令或工具
  • 上下文:位于框架之外的附加上下文(如指令、技能),可用于配置框架

图片

示例 #1:将Claude Code编码智能体映射到上述结构:

  • 模型:claude-sonnet等
  • 框架:Claude Code
  • 用户上下文:CLAUDE.md、/skills、mcp.json

示例 #2:映射到OpenClaw:

  • 模型:多个
  • 框架:Pi + 其他支撑架构
  • 智能体上下文:SOUL.md、clawhub中的技能

当我们谈论持续学习时,大多数人会立即想到模型。但实际上——AI系统可以在这三个层级中的任何一个进行学习

模型层级的持续学习

当大多数人谈论持续学习时,他们通常指的是更新模型权重。

更新此模型的技术包括SFT、强化学习(例如GRPO)等。

这里的核心挑战是灾难性遗忘——当模型在新数据或任务上更新时,往往会丧失先前掌握的知识。这是一个开放的研究问题。

当人们为特定智能体系统训练模型时(例如,你可以将OpenAI Codex模型视为为其Codex智能体训练的),他们主要是针对整个智能体系统进行训练。理论上,你可以在更细粒度级别进行(例如,可以为每个用户设置一个LORA),但在实践中,这主要在智能体级别完成。

框架层级的持续学习

如前所述,框架指的是驱动智能体的代码,以及始终作为框架一部分的任何指令或工具。

随着框架变得越来越流行,已有几篇论文讨论了如何优化框架。

最近的一篇是Meta-Harness:模型框架的端到端优化

核心思想是智能体在循环中运行。首先,它在大量任务上运行,然后进行评估。接着将所有这些日志存储到文件系统中。然后运行一个编码智能体来查看这些跟踪记录,并提出对框架代码的修改建议。

图片

与模型持续学习类似,这通常在智能体级别完成。理论上,你可以在更细粒度级别进行(例如,可以为每个用户学习不同的代码框架)。

上下文层级的持续学习

"上下文"位于框架之外,可用于配置框架。上下文包括指令、技能甚至工具等内容。这也被称为记忆。

同样的上下文也存在于框架内部(例如,框架可能具有基础系统提示词、技能)。区别在于它是否属于框架的一部分或属于配置部分。

上下文学习可以在不同层级进行。

可以在智能体级别进行上下文学习——智能体拥有持久的"记忆"并随着时间的推移更新其自身配置。一个很好的例子是OpenClaw,它具有自己的SOUL.md,会随时间推移而更新。

更常见的是在租户级别(用户、组织、团队等)进行上下文学习。在这种情况下,每个租户都会获得随时间更新的独立上下文。示例包括Hex的Context StudioDecagon的DuetSierra的Explorer

你也可以混合搭配!因此你可以拥有一个智能体,同时具备智能体级别、用户级别和组织级别的上下文更新。

这些更新可以通过两种方式进行:

  • 事后通过离线作业进行。类似于框架更新——处理大量近期跟踪记录以提取见解并更新上下文。这就是OpenClaw所称的"做梦"
  • 在智能体运行时通过热路径进行。智能体可以决定(或用户提示它)在从事核心任务时更新其记忆

图片

需要考虑的另一个维度是内存更新的显式程度。是用户提示智能体记忆,还是基于框架本身的核心指令让智能体自动记忆?

比较

图片

跟踪记录是核心

所有这些流程都由跟踪记录驱动——智能体执行路径的完整记录。LangSmith是我们的平台之一,主要功能之一是帮助收集跟踪记录。

然后你可以用多种不同方式使用这些跟踪记录。

如果你想更新模型,可以收集跟踪记录并与Prime Intellect等公司合作训练你自己的模型。

如果你想改进框架,可以使用LangSmith CLILangSmith Skills为编码智能体提供对这些跟踪记录的访问权限。这种模式帮助我们改进了Deep Agents(我们开源的、模型无关的、通用目的的基础框架)在终端基准测试中的表现。

如果你想随时间学习上下文(无论是在智能体、用户还是组织级别),那么你的智能体框架需要支持这一点。Deep Agents——我们首选的框架——以生产就绪的方式支持这一点。有关如何实现用户级内存背景学习等的示例,请参见相关文档

评论

(0)
未配置登录方式
暂无评论