SpringAI Advisor 02:Advisors API

Spring AI 的 Advisors API 提供一套灵活、强大的机制,用于拦截、修改、增强 Spring 应用内 AI 交互流程。借助 Advisors API,开发者可以构建更加复杂、可复用、易维护的 AI 组件。

核心收益:

  • 封装各类重复出现的生成式AI业务模式;
  • 对发给大模型(LLM)、从大模型返回的数据做转换处理;
  • 在不同模型、不同业务场景之间实现业务逻辑可移植。

可以通过 C

SpringAI Advisor 01:使用说明

1. 概述

AI驱动应用已经成为现实。我们大量开发RAG检索增强应用、提示词接口,基于大语言模型构建各类项目。借助Spring AI,可以更高效、规范地完成这类开发。

本文将介绍 Spring AI 中非常实用的组件:Advisor(顾问/拦截器),它可以帮我们处理各类通用重复任务。

2. 什么是 Spring AI Advisor

Advisor 是AI应用中的请求‑响应拦截器,可以…

SpringAI 结构化输出 04:输出转换器

高层API .entity(…) 底层基于 StructuredOutputConverter(结构化输出转换器)抽象实现。大多数业务应用不会直接使用该底层API。 当遇到下面几种场景,才需要直接使用这套底层API:

  1. 需要解析内置转换器无法处理的输出(例如被Markdown代码块包裹的JSON);
  2. 需要处理非JSON格式,如YAML、CSV;
  3. 需要直接对接底层的 Ch

SpringAI 结构化输出 03:原生响应结构化输出

默认情况下,.entity(…)会将JSON Schema作为文本指令追加到提示词中。这属于响应侧方案:只是请求模型遵守格式,拿到返回结果之后再做解析。

与之互补的另一种方案是请求侧约束:在API调用层面告知模型服务商,响应必须严格遵循指定Schema。如今绝大多数主流大模型服务商都支持该能力:OpenAI的Structured Outputs、Anthropic…

SpringAI 结构化输出 02:Schema 校验和自纠正

默认的 .entity(…) 调用只是请求模型输出符合JSON Schema规范的内容,并无法强制模型一定遵守。当模型返回多余字段、缺失必填字段,或者在JSON前后附带大段自然文本描述时,解析器就会抛出异常。

处理格式异常输出最简单的方案就是:检测错误,然后重试。Spring AI 只需在 EntityParamSpec 配置器上开启一个开关即可自动完成这套逻辑:

SpringAI 结构化输出 01:使用说明

大语言模型是文本输入、文本输出的系统。当下游代码需要根据某个字段做分支判断、持久化数据、基于结果执行业务逻辑时,需要将原始文本转换成带类型的对象记录。

结构化输出(Structured Output) 就是用来解决该问题的:引导大模型输出符合指定 Schema 的文本,由应用程序将其反序列化为类型安全的对象,最后让业务代码像使用普通领域对象一样执行操作。

Spring A…

Spring AI 智能体 7 : 协议无关型智能体编排

Subagent Framework(子智能体框架)提供了一套协议无关抽象层,用于将各类智能体通信协议与 TaskTool 集成。开发者可以通过统一接口,编排来自不同后端的异构智能体:本地基于大模型的子智能体、遵循A2A协议的远程智能体,或是自定义实现的智能体。

服务提供者接口(SPI)全部定义在 spring‑ai‑agent‑utils‑common 模块中。这…

Spring AI 智能体 6 : 基于 A2A 协议构建交互智能体

Agent2Agent(A2A)协议 是一种用于实现 AI 智能体无缝通信的开放标准。它让不同平台的智能体能够彼此发现能力、交换消息、协同工作流,而不受其底层实现方式的限制。

Spring AI A2A 通过 Spring Boot 自动配置,将 A2A Java SDK 与 Spring AI 深度集成。它能把 A2A 协议与 Spring AI 的 ChatClient 和工具体系无缝连接,让你可以…

Spring AI 智能体 5 : 子智能体编排

一个能够包办所有任务的大而全的通用智能体并不讨好,不如将任务委派给专业化的子智能体。这能让上下文窗口保持聚焦,避免因信息杂乱而降低执行效果。

Task 工具(任务工具)是 spring-ai-agent-utils 工具集的一部分,是一个可移植、与模型无关的 Spring AI 实现,其设计灵感来自 Claude Code 的子智能体(subagents)。它支持构建分层式…

Spring AI 智能体 4 : 使用 TodoWriteTool

你是否遇到过这样的情况:让 AI 智能体执行一项复杂的多步骤任务,结果它中途跳过了某个关键步骤。

研究表明,大语言模型普遍存在 “中间丢失” 问题 —— 在长上下文里会忘记埋在中间的任务。当你的智能体同时处理文件修改、测试执行、文档更新等工作时,重要步骤可能会无声无息地消失。受 Claude Code 启发,一种解决方案是:借助专用的 TodoWrite 工具,让规划变得显式且…