Xinwei Xiong · 2024 年 1 月 14 日
9 分钟 · 4288 字 · | EN

2024 AI 现场笔记:从大模型涌现到生产级 RAG,2026 再校准

这是一份从2024年初大模型分享会出发、在2026年重新校准的工程笔记。文章复盘涌现争议、Prefix LM、LoRA、QLoRA及Agent项目,逐项标明哪些判断仍成立、哪些已经变化,并给出面向生产环境的RAG评估、引用溯源、权限隔离、重排、拒答与可观测性实践,帮助团队把模型演示变成可验证、可审计的知识系统。

从2024大模型现场笔记走向2026生产级RAG系统

模型会更新,可靠性的账不会消失。

这篇文章最初写于 2024 年 1 月的一场大语言模型分享会。那时,行业的问题还是“模型能做什么”;两年后,更重要的问题变成了“系统凭什么值得相信”。

我没有把旧笔记涂成一篇仿佛从未犯错的新文章。时间留下的误判也有价值:它提醒我们,技术判断不是预言,而是带着证据期限的下注。以下每节都保留 2024 年的观察,并用 仍成立 / 已变化 / 当时误判 做 2026 年校准。

一、涌现:我们看到的是能力跃迁,还是尺子的刻度?

2024 年现场判断

当模型规模、数据和计算量越过某个阈值,一些在小模型上几乎观察不到的能力会突然出现。这个现象当时被广泛称为“大模型的涌现能力”。

2026 年校准:仍有争议,不能写成定论

Wei 等人的论文把涌现能力描述为:在较小模型中不存在、却在较大模型中出现的能力。随后,Schaeffer 等人指出,某些“突然出现”可能来自非线性或离散的评分方式;换成连续指标后,曲线可能平滑得多。两者并不必然矛盾:模型内部可能发生真实的能力变化,而我们选择的量尺也会放大或遮蔽变化。

因此,更稳妥的工程表达是:

  • 不把 benchmark 上的一次跳变解释为模型“理解了”或“觉醒了”;
  • 同时观察连续得分、失败类型和多次运行的方差;
  • 在目标业务分布上验证,不能用公开榜单替代真实验收。

结论:仍成立,但需要降温。 规模会带来新行为;“涌现”是待解释的观测,不是可以跳过评测的理由。

参考论文:Emergent Abilities of Large Language ModelsAre Emergent Abilities of Large Language Models a Mirage?

二、模型结构:Prefix LM 不是“能看见未来”

2024 年现场判断

旧笔记把 causal decoder 与 prefix decoder 对立起来,并称后者“同时考虑前文和后文,类似 BERT”。这个描述把 Prefix LM 与掩码语言模型混在了一起。

2026 年校准:当时误判

在 UniLM 的统一掩码框架中:

  • Causal LM:当前位置只能关注左侧 token,适合自回归生成;
  • Bidirectional LM:token 可以关注两侧上下文,适合理解任务;
  • Sequence-to-sequence / Prefix LM:作为条件的前缀内部可以双向注意;输出部分仍按因果顺序生成,并可关注全部前缀。

所以,Prefix LM 并不是生成时偷看尚未产生的答案。它真正改变的是 attention mask:让“输入条件”充分互相理解,同时保持“输出答案”自回归。

结论:结构概念需要纠正。 判断模型能否看见某个 token,应该读 attention mask,而不是只看“decoder”这个名字。

参考论文:Unified Language Model Pre-training for Natural Language Understanding and Generation

三、微调:LoRA 与 QLoRA 降低的是门槛,不是判断成本

2024 年现场判断

Adapter、LoRA、QLoRA 让团队不必更新全部模型参数,也能以较低显存成本完成领域适配。当时一张 RTX 4090 的 nvidia-smi 输出很有现场感,但它不能回答真正的问题:该不该微调,以及微调后是否更可靠。

2026 年校准:仍成立,但边界更清楚

LoRA 冻结预训练权重,在目标层注入低秩更新矩阵;QLoRA 进一步把冻结的基础模型量化到 4 bit,并通过 NF4、双重量化和 paged optimizers 降低微调显存需求。它们解决的是训练资源效率,不自动解决事实更新、权限控制或引用溯源。

可以用一个朴素的分界:

