Spring AI 核心概念详解

AI 应用开发必懂的 10 个核心概念

基于 Spring AI 2.0 GA (2026.05.28)+ 2026 主流模型(GPT-5.5 / Claude Opus 4.8 / Gemini 3.5 Flash)整理 ------ 不是 HTTP 封装,是把模型用进生产的工程脚手架。把概念图刻在脑子里,再看代码会非常顺。


1. Model:不只是聊天

按 I/O 类型分四类:

|-----------|---------|---------------------------------------------|
| 类型 | 输入 → 输出 | 代表(2026) |
| Chat | 文本 → 文本 | GPT-5.5、Claude Opus 4.8、Gemini 3.5 Flash |
| Embedding | 文本 → 向量 | text-embedding-3-large、gemini-embedding-004 |
| Image | 文本 → 图像 | DALL·E、Stable Diffusion、Imagen |
| Audio | 文本 ↔ 语音 | Whisper、TTS |

GPT 的 P 是 Pre-trained ------ 开发者不再需要训练,直接调用。这是 AI 第一次变成"通用开发工具"。


2. Prompt:不只是聊天框那段话

API 调用里 Prompt 是带角色的消息序列:

|-------------|-----------|
| Role | 用途 |
| system | 设定人格 / 规则 |
| user | 用户提问 |
| assistant | 历史回复(多轮) |
| tool | 工具调用结果 |

Prompt 是新的代码。一个反直觉的例子:Prompt 开头加 "Take a deep breath, work step by step" 能显著提升推理质量。


3. Prompt Template:像 Spring MVC 的 View

模板 + 变量 = 最终 Prompt:

java 复制代码
new PromptTemplate("Tell me a {adj} joke about {topic}")
    .create(Map.of("adj", "funny", "topic", "cats"));

类比:模板 = View,Map = Model


4. Embedding:把意思变成数字

文本 → 浮点向量。意思相近 = 向量距离近,这让"语义搜索"变成数学问题。

|------------------------|---------------------|-------------------------|
| 模型 | 维度 | 特性 |
| text-embedding-3-small | 1536 | OpenAI 性价比款 |
| text-embedding-3-large | 3072(可截断到 256/1024) | OpenAI 旗舰,Matryoshka 学习 |
| gemini-embedding-004 | 768 | Google,免费额度大 |

Java 开发者不需要懂向量数学。只要知道:Embedding 负责转,Vector DB 负责存和找,距离越近 = 语义越像。


5. Token:钱袋子的最小单位

英文 1 Token ≈ 0.75 词,中文1 token ≈ 1--1.5 个汉字。Token = 钱,输入输出都计费。

2026.06 主流模型上下文窗口:

|----------------------|------|-----------------------------|
| 模型 | 窗口 | 备注 |
| GPT-5.5 | 1M | OpenAI 当前旗舰(2026.04 API GA) |
| GPT-5.5 Pro | 1M | 最高级 reasoning |
| Claude Opus 4.8 | 1M | Anthropic 当前旗舰(2026.05.28) |
| Claude Sonnet 4.6 | 200K | 中端主力 |
| Claude Haiku 4.5 | 200K | 高速低价 |
| Gemini 3.5 Flash | 1M | Google 当前主力(2026.05.19 GA) |
| Gemini 3.5 Pro | 1M+ | 即将发布 |
| Qwen3 / DeepSeek V4 | 1M | 国产开源,价格友好 |

关键洞察 :窗口虽到 1M 起步,但成本随 Token 线性增长。塞满 1M 上下文单次调用可能 5--10 美元 ------ RAG / Prompt Caching / 上下文压缩仍是核心工程实践。


6. Structured Output:让 AI 还你"对象"

痛点:让 AI 返回 JSON 拿到的是 String,前后还可能加 "Sure, here is:" 让 Jackson.parse 崩溃。

java 复制代码
User user = chatClient.prompt()
    .user("生成测试用户")
    .call()
    .entity(User.class);   // 直接拿 User 对象

底层做的事:自动追加 schema 指令 + 调用模型 + 反序列化。


7. RAG:给 AI 喂自己的数据

LLM 不知道你公司的业务数据。RAG 是把私有数据"塞"进 Prompt 的工程方案,两阶段:

  • 离线 ETL:文档 → 抽取 → 切 Chunk → Embedding → 写入 Vector DB
  • 在线检索:问题 → Embedding → 找 Top-K → 拼 Prompt → 调 LLM

胜负手在切分 :不能从段落/代码中间切,Chunk 大小 500--1000 Token。Spring AI 一行挂上 RAG:QuestionAnswerAdvisor(2.0 改名 RetrievalAugmentationAdvisor)。


