Spring AI Agent Utils:逆向Claude Code核心功能的Java Agent工具集

Spring AI Agent Utils逆向实现Claude Code核心功能,为Java开发者提供完整AI Agent开发工具集
Spring AI社区推出Agent Utils工具集,逆向实现了Claude Code的核心能力,包含Skill(基于Function Call的跨模型技能)、Ask a User Question(智能交互补全)、To Do Write(任务规划执行)、Auto Memory(Markdown文件长期记忆)和基于A2A协议的多Agent编排五大模块。相比阿里巴巴Agent Framework更适合轻量级场景,让Java开发者无需切换技术栈即可构建AI Agent应用。
概述
Spring AI社区悄然上线了一个重磅工具集——Spring AI Agent Utils,它直接逆向了Claude Code的核心功能,将其强大的Agent能力完整搬到了Spring AI生态中。从工具封装到技能模块、任务编排全覆盖,让Java开发者无需切换技术栈就能构建强大的AI Agent应用。
据了解,这个工具集藏在Spring AI社区中,90%的Java开发者尚未发现它的存在。本文将深入解析其核心功能模块及实际应用价值。
核心功能模块解析
Skill:基于Function Call的技能实现
Spring AI Agent Utils的Skill模块基于Function Call进行实现,最大的优势在于不依赖特定大模型。这意味着你可以在不同的大模型之间无缝切换,而无需修改任何业务代码。
Function Call技术背景:Function Call(函数调用)是大语言模型与外部工具交互的核心机制。其原理是:开发者预先定义一组函数的名称、参数结构和功能描述,模型在推理时会判断是否需要调用某个函数,并生成结构化的调用参数,由宿主程序实际执行后将结果返回给模型继续推理。OpenAI在2023年率先将其标准化,随后Anthropic、Google等主流模型厂商相继跟进,但各家的实现细节和API格式存在差异。Spring AI通过统一抽象层屏蔽了这些差异,使得同一套Skill定义可以在GPT-4、Claude、通义千问等不同模型上运行,这正是Skill模块"不依赖特定大模型"的技术基础。

对于企业级应用来说,这种解耦设计至关重要。当你需要从一个模型供应商迁移到另一个时,只需要更换配置即可,业务逻辑层完全不受影响。这也是Spring生态一贯的设计哲学——面向接口编程,降低耦合度。
Ask a User Question:智能交互补全
这个模块让Agent在执行过程中能够主动向用户提出多选择题,用于补全用户提出的模糊需求。它专门解决用户提示词不明确的问题。
在实际开发场景中,用户的需求描述往往是模糊的。比如用户说"帮我写一个接口",Agent可以通过Ask a User Question模块追问:是REST接口还是GraphQL?需要什么认证方式?返回格式是什么?通过多轮交互精确理解用户意图。
To Do Write:自动规划与执行
To Do Write模块类似于Agent的自动规划功能,它会按照规划的明细逐步执行任务。本质上就是Agent架构中经典的Planning and Execute模式。
Planning and Execute模式背景:Planning and Execute(规划-执行)是AI Agent架构中最经典的任务分解范式,由斯坦福大学2023年发布的论文《Plan-and-Solve Prompting》等研究系统化提出。其核心思想是将复杂任务的"思考"与"行动"分离:Planner负责将高层目标拆解为有序的子任务列表,Executor负责逐步执行每个子任务并处理异常。这与传统的ReAct(Reasoning + Acting)模式不同——ReAct是边推理边行动的交织模式,而Planning and Execute先全局规划再局部执行,更适合步骤明确、依赖关系清晰的工程类任务。Claude Code正是采用了这一模式来处理复杂的代码生成需求,To Do Write模块将其引入Spring生态。
Agent会先将复杂任务拆解为多个子任务,形成待办清单,然后按照优先级和依赖关系逐一执行。这种方式特别适合处理多步骤的开发任务,比如"创建一个完整的CRUD模块"这样的复合需求。
Auto Memory:跨会话长期记忆
Auto Memory是Claude Code的经典长期记忆实现,使用Markdown文件存储记忆内容。即便是跨会话场景,Agent也能记住你的需求偏好和项目上下文。
Agent长期记忆技术背景:Agent记忆系统通常分为四类:短期记忆(当前会话上下文窗口)、长期记忆(跨会话持久化存储)、情节记忆(具体事件的记录)和语义记忆(抽象知识的提炼)。主流的长期记忆实现方案包括向量数据库(如Pinecone、Chroma)、关系型数据库和结构化文件三种路径。Claude Code选择Markdown文件作为记忆载体,是一种务实的工程决策:Markdown格式对LLM友好(模型训练数据中大量包含Markdown),同时对人类可读可编辑,还能纳入Git版本控制体系。Auto Memory模块复刻了这一设计,相比向量数据库方案,省去了额外的基础设施依赖,降低了部署复杂度,特别适合开发工具类Agent场景。

