AWS与Spring AI把Agent带进生产系统

2026.11.12 11:09
Amazon Bedrock与Spring AI正在为Java团队搭建一条从模型调用到Agent生产化的路径。Spring AI负责工具调用、结构化输出与应用编排,Bedrock AgentCore承载运行时和记忆能力,真正的竞争由模型能力延伸到部署、治理和组织适配。

AI Agent最难的部分,不是让模型给出答案,而是让它在企业系统里持续、可控地完成工作。

这正是Java团队进入Agentic AI时最容易撞上的墙。它们已经拥有成熟的JVM工具链、Spring应用、CI/CD流水线和运维规范,接入一个大模型并做出原型并不困难。可当Agent开始规划任务、调用工具、访问API并记住上下文时,问题就从“模型能不能回答”变成了“系统能不能上线”。扩展性、权限、状态、观测、故障恢复和责任归属,都会重新出现在工程团队面前。

AWS给出的答案,是把Amazon Bedrock与Spring AI放在同一条生产链路里。Amazon Bedrock负责提供基础模型访问,Amazon Bedrock AgentCore承接面向Agent的运行时与记忆能力,Spring AI则把模型交互、工具调用、结构化输出和对话编排映射到Java开发者熟悉的Spring编程模型。它的真正价值,不是再造一个新奇的Agent框架,而是尝试把Agent塞回企业已有的软件生产体系。

从会推理到能交付,中间隔着一整套工程

一个能够推进任务的Agent,至少需要规划、行动和记忆。它要把用户目标拆成步骤,要在合适的时机调用外部工具或API,还要在多轮对话中保留相关上下文。没有这些能力,系统往往只是把聊天接口包装得更复杂。

AWS的旅行助手示例把这条链路拆开呈现。应用基于Spring Boot,通过Spring AI的ChatClient调用Amazon Bedrock Converse API。模型可以提出工具调用请求,Spring AI在应用进程中解析并执行由Java方法暴露的工具,再把结果返回给模型,继续下一轮判断。对用户而言,这是一段连续对话,对系统而言,则是一条模型、工具和上下文反复循环的工作流。

工具可以使用@Tool注解的方法表达,结构化结果可以映射到Java record。熟悉的代码形式降低了迁移成本,也让工具边界继续存在于Java应用中。团队可以在这些方法附近加入鉴权、审计、限流和异常处理,而不必把关键动作交给模型直接完成。

这个示例还有一个容易被忽视的细节。AWS文章将AgentCore Runtime的POST /invocations和GET /ping作为示例应用需要满足的运行时契约,Spring Boot应用同时提供这些入口,服务器发送事件负责向客户端流式传输Token。Agent因而不再只是一个本地调用链,而成为具备部署边界的服务。

Spring AI的关键作用,是把不确定输出放进确定代码

模型的输出天然具有概率性,企业系统的执行却必须确定。模型可以判断用户想要查库存、规划行程或处理文档,但应用仍然要确认工具是否存在、参数是否完整、调用者是否有权限、失败是否重试,以及工具结果如何被模型继续使用。

Spring AI的工具调用机制把模型与执行动作分开。Bedrock Converse API支持工具调用,但模型不会直接运行工具,工具执行由应用侧机制承接。这个边界是生产化的起点。模型可以选择一个候选工具,却不应天然拥有访问数据库、网络和内部服务的无限权限。

这也说明,工具调用本身并不等于自动化完成。一个演示工具可能只是查询天气,企业工具却可能读取客户资料、修改订单或触发后续流程。Spring AI提供的是调用机制,不会替企业决定哪些工具可以公开,也不会自动完成最小权限设计。真正的责任仍然属于业务系统。

结构化输出也是同样的逻辑。将结果映射成Java record,可以减少自由文本解析的脆弱性,但不能替代字段校验、枚举约束、超时、重试和人工兜底。Agent把部分决策交给模型,却不能把软件责任一并交出去。

记忆不是把历史消息存起来,而是定义状态边界

多轮对话真正棘手的地方,不是历史越多越好,而是哪些信息应该保留、保留多久,以及下一次推理如何准确取回。

AgentCore Memory提供短期和长期两类上下文。短期记忆帮助Agent在当前会话中理解“它”“明天”或“刚才那份文件”所指的对象,长期记忆则可以跨会话保留从交互中提取的用户偏好、重要事实和会话摘要。对旅行助手来说,这意味着系统不只完成眼前任务,也能在后续交互中利用相关历史。

这解决的是Agent的状态问题。普通无状态服务可以通过增加实例承接更多请求,但Agent需要稳定的会话标识、可检索的历史、明确的生命周期和敏感信息管理。托管记忆能够减少自建状态基础设施,却不会替企业决定哪些数据可以保存、何时删除以及谁能够读取。

