一文搞懂提示工程、RAG、微调——LLM应用开发的三个层次

简介: 本文直击LLM应用落地痛点,厘清提示工程、RAG与微调的本质差异与适用边界:提示工程管“怎么问”,RAG解“问什么”,微调改“模型认知”。拒绝盲目微调,倡导分层诊断、闭环迭代,助你少走弯路、高效落地。

上个月,我参与了一个技术评审会。

某团队花了三个月,用大模型做了一个智能客服。演示效果不错,但上线第一周就翻车了。用户问“我的订单怎么还没到”,模型回答“建议您联系快递公司”。用户追问了两句,模型开始编造物流信息。

评审会上,leader问了一句:你们有没有做RAG?团队负责人愣了一下,说:我们做了提示工程,还微调了模型。

我听完就明白问题在哪了。

最近半年,我见过太多类似的案例。很多人已经开始感觉到:光会调用API不行了。提示词写了又写,模型还是瞎编。微调跑了好几轮,效果提升不明显。更麻烦的是,你根本不知道问题出在哪个环节。

这篇文章,我想把这三件事彻底讲清楚。不讲空话,直接给判断。

目录
现象:为什么你的LLM应用总是差点意思
本质变化:从“规则匹配”到“概率生成”
核心机制拆解:三个层次的定位与边界
典型案例对比:同一个需求,三个方案效果差多少
工程落地启示:别上来就微调,先诊断瓶颈在哪
用一个问题收尾
一、现象:为什么你的LLM应用总是差点意思
先看三个真实场景。

场景A:你写了一段精心设计的提示词,要求模型输出JSON格式。10次调用里,有2次返回了纯文本。你加上了“一定要输出JSON”,效果好了两天,后来又崩了。

场景B:你做了一个企业知识库问答系统。用户问“我们公司的年假政策”,模型回答的内容跟公司规定完全对不上。你把政策文档塞进上下文,token消耗暴涨,响应时间也慢了一倍。

场景C:你花了钱微调了模型,想让模型学会特定的业务逻辑。结果发现在训练集上表现不错,一遇到真实用户提问又开始乱说。你怀疑是数据质量的问题,但不知道该从哪里查起。

这些问题的本质是什么?

不是模型不够强,是你选错了工具。

提示工程、RAG、微调,这三件事解决的是完全不同的问题。很多人把它们混在一起,用提示工程去解决本该RAG做的事,用微调去解决提示工程能解决的问题。结果是事倍功半,还找不到根因。

观点句1:提示工程解决的是“怎么问”,RAG解决的是“问什么”,微调解决的是“模型本身的认知边界”。

二、本质变化:为什么会这样
传统软件开发的思维是确定性的。

你写if else,输入A必然输出B。你写SQL,查询条件确定,结果就确定。

但大模型不是。它是一个概率系统。同样的输入,每次输出可能不一样。它不知道“不知道”,当它不确定的时候,它会编。

这带来了一个根本变化:

你不再能通过“写更详细的规则”来解决问题。你需要换一套方法论。

这套方法论的核心是分层。

LLM应用开发有三个层次:

交互层:怎么跟模型对话。这是提示工程。
知识层:模型从哪里获取实时、准确的信息。这是RAG。
能力层:模型本身的认知和输出风格怎么改变。这是微调。
每一层解决的问题不同,需要的成本和数据量也不同。

很多人一上来就冲微调,觉得“让模型学会我的业务”才是正解。但实际上,绝大多数问题用提示工程就能解决一半,再用RAG解决另一半。微调是最后20%的提升手段,不是起手式。

三、核心机制拆解:三个层次的定位与边界
3.1 提示工程:被低估的“结构化对话能力”
很多人觉得提示工程就是写prompt。这句话对了一半。

写prompt没错,但真正的提示工程是在做一件事:约束模型的输出空间。

模型本身是一个概率分布。你给它一个开头,它会预测下一个最可能的token。提示词的作用就是改变这个概率分布的起点。

本质是:通过示例、格式约束、思维链,让模型的生成路径收敛到你想要的区域。

怎么做?

Few-shot:给2-3个示例,模型会模仿这个模式
格式约束:明确要求输出JSON、Markdown、XML
思维链:让模型先输出推理过程,再给答案
但提示工程有边界。它解决不了知识缺失的问题。模型不知道你公司的内部系统,你写再好的prompt它也不知道。

观点句2:提示工程不是玄学,是把“概率分布”约束到“可接受区域”的工程手段。

3.2 RAG:解决“知识截止”和“幻觉”的唯一正解
RAG的核心逻辑很简单:检索增强生成。

但在工程上,它解决了一个本质问题:让模型在不重新训练的情况下,获得外部知识。

怎么做?

把文档切块,向量化,存入向量数据库
用户提问时,把问题向量化,检索最相似的文档片段
把检索结果拼接进prompt,让模型基于这些信息回答
RAG解决了两个痛点:

知识截止:模型训练后的新信息,通过检索实时获取
幻觉:让模型“基于给定材料回答”,大幅降低编造概率
但RAG也有坑。检索质量决定了回答质量。你切块策略不对,检索出来的内容不相关,模型还是会瞎编。你需要一个反馈闭环来持续优化检索。

mermaid流程图可以看得更清楚:

395b8527-605a-40a0-b2e4-703b6a212f31.png

3.3 微调:最后的武器,别轻易用
微调的本质是改变模型的权重。

提示工程和RAG都不改变模型本身。微调会。它让模型在特定任务上表现得更好。

什么时候用微调?

提示工程搞不定的输出格式或风格
RAG检索结果对了,但模型理解错了
需要模型学会特定的“思维方式”
但微调的代价很大:

需要高质量的标注数据,至少几百到上千条
训练成本高,迭代周期长
可能导致模型在其他能力上退化(灾难性遗忘)
微调解决的是模型“认知能力”的问题,不是知识的问题。如果你是想让模型知道你公司的新政策,应该用RAG,不是微调。

观点句3:微调改变的是模型本身,RAG改变的是模型看到的信息。区分这一点,能避免80%的无效投入。

四、典型案例对比:同一个需求,三个方案效果差多少
假设一个需求:让模型识别用户投诉的紧急程度,并自动分发给对应部门。

方案一:纯提示工程
提示词写清楚分类规则和输出格式。效果很快,零成本。

问题:当投诉描述很隐晦时,模型容易误判。比如“我等了三天了”,没有明确说“投诉”,但应该是高优。

方案二:提示工程 + RAG
检索历史投诉案例库。遇到新投诉时,找到相似的历史case和对应的处理方式。模型参考这些案例来分类。

效果明显提升。因为模型不是凭空判断,而是有据可依。

方案三:微调
用上千条已标注的投诉数据微调模型。模型学会了这套分类逻辑,即使没有历史案例也能判断。

但问题是:业务规则变了怎么办?你得重新收集数据,重新微调。迭代成本很高。

实际工程中的最佳实践是:RAG兜底知识,提示词约束行为,微调只用在那些“RAG解决不了”的地方。比如模型总是把中等优先级误判为高优,这时候用少量badcase做微调。

五、工程落地启示:对测试和开发意味着什么
如果你是测试工程师,这套方法论直接影响了你怎么做质量保障。

传统测试是输入输出校验。LLM应用的测试需要分层:

提示词层的测试:格式稳定性、边界case
RAG层的测试:检索召回率、排序质量、切块策略有效性
微调层的测试:能力保持评估、退化检测
如果你是开发工程师,你需要回答一个问题:你的系统有没有反馈闭环?

很多团队只做了“生成”,没有做“评估”。用户反馈了badcase,没有回流到知识库或训练数据。这意味着同样的问题会反复出现。

最轻量的闭环是:把线上badcase人工审核后,写进提示词的few-shot示例。再进一步,更新到RAG的知识库。最后才考虑微调。

这套思路对在校生也有用。你不需要在实验室里跑大模型微调才能学到东西。理解分层思想、动手搭一个RAG系统、写几个高质量的few-shot prompt,比跑一个微调脚本有工程价值得多。

六、用一个问题收尾
几个月前我问过一个团队:你们现在的LLM应用,从用户反馈到模型改进,走完一个闭环需要多久?

大部分人回答:不知道。因为我们没有这个流程。

那我换个方式问:

你现在的系统,是否具备了从线上badcase到训练数据或知识库的反馈闭环?

如果没有,提示工程、RAG、微调学得再好,也跑不通。因为真正让系统变好的不是单次的技术选型,而是持续迭代的工程机制。

你可以把这个问题带回去,问你的团队。

