第一章 先想明白:你转的到底是 "AI 开发" 还是 "Agent 工程"
很多 Java 后端第一次接触 AI,会把三件事混成一件事:调用大模型、RAG、Agent。这三者的技术含量和面试含金量差着好几个等级,混着学的人最后往往什么都学不深。
调用大模型是最底层的东西。用户把一段异常日志丢给模型,模型回一段分析,这就是一个 LLM Application。它是一条直线:用户 → Prompt → LLM → 回答。你写个 Controller,调一次 API,把结果原样返回,完了。这条路三个月前还有人在学,现在没有任何壁垒。
RAG往上走一层。文档解析、切分、Embedding、向量检索、重排,最后把检索到的上下文喂给模型。它解决的是 "模型不知道你企业的私有知识" 这个问题。这一层有工程含量,但它本质上还是个 "检索 + 生成" 的管道,路径基本固定。
Agent是另一个物种。它的执行路径不是固定的,是模型在约束范围内现场决定的。用户说 "帮我分析昨天 Flink 任务为什么失败",传统程序是写死if (有异常) 查日志 else 查 checkpoint,而 Agent 会自己规划:先查异常日志,发现 OOM,再查最近一次 checkpoint 大小,发现从 300MB 涨到 4GB,再查 Kafka backlog,发现 lag 爆炸,最后综合出结论 "checkpoin