Spring AI官方文档还暴露出一个容易被忽视的坑。当前部分聊天记忆实现对工具调用过程中的中间消息存在限制,具体仓储实现可能过滤包含工具调用的助手消息和工具响应消息。对于依赖工具调用完成任务的Agent而言,历史缺失可能让下一轮推理看不到关键上下文。采用工具调用时,团队必须核对所选记忆实现是否完整保存相关消息类型。

记忆层设计错误时,系统未必立刻报错。Agent可能只是开始重复询问、调用错误工具,或在多轮任务中逐渐偏离目标。对企业来说,这种静默退化往往比一次明确失败更难排查。

AgentCore把原型带到运行时,但不会替企业承担治理

Spring AI解决开发者如何表达Agent,AgentCore则试图解决Agent如何被运行。AWS示例以AgentCore Runtime的接口约定为托管部署边界,应用提供/invocations和/ping入口,并以容器方式部署。示例还采用ARM64容器镜像、AWS Graviton优化和Terraform基础设施配置。

这些内容与模型“聪不聪明”无关,却决定Agent能不能被纳入真实交付流程。Java团队已经熟悉容器、健康检查、基础设施即代码和持续交付,AgentCore的价值在于让Agent沿用这套路径,而不是另建一套脱离组织的AI平台。

AgentCore Memory把会话状态从应用实例中抽离,AgentCore Runtime提供部署边界,Spring Boot承载业务与编排,Bedrock负责模型能力。组件职责被拆开之后,系统才更容易观测、替换和扩展。

但托管并不等于自动治理。谁能调用Agent,Agent能调用哪些工具,失败时能否重试,输出如何审计,敏感信息能否进入长期记忆,成本和延迟如何控制,这些问题仍然需要企业给出明确答案。云服务可以提供能力,却不能替企业选择风险边界。

多Agent不是更聪明,而是更像分布式系统

AWS还展示了面向智能文档处理的多Agent系统。文档先被路由到不同的专业Agent,再经过规则引擎评估,必要时触发告警服务。与单Agent相比,这种架构更强调专业分工。

路由Agent负责分发,专业Agent负责处理,评估器负责检查结果,多个分支还可以并行执行。对任务类型差异明显的流程而言,这种拆分有助于控制每个Agent的职责范围。

但多Agent带来的并不只是能力叠加,也是一套新的分布式系统。每个Agent都有自己的提示词、工具、记忆和失败方式,Agent之间还要交换结构化结果。一个不可靠输出可能成为下游输入,一个超时可能触发链路级重试,并行分支还会增加成本和排障难度。

因此,“更多Agent”不等于“更高级”。可以由确定性规则、普通API或单次模型调用完成的流程,不应为了追求自主性而增加Agent层级。多Agent适合专业能力差异明显、任务可以并行、结果能够验证的场景,不应成为所有自动化的默认答案。

Agent平台争夺的,是企业生产入口

这套方案的潜台词是,Agentic AI的竞争不只发生在模型层。模型能力决定规划和工具选择的上限,但企业是否采用一个Agent,往往取决于它能否接入身份系统、日志平台、发布流程和责任链条。

对Java团队而言,Spring AI降低了组织迁移成本。团队不必因为引入Agent而放弃Spring Boot、Java方法、容器和Terraform。对AWS而言,Bedrock与AgentCore扩大了云平台能够承接的范围。模型调用是入口,运行时、记忆、部署、观测和多Agent协作才构成更长期的平台黏性。

未来企业比较的不会只是哪个模型更聪明,还包括哪个平台更容易审计,哪个工具边界更清晰,哪个记忆系统更容易满足合规,哪个运行时更容易接入既有CI/CD。模型供应商争夺推理能力,云平台争夺生产入口,开发框架争夺工程师的使用习惯。

开发团队更现实的路径,是先选择目标清晰、工具可验证、结果可回滚的流程。旅行规划、文档处理、知识检索、客服辅助和内部工作流,通常比直接让Agent操作核心交易系统更适合成为早期落点。先建立工具边界、记忆策略、失败处理和观测体系,再逐步扩大自主执行范围。

Amazon Bedrock与Spring AI没有消除Agent的复杂性,而是把复杂性放到了更容易管理的工程位置。模型负责提出下一步,Spring应用负责执行边界,AgentCore负责运行和记忆,企业负责定义什么可以自动化、什么必须被确认。

Agentic AI走向生产的标志,不是Agent看起来像一个人,而是它能像一项可靠的软件服务一样被部署、监控、审计和停止。谁能把这套能力接入组织原有系统,谁才更接近下一阶段的企业AI入口。

模型让Agent会思考,工具让Agent能行动,记忆让Agent保持连续,而工程体系决定它是否值得被信任。AI Agent的下半场,不是再造一个更会聊天的助手,而是把不确定的智能装进确定的生产系统。

作品声明:内容由AI生成