相关文章
|
5天前
|
人工智能 自然语言处理 文字识别
阿里云百炼Qwen3.7-Max简介:能力、优势、支持订阅计划参考
Qwen3.7-Max是阿里云百炼面向智能体时代推出的新一代旗舰模型,对标GPT-5.5、Claude Opus 4.7等闭源旗舰。该模型支持百万级token上下文窗口,具备顶级推理能力、多模态搜索与视觉理解增强、流式输出低延迟响应等核心优势,覆盖编程、办公、长周期自主执行等复杂场景。同时支持OpenAI接口兼容,便于系统快速迁移。用户可通过Token Plan团队或节省计划等订阅方式灵活调用,适合企业级高要求场景使用。
8554 37
阿里云百炼Qwen3.7-Max简介:能力、优势、支持订阅计划参考
|
4天前
|
缓存 测试技术 API
Qwen 3.7 Plus 与 Max 实测:性价比与多模态能力差异解析(2026)
2026 年 6 月 1 日,阿里悄无声息地发布了 Qwen 3.7 Plus,距 Qwen 3.7 Max 上线刚好 11 天。同样的 1M 上下文,同样的 35 小时自治上限。但价格才是头条:Plus 是 0.40/M输入,Max是 2.50/M——便宜约 6 倍——并且还能看图、看视频。Vision Arena 上 Plus 已经排到 #16。所以这周真正值得讨论的问题不是”要不要为视觉能力买单”,而是”Max 凭什么用 6 倍价格换来 2 个百分点的 benchmark 领先”。
|
5天前
|
JavaScript 定位技术 API
CodeGraph 爆火:编程 Agent 需要的不是更多上下文,而是一张提前画好的代码地图
CodeGraph 是一款爆火的本地代码智能工具,通过 tree-sitter 解析 AST 构建结构化知识图谱(存于 SQLite),为编程 Agent 提前生成“代码地图”。它显著降低 Agent 在中大型项目中的探索成本——实测工具调用减少71%、Token 降57%、速度提升46%,支持19+语言及主流框架路由识别,完全离线、无需 API Key。
634 3
CodeGraph 爆火:编程 Agent 需要的不是更多上下文,而是一张提前画好的代码地图
|
5天前
|
人工智能 运维 JavaScript
阿里云Qoder CN(原通义灵码)全解析 产品形态、版本划分与技术适配说明
在AI辅助开发与智能办公工具持续普及的当下,阿里云旗下原通义灵码正式更名为Qoder CN,同时延伸出QoderWork CN、Qoder CN CLI、Qoder CN Mobile等多款配套产品,形成覆盖代码开发、日常办公、终端交互、移动端使用的完整工具矩阵。Qoder CN核心定位为AI智能编码助手,深度适配主流代码编辑器、集成开发环境以及终端场景;QoderWork CN则偏向桌面端综合办公辅助,二者面向不同使用场景,划分了多个版本档位,搭配差异化资源配额、功能权限与计费规则,同时兼容多款主流大模型。
633 5
|
5天前
|
数据采集 人工智能 前端开发
让 Coding Agent 从黑盒到透明:阿里云 Agent 观测审计数据采集实践
AI Agent 规模化落地带来执行黑盒、行为难追溯、成本难度量三大难题。阿里云基于 OTel 标准,面向 Coding Agent、个人通用助理和框架型 Agent,推出 LoongSuite Pilot、插件及探针等无侵入采集方案,让 Agent 实现可看见、可分析、可审计、可治理。
716 148
|
5天前
|
人工智能 缓存 自然语言处理
阿里Qwen3.7-Max评测:Agent能力显著提升,耗时与调用成本大幅下降
阿里云百炼推出面向智能体的旗舰大模型Qwen3.7-Max,具备长周期自主执行能力,显著提升编程、办公自动化等复杂任务处理水平;支持MCP集成与多框架兼容,并以限时5折+100万Tokens免费试用大幅降低使用门槛,助力企业高效落地AI应用。在阿里云百炼平台快速体验:https://t.aliyun.com/U/fPVHqY
1953 10
|
5天前
|
存储 安全 Java
AgentScope Java 2.0:打造分布式、企业级智能体底座
AgentScope 2.0 面向分布式部署、稳定运行、权限安全等企业级需求全面升级,打造支持多租户隔离与长期稳定运行的企业级智能体底座。
|
5天前
|
人工智能 运维 API
2026年阿里云百炼通义千问Qwen3.7-plus深度介绍 功能特性、使用优势及618大促订阅方案指南
大模型技术的普及,让AI能力逐步融入个人办公、内容创作、代码编写、企业运营、教育培训等各类场景。不同定位的模型对应不同使用需求,旗舰级模型性能强劲但使用成本偏高,轻量化模型价格低廉却难以胜任复杂任务,而介于两者之间的中端主力模型,凭借均衡的能力、亲民的定价、广泛的场景适配性,成为绝大多数个人用户、小型团队、中小企业的首选。
758 1
|
5天前
|
人工智能 安全 定位技术
CodeGraph深度解析 让Claude Code工具调用直降七成的核心原理与实操教程
如今以Claude Code为代表的AI编程智能体已经成为开发者日常编码、项目重构、漏洞修复的必备工具。但在长期使用过程中,几乎所有开发者都会遇到同一个明显痛点:AI虽然具备强大的代码生成与分析能力,却常常陷入盲目探索的循环中。
1350 2
|
5天前
|
人工智能 运维 自然语言处理
阿里云百炼Qwen3.7-Max模型详解:综合能力、核心优势与订阅计划参考指南
2026年,大模型技术持续向通用化、高性能、场景化方向迭代,阿里云百炼作为一站式大模型服务平台,持续推出迭代升级的模型产品,Qwen3.7-Max便是当前主力旗舰级大模型之一。该模型依托深度优化的底层架构与大规模训练数据,在文本理解、逻辑推理、多模态交互、代码生成、长文本处理等多个维度实现能力升级,同时搭配灵活的订阅计划体系,能够适配个人开发者、中小企业、大型企业、政企机构等不同类型用户的使用需求。
553 2