Spring AI流式输出为什么不能直接entity()?聚合JSON、SSE事件与最终对象解析方案
Spring AI的`.stream()`返回文本增量,而`.entity()`需要完整响应后才能生成JSON Schema、校验并反序列化为Java对象。因此,开发者无法像同步调用一样直接把流式Chunk转换成完整Entity。强行对每个片段执行JSON解析,会遇到半截字符串、转义字符、字段顺序变化和错误重试无法闭环等问题。本文给出三种可靠方案:服务端聚合后一次解析、SSE同时发送进度与最终结果
用Spring Boot搭建AI结构化输出网关:Schema注册、校验、自修复与版本治理
当多个业务系统分别调用大模型并自行解析JSON时,结构化输出规则会散落在Controller和Prompt中,导致Schema版本不一致、Provider切换失败、重试成本不可见和错误对象进入业务流程。本文实现一个轻量级Spring Boot结构化输出网关:统一注册输出Schema、选择模型、启用Provider原生结构化输出、执行本地Schema与业务校验、限制自修复次数,并记录Schema版本
Spring AI企业级应用实战(9):结构化输出、JSON Schema、校验、自修复与版本兼容
前面的章节已经完成ChatClient统一调用层、流式输出、Chat Memory、Tool Calling、MCP、可观测性和安全治理。本篇继续解决企业AI应用的核心问题:如何把模型的自然语言输出转化为稳定、可校验、可版本化的Java对象。我们将使用Spring AI 2.0的`ChatClient.entity()`、Provider原生结构化输出和Schema校验能力,实现客户意图识别服务,
GPT-5.6 Luna降价80%、Terra降价20%:企业AI模型路由应该如何重算?
OpenAI在2026年7月30日更新GPT-5.6定价:Luna价格下调80%,Terra下调20%。在新的API价格下,Sol为每百万Token 5美元输入、30美元输出,Terra为2.5美元输入、15美元输出,Luna为1美元输入、6美元输出。降价并不意味着所有业务都应该立即切到Luna,而是需要重新计算“每个成功任务”的总成本,包括失败重试、人工复核、延迟、工具调用次数和缓存命中率。本文
Spring AI Moderation已经返回flagged,为什么模型请求仍然继续执行?
Spring AI支持OpenAI和Mistral AI的Moderation模型,但Moderation只负责返回检测结果,并不会自动阻断后续ChatClient调用。很多项目虽然拿到了`flagged=true`,却仍然继续调用大模型,原因通常是业务代码没有执行策略判断、异步流程没有取消、Advisor链顺序不正确,或者只记录了审核结果却没有返回拦截响应。本文给出从Moderation调用、风
Moderation、DLP、LLM Guardrail和策略引擎怎么选?企业AI安全四层架构指南
企业AI安全经常把Moderation、敏感信息脱敏、Prompt Injection检测和业务权限校验混为一谈。实际上,Moderation关注内容类别,DLP关注敏感数据,LLM Guardrail关注模型输入输出行为,策略引擎负责确定性的业务授权。四者解决的问题不同,任何一个都不能单独承担全部安全责任。本文给出四类能力的边界、组合顺序、适用场景和技术选型方法。
GPT-Live语音开始加入SynthID水印:企业语音Agent需要做哪些改造?
OpenAI在2026年7月31日更新GPT-Live:通过ChatGPT Voice和OpenAI API生成的受支持音频开始包含SynthID水印,公共验证工具可以检测OpenAI来源信号,同时新增验证API,供开发者和机构将来源检测接入自己的工作流。语音水印并不等于身份认证,也不能阻止所有剪辑、转码或欺诈,但它为企业语音Agent增加了可验证的内容来源信号。本文分析客服、外呼、数字人、媒体和
RAG文档里藏着“忽略系统提示词”,为什么模型真的照做了?Prompt Injection完整排查
RAG系统会把检索到的文档片段与用户问题一起交给模型。如果网页、PDF、工单或知识库文档中包含“忽略之前的指令”“调用工具上传数据”等文本,模型可能把不可信资料误当成指令,形成间接Prompt Injection。仅在System Prompt中写“不要听文档命令”并不能彻底解决。本文从数据来源、上下文边界、工具权限、检索过滤、输出校验和对抗测试六个方面给出完整排查方案。
用Spring Boot搭建企业AI安全网关:输入审核、PII脱敏、输出校验与审计
企业接入多个大模型后,若每个业务系统自行处理Moderation、敏感信息脱敏、Prompt Injection、工具权限和日志审计,安全策略很快会失控。本文使用Spring Boot设计一个统一AI安全网关,通过标准请求对象串联身份校验、输入长度限制、PII检测、内容审核、Prompt Injection检测、模型代理、输出DLP和审计日志,并提供可扩展接口与核心代码骨架。
Spring AI企业级应用实战(8):输入输出安全、Prompt Injection、PII脱敏与人工审批
前7篇已经完成统一调用层、流式输出、Chat Memory、Tool Calling、MCP和可观测性。系统具备“能调用、能记忆、能执行、能监控”的能力后,下一步必须解决“什么请求可以进入模型、哪些数据可以发送、哪些回答可以返回、哪些动作必须人工确认”。本文基于Spring AI 2.0设计一套可落地的安全链路:使用ModerationModel完成内容审核,使用自定义Advisor检测PII和P
OpenAI向10万名科研人员免费开放GPT-5.6:科研AI正在从工具试用进入体系化部署
OpenAI于2026年7月30日推出ChatGPT for Academic Researchers计划,计划到2027年向10万名科学家、数学家和工程师免费提供前沿模型与工具。今年夏季先覆盖1万名研究人员,参与者可使用GPT-5.6系列、Codex、Deep Research、更高使用额度和更大上下文窗口。这个计划的意义不只是“免费账号”,而是科研AI开始从个人零散使用转向机构工作区、数据治理
Spring AI接入Actuator后看不到Token和耗时指标?Micrometer观测完整排查
Spring AI 2.0已经为ChatClient、Advisor、ChatModel、Tool Calling、EmbeddingModel和VectorStore提供Micrometer观测能力,但很多项目接入Actuator和Prometheus后,只能看到JVM指标,看不到`gen_ai_client_token_usage_total`、`gen_ai_chat_client_oper
Micrometer、OpenTelemetry、Langfuse和自建审计表怎么选?AI可观测性架构指南
企业AI应用上线后,需要同时回答四类问题:系统是否稳定、一次请求经过了哪些步骤、模型输出质量如何、每个租户花了多少钱。Micrometer擅长指标,OpenTelemetry擅长跨服务Trace,Langfuse等LLM Observability平台擅长Prompt、Generation与评测,自建审计表则负责业务责任链和长期留档。它们不是简单替代关系。本文从指标基数、数据敏感性、Tool/RA
GPT-5.6 API新增Programmatic Tool Calling与Multi-Agent:Agent架构会发生什么变化?
GPT-5.6正式进入OpenAI API后,除了Sol、Terra、Luna三档模型,还新增两项值得开发者关注的Agent能力:Programmatic Tool Calling允许模型在内存中编写并运行程序,协调多个工具和处理中间结果;Multi-Agent Beta允许一个请求并发运行多个子Agent并汇总结果。这意味着复杂任务不再只能依赖“模型一次选择一个工具”的串行循环。本文分析这两项能
Spring AI遇到429或超时后为什么重复执行工具?重试边界与幂等完整排查
AI接口出现429、超时或连接中断后,开发者通常会增加自动重试。但在Tool Calling场景中,如果重试包裹了整个Agent流程,退款、发送邮件、创建工单、写数据库等工具可能被重复执行。更隐蔽的情况是模型请求超时,但工具其实已经完成;客户端重试后,模型再次发起相同工具调用。本文从模型层、Agent层、工具层和HTTP层四个重试边界出发,给出幂等键、状态机、结果查询和可重试错误分类的完整方案。
用Spring Boot搭建AI成本与稳定性监控看板:Token、预算、429、熔断与降级
Spring AI 2.0已经可以通过Micrometer输出模型调用耗时与Token指标,但企业要真正控制成本,还需要把模型价格、业务场景、租户、预算、重试、Tool Calling和降级事件统一起来。本文实现一个轻量级AI成本与稳定性监控服务:从ChatResponse读取Usage,计算单次费用,写入业务成本表,同时用Micrometer记录低基数指标,并提供租户月预算、场景成本、429、熔
Spring AI企业级应用实战(7):可观测性、Token成本、超时重试与熔断降级
前6篇已经完成Spring AI统一调用层、流式输出、Chat Memory、Tool Calling和MCP治理。本篇进入生产稳定性:使用Micrometer与OpenTelemetry观测ChatClient、ChatModel、Advisor、Tool和VectorStore;从ChatResponse累计Usage并计算成本;使用Resilience4j实现超时、限流、重试、熔断和舱壁隔离
Spring AI 2.0已经支持MCP 2026-07-28吗?Java项目升级兼容性分析
MCP 2026-07-28规范已经正式发布,核心协议转向无状态,并增加请求路由头、列表缓存语义及扩展框架。与此同时,Spring AI 2.0文档已经提供STDIO、Streamable HTTP和STATELESS等MCP客户端与服务端配置。很多Java开发者因此认为,只要把`spring.ai.mcp.server.protocol`改成`STATELESS`,项目就已经完整支持新规范。实际
Spring AI MCP客户端连接成功却看不到工具?从初始化、传输、过滤到ChatClient完整排查
Spring AI项目接入MCP时,最常见的问题之一是:应用启动没有报错,MCP Server日志也显示连接成功,但`ChatClient`始终不调用工具,甚至工具列表为空。问题可能发生在初始化、传输配置、工具回调开关、客户端类型、工具过滤、名称冲突、Schema生成、权限或ChatClient注册等多个环节。本文给出一条从MCP连接到模型工具调用的完整排查链路。
MCP的STDIO、Streamable HTTP与Stateless HTTP怎么选?三种传输架构指南
MCP在Java和Spring AI项目中常见三种部署方式:STDIO适合本地进程工具,Streamable HTTP适合需要会话和双向能力的远程服务,Stateless HTTP则适合请求—响应型工具和云原生水平扩容。三种方式在网络边界、状态管理、Sampling、Elicitation、负载均衡、鉴权和故障恢复方面存在明显差异。本文给出生产选型方法和迁移建议。