Java 转 AI Agent 开发精简指南
核心理念:发挥 Java 构建复杂系统的特长,成为连接大模型与业务落地的"智能工作流设计者"
一、核心概念
| 概念 |
说明 |
重要度 |
| Prompt Engineering |
提示词工程,与 LLM 交互的基础 |
⭐⭐⭐ |
| Chat Model |
聊天模型调用(同步/流式) |
⭐⭐⭐⭐⭐ |
| Chat Memory |
多轮对话上下文记忆 |
⭐⭐⭐⭐ |
| Embeddings |
文本转向量,语义搜索基础 |
⭐⭐⭐⭐ |
| Vector Store |
向量数据库(PGVector / Milvus / Chroma) |
⭐⭐⭐⭐ |
| RAG |
检索增强生成,企业落地 80% 场景 |
⭐⭐⭐⭐⭐ |
| Function Calling |
LLM 调用外部工具/API |
⭐⭐⭐⭐⭐ |
| Agent |
自主决策、规划、调工具的智能体 |
⭐⭐⭐⭐⭐ |
二、框架选型
| 框架 |
定位 |
适合场景 |
| Spring AI |
Spring 官方,自动配置 |
企业级 Spring 项目 |
| LangChain4j |
轻量,Builder 模式 |
快速原型 / 非 Spring 项目 |
| LangChain (Python) |
生态标准,概念参考 |
理解原理,不一定要写 |
建议:先学 LangChain4j 理解概念,再学 Spring AI 做企业整合
三、学习路线 + 视频资源(4-6个月)
阶段一:基础入门(1-2周)
阶段二:核心功能(2-3周)
阶段三:Agent 开发(2-3周)
阶段四:项目实战(1-2月)
四、核心原理
RAG 流程
用户问题 → Embedding → 向量检索 → Top-K 文档 → 组装 Prompt → LLM 生成
Agent 循环
用户目标 → LLM 规划 → 调用工具 → 观察结果 → 继续规划 → 完成任务
Function Calling 原理
1. LLM 决定调用哪个函数
2. 返回函数名 + 参数
3. 执行函数
4. 结果返回 LLM
5. LLM 生成最终回答
五、代码示例
LangChain4j
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-open-ai</artifactId>
<version>1.12.2</version>
</dependency>
// 基础对话
OpenAiChatModel model = OpenAiChatModel.builder()
.apiKey("your-api-key")
.modelName("gpt-4o-mini")
.build();
// AI Services(声明式)
interface Assistant {
@SystemMessage("你是一个友好的助手")
String chat(String message);
}
Assistant assistant = AiServices.builder(Assistant.class)
.chatModel(model)
.chatMemory(MessageWindowChatMemory.withMaxMessages(10))
.tools(new WeatherTools()) // Function Calling
.contentRetriever(retriever) // RAG
.build();
Spring AI
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-openai-spring-boot-starter</artifactId>
</dependency>
@Autowired ChatClient chatClient;
// 基础对话
chatClient.prompt("你好").call().content();
// Function Calling + RAG
chatClient.prompt()
.user("北京天气如何?")
.tools(new WeatherTools())
.advisors(new QuestionAnswerAdvisor(vectorStore))
.call()
.content();
六、Java 开发者优势
高并发/高可用架构 → 复杂 AI 工作流设计
企业级系统开发 → AI 应用工程化落地
Spring 生态熟悉 → Spring AI 快速上手
微服务架构经验 → 多 Agent 系统设计
七、避坑指南
| 坑 |
解法 |
| API Key 硬编码 |
用环境变量 |
| Token 超限 |
合理切分文档,注意 context window |
| 成本失控 |
开发用 gpt-4o-mini 等便宜模型 |
| 向量库选型 |
小项目 PGVector 够用 |
| 效果不好 |
先调 Prompt,再改代码 |
| 用户体验差 |
生产环境必须流式输出 |
| 纠结 Python |
Java 生态够用,Python 辅助理解即可 |
八、学习资源汇总
文档
模型平台
| 平台 |
用途 |
| OpenAI |
GPT-4o / gpt-4o-mini |
| 阿里云百炼 |
通义千问(国内首选) |
| DeepSeek |
国产,性价比高 |
| 智谱 AI |
GLM 系列 |
向量数据库
| 数据库 |
场景 |
| PGVector |
小项目、已有 PostgreSQL |
| Milvus |
生产级、大规模 |
| Chroma |
本地开发测试 |
学习心法:概念理解 → 跑通 Demo → 改造业务 → 性能优化
重点:RAG 是企业落地核心,Function Calling 是 Agent 基础