8. Tool Calling:让 AI 调你的代码

LLM 训练后就冻结了 ------ 没实时数据,不能改外部世界。Tool Calling 给模型装上"手脚",6 步交互:

  1. Define Tools ------ 工具定义塞进 Prompt
  2. LLM Decides ------ 模型决定调谁、传什么参
  3. Call Tool ------ 应用反射执行方法
  4. Return Result ------ 工具返回数据
  5. Send Result ------ 结果发回模型
  6. Final Answer ------ 模型生成最终回答
java 复制代码
@Tool(description = "查询指定城市的天气")
public Weather getWeather(String city) {
    return weatherService.query(city);
}

schema 生成、对话循环、反射调用、结果回传 ------ 框架全包。


9. MCP:2026 年的行业标准

Tool Calling 每家协议都不一样 ------ 为 OpenAI 写的工具换 Claude 要重写。Model Context Protocol(MCP) 是 Anthropic推出的开放标准,写一次,所有 LLM 通用

到 2026 年 MCP 已成事实标准:

  • 上千个 MCP Server(数据库、文件系统、Slack、GitHub、浏览器...)
  • OpenAI / Google / Anthropic 全部支持
  • Spring AI 2.0 原生集成,2.0-M5 起 MCP Server 支持工具过滤:
XML 复制代码
<dependency>
    <groupId>org.springframework.ai</groupId>
    <artifactId>spring-ai-starter-mcp-client</artifactId>
</dependency>

配好 MCP Server,应用自动发现并调用上百个工具 ------ 比手写 Tool Calling 高效一个量级,是 2026 年最重要的能力升级。


10. Evaluation:从 Demo 到生产的必经之路

AI 有概率性,生产环境必须能回答:改了 Prompt 效果变好还是变差?换模型准确率掉多少?

主流做法:用 AI 评估 AI。把"问题 + 回答 + RAG 上下文"喂给评估模型,看四个维度:

  • Relevance ------ 回答和问题相关吗?
  • Coherence ------ 内部逻辑通顺吗?
  • Factual Correctness ------ 事实经得起核对吗?
  • Hallucination ------ 是否忠实于资料?

Spring AI 提供 Evaluator API。把它当成 AI 应用的"单元测试"。


端到端串成一张图

学习路径

|------|--------------------------------|
| 阶段 | 重点 |
| 入门 | Model + Prompt + Template |
| 进阶 1 | Embedding + RAG + Vector DB |
| 进阶 2 | Tool Calling + MCP |
| 生产 | Structured Output + Evaluation |

Spring AI 版本选型(2026.06)

|------------|-------------------------------|---------------|---------|
| 版本 | Spring Boot | 状态 | 适用场景 |
| 1.0.7 | 3.x | 稳定 | 老项目维护 |
| 1.1.6 | 3.x | 当前稳定主线 | 新项目首选 |
| 2.0 GA | 4.0(JSpecify + Jackson 3) | 2026.05.28 发布 | 新项目长期投资 |

延伸

  1. Spring AI Getting Started
  2. Spring AI MCP Boot Starters
  3. MCP 官方协议

相关推荐
doiito1 天前
【Agent Harness】为什么我把 JSON‑LD “编译成 DAG” 后,整个 Agent 平台立刻聪明了
ai·rust·架构设计·系统设计·ai agent
xiezhr2 天前
折腾半小时,终于让AI 能直接帮我写飞书文档了
ai·飞书·ai agent·飞书cli·飞书文档
岳小哥AI2 天前
Claude Fable和Claude Mythos 5同时发布:注意力机制下愈加强大的AI大模型
ai·ai基础
Artech2 天前
[MAF预定义的AIContextProvider-04]Mem0Provider——长期记忆基于的云端解决方案
ai·agent·maf·aicontextprovider·chathistorymemoryprovider·mem0provider
哥不是小萝莉2 天前
一文读懂 OpenAI Codex 源码的原理、架构与未来
ai
AlfredZhao2 天前
AI 编程工作总结:从体验问题到模块能力建设
ai·codex
cup113 天前
[技术复盘] Windows Python 打包实战:Nuitka 环境踩坑总结与 CI 自动化构建全指南
python·ai·环境变量·ci·nuitka·skill
IT王师傅4 天前
从 豆包 到 Codex CLI:一名普通开发者的 AI 工具进化路线
ai·codex cli·openclaw
岳小哥AI4 天前
Siri要接入AI了,苹果手机上一句话让GPT写文案、DeepSeek写代码的时刻来了
ai·ai基础
Artech4 天前
[MAF预定义的AIContextProvider-03]ChatHistoryMemoryProvider——赋予Agent从经验中学习的能力
ai·c#·agent·memory·maf