AI 构建者正围绕模型当前局限搭建复杂系统,但多数局限(上下文、记忆、推理成本、编排)正快速消失,真正的挑战是识别哪些局限是暂时的、哪些是永久的,并为不断变化的

JOSH ROSEN(@JOSHAROSEN)观点长文 · 已翻译 · 约 7 分钟
阅览室 · AI 最佳实践#模型#构建#架构#上下文#局限#记忆#推理原文

AI构建者们正花费大量时间围绕模型本身的局限进行开发,而这些局限或许在未来几年内就会消失。哪些局限是我们可以放心依赖的?我们今天所构建的又有多少最终会被证明只是架构上的权宜之计?

一些最棘手的工程问题源于模型自身的局限。上下文稀缺,推理成本高昂。智能体会遗忘。若交给它们长期任务,若无精巧的驾驭机制,它们往往会偏离正轨。即便是让模型可靠地使用工具,也需要在其周围搭建大量令人惊讶的辅助机制。

我们都在围绕这些局限进行构建,即便并未意识到这一点。我们检索信息,因为模型无法将所有内容容纳于上下文之中;我们为智能体赋予记忆,因为它们否则会遗忘先前发生之事。我们将大型任务拆分为更小的部分,因为模型在长时间工作中难以保持连贯性。若一个智能体无法可靠地完成整个任务,我们便将工作分派给多个智能体。

做这些事情本身并无不妥。这些都是当下真实存在的问题。但它们带来了独特的架构风险。我们或许正在围绕那些正在我们脚下移动的约束,构建日益复杂的支撑体系。

关键问题在于,哪些局限是当今模型的暂时特性,哪些又是AI系统在未来数年仍将面临的真正边界。

几乎无限上下文

上下文窗口显然是起点,因为其发展轨迹清晰可见。我们迅速从几千个令牌跃升至数十万,乃至数百万。与此同时,注意力机制和推理能力的提升,正使这些更大的窗口变得更加实用。

没有人确切知道何时能达到数亿或十亿令牌的规模,但我们正朝着这个方向前进。届时,上下文将变得极为丰富,应用架构也随之改变。一个智能体或许最终能同时处理整个代码库及其大量项目历史,无需人工精心挑选几段碎片放入提示中。

总会有更多信息存在于某处,即便令牌不再稀缺,注意力本身可能依然宝贵。但检索的角色或将发生显著变化。那时,我们或许会更多投资于帮助模型导航其已能访问的工作集,而非专注于检索算法。

不会遗忘的智能体

记忆已成为智能体技术栈中最活跃的层面之一。如今,有公司正围绕赋予智能体持久性来构建完整产品。一个全新的技术生态系统正在兴起,旨在将先前运行中发生的一切转化为可复用的知识与技能。

其中部分技术显然是在弥补一个事实:模型每次被调用时,都仿佛重新诞生一般。上次运行中发生的所有事情,都必须重新构建并再次提供。这使得外部记忆变得至关重要。

但这一界限并非一成不变。模型及模型系统在维持长时间上下文和跨交互保留有用状态方面正日益精进。一些实验性模型已能在工作过程中压缩自身历史。对测试时学习的研究则更进一步,探索“经验”是否真能改变模型未来的行为。

这并不意味着记忆基础设施会消失。但存在一个关键区别:一种是因模型遗忘而存在的记忆,另一种是因组织需要铭记而存在的记忆。

我更倾向于围绕后者进行构建。

可靠的长周期编排

许多智能体架构假设模型无法一次性被信任处理过多工作。因此,我们将任务分解并构建工作图谱。我们为工作的各个部分创建专门的智能体,并在它们失败时单独重试。围绕这一基本限制,日益复杂的编排层已经发展起来。

这些技术之所以必要,是因为它们解决了模型中的真实弱点。智能体在有限问题上表现出色。但若给予它们一个长期、开放式的任务,结果则难以预料。有时它们能产生惊人的成果,有时却只是浪费数小时的令牌。

