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)增强系统

相关推荐
Leo July7 小时前
【Java】Spring Security 6.x 全解析:从基础认证到企业级权限架构
java·spring·架构
康康的AI博客8 小时前
腾讯王炸:CodeMoment - 全球首个产设研一体 AI IDE
ide·人工智能
中达瑞和-高光谱·多光谱8 小时前
中达瑞和LCTF:精准调控光谱,赋能显微成像新突破
人工智能
mahtengdbb18 小时前
【目标检测实战】基于YOLOv8-DynamicHGNetV2的猪面部检测系统搭建与优化
人工智能·yolo·目标检测
Pyeako8 小时前
深度学习--BP神经网络&梯度下降&损失函数
人工智能·python·深度学习·bp神经网络·损失函数·梯度下降·正则化惩罚
星火开发设计8 小时前
C++ 数组:一维数组的定义、遍历与常见操作
java·开发语言·数据结构·c++·学习·数组·知识
码道功成8 小时前
Pycham及IntelliJ Idea常用插件
java·ide·intellij-idea
清 澜8 小时前
大模型面试400问第一部分第一章
人工智能·大模型·大模型面试
消失的旧时光-19438 小时前
第四篇(实战): 订单表索引设计实战:从慢 SQL 到毫秒级
java·数据库·sql