什么是提示词工程?
提示词工程是优化文本提示词获得更好LLM响应。 不改变模型或添加外部数据。改变提示词本身: 指令清晰性、示例、输出格式、语气、分步推理。例: "用JSON格式回答"(格式)、"这是3个例子"(few-shot)、"逐步思考"(推理结构)。提示词工程有效因为LLM对措辞敏感──同样问题不同表述会产生不同质量响应。
什么是RAG?
RAG(Retrieval-Augmented Generation)从外部知识库检索相关文档,然后输入LLM提示词。 LLM基于提示词和检索上下文生成响应。例: 用户问"我们的退货政策是什么?" → RAG检索政策文档 → LLM基于那些文档生成答案。RAG解决"事实幻觉"问题: LLM参考文档而不是猜测。
并列对比
直接对比:
| 方面 | 提示词工程 | RAG |
|---|---|---|
| 功能 | 优化提示词 | 检索 + 生成 |
| 外部数据需要 | 否 | 是(知识库) |
| 每次请求成本 | $0.001-0.01 | $0.005-0.05 |
| 延迟 | ~200ms | ~1-3s |
| 幻觉风险 | 高(知识不足) | 低(文档保证) |
| 需要基础设施 | 无 | 向量DB、嵌入模型、检索 |
| 最适用于 | 推理、创意、通用Q&A | 知识密集、基于事实、专有数据 |
提示词工程: 优势 & 限制
优势: (1) 无外部基础设施──仅需提示词和LLM。(2) 低成本──单个API调用,最少代币。(3) 快速──~200ms端到端。(4) 推理好──LLM擅长逻辑和创意。(5) 灵活──可即时添加示例、分步指令、输出格式。 限制: (1) 事实幻觉──LLM不知道的事实会杜撰。(2) 知识截断──训练数据仅到特定日期。(3) 限定上下文窗口──无法参考数百万文档。(4) 无个性化──无法在不重新训练的情况下适应用户特定数据。
RAG: 优势 & 限制
优势: (1) 消除幻觉──响应由检索文档保证。(2) 实时知识──检索可获取今天数据、财务报告、邮件。(3) 个性化──可检索用户特定文档。(4) 合规性──控制模型访问哪些数据。(5) 可解释性──可显示哪些文档被引用。 限制: (1) 检索质量重要──差的检索→差的答案。(2) 高成本──检索+嵌入+长提示词=2-5倍成本增加。(3) 高延迟──增加500ms-2s检索。(4) 基础设施复杂──需要向量DB、嵌入模型、检索逻辑。(5) 仍可幻觉──如果检索文档不完整或矛盾。
成本 & 延迟权衡
成本: 提示词工程仅LLM代币成本($0.001-0.01/请求)。RAG增加: (1) 嵌入API($0.0001-0.001/1K代币)、(2) 向量DB存储($0.01-0.10/查询)、(3) 长提示词(上下文窗口中更多代币)。总RAG成本: $0.005-0.05/请求(2-5倍)。100万请求/月: PE $1,000-10,000。RAG $5,000-50,000。 延迟: PE ~200ms(单个LLM调用)。RAG ~1-3s: (1) 查询嵌入100-300ms、(2) 向量DB搜索10-100ms、(3) 文档检索100-500ms、(4) LLM生成500-2000ms。权衡: RAG较慢但知识任务更准确。
决策框架
问3个问题: 1. LLM已有知识? 如果任务是通用推理(数学、逻辑、创意写作、编码),LLM可能知道足够。用提示词工程。 如果任务需要: 公司文档、实时数据、专业知识、专有信息──LLM没有。用RAG。 2. 成本/延迟容限? 需要<500ms和最小成本(如高容量public API)则用提示词工程。可承受1-3s和2-5倍成本增加则用RAG。 3. 事实准确性多重要? 幻觉不可接受(法律、金融、医疗)则用RAG。幻觉可承受(头脑风暴、创意)则用提示词工程。 决策树: - 知识任务 + 准确性关键? → RAG - 通用推理? → 提示词工程 - 两者都需? → RAG + 提示词工程(检索上下文,优化呈现方式)
常见错误
- 提示词工程足够任务用RAG──增加不必要成本和延迟。例: 问GPT-4o"法国首都是什么"无需RAG。
- 知识任务用提示词工程──导致幻觉。例: LLM引用你公司政策但未via RAG提供。
- 构建RAG未投资检索质量──系统仅如其索引和排名。差检索→差答案。
- 认为RAG完全消除幻觉──RAG减少但未消除。如果检索找到不完整或矛盾文档,LLM仍可出错。
- 未测量端到端延迟──RAG延迟含检索+嵌入+LLM。总延迟对UX重要,非仅LLM响应时间。
- RAG无备用──检索失败或无结果,LLM获最少上下文。有备用计划(默认响应、更宽搜索重试)。
可以组合吗?
可以──应该。 知识密集应用最优方法: (1) RAG(检索相关文档)、(2) 提示词工程(优化上下文如何呈现给LLM)。例: 检索支持文档 → 提示词工程上下文格式 → LLM生成有用响应。结合RAG准确性和提示词工程清晰性。大多数生产系统两者都用。
相关阅读
FAQ
什么是提示词工程?
优化发送给LLM的文本获得更好响应。包括指令、示例、格式。无需外部数据。
什么是RAG?
RAG从知识库检索文档,输入LLM。响应由那些文档保证。
何时用提示词工程?
推理、创意、LLM已有知识。快速、便宜、无基础设施。
何时用RAG?
知识密集任务: 文档、实时数据、专业知识。幻觉不可接受时必需。
成本差?
PE: $0.001-0.01/请求。RAG: $0.005-0.05/请求(2-5倍高)。
哪个快?
PE: ~200ms。RAG: ~1-3s(检索、嵌入、LLM)。
可同时用?
可以。RAG检索上下文,提示词工程优化呈现。最强方法。
哪个准?
RAG对事实准确(基于文档)。PE对推理和创意足够。
检索失败?
知识库无相关文档,LLM最少上下文可能幻觉。
该微调代替?
微调教新行为。知识用RAG更便宜快。RAG用事实,微调用行为。