需求优先方案原因
固定语气、输出格式、任务行为LoRA / QLoRA 或指令微调行为可以沉淀到参数中
经常变化的产品文档、制度、价格RAG知识需要可更新、可引用
私有术语理解 + 动态事实问答微调 + RAG行为与知识分开治理

训练数据仍需去重、质量过滤、许可证审查与个人信息处理,但“做过清洗”不等于“可以使用”。数据来源、授权范围、删除请求和训练版本都应留下记录。训练集和评测集还必须按来源或时间切分,避免相近样本泄漏造成虚高分数。

结论:仍成立。 参数高效微调已经从技巧变成基础工具;真正昂贵的部分,仍是数据治理、评测与回归。

参考论文:LoRA: Low-Rank Adaptation of Large Language ModelsQLoRA: Efficient Finetuning of Quantized LLMs

四、LangChain 生态:不要再把三种职责装进一个名字

2024 年现场判断

当时常把 LangChain 当作“大模型应用框架”的总称,链、检索、Agent、追踪和部署都被放进同一幅架构图。这在探索期方便交流,却会模糊生产系统的边界。

2026 年校准:已变化

按当前官方文档,更准确的分工是:

  • LangChain:提供模型、工具、消息与 Agent 的高层抽象,适合快速组装应用;
  • LangGraph:面向长运行、有状态、可中断和需要人工介入的工作流,负责图执行与持久化;
  • LangSmith:负责 traces、评估、数据集、实验对比和线上观测。

三者可以组合,但不是必须捆绑。一个简单问答接口未必需要图;一个跨多个工具、会暂停等待审批的流程,则不该靠不断增长的 prompt 假装状态机。

结论:已变化。 框架名称不重要,职责边界重要。高层抽象负责提速,显式状态负责可靠,追踪和评估负责让失败可见。

官方文档:LangChain overviewLangGraph overviewLangSmith observability

五、早期 Agent 项目:原型的价值,不等于生产承诺

2024 年现场判断

ChatDev、AutoGPT 等项目让“模型规划、调用工具、多个角色协作”第一次变得直观。它们像一扇打开的门:人们看到自然语言不只可以生成文本,也可以成为软件流程的控制界面。

2026 年校准:历史意义仍在,产品形态已变化

  • ChatDev 是软件开发多智能体协作的研究原型,适合学习角色分工、通信链和软件过程模拟。评估它时应回到论文与官方仓库,而不是把演示流程当作生产工程规范。
  • AutoGPT 的官方仓库后来扩展为更广的 Agent 平台;2024 年流行的“自主循环 Agent”只是其历史阶段,不能用旧教程推断当前接口与维护方式。
  • Langchain-Chatchat、FinGLM、FastChat 记录了中文知识库问答、金融任务与模型服务基础设施的探索。它们解决的问题不同,也不应被并列当作可直接替换的“问答产品”。

历史项目最好的阅读方式,不是追问它今天还有多少热度,而是追问:它暴露的失败模式,今天是否已经被我们解决?循环失控、工具误用、长任务状态丢失、成本不可控和权限越界,至今仍是 Agent 工程的核心约束。

结论:已变化。 Agent 从“自主性越高越先进”回到“在边界内完成任务”。能停下来、能请求批准、能解释失败,往往比多走十步更智能。

项目与论文:ChatDev 论文ChatDev 官方仓库AutoGPT 官方仓库Langchain-ChatchatFinGLMFastChat

六、RAG:从“外挂知识库”走向可验证的证据系统

2024 年现场判断

旧笔记提出了一个领域问答系统的基本目标:支持中英文和上下文,理解不同问法,汇总多个知识点,并在不知道时不要胡编。方向是对的,但“向量检索 + LLM + 提示词拒答”远不足以满足金融、医疗、法务或内部知识库的要求。

2026 年校准:仍成立,但工程要求已升级

RAG 的原始论文把参数化记忆与外部非参数记忆结合起来。生产系统真正需要的是一条可以复查的证据链:

身份与权限
  → 查询理解
  → 权限内的混合召回
  → 重排与去重
  → 基于证据生成
  → 引用核验与拒答
  → 反馈、评估和追踪

1. 权限先于召回

文档权限必须在检索阶段生效,不能先把无权内容取回,再要求模型“不要说”。索引应保存租户、用户组、文档级或段落级访问控制元数据;查询时依据调用者身份过滤。还要把原始文件、解析文本、向量索引、缓存和 trace 视为同一条数据边界,因为敏感信息会在任何一层泄漏。

