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

相关推荐
better_liang2 小时前
每日Java面试场景题知识点之-TCP/IP协议栈与Socket编程
java·tcp/ip·计算机网络·网络编程·socket·面试题
汤姆yu2 小时前
基于深度学习的水稻病虫害检测系统
人工智能·深度学习
niucloud-admin2 小时前
java服务端——controller控制器
java·开发语言
To Be Clean Coder2 小时前
【Spring源码】通过 Bean 工厂获取 Bean 的过程
java·后端·spring
Fortunate Chen2 小时前
类与对象(下)
java·javascript·jvm
程序员水自流2 小时前
【AI大模型第9集】Function Calling,让AI大模型连接外部世界
java·人工智能·llm
手揽回忆怎么睡2 小时前
Streamlit学习实战教程级,一个交互式的机器学习实验平台!
人工智能·学习·机器学习
‿hhh2 小时前
综合交通运行协调与应急指挥平台项目说明
java·ajax·npm·json·需求分析·个人开发·规格说明书
小徐Chao努力2 小时前
【Langchain4j-Java AI开发】06-工具与函数调用
java·人工智能·python
无心水2 小时前
【神经风格迁移:全链路压测】33、全链路监控与性能优化最佳实践:Java+Python+AI系统稳定性保障的终极武器
java·python·性能优化