开场互动
接下来我会说一串关键词,大家一起互动。我说到的时候,请听过这个词的人举手。听说过“智能体记忆”的,请举手。
一分钟认识智能体记忆
大家都听说过智能体记忆,这让我特别高兴。大约一年前,我在 AI Engineer 的旧金山活动上讲这个主题时,现场没人知道我在说什么。差不多三年前,我谈到要把记忆结构化、建立智能体记忆模型时,大家还觉得我疯了。现在在座各位都知道智能体记忆了,希望你们也已经把它用进自己的智能体里。
我快速讲一下:智能体记忆,就是智能体用来保留、复用、回想和提炼信息的记忆机制。我把这四个动作叫作“四个 R”,很容易记。智能体记忆也有一套分类法:短期和长期记忆比较直观;再往下按认知功能分,有语义记忆、情景记忆、程序记忆和工作记忆。今天我们还会看到一种具体实现方式。这张记忆分类图是我过去三年来一直用来向大家介绍这个主题的材料。我在线上讲过很多次了,大家可以拍照,之后也会拿到幻灯片。这场演讲会在此基础上继续往下讲。下一个关键词来了。
控制平面
听说过“控制平面”的人举手?举手的人少了。我猜接下来每讲一个关键词,举手的人都会变少;如果顺利的话,最后可能一个人都不举手,或者只剩一两位。控制平面大多数人都知道,大致就是集中管理智能体的系统:规定它受什么治理、能用哪些工具、能做什么、不能做什么。很多软件公司都把自己的产品定位成控制平面,这类系统确实需要。今天我会在此基础上再往前讲一步。
这张图展示了控制平面通常包含的组件:智能体身份、策略和护栏、用于授权的编排,以及审计。下一个关键词来了,准备好了吗?好,开始:软件工厂。
软件工厂
举手的人更少了,快和我幻灯片上的预期一致了。“软件工厂”这个说法很有意思。很久以前我在通用电气(GE)实习时,听说当时 GE 的 Bob Bemer 在 1968 年的一篇论文里创造了这个词,讨论的是怎样以可衡量、可重复的方式编写程序。所以它不是智能体时代才有的新词,计算机科学早就用它很多年了。
等大家拍完照。你可以把软件工厂想成一个能可靠地持续产出软件的系统。你给它一套流程和系统化工作流,规定每次开发软件时该怎么做,再由智能体执行,通常会有多个智能体并行工作。也有不同公司把自己定位在这个领域。好,下一个关键词。
智能平面
“智能平面”(intelligence plane)。有人听过吗?看来我没讲好,只有三个人举手。今天我们要谈的就是智能平面。我想兑现去年讲智能体记忆时做过的承诺:当时大家觉得我疯了;我今天也要做出同样的承诺——我今天要讲的内容,会让你比大多数人领先六个月。去年我讲智能体记忆时这么说,今年讲智能平面时也这么说。等我明年回来再讲智能平面,希望所有人都会举手。别把我的话当保证啊。那这个呢:“AF 就是中途岛。”谁听过?
“AF 就是中途岛”
听说过这个说法吗?没有?那我们来上一堂简短的历史课。二战期间,日本帝国海军袭击珍珠港。有几组人负责截获日军通信,一共有三组,这里只讲其中两组:一组在华盛顿,一组在珍珠港。他们截获的通信里有一个代号“AF”。AF 代表什么,对太平洋战争的结果至关重要。长话短说,这两组人从日本海军的通信里拿到了许多零散信息,负责破译这些信息。
珍珠港那组人就在地下室里,把大量截获的纸面消息收集、记录和保存了好几个月,最后成功破译,发现 AF 实际上是中途岛(Midway)的简称。日本人用 AF 作为中途岛的代号。中途岛是位于亚洲和北美之间的一座小岛。你们可以查查它在控制太平洋方面的重要性。
我想讲的关键,是控制和智能之间的区别。珍珠港地下室里那一小组人持续破译日本通信,用纸记录了几个月的信息——这本质上就是记忆。正是这些工作让他们解开代号,为美国海军争取到优势。
华盛顿那边更集中,掌握的信息和珍珠港一样,可能还有更多资源,也有控制和组织能力,但他们对数据作出了完全不同的解释。最后被采纳的是珍珠港“HYPO 站”(Station Hypo)那群密码破译者的判断:AF 指的就是中途岛。他们能提出这个假设,原因就在于此。
我想说的是,在座每个人用的模型都一样,能接触的信息可能也一样;但这不等于拥有智能,也不等于你因此有了独特优势。今天我要谈的是,为什么我们真正需要开始讨论智能平面……
智能平面在智能体技术栈中的位置
……智能平面。接下来我会过一遍智能体技术栈。我们知道控制平面会横切技术栈中的某些层。我要提出的并不是什么新东西,只是提供一种思考今天正在构建的软件的方式:智能平面贯穿整个技术栈,让工程师能打造的不只是经过编排的智能体,还包括能够从数据和记忆中学习、持续改进的智能体。
好,我们从理论转向更实际的概念。
智能平面的内涵
那智能平面是什么?它是智能体系统或 AI 基础设施中的一部分,能帮助你理解系统,也让智能体随着时间推移不断变好。它涵盖智能体应该知道什么,也就是知识;应该记住什么,也就是记忆;获准查看什么,也就是治理和数据访问;以及它如何变得更好,也就是持续学习。这里面没有什么全新的东西:有些人已经在做其中一部分,有些人听完今天的演讲就会开始做。控制平面和智能平面的区别就在这里。大家跟上了吗?点头了?好,继续。
我带大家看一条时间线,讲讲大家走过的路和接下来要去的方向。最开始,我们都在给模型写提示词,也有提示词层或工具可以查看所有提示词。后来出现了能让我们观察上下文的工具,也就是上下文层。现在很多人处在控制平面阶段,寻找或构建能编排智能体的软件。接下来要走向的,就是智能平面。贯穿整套幻灯片,有一点我们可以达成共识:信息不等于智能。记住这一点,我们现在可以深入技术细节了。
这是智能体技术栈。谈到控制平面里的智能,或者在控制平面上增加智能,我们会从不同层面来看:在网关和连接层,要考虑把端到端的用户身份关联到数据;在编排层,要考虑上下文组装、记忆和上下文构建。再往下是我最熟悉的数据库——记忆核心。这里不只谈数据库,还要谈本体和语义层,以及记忆。基础设施和平台层也很重要:我们会在这里讨论推理、微调和持续学习,从而超越控制平面提供的部署能力。这些共同构成控制平面和智能平面的组件。之后会有一张参考架构图,大家可以拍下来。
我希望自己能提出新想法,但这个想法确实不新,已经有人提过好几次。如果你做过网络工程,这个概念可能很熟悉:有人提出,在管理与配置平台之上,还应该有一个知识平面,用来理解不同电路的路由;而管理与配置平台本质上就是控制平面。也就是说,在控制平面、管理平面之上,有人又提出了知识平面。我把这个想法带到我们正在构建的智能体系统里,称之为智能平面。我们会做演示。我看看时间,确保能讲到演示。我们也喜欢公式:智能体等于……
智能体 = 模型 + Harness
模型加上 Harness(运行框架)。把它放进控制体系里,就有了治理和安全;再加入智能,就加上了知识、记忆和学习能力,为今天构建智能体的整套方式带来乘数效应。我给大家看看它是什么样。
我在想,是现在演示还是等会儿?先看一个演示版本。哦,我先退回去,刚才有人在拍照。幻灯片马上会发给大家。
我把智能平面里讲到的内容都归纳成了高层次的系统组件;今天这些组件可能分别由不同的供应商提供。首先是智能体实际运行的运行时。运行时需要记忆和知识,可能还会在数据平台之上配一个记忆管理器。智能体运行时可以把记忆轨迹写入记忆管理器;之后这些内容进入持续学习循环,再把更新后的模型送回智能体运行时。整个架构可以放进刚才讲的几个平面:数据平面、控制平面和智能平面。控制平面和智能平面我们都已经讲过了,而智能平面正是目前缺少的关键一层。
智能平面里还有几件相当重要的事,我会在演示里展示。我讲得有点快,但接下来很快就能看到。那么,为什么这个行业现在已经准备好迎接智能平面?为什么我现在谈这个?
为什么是现在:决策模型
为什么行业现在准备好迎接智能平面?为什么我现在谈这个?很快说一下:我们有前沿 AI 模型。规模定律让我们能够预测这些模型会带来的收益,开源权重模型大概落后三到六个月。但最近出现了决策模型,它改变了发展轨迹,也改变了我们思考这些系统的方式。它让我开始从系统架构的根本层面重新思考:看看我的系统,想想其中哪些部分可以换成决策模型。
这是几年前常见的做法;现在,检索流程的各个环节都可以用模型。接下来我要打开一个演示,这里有演示的二维码。
演示:有治理的智能体与朴素智能体
我有点讲快了。这个演示的代码之后会给大家;现场网络不太好,所以我不打算实时运行。这里是个简单的聊天界面,有一个经过治理的分析智能体,还有一个朴素分析智能体。前者基于智能平面构建,配有本体层、语义层,以及我们在参考架构里看到的其他组件。
我很快展示一下智能平面的效果。关键是建好智能平面,同时节省 token 成本。这里的 tokenomics 指成本、准确率和延迟。两个智能体回答同一组问题,但由智能平面支持的那个更聪明,正确率达到 99%,而且消耗的 token 更少:它用 3.2 万个 token,朴素智能体则用了 20 万个。它还有完整的护栏控制和缓存,包括提示词缓存机制。
我现在倒过来讲了。落实接下来要展示的一些做法后,你就能构建适合投入生产的系统;系统还可以随着你收集的数据不断学习和成长。
我想谈谈本体层和语义层。时间不多,我会在演示之间跳着讲。演示里我问两个智能体“交易对手方是什么”。本体层带来的准确度提升,靠简单的关键词搜索是做不到的。关键词搜索也能找到一些实体,没加本体的智能体也能回答,但加上本体后答案更准确,能答对。
语义层也是一样。没有语义层的朴素智能体答错了“集中度是什么意思”;而用智能平面构建、带语义层的智能体答对了。误差幅度现在只有 5%。但如果你在金融行业做关键任务型工作负载,这一点就非常重要。因此,建立好语义层和本体层很关键。大家之后会拿到这个演示,我很快回到幻灯片。
我们正在把一系列模型加入智能平面;刚才的演示已经包含这些模型和整套架构。
你的团队现在该做什么
你的团队现在该做什么?第一,把记忆当作数据,不要把它看成彼此无关的东西。把实体和定义记录下来,把权限信息(entitlements)放进数据层,并采集记忆轨迹。Oracle 有一些功能可以让你很容易做到这些。记忆基本上就是你的护城河,所以你得拥有自己的记忆。
刚才我们看过 Oracle 的参考架构。Oracle 有对应的产品功能,可以提供构建自有智能平面所需的系统组件。这样你就有了所需的工具,可以搭建一个会随着智能体持续运行、持续构建而不断学习和成长的系统。接下来我会很快讲其中几个方面:记忆、安全——包括深度数据安全、私有推理、本体和语义。
智能体记忆、安全与私有推理
我们刚才谈过智能体记忆。在 Oracle,我们把记忆工程封装成一个 Python 包,推出了智能体记忆功能。这样你就不用操心让智能体记住事情时涉及的各种复杂问题;这个 Python 包会替你生成上下文卡片。
你们真正需要开始采集的是记忆轨迹,因为这些轨迹会成为微调数据。这页幻灯片展示了记忆工程和上下文工程的交汇点,大家可以等拿到幻灯片后再仔细看,我先快速跳过。智能体记忆和 Oracle AI Database 就是刚才演示中讲到的内容,我跳过了那部分。接下来是深度数据安全。我昨天和今天都跟一些人聊过,他们在讨论智能体身份,也在谈自己采用的不同解决方案。
在 Oracle 的智能体方案里,我们把安全作为数据库的一等功能。借助一款叫 Deep Data Security(深度数据安全)的产品,你可以把应用上下文、用户的数据访问权限和行级访问权限传递到底层数据层。这样,智能体就能接过它所代表用户的身份,只访问该用户获准访问的数据——我刚才把话说乱了。
总之这些功能都很好,包括刚才的演示;它用的就是我讲过、也展示过的整套基础设施。深度数据安全的工作方式是这样的:有一位分析师,还有身份提供方。身份提供方给出分析师应有的全部数据访问权限,我们把这些权限传给智能体,智能体也继承这些权限。因此,这个特定智能体能访问的数据都受到限制。
接下来几页讲私有推理。很多人在金融公司工作,可能希望推理在本地运行。我们有 Private AI Service Container,里面包含托管自有嵌入模型、自有大语言模型和推理服务,以及重排模型所需的全部基础设施。这些组件让你能掌握自己的智能平面。如果想用云服务,Oracle Cloud 也托管了一些你们听说过的模型,比如 Grok 模型和一些 OpenAI 模型。无论采用气隙隔离的基础设施还是云基础设施,Oracle 都提供这些组件。
演示:微调记忆路由
在结束之前,我还有第二个演示。这是我做的开源工具,叫 Memories,用来展示如何开始进入智能平面这个领域。现在有不少人在做智能体记忆;在记忆系统里,还可以引入其他模型来改进系统本身。决策模型就是其中一种。这个示例用了三种模型:决策模型、嵌入模型和重排模型。
我的智能体记忆系统通常会用到这些模型。如果理解智能平面,也明白自己需要拥有自己的记忆,就可以开始微调这些开源模型。这次演示会聚焦记忆路由:上下文层或大语言模型输出一些内容后,我们把它路由到合适的存储中,比如对话记忆或工作流记忆。通常你得写代码来做这件事;有了决策模型之后,就会简单、便宜得多。
这里有一些用于记忆路由的微调模型,可以看到训练过程。我们微调了一个 Equine 模型,把它训练成决策模型。微调数据都在这里,来自我和智能体之间的对话;我可以把对话内容分类,标注它属于哪种记忆。这样一来,只要有信息进来,你就能用决策模型轻松、低成本地把它路由到合适的记忆类型。
记忆路由、嵌入和重排,都是现在就可以着手的低垂果实。理解了智能平面之后,你可以采集记忆轨迹、妥善整理格式,再训练模型;这样能提高质量,有些情况下还可以降低延迟。好,我们回到幻灯片——来回切几次也挺好。现在差不多要收尾了。
Oracle 还用不同方式帮助开发者构建智能体。其中一种是 Private Agent Factory,这是一个无代码平台,可以拖放组件来搭建智能体;至少在这个平台里,你可以拥有完整的控制平面。Private Agent Factory 也使用了我们正在各个产品中构建的同一套智能体记忆系统。它构建在 Oracle AI Database 之上,因此具备我刚才讲到的记忆核心功能。
我已经演示过本体层和语义层对智能体准确率的影响——对比有无这些层的智能体。Oracle 提供构建整套系统所需的基础设施和组件。你可以用同一个问题,对比有无语义理解的情况。刚才已经做过演示了。我在幻灯片和演示之间来回切,但大家看到了有无本体层的对比。准确率的提升有时可能很小;但在关键任务型工作负载里,这可能决定你会不会因为处理欺诈交易而被罚一亿美元。
收尾:掌握自己的记忆
我们刚才稍微谈到了持续学习。演示里看到的就是持续学习。你可以从 token 空间、权重空间来理解持续学习;如果你在研究提示词缓存,也可以从潜在空间来看。刚才已经讲过这些,我就不再重复了。
这里最重要的一点是:作为这些系统的开发者和工程师,我们需要真正拥有自己的记忆,设计好记忆轨迹的采集方式,并把它融入系统,让持续学习成为可能。
我就讲到这里。我好像超时了,要把刚才演示的二维码给大家。扫一下就能看演示。不过更好的办法是来 Oracle 展台找我,你还能再拿到这个二维码和其他技术资料,我们也可以聊一聊。谢谢大家。