2. 混合召回,再做重排

向量相似度擅长语义近似,关键词检索擅长精确实体、编号和错误码。两者合并后,再用 cross-encoder 或 reranker 对候选片段排序,通常比无限增大 top_k 更稳。切片也不应只按固定字符数:标题层级、表格、代码块、页码和父子段落关系都需要保留。

“Lost in the Middle” 研究说明,相关信息放在长上下文中间时,模型利用效果可能下降。上下文窗口变长,不代表应该把所有召回结果都塞进去。

3. 引用必须能回到原文

答案中的每个关键事实都应关联稳定的 document_id、版本、页码或段落锚点。生成之后再检查:

  • 引用片段是否真的支持相邻论断;
  • 文档版本是否仍然有效;
  • 引用链接是否能被当前用户访问;
  • 多个来源发生冲突时,是否说明差异而非强行合并。

引用不是装饰。它让用户能验证,也让维护者能定位究竟是召回错、排序错,还是生成错。

4. 拒答是一条策略,不是一句提示词

“资料中没有答案”应该由可测量的条件触发,例如:没有通过权限过滤的候选、最高重排分低于校准阈值、证据互相冲突、引用核验失败,或问题超出系统声明的范围。拒答时可以说明缺少什么,并建议用户补充文档或缩小问题;不要用流畅的语言填平证据缺口。

阈值不能凭感觉设定。应在覆盖“可回答 / 不可回答 / 恶意诱导 / 权限不足”的验证集上,结合误答成本校准。

5. 离线评估与线上观测要接起来

一套最小评估集至少包含问题、期望答案或判分规则、证据文档、可回答性、权限身份和时间版本。指标分层看:

层级应观察什么
检索Recall@k、MRR / nDCG、权限过滤正确率
生成忠实度、答案相关性、引用完整性与引用正确性
拒答不可回答问题的召回率、错误拒答率
系统端到端成功率、P95 延迟、token / 检索成本、错误率

RAGAS 提供了无须为每个样本准备人工参考答案的评估思路,但自动评审仍需要用人工标注样本做校准。线上则要记录一次请求经过了哪些查询改写、召回了哪些片段、重排分数、模型版本、提示词版本、引用与最终反馈。trace 的目的不是堆日志,而是让一次错误可以被重放。

结论:方向仍成立,定义已经升级。 RAG 不是让模型“知道更多”,而是让系统知道:答案来自哪里、谁有权看、何时应该闭嘴,以及出错后怎样找到原因。

参考论文:Retrieval-Augmented Generation for Knowledge-Intensive NLP TasksLost in the MiddleRAGAS: Automated Evaluation of Retrieval Augmented Generation

七、2026 年可直接采用的验收清单

如果今天重新做 2024 年设想的领域问答系统,我会先写验收条件,再选模型和框架:

  • 每条入库内容都有来源、版本、更新时间、解析状态和访问权限;
  • 评测集覆盖中英文、缩写、歧义、跨文档问题、过期资料和无答案问题;
  • 召回结果可见,混合检索与重排可以分别评估;
  • 关键论断有段落级引用,引用能跳回用户有权访问的原文;
  • 权限过滤发生在召回前,缓存和 trace 不绕过权限边界;
  • 拒答条件经过数据校准,不能只依赖提示词;
  • 模型、embedding、reranker、索引、prompt 的版本都能追踪;
  • 每次升级都运行固定回归集,并比较质量、延迟与成本;
  • 高风险动作需要确定性规则或人工批准,模型不直接越权执行。

结语:潮水退去后,留下的是边界

2024 年的我更关心模型还能长出什么能力;2026 年回看,我更关心系统能否承认自己的边界。

涌现提醒我们,不要低估规模带来的变化;涌现争议又提醒我们,不要高估自己的量尺。LoRA 和 QLoRA 把训练门槛降了下来,却没有替我们完成数据治理。Agent 把程序的边界推向自然语言,也把权限与状态管理的问题重新送了回来。RAG 给模型接上外部知识,但只有引用、拒答、评估与可观测性,才能把“知道”变成“可相信”。

技术浪潮总爱奖励最早讲出新名词的人。可真正长久的系统,往往属于那些愿意把失败定义清楚的人。

读者回响

加入讨论

新文章写好,先寄给你

每有新文章,寄一封信到你的邮箱。双重确认,随时退订。