然而,可靠的任务周期正在改善。如果这一趋势持续下去,我们交给模型的自然工作单元将会变得更大。目前需要被细致地划分为二十个精心编排步骤的工作,最终可能成为我们作为单一任务交给模型处理,并让其自行分解的事项。

这并不一定意味着编排的消失。例如,软件工厂仍然有充分理由将规格说明、实施与验证分开。但软件工厂将需要更多地关注如何编码组织运作方式,而非弥补模型的缺陷。

廉价且商品化的推理

另一个无处不在的架构假设是推理成本高昂。我们围绕这一成本进行设计,方式几乎已成习惯。我们积极缓存,并在不同模型层级间分配工作。有时,我们为某项任务构建确定性机制,主要是因为每次调用强大模型过于昂贵。

这一假设可能不再成立。硬件在进步,模型架构也在变得更高效。开源权重模型在此领域的竞争,将进一步推动成本下降。

设想一下,能力强大的推理成本再降低百倍。突然间,让模型解读API响应,而非维护脆弱的转换逻辑,可能变得完全合理。工作流程中或许会沿途做出数十个小语义决策,而非试图最小化每次模型调用。

确定性代码与推理之间的经济界限可能大幅移动,而主要围绕最小化模型调用构建的架构,可能会迅速过时。

内置框架的模型

如今的模型运行在日益复杂的框架之中。这个框架负责了许多让代理初次感觉像代理的功能。它整合上下文、暴露工具,并保持执行循环的持续运转。随着代理变得更加雄心勃勃,框架在确保它们不偏离轨道方面承担了更多责任。

这一边界已经面临来自两个方向的压力。代理框架正变得更加复杂,但模型提供商也在将更多代理行为推向模型及其API。模型越来越被训练来使用工具和操作计算机。它们也在从自身行为后果中恢复的能力上,在更长的交互过程中得到提升。

随着时间推移,我们目前视为框架特性的能力可能会成为模型接口的普通属性。未来的模型或许能自行管理大部分工作上下文,并在无需应用程序独立实现这些能力的情况下,维持极长的执行循环。并行工作和工具使用也可能进一步下沉到技术栈的更低层。

框架并不会消失,但它是一个移动的目标。

工作正变得不透明

当模型吸收了更多我们目前围绕它们构建的机制时,一个弊端随之而来。上下文管理、记忆、规划和分解在模型内部发生的越多,周围系统能看到的工作就越少。

如今,这些工作中的很大一部分几乎是偶然被外部化的,比如当编排器创建明确的步骤,或记忆系统记录下哪些信息被引入上下文时。或者,我们可以通过检查子代理产生的输出来观察这些工作。这些系统的存在部分源于模型的局限性,但它们也留下了关于工作如何发生的有用证据。

然而,如果这一切都在模型的隐藏状态内部进行,我们也会失去一些东西。很快,我们可以给模型一个庞大的工作上下文和一个目标,它可能会花上数小时来导航信息、分解问题、调整方法,并携带所学继续前进。结果可能是一个更简单的架构,但也是更多宝贵工作在推理内部发生、运行结束后便消失的架构。

这在前沿模型创新与AI构建者的实际需求之间制造了一种有趣的张力。前沿实验室有充分理由将更多上下文管理、规划、记忆和分解推入模型内部。但随着这些工作越来越多地转移到推理内部,应用构建者可能面临失去访问中间状态的风险,而这些状态正是使工作可理解和可复用的关键。

随着模型内部处理能力的增强,我们可能需要更加审慎地决定,要求它们留下哪些东西。

为不断变化的目标而构建

我们所能预见的改进可能只是故事的一部分。未来几年,一些将改变我们构建方式的模型能力,或许是我们目前尚未想到的。其中少数能力可能在一夜之间让某些基础设施类别变得不那么重要(或更加重要)。

这正是此刻构建如此有趣又如此艰难的部分原因。我们将不得不持续适应,舍弃部分已构建的内容,并围绕尚未拥有的能力创造新的层次。

已读完 · 本文由熊猫易读翻译重排