弥合“承诺”与“现实”的鸿沟:Spring之父为何在JVM上重构AI Agent的确定性?

温故智新AIGC实验室

知名Spring框架创始人Rod Johnson推出全新JVM生态AI Agent框架Embabel,旨在解决生成式AI在企业应用中确定性不足和集成复杂的问题。该项目核心在于通过引入GOAP等传统软件工程方法,为AI Agent提供可控、可靠的规划与执行能力,弥合AI“承诺”与“现实”之间的鸿沟。

在软件开发领域,Rod Johnson的名字与“变革”二字紧密相连。二十年前,他以Spring框架彻底重塑了企业级Java应用的开发模式,将开发者从繁复的EJB泥潭中解放出来。如今,随着生成式AI的浪潮席卷全球,当这项技术的光环逐渐褪去,其在企业应用中面临的“承诺”与“现实”之间的巨大鸿沟日益凸显时,Johnson再次选择站到潮头,推出了一个名为Embabel的全新开源项目12。这是一个专为JVM生态设计的AI智能体(Agent)框架,旨在为企业级AI应用构建坚实的基础,并为AI Agent的可靠性与确定性提供新的解法。

“自从我创立Spring框架以来,我从未如此坚定地相信一个新项目的必要性。” Johnson的这番话,不仅透露出他对于Embabel前景的强烈信心,也道出了当前企业级AI面临的深层困境。

AI企业应用的未竟之志

生成式AI的横空出世无疑带来了震撼性的体验,人们一度以为通用人工智能的曙光已然显现。然而,当企业试图将这些强大模型整合到核心业务流程中时,却往往陷入一种难以言喻的沮丧。Johnson一针见血地指出,对于企业应用而言,即使是“九成可用”也等同于“完全没用”。2 大模型固有的随机性与非确定性,意味着其在关键时刻的10%错误率可能导致灾难性的业务后果——无论是财务交易错误、客户服务误导,还是法律建议偏差,都无法被企业所容忍。

这种根本性的挑战并非仅限于模型的幻觉问题。生成式AI的特性也给传统软件工程带来了严峻考验:如何处理极高的失败率?如何管理非确定性行为?更深层次的问题在于,企业应用需要与海量的内部数据源、消息总线和遗留代码资产进行深度集成。这些系统往往承载着关键业务逻辑,对数据一致性、事务管理和系统扩展性有着极高要求。在Johnson看来,这些问题,恰恰是当前以Python为主导的AI生态所难以完美满足的。

尽管Johnson在过去十多年间,包括在AI领域(非生成式AI)的工作中,广泛使用了Python,并认可其易用性,但他清醒地认识到,在构建复杂、高可靠性、可维护的企业级软件系统方面,Python并非最佳选择。它在**可见性(visibility)泛型(generics)**等企业级开发所需的语言特性上表现原始,且与企业主流的JVM生态和现有代码资产存在巨大鸿沟。正是基于这些深刻的洞察与实践经验,Johnson最终做出决定:“如果我们要填补GenAI的承诺与现实之间的鸿沟,让它真正对企业有用,JVM必须发挥作用。”2

Embabel:确定性与柔性的交织

Embabel的核心价值在于,它不是简单地将LLM能力封装起来,而是从根本上重塑AI智能体在企业环境中的构建方式。Johnson旗帜鲜明地反对“工具堆砌型”的Agent方案,认为这种方式不仅造成算力浪费,更带来了结构性混乱与不可控风险。他主张采纳一种**“Agentic模型”**:以小提示驱动、精简聚焦的工具集、合理边界控制的架构方式。这意味着,Agent不应漫无目的地调用大量工具,而应基于明确的目标和有限的行动空间进行规划与执行。

Embabel解决确定性问题的关键在于引入了传统AI规划算法——GOAP(Goals, Operations, Actions, Plans)方法。2与LangChain或Crew AI中常见的顺序嵌套或手动搭建状态机模式不同,Embabel工作在一个更高的抽象层。它将AI Agent的工作流程语义建模为“行为(Actions)”和“目标(Goals)”,每个目标和行为都具备清晰的“前置条件”和“预期后置条件”。这使得Embabel能够使用非LLM的AI算法进行“规划”——一种路径规划算法,旨在从当前世界状态出发,寻找通往目标的路径。

这项机制的革命性在于:给定相同的世界状态和目标,Embabel每次都能生成同样的计划。这与LLM内部数千亿参数带来的黑盒非确定性形成了鲜明对比,为企业级应用提供了急需的可解释性和可控性。更令人称赞的是,Embabel还具备弹性执行与动态重规划的能力。当流程中某个行为失败时(例如数据源访问异常),系统能够自动切换路径寻找替代方案,而无需开发者显式编写复杂的if-else逻辑。这种在传统工程体系可控性与现代AI系统柔性应对力之间的平衡,正是企业所渴望的。

Embabel被设计为在JVM上构建Agentic应用的框架,面向所有JVM开发者,尤其是Spring开发者。它基于Spring AI构建,并深度拥抱Spring组件模型,但其抽象层级远高于LangChain4j或Spring AI。2这种设计使得Spring开发者能够以类似构建Spring MVC应用的方式,轻松地创建AI Agent流程。此外,Embabel在可测试性上继承了Spring的强大能力,开发者不仅可以对每个Action方法进行单元测试,还能验证提示词、工具调用和超参数的正确性。

在安全性方面,Embabel引入了对LLM使用工具的**“分级控制”。开发者可以定义哪些工具可以暴露给模型、哪些只能只读访问,并在运行时进行权限验证,例如在编码Agent执行写入操作前,验证项目是否成功构建。为了进一步提升LLM生成内容的可控性,Embabel还引入了“意图完整性链(Intent Integrity Chain)”**的设计机制。2从prompt构建到代码生成,链条中的每个环节都可以嵌入人工审查或自动化验证机制,通过测试集锁定预期行为,确保生成的代码与初始意图高度一致。

重塑Agent开发范式与未来图景

Embabel项目尚处于萌芽期,但Johnson的视野并非局限于JVM生态。他坦言,Embabel的目标是成为“最好的Agent框架”,而不仅仅是JVM上最好的。这一愿景,反映了他对AI Agent在未来软件工程中扮演核心角色的深刻信念。

在未来,AI能力将成为应用开发中的“新常态”。Embabel的出现,有望像当年Spring简化Java开发一样,简化AI驱动应用的开发过程。它通过引入确定性的规划机制、强大的可测试性、精细的安全控制以及与现有企业系统的无缝集成,正试图将AI Agent从实验阶段推向生产就绪阶段。

这不仅是技术层面的突破,更是对人机协作模式的一次深刻思考。Johnson坚信:“AI是生产力的游戏规则改变者。”他强调,核心理念在于“最大限度增强人的能力,而不是依赖任何商业化或封闭的AI工具。”2Embabel所构建的Agent框架,不是为了取代人类,而是提供一个能够安全、可靠地执行复杂任务的智能副驾驶,让开发者、市场人员乃至各行各业的专业人士,能够更高效地利用AI的力量,从而释放真正的商业价值。在AI Agent将成为连接模型与现实世界关键枢纽的未来,Embabel有望为构建一个既“聪明”又“可靠”的智能体生态系统奠定基础。

引文


  1. 弃Python 拥抱JVM,Spring 之父20 年后再造“革命性框架”:我从未如此确信一个新项目的必要性·InfoQ·InfoQ编辑部(2025/6/24)·检索日期2024/7/28 ↩︎

  2. Embabel: A New Agent Platform for the JVM·Medium·Rod Johnson(2024/7/24)·检索日期2024/7/28 ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