解决什么问题
明确应用场景、目标用户、核心价值,先做最小可用闭环,不一开始追求大而全。
LLM 应用开发的重点,不是从头训练一个模型,而是把已有模型当作能力底座,通过 Prompt、数据、业务逻辑和工程流程,把它变成一个稳定可用的应用。
做 LLM 应用时,我要先回答三个问题:
解决什么问题
明确应用场景、目标用户、核心价值,先做最小可用闭环,不一开始追求大而全。
模型如何参与
判断模型负责问答、总结、抽取、分类、生成、规划,还是调用工具完成任务。
如何验证效果
准备真实样例,记录错误案例,再反过来优化 Prompt、数据、检索和流程。
| 对比 | 传统 AI 开发 | LLM 应用开发 |
|---|---|---|
| 核心工作 | 训练或调优专用模型 | 调用通用模型,组织业务流程 |
| 任务拆解 | 每个子任务可能需要单独模型 | 用 Prompt、工具、检索组合能力 |
| 数据作用 | 训练集、测试集、验证集 | 业务样例、知识库、Bad Case |
| 迭代方式 | 重新训练、调参、评测 | 改 Prompt、改检索、改工具、改流程 |
| 关注重点 | 模型指标 | 业务效果、稳定性、成本、可追溯 |
一句话:传统 AI 更像“训练模型”,LLM 应用更像“驾驭模型”。
确定目标
明确应用要解决的具体问题,例如知识库问答、文档总结、智能客服、代码助手。目标越清楚,后面的 Prompt 和架构越容易稳定。
设计功能
把需求拆成输入、处理、输出。先做核心功能,再考虑上传文件、历史记录、权限、反馈等配套能力。
搭建架构
连接用户输入、模型、数据源、检索系统、工具调用和输出展示。不是所有应用都需要 RAG 或 Agent,按任务复杂度选择。
准备数据
如果应用依赖私有知识,就需要解析文档、清洗数据、分块、生成向量、保存元数据,并设计更新机制。
设计 Prompt
Prompt 用来说明角色、任务、上下文、输出格式和约束。复杂任务要拆步骤,结构化输出要提前规定字段。
验证迭代
用真实样例测试效果。遇到错误时先定位问题来自模型、Prompt、检索、数据还是业务逻辑,再改对应环节。
上线维护
上线后继续记录日志、成本、延迟和 Bad Case。LLM 应用不是写完就结束,而是持续调优。
LLM 应用最重要的迭代素材是 Bad Case,也就是模型回答不稳定、不准确、不符合业务预期的真实样例。
| Bad Case 类型 | 常见原因 | 优化方向 |
|---|---|---|
| 答非所问 | Prompt 目标不清楚 | 明确任务、补充边界、拆步骤 |
| 编造事实 | 缺少外部材料或约束 | 接入 RAG,要求基于材料回答 |
| 格式混乱 | 输出格式没写清 | 使用 JSON、表格或固定模板 |
| 检索不到 | 文档分块或索引不好 | 调整分块、Embedding、召回策略 |
| 成本过高 | 上下文太长或调用太多 | 压缩上下文、缓存结果、减少链路 |