English version: AI Learning Roadmap 07 · LLM Application Engineering
07 · 大模型应用工程
AI 学习路线图 · 第 7 站(共 9 站)
为什么这一站重要
第 0–6 站教你模型是什么。这一站教你用它们做什么——而这里正是大部分工作所在。行业不是在招人训练 GPT 规模的模型;它是在招人构建建立在模型之上的可靠系统:基于公司知识库的聊天机器人、能执行操作的助手、把文档变成答案的流水线。
定义这一站的残酷真相:裸的大模型不是产品。 它会幻觉、有知识截止、不知道你的数据、每个 token 都要花钱、对同一个问题给出不同答案。应用工程就是在这些局限周围做设计的技艺——用提示、检索、工具、评估和纪律性的架构——直到剩下的东西变得可靠。
核心概念
1. 提示工程 —— 第一层
提示不是"好好跟 AI 说话"。它是从模型身上引出可靠行为的纪律:
- 系统消息 vs 用户消息 —— 系统消息设定长期规则("你是客服。只根据提供的上下文回答。不确定就说不知道。");用户消息是请求。这个分离是你的第一个可靠性工具。
- 零样本 vs 少样本 —— 零样本:直接问。少样本:给 2–5 个输入/输出示例,让模型模式匹配你的格式和风格。少样本是提升一致性的最便宜手段。
- 思维链(CoT) —— 让模型在回答前逐步推理("让我们一步步想")。对数学、逻辑和多步问题,这能实实在在地提升准确率。变体:自洽性(采样多次推理再投票)、(结构化任务里)"先私密思考,再用 JSON 回答"。
- 结构化输出 —— 通过 JSON 模式或输出 schema 逼模型返回 JSON,让下游代码能可靠解析。这是模型和程序对话的方式。
- 提升可靠性的提示模式 —— 显式规则("绝不编造引用"、"如果上下文里没有答案,就说:我不知道")、分隔符、长度/格式约束。
- 提示不够用的时候 —— 提示改变行为,不改变知识。如果模型需要它没有的事实,你需要检索(RAG)。如果它需要全新的行为,你可能需要微调。永远先试提示;但要知道它的天花板。
2. 函数调用与工具设计 —— 给模型一双手
模型可以调用函数:它输出结构化请求("调用 get_weather(city='北京')"),你的代码执行函数,结果被喂回对话。这是每个 AI 智能体(第 8 站)和今天每个有用集成的底层机制。
工具设计原则:
- 一个工具 = 一个定义清晰的能力,带清晰的描述——模型就是读这段描述来决定何时使用它。
- schema 优先于自由文本 —— 参数定义为带类型的 JSON;执行前先校验。
- 优雅失败 —— 工具把错误作为正常结果返回;模型能读到并调整。
- 权限与限制 —— 工具会执行真实副作用;破坏性操作(发邮件、写文件)要设确认门槛。
3. RAG —— 检索增强生成
**问题:**你的聊天机器人必须用你的文档回答,而模型从未见过这些文档——而且它会幻觉。
**想法:**生成之前,先从你的文档里检索相关段落,放进提示里:用证据给答案打地基。 这就是 RAG,是应用层最重要的一个模式。
文档 → 分块 → 嵌入 → 存入向量数据库
查询 → 嵌入 → 检索 top-k → 重排 → [上下文 + 问题] → 大模型 → 有依据的答案
每一环都有真实的设计选择:
- 分块(Chunking) —— 把文档切成片段(按段落/小节,200–1000 token)。太小 = 丢失上下文;太大 = 稀释相关性。块与块之间重叠有帮助。检索质量的胜负手在这里。
- 嵌入 —— 把文本映射成向量、语义相近即距离相近的模型。(你在第 4–5 站认识它们。)你的块和查询用同一个模型嵌入。
- 向量数据库 —— 按相似度存储和搜索嵌入:FAISS、Chroma、pgvector、Qdrant、Milvus、Pinecone。核心操作是近似最近邻搜索——在百万级向量上很快。
- 检索质量 —— 纯向量搜索漏掉精确匹配/词条匹配;混合检索(稠密 + BM25/关键词)通常更优;重排(一个小交叉编码器用查询对 top-50 重新打分)是整个 RAG 里杠杆最高的质量提升。
- 带上下文的生成 —— 提示词指示:"只根据上下文回答;引用来源;如果上下文里没有答案,就直说。"
- 失败模式 —— 榜首:分块糟糕(检索到的文本太粗)、上下文缺失(答案根本不在检索集里——先查召回率)、"迷失在中间"(模型忽略提示中段的上下文)、以及超出上下文的幻觉(尽管有指令)。通过把检索质量与生成质量分开诊断来定位。
决策框架(你会一直用):
| 需求 | 工具 |
|---|---|
| 不同的风格/格式 | 提示 |
| 模型缺少的知识 | RAG(新数据、私有数据或特定数据) |
| 全新的能力/行为 | 微调 |
| 执行操作 | 函数调用 → 智能体 |
| 成本/延迟压力 | 更小模型 + RAG + 缓存 |
先用 RAG;只有提示 + RAG 被证明失败才微调——它贵且冻结。
4. 应用架构 —— 生产思维
生产级大模型应用不止一个提示循环。按大致优先级排序的关切:
- 编排(Orchestration) —— 调用如何排序(检索 → 大模型 → 校验 → 可能再来一次大模型)。你可以用几个函数手搓,也可以用框架(LangChain——全家桶;LangGraph——显式图,现代选择;或厂商 SDK)。尽量用保持逻辑显式、可测试的最小框架——框架会老,你的理解不会。
- 缓存 —— 相同或相似查询很常见;缓存精确命中(Redis/DB),可选语义缓存(嵌入查询,找到近似重复就返回缓存答案)。这通常是你最大的成本杠杆。
- 重试、限流、超时 —— API 调用会失败;为此设计(指数退避、备用模型)。
- 流式输出 —— token 到了就返回;体感快 10 倍,用户觉得响应。
- 可观测性 —— 记录每次调用:输入、输出、token、延迟、成本、检索到的块、模型版本。看不见就无法改进。(LangSmith 等是专用的;结构化日志表也行。)
- 成本与延迟预算 —— 从第一天就度量每次查询的成本和 p95 延迟;设预算。token 数是成本单位——架构选择(模型大小、上下文大小、缓存)都是成本选择。
- 护栏 —— 输入过滤(提示注入尝试、滥用)、输出过滤(PII、不安全内容)、模型行为不端时的回退路径。
5. 评估 —— 让一切变真实的纪律
演示和产品的区别是评估。做法:
- 建黄金集 —— 50–200 个(先小后大)代表性输入及其期望行为:答案、格式、"好"长什么样。
- 自动化评分 —— 结构化任务用程序化检查(格式有效性、必填字段、检索上下文召回率)。开放答案用 LLM 当裁判:强模型按评分标准评输出(正确性、对上下文的忠实度、语气)。先拿小样本人工标签验证你的裁判。
- 回归测试 —— 每次改动(提示、分块、模型、检索)都重跑黄金集。一个改进三个回归,是回归而非改进。
- 检索指标与生成指标分开 —— 分开测检索 recall@k 和答案忠实度,你才知道失败住在哪。
- 生产 A/B —— 黄金集是实验室;生产指标(解决率、用户满意度、每次查询成本)是现场。两者都重要。
工具与技能
- 一个 LLM API(任何供应商)和一个开源模型用于回退/实验。
- 向量数据库 —— 先用 Chroma 或 FAISS(本地、简单),再升级 pgvector/Qdrant。
- LangGraph 或 LangChain —— 或你自己最小化的编排;刻意选择。
- 评估设施 —— 黄金集 + LLM 裁判脚本(或 LangSmith/Evals 框架)。
- 可观测性 —— 从第一天就结构化日志。
动手任务
- **提示练习(第 1 周)。**拿一个任务(比如从乱文本里抽取结构化信息)。迭代:零样本 → 少样本 → 系统规则 → JSON 输出。每步在 10 个测试输入上量正确率。感受工程带来的差别。
- **函数调用(第 1–2 周)。**搭一个带 2–3 个工具(比如计算器、天气 mock、搜索 mock)的小"助手"。让模型决定调哪个工具、调用它、把结果喂回去。这是所有智能体的骨架。
- **RAG —— 里程碑(第 2–4 周)。**选一个真实语料(你自己的文档、维基 dump 或公开文档)。搭完整管线:分块 → 嵌入 → 存储 → 检索 → 重排 → 生成。然后评估:造 20–30 个问题,测检索召回率和答案忠实度,迭代分块和检索直到分数上去。加混合检索和重排;量出增量。
- **成本与延迟审计(第 4 周)。**测你 RAG 应用每次查询的成本和 p95 延迟。加精确缓存;量改进。这就是"生产思维"的意思。
- **黄金集回归(第 4–5 周)。**把评估问题变成脚本化套件。改一次提示;跑套件;报告回归。你现在像专业人士一样做评估了。
里程碑检查点
满足以下条件,你才能进入第 8 站:
- 你在真实语料上建了 RAG 聊天机器人,检索和答案质量都有实测数据。
- 你有黄金集 + 自动评估,每次改动都能重跑。
- 你能解释提示 vs RAG vs 微调的决策框架。
- 你知道应用每次查询的成本,能说出三大成本驱动因素。
- 你至少实现了一个护栏和一个缓存,并知道它们为什么存在。
精选资源
- DeepLearning.AI 短课程—— "LangChain for LLM Application Development"、"Building Systems with the ChatGPT API"、"Building and Evaluating Advanced RAG"——每个 1–2 小时,正是这一站的实践。
- Anthropic —— "Building effective agents"—— 关于何时以及如何构建智能体最清晰的行业文章;现在读,第 8 站再读。
- Pinecone 学习中心—— 最好的免费 RAG 深度内容(分块策略、混合检索、重排)。
- LangGraph 文档与教程—— 如果选这个框架;其教程兼任架构模式。
- 《Building LLMs for Production》(O'Reilly)—— 想要深度时读的整本生产书(评估、成本、部署)。
时间规划
- **总计:**约 6 周,每周 10–15 小时(约 75 小时)。
- **建议安排:**第 1 周 → 提示 + 函数调用(任务 1–2);第 2–3 周 → 搭建 RAG(任务 3);第 4 周 → 评估、成本、缓存(任务 4–5);第 5–6 周 → 打磨、生产关切、里程碑。
衔接下一站
你的应用能基于数据回答问题,还能调用工具。第 8 站拆掉最后一个约束:系统不再每次请求回答一个查询,而是追求多步目标——规划、记忆、反复调用工具、一直干到任务完成。那就是智能体,也是整份路线图一路指向的地方。
No comments yet.