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 工具,让规划变得显式且…

Spring AI 智能体 3 : 关于AskUserQuestionTool

传统的 AI 交互遵循一种常见模式:你给出提示词,AI 自行做出各种假设,然后生成回复。当这些假设与你的实际需求不符时,你就需要反复进行修正。每一个假设都会带来额外的返工,浪费时间与上下文。

如果 AI 智能体能够在给出答案之前先向你提出澄清问题,会怎么样?

AskUserQuestionTool 正是为此而生。它让 AI 智能体在回答之前先提出澄清问题,以交互式方式收集需求,…

Spring AI 的 MCP BootStarter 入门

MCP(模型上下文协议:Model Context Protocol)为 AI 应用与外部工具、资源的交互提供了标准化方式。Spring 早期就作为核心贡献者加入 MCP 生态,参与开发并维护官方 MCP Java SDK,为基于 Java 的 MCP 实现奠定基础。在此贡献之上,Spring AI 通过专属的 Boot Starter 与 MCP Java 注解全面支持 MCP,让构建可无缝对接外部系…