基于《Java 开发转 Agent 开发完整学习清单》编写的实战教程
学习时间: 2-4 周
核心内容:
- LLM API 基础概念(Token、上下文窗口、Temperature)
- Java 调用 LLM API(同步、流式、结构化输出)
- Prompt Engineering 实战技巧
- 成本与性能控制
- 错误处理与降级策略
- 完整示例:订单意图识别服务
实战项目:
- 文本分类器
- 信息抽取工具
- 流式聊天机器人
学习时间: 2-3 周
核心内容:
- Tool Calling 工作原理
- Spring AI 工具定义与注册
- 业务方法封装为 LLM 工具
- 参数校验与错误处理
- 工具安全控制(只读/写操作分级)
- 人工确认机制
- 完整示例:客服 Agent
实战项目:
- 商品搜索工具
- 订单取消工具
- 多工具协作 Agent
学习时间: 3-4 周
核心内容:
- RAG 核心原理与工作流程
- 文档解析(PDF、Word)
- 文档切分策略(固定大小、段落、语义)
- 向量化与相似度计算
- pgvector 向量数据库
- 混合检索(向量 + 关键词)
- 权限过滤与引用溯源
- 完整示例:企业知识库问答系统
实战项目:
- 简单知识库构建
- 检索质量优化
- 完整问答系统(RAG + Tool Calling)
预计时间: 3-4 周
主要内容:
- ReAct Agent 模式
- Plan-and-Execute 模式
- LangGraph 状态机
- 多步骤任务编排
- 中断与恢复
- Human-in-the-loop
预计时间: 2-3 周
主要内容:
- Spring AI 核心组件
- LangChain4j AI Service
- Memory 管理
- Advisors 机制
- 可观测性集成
预计时间: 2-3 周
主要内容:
- MCP 协议基础
- MCP Server 开发
- 企业系统集成
- 安全与权限控制
预计时间: 2-3 周
主要内容:
- Golden Dataset 构建
- Prompt 回归测试
- RAG 评估指标
- Tool Calling 评估
- Trace 与监控
预计时间: 2-3 周
主要内容:
- Prompt Injection 防护
- 数据安全与权限
- 本地模型部署(Ollama、vLLM)
- 性能优化与压测
- 完成教程 01:LLM API 与 Prompt 基础
- 实战练习:构建简单的 LLM 调用 Demo
- 验收标准: 能稳定调用 LLM API,实现结构化输出
- 完成教程 02:Tool Calling
- 完成教程 03:RAG
- 实战练习:构建业务 Agent(查询 + 知识库)
- 验收标准: 能封装业务工具,能构建知识库问答
- 完成教程 04:Agent 工作流编排
- 完成教程 05:Spring AI 与 LangChain4j
- 实战练习:工单处理 Agent
- 验收标准: 能设计多步骤 Agent 流程
- 完成教程 06:MCP 与系统集成
- 完成教程 07:评估与可观测性
- 完成教程 08:安全与部署
- 验收标准: 能部署生产级 Agent 应用
优势:
- ✅ Spring Boot 生态熟悉,易上手 Spring AI
- ✅ 权限、安全、审计经验直接复用
- ✅ 工程能力强,容易构建稳定系统
挑战:
⚠️ LLM 的非确定性需要适应⚠️ Prompt Engineering 是新技能⚠️ 向量检索与传统数据库查询不同
建议:
- 先理解概念,再动手编码
- 多做实验,Prompt 需要迭代优化
- 关注 Token 成本,生产环境要控制
- 重视错误处理和降级策略
从简单到复杂,逐步实现:
-
文档问答助手(RAG 入门)
- 上传公司制度文档
- 实现问答功能
- 标注引用来源
-
客服 Agent(Tool Calling + RAG)
- 查询订单状态
- 查询物流信息
- 查询知识库
- 创建工单
-
工单处理 Agent(工作流)
- 自动分类工单
- 检索解决方案
- 生成处理建议
- 人工审核后执行
-
代码审查 Agent(高级)
- 读取代码文件
- 分析潜在问题
- 生成审查报告
- 提供修复建议
- JDK: 17+
- Maven/Gradle: 最新版
- IDE: IntelliJ IDEA / VS Code
- PostgreSQL: 14+ (带 pgvector 扩展)
- Redis: 用于缓存
Maven 核心依赖:
<dependencies>
<!-- Spring AI -->
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-openai-spring-boot-starter</artifactId>
<version>1.0.0-M4</version>
</dependency>
<!-- LangChain4j -->
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-spring-boot-starter</artifactId>
<version>0.28.0</version>
</dependency>
<!-- 文档解析 -->
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>3.0.1</version>
</dependency>
<!-- PostgreSQL + pgvector -->
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
</dependency>
</dependencies>API Keys:
# .env 文件
OPENAI_API_KEY=sk-xxx
ANTHROPIC_API_KEY=sk-ant-xxx- 理解 Token、上下文窗口、Temperature
- 能用 Java 调用 LLM API
- 掌握 Prompt 基本结构
- 实现结构化输出
- 完成订单意图识别 Demo
- 封装业务方法为工具
- 实现参数校验和错误处理
- 解析和切分文档
- 搭建向量数据库
- 完成知识库问答系统
- 理解 ReAct 模式
- 使用 LangGraph 构建状态机
- 实现多步骤任务编排
- 完成工单处理 Agent
- 实现 MCP Server
- 构建评估体系
- 部署到生产环境
- 实现监控和告警
如果你在学习过程中发现问题或有改进建议,欢迎反馈。
- v0.1 (2024-07-01)
- 完成教程 01:LLM API 与 Prompt 基础
- 完成教程 02:Tool Calling
- 完成教程 03:RAG
- 克隆或下载本教程
- 从教程 01 开始学习
- 跟随代码示例动手实践
- 完成每个教程的实战练习
- 构建自己的 Agent 项目
祝学习顺利!从 Java 开发到 Agent 开发,你可以的! 🚀