[控场AI]
· 4 分钟阅读· 2,306 字

JAZ框架:用极简invoke原语重构LLM智能体设计

JAZ框架:用极简invoke原语重构LLM智能体设计

JAZ用单一invoke原语替代记忆、自改进等专用系统,以极简框架在多项基准上超越复杂智能体架构。

arXiv新论文提出的JAZ框架,以一个名为`invoke`的单一语言原语构建智能体,将LLM定位为在运行时动态提供函数实现的编程单元。`invoke`满足两条核心性质:LLM可编写含递归调用的任意代码,且所有可见信息均以代码环境变量的形式存在。研究团队在仅依靠prompting、不引入任何外部系统的条件下进行评测,结果显示:JAZ在长程记忆回忆任务(StuLife)上比MemGPT高8%且成本减半,在持续自我改进任务(AppWorld)上比ACE高4%且成本更低。论文的核心主张是,智能体框架的复杂度并非能力上限的保障,过去不断叠加专用系统的"加法路线",有很大部分可被一个足够通用的极简原语所替代。

智能体框架的复杂性困境

现代语言模型智能体大多围绕"agent loop"构建:把LLM放入一个暴露了工具集的环境中,LLM通过在工具调用和观察输出之间反复交替,从而完全掌控整个工作流。这种范式简洁优雅,却在面对某些任务时显得力不从心。

记忆系统、自我改进系统这类需求,往往无法仅靠基础的agent loop解决,开发者不得不额外搭建专门的工程模块。这带来一个值得追问的问题:这些看似必需的专用系统,是否真的必要?还是说,它们只是因为基础框架表达力不足而被迫引入的补丁?

arXiv上一篇新论文提出的JAZ框架,正是对这一问题的直接回应。研究团队试图验证:一个几乎只包含agent loop本身的极简"harness"(承载框架),能在多大程度上完成那些专用系统所擅长的任务。

JAZ框架论文

invoke:把LLM当作运行时函数

JAZ的核心是一个基于LLM的单一原语——invoke。研究者对它的定义非常克制,认为它是满足两条关键性质的最简循环:

第一,LLM可以编写任意可执行代码,而这些代码中可以包含递归的invoke调用;第二,LLM所能看到的一切——包括invoke的所有输入,以及它与代码环境的交互历史——都以变量的形式存在于代码环境中。

这两条性质看似朴素,却蕴含了一个颇具启发性的设计哲学。论文将invoke视为一种语言原语:它代表一个函数,而这个函数的实现在每次被调用时,由LLM在运行时临时提供。换句话说,LLM不再只是工作流的驱动者,而成为了编程语言中一个动态的、可组合的函数单元。

这种视角是对现有"code-mode"(代码模式)agent loop的一般化推广。它把智能体的能力收敛到一个原语上,而不是不断向框架里堆叠专用工具和外部系统。

用hook替代专用系统

除了invoke,JAZ还提供了一组内置的hook(钩子),允许开发者施加约束和进行监控。这种设计的思路是:与其为记忆、自我改进各建一套系统,不如提供足够通用的底层机制,让这些高级行为从invoke的组合与递归中自然涌现。

语言原语(language primitive) 是编程语言中不可再分解的基本构建单元,例如整数、布尔值,或函数调用本身。传统agent框架通常在LLM之外叠加大量"脚手架"——预定义的工具注册表、外部记忆数据库、规划模块等,这些附加组件往往与LLM能力强耦合,难以迁移复用。JAZ的invoke将LLM的推理行为本身压缩为一个原语,意味着任何更高级的行为(记忆检索、多步规划、自我修正)都通过invoke的递归组合来表达,而非依赖框架层硬编码的专用路径。这与函数式编程中"用Lambda演算表达一切计算"的思路在哲学上高度一致:只要原语的表达力足够,复杂行为可以从简单规则中自然涌现,而无需为每种行为单独立法。

实验验证:极简也能打

为了验证invoke原语的设计是否成立,研究团队做了一个相当苛刻的实验设定:只用prompting,不使用任何手工设计的工具、harness或外部系统(比如记忆模块或文件系统),直接在那些传统上依赖专用外部框架的工作流上进行评测。

结果颇具说服力。在需要超出上下文窗口范围进行信息回忆的长程工作流上,JAZ的invoke在StuLife基准测试中侧重回忆的部分,比Letta(即MemGPT)高出8%,而成本只有后者的一半。

在持续自我改进这一场景下,JAZ的invoke在AppWorld基准上比ACE高出4%,同时成本更低。

这两组数据共同指向一个结论:那些专门为记忆和自我改进搭建的复杂系统,其功能在很大程度上可以被一个足够通用、足够简洁的原语所覆盖,而且在性能和成本上还可能更优。

Letta(MemGPT) 是一个专为突破LLM上下文窗口限制而设计的智能体系统,其核心思路是模拟操作系统的内存分页机制——将信息分为"主存(in-context)"与"外存(out-of-context)",并通过专用的内存管理工具将必要信息调入上下文。ACE(Autonomous Cognitive Entity) 则是一个分层认知架构,为持续自我改进场景设计了专门的规划层、执行层与反思层。StuLife 和 AppWorld 均为学术基准测试:前者侧重考察智能体跨多轮交互的长程信息回忆能力,后者模拟真实应用操作环境,用于评估智能体的持续学习与自我改进能力。JAZ在不借助这些专用架构的前提下超越它们,说明复杂的系统设计并非获得这些能力的唯一路径。

为什么这项工作值得关注

JAZ的意义并不只在于跑赢了两个基准。它提出的更深层命题是:智能体框架的复杂度,未必等同于能力的上限。

过去一段时间,智能体生态倾向于不断加法——加记忆、加规划、加反思、加各种外部工具。JAZ则走了一条减法路线,试图找到那个既最小又最具表达力的核心。如果一个原语加上递归和代码环境就能覆盖大量高级需求,那么很多专用系统的存在价值就需要重新评估。

当然,作为一篇新发布的预印本,JAZ目前的验证仍集中在特定基准上,其在更广泛、更复杂真实场景中的表现还有待观察。极简设计是否会在某些边界情况下遇到瓶颈,也需要更多实验来回答。但从设计哲学的角度看,"harness即语言"这一思路,为智能体框架的演进提供了一个清晰而有价值的方向。

#JAZ框架#LLM智能体#invoke原语#agent loop#MemGPT#AI Agent框架#自我改进系统#极简智能体
分享:

相关推荐