Spring AI 1.1 新特性详解:五大核心升级全面提升AI应用开发体验

近日,Spring团队正式发布了Spring AI 1.1版本,这是自该项目成立以来的一个重要里程碑。Spring AI作为一个旨在简化AI应用开发的框架,在1.1版本中带来了多项重磅更新,从功能增强到性能优化,全方位提升了开发者的使用体验。


1️⃣ 🧰 Model Context Protocol(MCP)------ 统一 AI 工具/资源/提示注册

一句话:用注解一键暴露工具(Tool)、资源(Resource)、提示模板(Prompt)给 LLM,实现"AI 可调用你的业务能力"。

✅ 代码示例

java 复制代码
import org.springframework.ai.mcp.annotation.*;

@Service
public class WeatherService {

    @McpTool(description = "Get current weather for a location")
    public String getCurrentWeather(String location) {
        return "Sunny, 22°C in " + location;
    }

    @McpResource(description = "Database schema of users table")
    public String getDatabaseSchema() {
        return """
               CREATE TABLE users (
                 id BIGINT,
                 name VARCHAR(100),
                 email VARCHAR(100)
               );
               """;
    }

    @McpPrompt(template = "Write a SQL query to {{intent}}")
    public String generateSqlQuery(@PromptVariable("intent") String userIntent) {
        return ""; // 实际由模板渲染
    }
}

🔧 启动后,MCP 服务自动注册这些能力,供 AI Agent 调用(支持 HTTP/gRPC/STDIO 多种传输)。

📌 适用场景:构建企业级 AI Agent(如客服机器人可查订单、调库存、连数据库)。


2️⃣ ⚡ Prompt Caching(提示缓存)------ 降本 90% + 加速响应

一句话:对重复/相似提示自动缓存,避免重复计算 token,支持 Anthropic & AWS Bedrock。

✅ 代码示例(Anthropic)

java 复制代码
@Autowired
private ChatClient chatClient;

public String askWithCache(String question) {
    var message = UserMessage.from(question)
        .withOption(AnthropicOptions.builder()
            .cacheControl(true) // ✅ 启用缓存
            .ttlMinutes(60)     // 缓存 1 小时
            .build());

    return chatClient.call(message).getResult().getOutput().getContent();
}

📌 效果

  • 相同提示 → 后续调用直接命中缓存
  • 成本下降最高 90%(Anthropic 官方数据)
  • 响应延迟降低 50%+

3️⃣ 🤖 Recursive Advisors(递归顾问)------ 构建自优化 AI Agent

一句话:让 AI Agent 能"自己审自己",通过多轮反思提升输出质量。

✅ 代码示例:自修正问答 Agent

java 复制代码
@Bean
public RecursiveAdvisor selfImprovingAdvisor(ChatClient chatClient) {
    return RecursiveAdvisor.builder()
        .chatClient(chatClient)
        .maxIterations(3) // 最多反思 3 次
        .feedbackPrompt("""
            Review the previous answer for accuracy and completeness.
            If it's sufficient, output [FINAL]: <answer>.
            Otherwise, improve it.
            Previous answer: {{output}}
            """)
        .build();
}

// 使用
String result = selfImprovingAdvisor.advise("Explain quantum entanglement simply");

🔍 输出可能为:

复制代码
Iteration 1: Quantum entanglement is when particles are linked...
Iteration 2: Let me clarify: even if separated, measuring one instantly affects the other...
[FINAL]: Quantum entanglement is a phenomenon where two particles become correlated so that...

📌 适用场景:高精度任务(法律咨询、医疗建议、代码生成审查)。


4️⃣ 🌐 新增模型支持:Google GenAI + ElevenLabs TTS

一句话:开箱即用接入 Google 最新模型 + 高质量语音合成。

✅ 代码示例:Google GenAI 聊天 + 语音输出

java 复制代码
// 1. 聊天(Google GenAI)
@Bean
public ChatModel googleChatModel(GoogleGenAiProperties props) {
    return new GoogleGenAiChatModel(props);
}

// 2. 文字转语音(ElevenLabs)
@Autowired
private TextToSpeechModel elevenLabsTts;

public InputStream textToSpeech(String text) {
    return elevenLabsTts.call(TextToSpeechPrompt.create(text));
}

🔧 配置 application.yml

yaml 复制代码
spring:
  ai:
    google:
      api-key: ${GOOGLE_API_KEY}
    elevenlabs:
      api-key: ${ELEVENLABS_API_KEY}
      voice-id: "21m00Tcm4TlvDq8ikWAM" # Rachel

📌 优势 :统一 TextToSpeechModel 接口,OpenAI / ElevenLabs 无缝切换。


5️⃣ 🧠 Reasoning Mode(推理模式)支持 ------ 获取模型"思考过程"

一句话:不只是答案,还能拿到模型的"解题步骤",用于调试/解释/评估。

✅ 代码示例(GLM/Zhipu)

java 复制代码
var options = ZhipuOptions.builder()
    .enableReasoning(true) // ✅ 启用推理模式
    .responseFormat("json") // 要求 JSON 输出
    .build();

var response = chatClient.call(
    new Prompt("Calculate 15% of 200, show steps", options)
);

// 获取推理链(如:Step 1 → Step 2 → Final Answer)
ReasoningContent reasoning = response.getMetadata()
    .get("reasoning", ReasoningContent.class);

System.out.println("Steps: " + reasoning.getSteps());
System.out.println("Final: " + reasoning.getFinalAnswer());

📌 适用场景

  • 教育类应用(展示解题过程)
  • 审计/合规(为什么模型这么答?)
  • 构建 CoT(Chain-of-Thought)增强系统

相关推荐
初九之潜龙勿用2 小时前
基于openEuler操作系统上的AI图像分类应用开发实操与测试
人工智能·分类·数据挖掘
AI算法蒋同学2 小时前
5 个用于人工智能基础设施的 Docker 容器
人工智能·docker·容器
小马爱打代码2 小时前
Spring AI:DeepSeek 整合 RAG 增强检索: 实现与 PDF 对话
人工智能·spring·pdf
小马爱打代码2 小时前
Spring AI:提取 txt、Json、Markdown、Html、Pdf 文件数据,转换为 Document 文档
人工智能·spring·json
一招定胜负2 小时前
机器学习开篇
人工智能·机器学习
code_weic2 小时前
Java AI开发框架 - LangChain4J学习笔记
java·人工智能·ai·langchain
wh_cxy2 小时前
Spring 的本地消息
java
大千AI助手2 小时前
多重共线性:机器学习中的诊断与应对策略
人工智能·机器学习·线性回归·相关性·大千ai助手·多重共线性·线性组合
阿杰学AI2 小时前
AI核心知识41——大语言模型之 MCP(简洁且通俗易懂版)
人工智能·ai·语言模型·aigc·agi·mcp·模型上下文协议