选型前先写下失败原因:答案缺少私有或最新知识?输出风格和任务习惯不稳定?还是必须调用系统完成多步操作?问题不同,投入方向就不同。

先看一张决策表

你真正需要的能力优先方案核心代价
引用企业文档、回答最新信息RAG检索质量、索引更新、引用校验
稳定语气、格式或领域任务习惯微调 / LoRA高质量样本、训练与回归评测
搜索、计算、下单、操作软件Agent + 工具权限、安全、状态与失败恢复
既查资料又执行流程RAG + Agent链路更长,必须逐段观测

RAG:把可更新知识放在模型外

RAG 的典型流程是把问题编码成向量,从文档索引中检索相关片段,再把片段与问题一起交给生成模型。原始 RAG 论文将语言模型的“参数记忆”与外部的“非参数记忆”结合,在知识密集型任务上获得了更具体、更事实化的输出。

问题检索证据片段生成 + 引用

它适合制度问答、产品知识库、研究助手和需要来源的客服。它的主要风险不在“向量数据库选错”,而在召回不到正确资料、切块破坏上下文、旧文档未下线,以及模型虽然拿到证据却没有忠实使用。

微调:改变模型的行为分布

微调适合把大量一致示例转化为稳定行为,例如固定分类体系、结构化抽取、品牌语气或特殊代码风格。LoRA 冻结原模型权重,只训练注入层中的低秩矩阵;论文在其设置中大幅减少了可训练参数和显存需求,同时保持有竞争力的效果。

但不要把微调当作更新知识库。训练进去的事实难以精确删除、更新和引用。若业务每天变化,通常应该把变化留给检索系统,把微调用于“怎么答”。

Agent:让模型进入行动循环

Agent 通常让模型在“观察—判断—调用工具—读取结果”的循环中完成目标。ReAct 研究将推理轨迹与环境动作交错,使外部信息可以修正计划,也让行动过程更可解释。

观察计划工具验证

Agent 适合跨系统流程,例如“查库存—比较供应商—生成采购草案—等待审批”。每增加一个工具和一步循环,就增加一次失败、越权和成本失控的机会,因此工具权限与停止条件比提示词更重要。

什么时候组合

真实应用经常是组合题。一个技术支持 Agent 可以先用 RAG 查询产品文档,再调用诊断接口,最后生成需要人工确认的修复方案;微调则负责稳定分类标签和输出格式。合理分工是:

  • 知识经常变化:放在 RAG 中。
  • 行为需要大量示范:考虑微调。
  • 必须影响外部世界:通过受控工具交给 Agent。
  • 确定性规则:继续写在普通程序里,不要交给模型猜。
最小可行顺序

先用提示词和少量示例验证价值;需要私有知识时加 RAG;行为仍不稳定且已有高质量数据时再微调;只有业务确实需要跨步骤行动时才引入 Agent。

别只测“感觉不错”

为每条链路建立单独指标:检索测 Recall@K 与证据覆盖,生成测忠实度与引用正确率,微调测目标任务和通用能力回归,Agent 测任务成功率、错误动作率、人工接管率、成本与延迟。否则系统失败时,你只会看到一句“模型答错了”。

资料来源