AI-Native 基础教程:从概念到实践
更新时间:2026年5月
目录
- 什么是 AI-Native
- AI-Native vs Cloud-Native
- AI-Native 核心架构
- 关键技术栈
- 实践:构建你的第一个 AI-Native 应用
- 最佳实践与常见陷阱
- 企业落地选型决策
- 未来展望
一、什么是 AI-Native
1.1 定义
AI-Native(AI 原生)是指从设计之初就将人工智能作为核心能力构建的应用程序和系统。它不是简单地在现有系统上"添加 AI 功能",而是以 AI 为第一性原理重新思考整个产品架构。
一句话理解:Cloud-Native 让应用为云而生,AI-Native 让应用为 AI 而生。
1.2 核心特征
- AI 优先:AI 不是附加功能,而是核心引擎
- 数据驱动:持续学习、自我进化
- 自然交互:对话式 UI、多模态输入
- 智能决策:自动化、自适应、预测性
- 持续进化:越用越聪明,而非一成不变
1.3 典型场景
- 智能助手:ChatGPT、Claude、Kimi、通义千问
- AI 编程工具:GitHub Copilot、Cursor、Claude Code
- 智能客服:理解上下文、多轮对话、情感识别
- 内容生成:文案、代码、图像、视频、音乐
- 决策系统:推荐引擎、风控模型、预测分析
二、AI-Native vs Cloud-Native
2.1 演进路径
传统应用(单体架构,人工运维)
↓
Cloud-Native(微服务、容器化、自动化运维)
↓
AI-Native(智能核心、自主决策、持续学习)
2.2 关键差异
| 维度 | Cloud-Native | AI-Native |
|---|---|---|
| 核心能力 | 弹性、可扩展 | 智能、自适应 |
| 交互方式 | GUI、API | 自然语言、多模态 |
| 数据流向 | 存储 → 计算 → 展示 | 感知 → 理解 → 决策 → 行动 |
| 开发模式 | 确定性编程 | 概率性建模 + 确定性工程 |
| 运维重点 | 稳定性、性能 | 准确性、安全性、伦理 |
| 迭代方式 | 版本发布 | 模型更新 + 数据飞轮 |
2.3 架构分层
┌─────────────────────────────────────────────┐
│ 应用层:智能助手、AI Agent、Copilot 应用 │
├─────────────────────────────────────────────┤
│ 编排层:Agent 框架、工作流引擎、RAG 系统 │
├─────────────────────────────────────────────┤
│ 模型层:LLM、Embedding、多模态模型 │
├─────────────────────────────────────────────┤
│ 数据层:向量数据库、知识图谱、实时数据流 │
├─────────────────────────────────────────────┤
│ 基础设施:GPU 集群、模型服务、弹性计算 │
└─────────────────────────────────────────────┘
三、AI-Native 核心架构
3.1 关键组件详解
3.1.1 模型层(Model Layer)
大语言模型(LLM)
- 商业模型:GPT-4o、Claude Opus/Sonnet、Gemini、通义千问、文心一言
- 开源模型:Llama 3、Qwen 2.5、DeepSeek-V3、Mistral
- 领域模型:代码(CodeLlama)、医疗(Med-PaLM)、法律、金融
模型选择策略
| 场景 | 推荐方案 |
|---|---|
| 任务复杂度高 + 预算充足 | GPT-4o / Claude Opus |
| 任务复杂度中 + 成本敏感 | Claude Sonnet / 国产模型 |
| 数据敏感 + 离线部署 | 开源本地模型(Ollama) |
| 特定领域 + 专业需求 | 垂直领域微调模型 |
3.1.2 数据层(Data Layer)
向量数据库
- 开源:Milvus、Weaviate、Chroma、Qdrant、pgvector
- 云服务:Pinecone、阿里云向量检索、AWS OpenSearch
- 选型要点:延迟、容量、混合搜索能力、运维成本
RAG(检索增强生成)流程
用户提问 → 文本向量化 → 向量相似度检索 → 上下文组装 → LLM 生成回答
3.1.3 编排层(Orchestration Layer)
主流框架
| 框架 | 语言 | 特点 |
|---|---|---|
| Spring AI | Java | Spring 生态集成,企业级首选 |
| LangChain4j | Java | LangChain 的 Java 移植版 |
| LangChain | Python | 生态最丰富,适合快速原型 |
| LlamaIndex | Python | 专注 RAG 和数据连接 |
| Semantic Kernel | C#/Python | 微软出品,Azure 集成好 |
核心能力:工具调用(Function Calling)、记忆管理、多 Agent 协作、工作流编排
四、关键技术栈
4.1 Java 技术栈图谱
┌─ 前端交互层 ─┐ React / Vue / Next.js + AI Chat 组件
├─ 应用框架层 ─┤ Spring Boot + Spring AI / LangChain4j
├─ 模型服务层 ─┤ OpenAI API / Anthropic / Ollama / vLLM
├─ 数据存储层 ─┤ PostgreSQL + pgvector / Milvus / Redis
├─ 基础设施层 ─┤ Docker / Kubernetes / GPU 推理服务
└──────────────┘
4.2 推荐技术组合
快速原型(MVP)
Spring Boot + Spring AI + OpenAI API + pgvector + Thymeleaf/Vue
生产环境
Spring Boot + Spring AI + 私有化模型 + Milvus + React + Redis 缓存
企业级部署
Spring Cloud + Kubernetes + vLLM + 自研模型 + 向量数据库集群 + 全链路监控
五、实践:构建你的第一个 AI-Native 应用
5.1 项目目标
构建一个智能文档问答助手,能够:
- 上传 PDF/Word/TXT 文档
- 自动建立知识库索引(文本分块 + 向量化)
- 支持自然语言多轮问答
- 提供引用来源追溯
5.2 技术选型
| 组件 | 选择 | 理由 |
|---|---|---|
| 编程语言 | Java 21 | 企业级主流,生态成熟 |
| Web 框架 | Spring Boot 3.x | 自动配置,开箱即用 |
| AI 框架 | Spring AI | Spring 官方支持,集成度高 |
| 向量数据库 | PostgreSQL + pgvector | 复用现有 PG,运维成本低 |
| 文档解析 | Apache PDFBox + POI | Java 生态标准选择 |
| 模型服务 | OpenAI API | 效果稳定,易于上手 |
5.3 完整代码实现
步骤 1:环境准备
pom.xml 核心依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.4.1</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- Spring AI OpenAI -->
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-openai-spring-boot-starter</artifactId>
</dependency>
<!-- Spring AI 向量存储 - pgvector -->
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-pgvector-store-spring-boot-starter</artifactId>
</dependency>
<!-- PDF 解析 -->
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-pdf-document-reader</artifactId>
</dependency>
<!-- PostgreSQL -->
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<scope>runtime</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-bom</artifactId>
<version>1.0.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
步骤 2:应用配置(application.yml)
spring:
ai:
openai:
api-key: ${OPENAI_API_KEY}
chat:
options:
model: gpt-4o
temperature: 0.7
embedding:
options:
model: text-embedding-3-small
vectorstore:
pgvector:
dimensions: 1536
index-type: hnsw
datasource:
url: jdbc:postgresql://localhost:5432/ai_assistant
username: postgres
password: ${DB_PASSWORD}
servlet:
multipart:
max-file-size: 50MB
max-request-size: 50MB
步骤 3:文档处理服务
@Service
public class DocumentService {
private final VectorStore vectorStore;
private final TokenTextSplitter textSplitter;
public DocumentService(VectorStore vectorStore) {
this.vectorStore = vectorStore;
this.textSplitter = new TokenTextSplitter(
1000, // 默认块大小
200, // 重叠大小,保持上下文连贯
5, // 最小块大小
10000, // 最大块大小
true // 保留分隔符
);
}
public int processDocument(MultipartFile file) throws IOException {
List<Document> documents = loadDocument(file);
List<Document> chunks = textSplitter.apply(documents);
// 为每个分块添加元数据
chunks.forEach(chunk -> {
chunk.getMetadata().put("source", file.getOriginalFilename());
chunk.getMetadata().put("timestamp", Instant.now().toString());
});
vectorStore.add(chunks);
return chunks.size();
}
private List<Document> loadDocument(MultipartFile file) throws IOException {
String filename = file.getOriginalFilename();
Resource resource = file.getResource();
if (filename != null && filename.endsWith(".pdf")) {
PagePdfDocumentReader reader = new PagePdfDocumentReader(resource);
return reader.get();
}
// 纯文本文件
String content = new String(file.getBytes(), StandardCharsets.UTF_8);
return List.of(new Document(content));
}
}
步骤 4:问答服务(RAG 核心)
@Service
public class ChatService {
private final ChatClient chatClient;
private final VectorStore vectorStore;
public ChatService(ChatClient.Builder chatClientBuilder, VectorStore vectorStore) {
this.chatClient = chatClientBuilder.build();
this.vectorStore = vectorStore;
}
public ChatResponse ask(String question, List<String> chatHistory) {
// 从向量数据库检索相关文档
List<Document> relevantDocs = vectorStore.similaritySearch(
SearchRequest.builder()
.query(question)
.topK(5)
.similarityThreshold(0.7)
.build()
);
String context = relevantDocs.stream()
.map(Document::getText)
.collect(Collectors.joining("\n\n"));
String systemPrompt = """
你是一个专业的文档问答助手。请基于以下参考资料回答用户问题。
如果参考资料中没有相关信息,请明确告知用户。
回答时请标注信息来源。
参考资料:
%s
""".formatted(context);
String answer = chatClient.prompt()
.system(systemPrompt)
.user(question)
.call()
.content();
List<String> sources = relevantDocs.stream()
.map(doc -> (String) doc.getMetadata().get("source"))
.distinct()
.toList();
return new ChatResponse(answer, sources);
}
public record ChatResponse(String answer, List<String> sources) {}
}
步骤 5:REST 接口
@RestController
@RequestMapping("/api")
public class ChatController {
private final DocumentService documentService;
private final ChatService chatService;
public ChatController(DocumentService documentService, ChatService chatService) {
this.documentService = documentService;
this.chatService = chatService;
}
@PostMapping("/documents/upload")
public ResponseEntity<Map<String, Object>> uploadDocument(
@RequestParam("file") MultipartFile file) throws IOException {
int chunkCount = documentService.processDocument(file);
return ResponseEntity.ok(Map.of(
"message", "文档处理完成",
"filename", file.getOriginalFilename(),
"chunks", chunkCount
));
}
@PostMapping("/chat")
public ResponseEntity<ChatService.ChatResponse> chat(
@RequestBody ChatRequest request) {
ChatService.ChatResponse response = chatService.ask(
request.question(), request.history()
);
return ResponseEntity.ok(response);
}
public record ChatRequest(String question, List<String> history) {}
}
步骤 6:启动与测试
# 启动 PostgreSQL + pgvector(Docker)
docker run -d --name pgvector \
-e POSTGRES_DB=ai_assistant \
-e POSTGRES_PASSWORD=your_password \
-p 5432:5432 \
pgvector/pgvector:pg16
# 启动应用
./mvnw spring-boot:run
# 上传文档
curl -X POST http://localhost:8080/api/documents/upload \
-F "file=@./sample.pdf"
# 提问
curl -X POST http://localhost:8080/api/chat \
-H "Content-Type: application/json" \
-d '{"question": "文档的主要内容是什么?", "history": []}'
5.4 核心流程解析
文档上传 → 文本分块(TokenTextSplitter) → 向量化(Embedding)
→ 存入 pgvector → 用户提问 → 相似度检索 → 组装 Prompt → LLM 生成
关键技术点
| 技术 | 作用 |
|---|---|
TokenTextSplitter | 按 Token 数智能分块,保持语义完整 |
VectorStore | Spring AI 向量存储抽象,可切换实现 |
ChatClient | 统一的 LLM 调用接口,支持流式输出 |
SearchRequest | 相似度检索,支持阈值过滤和 Top-K |
| pgvector + HNSW | 高性能近似最近邻索引 |
六、最佳实践与常见陷阱
6.1 最佳实践
数据准备
- 分块策略:根据内容类型调整 chunk_size(代码 500 tokens,文档 1000 tokens)
- 重叠设置:chunk_overlap 保持 10-20%,避免上下文断裂
- 元数据保留:保留文档来源、页码、时间戳等信息,便于追溯和过滤
模型选择
- 快速验证:先用 GPT-4o-mini 验证概念,再升级到 GPT-4o / Claude
- 成本优化:简单任务用小模型,复杂推理用大模型
- 混合策略:Embedding 用专用小模型,生成用大模型
工程实践
- 流式输出:使用
ChatClient.stream()提升用户体验 - 错误处理:LLM 调用可能超时或限流,做好降级和重试
- 可观测性:记录 Prompt、Token 消耗、响应延迟,便于调优
- 缓存策略:对相同问题的 Embedding 结果做缓存,减少重复计算
6.2 常见陷阱
陷阱 1:过度依赖 LLM
// 错误:什么都让 LLM 做
String result = chatClient.prompt()
.user("计算 1234567 * 7654321 的结果")
.call().content();
// 正确:确定性计算交给代码,LLM 负责理解和表达
long calcResult = 1234567L * 7654321L;
String result = chatClient.prompt()
.user("请用通俗的语言解释这个计算结果的含义:" + calcResult)
.call().content();
陷阱 2:忽视 Prompt 工程
// 错误:裸提问,缺乏约束
String answer = chatClient.prompt()
.user(userInput)
.call().content();
// 正确:结构化 Prompt,明确角色、上下文和输出要求
String answer = chatClient.prompt()
.system("""
你是一个技术文档助手。请基于提供的上下文回答问题。
要求:1) 用中文回答 2) 标注信息来源 3) 不确定时明确说明
""")
.user("上下文:%s\n\n问题:%s".formatted(context, userInput))
.call().content();
陷阱 3:忽略 Token 限制
// 错误:把整个文档塞进 Prompt
String hugeContext = Files.readString(Path.of("huge_doc.txt"));
chatClient.prompt().user(hugeContext + "\n问题:" + question);
// 正确:通过向量检索只取最相关的片段
List<Document> relevant = vectorStore.similaritySearch(
SearchRequest.builder().query(question).topK(5).build()
);
String context = relevant.stream()
.map(Document::getText)
.collect(Collectors.joining("\n\n"));
6.3 性能优化清单
- 使用流式响应(
Flux<String>+ SSE)降低首字延迟 - 对高频查询的 Embedding 结果做 Redis 缓存
- 文档索引异步处理,避免阻塞上传接口
- 批量调用 Embedding API,减少网络往返
- 监控 Token 消耗,设置用量告警
- 合理设置超时(模型调用 30s,Embedding 10s)和重试策略
七、企业落地选型决策
7.1 选型决策框架
企业引入 AI-Native 架构不是技术问题,而是业务价值 × 技术可行性 × 组织能力的综合决策。盲目跟风上大模型,往往投入大、见效慢。以下框架帮助团队做出理性判断。
┌─────────────┐
│ 业务场景评估 │
└──────┬──────┘
↓
┌────────────┴────────────┐
↓ ↓
适合 AI-Native 不适合 AI-Native
(模糊决策、自然语言、 (精确计算、强合规、
内容生成、模式识别) 确定性流程)
↓ ↓
技术选型决策 保持传统架构
↓
┌─────┬─────┬─────┐
↓ ↓ ↓ ↓
模型 数据 框架 部署
选型 方案 选择 模式
7.2 业务场景适配矩阵
并非所有业务都适合 AI-Native 改造。先判断场景再决定投入。
| 场景类型 | AI-Native 适配度 | 典型应用 | 建议策略 |
|---|---|---|---|
| 知识问答与检索 | 高 | 内部知识库、客服、合规查询 | RAG 优先落地 |
| 内容生成 | 高 | 营销文案、报告摘要、代码辅助 | Prompt + 审核流 |
| 决策辅助 | 中高 | 风控预警、投资建议、诊断辅助 | AI 建议 + 人工确认 |
| 流程自动化 | 中 | 合同审核、工单分类、数据清洗 | Agent + 规则引擎 |
| 精确计算 | 低 | 财务核算、库存扣减、交易撮合 | 传统架构为主 |
| 强合规审批 | 低 | 资金划转、权限变更 | 规则引擎 + 审计 |
7.3 模型选型决策
自建 vs 调用 API vs 私有化部署
| 决策维度 | 调用商业 API | 私有化部署开源模型 | 自研/微调模型 |
|---|---|---|---|
| 启动成本 | 低(按量付费) | 中(GPU 服务器) | 高(数据 + 算力 + 人才) |
| 数据安全 | 数据出境风险 | 完全可控 | 完全可控 |
| 效果上限 | 取决于供应商 | 取决于开源模型能力 | 可针对领域深度优化 |
| 运维复杂度 | 低 | 中高 | 高 |
| 适用阶段 | MVP 验证、非敏感场景 | 生产环境、数据敏感场景 | 核心竞争力场景 |
决策路径
数据是否涉密?
├── 否 → 业务是否核心竞争力?
│ ├── 否 → 调用商业 API(OpenAI / Claude / 通义千问)
│ └── 是 → 私有化部署 + 领域微调
└── 是 → 是否有 GPU 资源和 AI 团队?
├── 是 → 私有化部署开源模型(Qwen / DeepSeek / Llama)
└── 否 → 国内合规云服务(阿里云百炼 / 火山引擎)
模型规格选择
| 参数规模 | 推理硬件需求 | 适用场景 |
|---|---|---|
| 1-7B | 单卡 A10/T4(16GB) | 分类、抽取、简单问答 |
| 7-14B | 单卡 A100(40GB) | 通用问答、摘要、代码生成 |
| 14-72B | 多卡 A100 | 复杂推理、多步规划、专业领域 |
| 72B+ | 多机多卡 | 通用智能、Agent、创意生成 |
7.4 向量数据库选型
| 产品 | 部署方式 | 最大数据量 | 混合搜索 | 适用场景 |
|---|---|---|---|---|
| pgvector | 复用现有 PG | 千万级 | 支持 | 已有 PG、数据量中等 |
| Milvus | 独立集群 | 十亿级 | 支持 | 大规模生产、高并发 |
| Weaviate | 独立/云服务 | 亿级 | 支持 | 多模态、GraphQL 友好 |
| Qdrant | 独立部署 | 亿级 | 支持 | Rust 高性能、过滤能力强 |
| Elasticsearch | 复用现有 ES | 亿级 | 原生支持 | 已有 ES 集群、全文+向量混合 |
选型建议
- 团队已有 PostgreSQL → pgvector 零成本启动
- 数据量超千万或高并发 → Milvus 集群
- 已有 Elasticsearch → 升级 8.x 开启向量搜索
- 追求极致性能 → Qdrant
7.5 Java 技术框架选型
| 框架 | 成熟度 | Spring 集成 | 模型支持范围 | 适用团队 |
|---|---|---|---|---|
| Spring AI | 高 | 原生 | OpenAI/Anthropic/Ollama/多家 | Spring 技术栈团队 |
| LangChain4j | 中高 | 需适配 | 广泛 | 需要 LangChain 生态对齐 |
| Semantic Kernel (Java) | 中 | 无 | Azure OpenAI 为主 | Azure 生态团队 |
| 自研封装 | - | 自定义 | 自定义 | 有 AI 平台团队 |
推荐决策
- 标准 Spring Boot 项目 → Spring AI(官方维护,长期有保障)
- 需要复杂 Agent 编排 → LangChain4j(Chain/Agent 抽象更丰富)
- 深度绑定 Azure → Semantic Kernel
- 已有 AI 中台 → 自研 SDK 封装统一接口
7.6 部署架构决策
小规模(日调用 < 10 万次)
┌──────────┐ ┌──────────────┐ ┌─────────────┐
│ Spring │────→│ 商业 API │ │ pgvector │
│ Boot App │ │ (OpenAI等) │ │ (单实例) │
│ │────→│ │ │ │
└──────────┘ └──────────────┘ └─────────────┘
- 直接调用商业 API,无需 GPU
- pgvector 单实例满足需求
- 重点关注:限流、重试、成本监控
中规模(日调用 10-100 万次)
┌──────────┐ ┌──────────────┐ ┌─────────────┐
│ Spring │────→│ API Gateway │────→│ vLLM/Ollama │
│ Cloud │ │ (限流/路由) │ │ (GPU × 2-4) │
│ 微服务 │ └──────────────┘ └─────────────┘
│ │────→┌──────────────┐
└──────────┘ │ Milvus 集群 │
└──────────────┘
- 私有化部署开源模型,降低单次调用成本
- API Gateway 做流量管理和模型路由
- Milvus 集群保障检索性能
大规模(日调用 > 100 万次)
┌────────────────────────────────────────────────────┐
│ Kubernetes 集群 │
├──────────┬──────────┬──────────┬──────────────────┤
│ 业务微服务│ AI Gateway│ 模型推理池│ 向量数据库集群 │
│ (Spring │ (路由/ │ (vLLM ×N │ (Milvus 分布式) │
│ Cloud) │ 降级/ │ 多模型 │ │
│ │ A/B) │ 混合) │ │
├──────────┴──────────┴──────────┴──────────────────┤
│ 可观测性:Prometheus + Grafana + 自定义 AI 指标 │
│ 数据飞轮:日志采集 → 标注 → 微调 → 灰度上线 │
└────────────────────────────────────────────────────┘
- 多模型混合部署(大模型处理复杂任务,小模型处理简单任务)
- AI Gateway 实现智能路由、A/B 测试、降级策略
- 数据飞轮闭环:线上日志 → 人工标注 → 模型微调 → 灰度发布
7.7 成本估算参考
| 方案 | 月成本估算(中等负载) | 适用规模 |
|---|---|---|
| 纯 API 调用(GPT-4o) | 5,000 - 50,000 元 | 日调用 1-10 万次 |
| 私有化 7B 模型(单卡) | 8,000 - 15,000 元 | 日调用 10-50 万次 |
| 私有化 72B 模型(多卡) | 50,000 - 150,000 元 | 日调用 50-200 万次 |
| 混合方案(小模型+API) | 15,000 - 40,000 元 | 日调用 10-100 万次 |
成本优化核心思路:简单任务走小模型/缓存,复杂任务走大模型,通过路由策略降低整体成本。
7.8 落地实施路线图
第1阶段(1-2月):POC 验证
├── 选定 1-2 个非核心场景
├── 使用商业 API 快速验证效果
├── 建立评估指标(准确率、延迟、成本)
└── 产出:可行性报告 + Demo
第2阶段(2-3月):MVP 上线
├── 确定技术选型和架构方案
├── 搭建基础设施(向量库、模型服务)
├── 开发核心功能,内部灰度
└── 产出:内部可用版本 + 运营数据
第3阶段(3-6月):生产化
├── 性能优化(缓存、批处理、模型量化)
├── 安全加固(数据脱敏、输出过滤、权限控制)
├── 可观测性建设(Token 监控、质量评估、告警)
└── 产出:生产级系统 + SLA 保障
第4阶段(持续):规模化
├── 数据飞轮运转(反馈收集 → 标注 → 微调)
├── 多场景复制推广
├── AI 中台能力沉淀
└── 产出:企业 AI 能力平台
八、未来展望
8.1 技术趋势(2025-2026)
| 方向 | 描述 |
|---|---|
| 多模态 AI | 文本、图像、音频、视频统一理解与生成 |
| Agent 生态 | 自主规划、工具调用、多 Agent 协作 |
| 边缘 AI | 端侧大模型部署,低延迟、隐私保护 |
| RAG 进化 | GraphRAG、多跳推理、动态知识更新 |
| AI 安全 | 对齐技术、可解释性、红队测试、对抗防护 |
| AI 工程化 | LLMOps、Prompt 版本管理、评估体系 |
8.2 学习路径建议
第 1 阶段(1-2 周):基础概念
- 理解 LLM 工作原理(Transformer、注意力机制)
- 学习 Prompt Engineering 技巧
- 熟悉主流模型 API 调用方式
第 2 阶段(2-4 周):框架掌握
- Spring AI / LangChain4j 框架使用
- RAG 系统搭建与调优
- Agent 开发(工具调用、规划能力)
第 3 阶段(1-2 月):项目实战
- 完成 2-3 个完整 AI-Native 项目
- 性能优化、成本控制、生产部署
- 评估体系建设(准确率、召回率、用户满意度)
第 4 阶段(持续):深入专精
- 模型微调(Fine-tuning / LoRA)
- 私有化部署与推理优化
- 特定领域深耕(医疗、金融、法律)
8.3 推荐资源
官方文档
- Spring AI:docs.spring.io/spring-ai/r…
- LangChain4j:docs.langchain4j.dev/
- OpenAI API:platform.openai.com/docs
开源项目
- Spring AI — Java AI 应用开发框架
- Ollama — 本地模型一键运行
- Dify — 可视化 AI 应用开发平台
- RAGFlow — 开源 RAG 引擎
社区
- Hugging Face — 模型与数据集
- Papers with Code — 最新论文与实现
- Spring AI GitHub Discussions — 框架讨论
总结
AI-Native 不仅是技术栈的更新,更是思维方式的转变:
- 从确定性到概率性:接受 AI 输出的不确定性,设计容错与兜底机制
- 从功能到智能:让系统具备理解、推理、学习的能力
- 从人工到自主:减少人工干预,通过数据飞轮实现持续进化
- 从静态到动态:系统行为随数据和反馈不断演进,而非固定不变
核心心法:AI-Native = 数据驱动 + 智能编排 + 持续进化