这个设计非常巧妙——用Markdown文件作为记忆载体,既方便人类阅读和编辑,又易于版本控制。开发者可以直接查看和修改Agent的"记忆",实现透明可控的AI协作。
多Agent编排:基于A2A协议的协作
在复杂任务场景中,单个Agent往往力不从心。Spring AI Agent Utils提供了多Agent编排能力,基于A2A(Agent-to-Agent)协议实现多个Agent的分工协作。
A2A协议背景:A2A(Agent-to-Agent)协议是Google于2025年4月联合50余家科技公司发布的开放标准,旨在解决不同框架、不同厂商构建的AI Agent之间的互操作性问题。在此之前,多Agent系统的通信完全依赖各框架自定义的内部机制,导致Agent之间无法跨框架协作。A2A协议定义了Agent能力发现(Agent Card)、任务委派、状态同步和结果返回的标准接口,基于HTTP/SSE实现,与现有Web基础设施天然兼容。与Anthropic推出的MCP(Model Context Protocol)专注于Agent与工具/数据源的连接不同,A2A专注于Agent与Agent之间的对等协作。Spring AI Agent Utils对A2A的支持,意味着基于该框架构建的Agent可以与其他遵循A2A标准的Agent生态互联互通。
例如,一个负责代码生成的Agent、一个负责代码审查的Agent、一个负责测试用例编写的Agent,它们可以协同完成一个完整的开发流程。整个代码基于Spring Boot构建,对Java程序员来说是熟悉的开发体验。
与阿里巴巴Agent Framework的对比

需要客观指出的是,目前阿里巴巴Agent Framework对Agent开发的支持更加完善。其优势体现在几个方面:
- 完全兼容Spring AI:Spring AI的所有能力在阿里巴巴Agent Framework中都可以直接使用
- Workflow流程编排:提供基于Graph的Workflow流派流程编排能力
- 开箱即用的Agent:内置多种预制Agent,降低开发门槛
Graph-based Workflow背景:基于图(Graph)的Workflow编排是当前Agent框架的主流架构选择,代表性实现包括LangGraph、LlamaIndex Workflows等。其核心是将Agent的执行流程建模为有向图:节点(Node)代表具体的处理步骤或Agent,边(Edge)代表控制流转,支持条件分支、循环、并行执行等复杂拓扑。相比线性的Pipeline模式,Graph模式能够表达更复杂的业务逻辑,例如"代码审查不通过则回退到生成节点重新生成"这样的循环修正流程。阿里巴巴Agent Framework引入Graph-based Workflow,填补了Spring AI在复杂流程编排上的空白,使其更适合需要多轮反馈、条件路由的企业级Agent应用场景。
阿里巴巴采用的策略是"吸收+扩展"——Spring AI更新的功能都会成为其基础能力的一部分,在此之上再提供更丰富的上层抽象。
适用场景与选型建议

选择Spring AI Agent Utils的场景:
- 轻量级Agent应用开发
- 不想引入过多框架依赖
- 需要高度自定义的Agent行为
- 项目已深度使用Spring AI生态
选择阿里巴巴Agent Framework的场景:
- 企业级复杂Agent应用
- 需要完整的Workflow编排
- 希望开箱即用快速上线
- 需要更丰富的Agent模板
总结
Spring AI Agent Utils的出现,标志着Java生态在AI Agent开发领域又迈出了重要一步。它将Claude Code验证过的成熟模式带入了Spring生态,让Java开发者无需学习Python或TypeScript就能构建功能完备的AI Agent。
对于Java开发者而言,现在有了更多选择:轻量级场景用Spring AI + Agent Utils,复杂场景用阿里巴巴Agent Framework。无论哪种选择,Java在AI应用开发领域的能力都在快速补齐。
核心要点
- Spring AI Agent Utils逆向实现了Claude Code核心功能,包括Skill、Ask a User Question、To Do Write、Auto Memory和多Agent编排五大模块
- Skill模块基于Function Call实现,不依赖特定大模型,支持跨模型无缝切换
- Auto Memory使用Markdown文件存储长期记忆,支持跨会话保持上下文
- 与阿里巴巴Agent Framework相比,Spring AI Agent Utils更适合轻量级Agent应用开发场景
- 整个工具集基于Spring Boot构建,Java开发者可以用熟悉的技术栈开发AI Agent应用
相关推荐
教程攻略Cursor+Codex双IDE协同:开源项目二开实战方法论
基于实战经验总结的开源项目二次开发完整方法论,详解Cursor+Codex双IDE协同工作流,涵盖二开七环节、MVP验证、AI读源码技巧,帮助开发者三天跑通项目、两周完成业务集成。
教程攻略Cursor多Agent实战:50分钟搭建Next.js全栈博客
使用Cursor IDE多Agent协作模式,50分钟内从零搭建全栈博客。涵盖Next.js、Clerk认证、Supabase数据库集成,详解4个AI Agent分阶段开发流程与关键避坑经验。
教程攻略从零搭建AI软件工厂:Cursor工程师的多Agent协作实战经验
Cursor工程师Eric分享AI软件工厂构建实战:从自动化六层级、护栏设计、并行Agent管理到规模化扩展,详解如何用多Agent协作实现7×24小时高效软件开发。