· 预计阅读 12 分钟

系列总结:从数据到 Agent 的小模型工程地图


本篇解决什么

本篇是「小模型训练系列」第 14 篇:把数据、Tokenizer、Embedding、Attention、Loss、数据工程、LoRA、评估、RAG、部署、工具调用、Memory 和业务闭环串成一张完整的小模型工程地图。

适合谁读

正在沿着「小模型训练系列」系统学习,希望把概念、工程和真实判断串起来的读者。

AI大模型小模型Agent工程地图模型训练

这篇是「小模型训练系列」的最后一篇。

前面 13 篇一直在拆一个问题:

一个模型,究竟怎样从一堆参数,
变成能理解、能生成、能检索、能调用工具、能进入真实业务的系统?

如果只看某一个技术点,很容易陷进去。

Tokenizer 看起来像文本切分。

Embedding 看起来像数学向量。

Attention 看起来像矩阵运算。

Loss 看起来像一个数字。

LoRA 看起来像省显存技巧。

RAG 看起来像知识库。

Agent 看起来像会调用工具的聊天机器人。

但把这些点串起来以后,会看到另一件事:

AI 工程不是单点技术,而是一条从数据到系统、从系统到业务、再从业务反馈回到数据的链路。

这篇不再展开新的技术细节。

它要做一次总复盘。

目标是把整条路线画成一张地图。

读完以后,应该能回答三个问题:

  • 每一篇在整条链路里处于什么位置
  • 做 AI 项目时,问题到底该归因到哪里
  • 小模型训练、RAG、部署、Agent 和业务闭环之间到底是什么关系

1. 先看整张地图

整个系列可以压缩成一条主线:

flowchart LR
  A["数据"] --> B["Tokenizer"]
  B --> C["Embedding"]
  C --> D["Attention"]
  D --> E["Loss"]
  E --> F["训练与优化"]
  F --> G["数据工程"]
  G --> H["LoRA / QLoRA"]
  H --> I["评估体系"]
  I --> J["RAG / 微调选择"]
  J --> K["推理部署"]
  K --> L["工具调用"]
  L --> M["Memory 与工作流"]
  M --> N["行业业务闭环"]
  N --> A

这条线不是“学完一个再学下一个”的目录。

它更像一条循环。

数据进入模型。

模型形成能力。

能力进入系统。

系统进入业务。

业务产生反馈。

反馈再回到数据。

这就是小模型工程最重要的骨架。

很多 AI 项目失败,不是因为某一个点完全不会。

而是因为只做了其中一截。

比如只训练,没有评估。

只接知识库,没有流程。

只做 Agent,没有权限和日志。

只看模型能力,没有业务反馈。

一旦链路断了,系统就很难持续变好。


2. 这 14 篇分别在解决什么

先把整套文章放在一张表里。

顺序章节核心问题
1模型训练流程图解从 0 到 1 看见训练全流程
2Tokenizer 与样本构造模型到底读到了什么
3Embedding文本如何变成数学空间
4Attention模型如何建模词与词的关系
5Loss 与优化模型为什么会朝正确方向改变
6数据工程为什么数据决定模型上限
7LoRA / QLoRA为什么低成本微调可行
8评估体系模型到底有没有真的变好
9RAG vs 微调知识应该放进检索还是写进参数
10推理与部署模型能力如何稳定跑起来
11工具调用与 Agent模型如何从会说话变成会做事
12Memory 与工作流模型如何承接长期任务
13行业模型与业务闭环训练如何进入真实场景
14系列总结把整条工程链路串成地图

如果把这张表再压缩,会得到三个阶段:

阶段包含章节关注点
能力形成1-6数据如何被模型吸收,能力如何被塑造
能力改造7-9如何低成本改变模型,如何判断是否有效
能力落地10-13如何部署、行动、记忆,并进入业务闭环

第 14 篇的作用,就是把这三个阶段合起来看。


3. 第一层:数据不是材料,而是方向

最开始很容易以为,数据只是训练模型的原料。

就像做饭需要食材。

这个比喻没错,但不够。

在模型训练里,数据不只是材料,还是方向。

模型并不知道什么叫“正确”。

它只能从样本里学习:

  • 哪些输入对应哪些输出
  • 哪些表达更常出现
  • 哪些模式应该被强化
  • 哪些错误应该被惩罚

所以数据决定了模型看见的世界。

如果数据里都是短句,模型会更习惯短句。

如果数据里推理链条很少,模型很难学会稳定推理。

如果数据里充满重复、错误和冲突,模型也会把这些东西吸进去。

数据工程不是训练前的杂活。

数据工程本身就在塑造模型能力。

数据不是放进机器里的东西。
数据是告诉机器往哪里长的东西。

这也是为什么系列里单独写了数据工程。

因为很多模型问题,根本不是模型结构问题,而是数据问题。


4. 第二层:Tokenizer 决定模型看见文本的颗粒度

模型不直接读中文、英文、句子和段落。

它读 token。

Tokenizer 做的事情,看起来只是切分文本。

但它决定了模型观察世界的最小颗粒度。

同一句话,如果切分方式不同,模型看到的结构也不同。

这会影响:

  • 训练效率
  • 上下文长度
  • 多语言表现
  • 特殊符号处理
  • 代码能力
  • 罕见词处理

Tokenizer 不像 Attention 那样耀眼。

但它像入口。

入口设计不好,后面再强也会吃力。

尤其在小模型里,token 预算更宝贵。

同样一句话,用更合理的 token 表示,等于给模型省下理解成本。


5. 第三层:Embedding 把词放进语义空间

Tokenizer 把文本切成 token。

Embedding 把 token 变成向量。

向量不是简单编号。

它是一种位置。

在这个空间里,相似的概念可以靠近,相关的概念可以形成方向。

这就是模型开始“理解”的第一步。

当然,这里的理解不是人类意义上的理解。

更准确地说:

模型把语言关系压进了一个可计算的空间。

“猫”和“狗”可能靠近。

“医生”和“医院”可能相关。

“退款”和“订单异常”在电商场景里可能被拉近。

Embedding 让语言不再只是符号,而是可以被计算的关系。

后面的 Attention、Loss、RAG,都建立在这个基础上。


6. 第四层:Attention 让模型看见关系

Embedding 给每个 token 一个位置。

但单个 token 不够。

语言的意思来自关系。

“苹果发布了手机”和“手机发布了苹果”,词差不多,关系完全不同。

Attention 做的事情,是让模型在当前上下文里判断:

哪些 token 对当前 token 更重要。

这就是为什么 Attention 是关系建模引擎。

它不是简单地“看全部文本”。

它是在不同位置之间分配注意力。

谁影响谁。

谁补充谁。

谁限制谁。

谁决定下一步。

模型的上下文能力、指代理解、长文本理解、推理能力,很多都和这套机制有关。

但 Attention 也带来成本。

上下文越长,计算和显存压力越大。

所以后面才会有推理部署、KV Cache、窗口策略这些问题。

能力和成本,永远绑在一起。


7. 第五层:Loss 把错误变成方向

训练模型时,最关键的不是模型一开始就会。

而是模型知道自己哪里错了。

Loss 就是把错误变成数字。

优化器再根据这个数字,把参数往某个方向推一点。

一次更新很小。

很多次更新之后,模型能力开始被塑形。

这也是系列里反复强调的一句话:

模型不是记住了答案,而是被目标函数塑形了。

Loss 越低,不一定代表模型在真实任务里越好。

训练集 Loss 好看,也可能只是记住了训练数据。

所以 Loss 只能说明一部分问题。

它回答的是:

在当前训练目标下,模型有没有更接近目标?

但真实世界还需要评估体系来接住。


8. 第六层:数据工程决定上限,训练决定接近上限的程度

如果数据本身质量很差,训练再努力,也是在靠近一个很低的上限。

数据工程决定上限。

训练优化决定模型能不能接近这个上限。

这句话很重要。

因为很多时候,模型表现不好,第一反应是:

是不是模型不够大?
是不是参数不够多?
是不是训练轮数不够?

这些都有可能。

但还有一种更常见的情况:

数据没有告诉模型正确方向。

比如样本分布不合理。

比如高质量样本太少。

比如错误答案被当成正确答案。

比如任务格式不统一。

比如训练样本和真实任务不匹配。

这类问题靠堆参数很难解决。

它需要回到数据。


9. 第七层:LoRA 不是魔法,而是低秩改造

LoRA / QLoRA 的意义,不是让所有人都能廉价训练一个万能模型。

它更现实的价值是:

在不大幅改动原模型的情况下,
用较低成本改变模型在某些任务上的行为。

它像给原模型加一个可训练的小旁路。

原模型的大部分参数保持不动。

新增的小矩阵负责学习任务差异。

这样可以显著降低显存和训练成本。

但 LoRA 也不是万能。

如果基础模型本来不会某类能力,LoRA 很难凭空创造。

如果数据很差,LoRA 也会学歪。

如果任务需要大量新知识,RAG 可能比微调更适合。

所以 LoRA 的关键不是“能不能训”。

而是:

该不该训,
训什么,
用什么数据训,
训完怎么评估。

10. 第八层:评估体系决定能不能相信改进

没有评估,就没有“变好”。

只有感觉。

模型训练最容易出现一种错觉:

看起来更会说了,所以应该变强了。

但模型可能只是语气更像。

事实能力没有变。

稳定性没有变。

旧能力还可能退化。

所以评估体系要回答的不只是“有没有答对”。

还要回答:

  • 是否更稳定
  • 是否更可靠
  • 是否更便宜
  • 是否更快
  • 是否减少幻觉
  • 是否保留旧能力
  • 是否在真实任务里有用

评估体系像体检。

不体检,系统可能带病上线。

只看一个指标,也可能漏掉关键问题。


11. 第九层:RAG 和微调解决的是不同问题

RAG 和微调经常被拿来比较。

但更好的理解是分工。

问题更适合的方向
知识经常变化RAG
需要引用来源RAG
需要改变表达风格微调
需要稳定输出格式微调 / 规则
需要接入业务数据RAG / 数据库
需要改变任务习惯微调
需要严格流程控制工作流

不要把所有问题都塞进模型参数。

也不要把所有能力都交给检索。

稳定能力进模型。

动态知识进检索。

明确流程进工作流。

高风险判断进人工确认。

这句话几乎可以作为后半段系列的总原则。


12. 第十层:部署不是把模型跑起来,而是让能力稳定可用

模型在本地跑起来,只是第一步。

部署要解决的是:

  • 延迟
  • 并发
  • 成本
  • 显存
  • 容错
  • 监控
  • 版本
  • 灰度
  • 回滚

推理阶段还会遇到 prefill、decode、KV Cache、量化、批处理、流式输出这些问题。

这些听起来像工程细节。

但它们决定用户是否真的用得起来。

一个模型如果能力很好,但回答太慢,成本太高,或者高峰期不稳定,仍然很难落地。

部署是在能力和现实之间搭桥。

没有这座桥,模型能力只能停在实验环境。


13. 第十一层:工具调用让模型从回答走向行动

模型只输出文字时,它主要在回答。

模型能调用工具时,它开始行动。

但行动带来责任。

查询天气和删除数据不是同一种风险。

生成草稿和发送邮件也不是同一种风险。

所以工具调用一定要有边界:

  • 工具 schema
  • 参数校验
  • 权限控制
  • 日志记录
  • 错误处理
  • 人工确认
  • 回滚机制

Agent 不应该被理解成“模型自由做事”。

更准确地说:

Agent 是模型判断、工具执行、系统边界和人工确认组成的行动结构。

模型负责提出下一步。

工具负责执行动作。

系统负责限制和记录。

人负责关键判断。

这才是可控行动。


14. 第十二层:Memory 与工作流让任务可以延续

工具调用解决一次行动。

Memory 与工作流解决长期任务。

真实任务不是一次回答。

写文章、做项目、处理客户、运营网站、训练模型,都是过程。

过程需要记住:

  • 目标是什么
  • 已经做到哪一步
  • 哪些信息已经确认
  • 哪些事情不能再做
  • 哪些动作需要等待确认
  • 中断以后如何恢复现场

Memory 的价值,不是让模型显得亲切。

真正的价值是:

让任务可以被交接、被恢复、被验证、被继续推进。

工作流的价值,也不是画流程图。

真正的价值是:

让每一步行动都有位置、有边界、有下一步。

这就是 Agent 从玩具走向工具的关键。


15. 第十三层:业务闭环让模型持续产生价值

模型进入业务以后,问题会变得更现实。

它是否减少人工重复劳动?

它是否降低错误率?

它是否提升响应速度?

它是否让经验沉淀下来?

它是否带来可以衡量的收益?

这些问题不是单靠模型回答能力解决的。

需要业务闭环。

flowchart LR
  A["真实任务"] --> B["模型处理"]
  B --> C["人工审核"]
  C --> D["业务结果"]
  D --> E["反馈样本"]
  E --> F["知识 / 规则 / 训练数据更新"]
  F --> B

业务闭环让模型不只是上线。

它让模型进入持续改进的循环。

没有闭环,AI 功能容易停在演示。

有了闭环,系统才开始积累。


16. 把整套系统拆成三层

如果把上面的内容重新整理,可以得到三层结构。

层级主要内容解决的问题
模型层Tokenizer、Embedding、Attention、Loss、训练、LoRA能力如何形成和改变
系统层RAG、评估、部署、工具调用、Memory、工作流能力如何稳定运行和行动
业务层真实任务、人工审核、反馈样本、业务指标、灰度迭代能力如何产生价值

这三层缺一不可。

只有模型层,容易停在训练和实验。

只有系统层,容易做出一个漂亮但没有业务牵引的平台。

只有业务层,没有模型和系统基础,又会变成口号。

一个真正能落地的 AI 项目,必须让三层互相对齐。


17. 判断问题该归因到哪里

做 AI 项目时,最重要的能力之一,是知道问题该归因到哪里。

下面这张表很实用。

现象可能归因优先检查
模型经常答非所问意图理解 / 样本格式数据样本、提示词、任务定义
输出风格不稳定微调数据 / 系统提示高质量风格样本、输出规范
知识过期RAG / 数据源知识库更新和引用来源
幻觉严重检索、约束、评估是否要求引用、是否限制未知回答
真实任务表现差数据分布不匹配训练样本是否贴近现场
成本太高模型规格 / 部署策略量化、批处理、小模型分工
延迟太高推理链路KV Cache、流式输出、并发策略
自动化风险大权限 / 工作流高风险动作是否确认
项目无法持续改进反馈闭环缺失是否记录结果和人工修改

这比盲目换模型更重要。

很多问题不是“模型不够强”。

而是链路上的某一层没有做好。


18. 小模型工程的真正优势

小模型不是大模型的弱化版。

它有自己的位置。

小模型更适合:

  • 边界明确的任务
  • 固定流程里的分类和抽取
  • 低延迟场景
  • 本地部署场景
  • 成本敏感场景
  • 数据隐私要求高的场景
  • 可以用业务闭环持续改进的场景

小模型不适合什么?

  • 极开放的复杂推理
  • 高度跨领域的泛化
  • 缺少数据的模糊任务
  • 没有流程边界的自由行动

所以小模型工程不是硬要用小模型替代大模型。

更合理的策略是:

把大模型用于开放理解和复杂生成,
把小模型用于明确任务和高频链路,
用工作流把它们组合起来。

这才是更现实的工程思路。


19. 一个最小可用的小模型系统长什么样

如果要从零做一个真实可用的小模型系统,不需要一开始就很复杂。

可以先有这几个部件:

部件作用
真实任务入口收集用户实际问题
基础知识库提供可检索事实
小模型任务模块做分类、抽取、改写、质检等明确任务
通用模型兜底处理复杂生成和开放问题
工作流编排决定任务怎么走
人工审核接住高风险和不确定结果
日志与评估记录结果,判断是否变好
反馈样本池把人工修改和失败案例沉淀下来

这套系统不追求一步到位。

它追求可持续。

flowchart TB
  A["真实任务入口"] --> B["任务识别"]
  B --> C{"任务是否明确"}
  C -->|明确| D["小模型模块"]
  C -->|复杂| E["通用模型辅助"]
  D --> F["工作流检查"]
  E --> F
  F --> G{"是否高风险"}
  G -->|否| H["生成结果"]
  G -->|是| I["人工审核"]
  I --> H
  H --> J["记录业务结果"]
  J --> K["反馈样本池"]
  K --> B

这张图的重点是组合。

小模型不是孤立存在。

它在系统里承担稳定、低成本、边界明确的任务。


20. 学习这条路线时,最容易走偏的地方

第一,过早迷恋模型结构。

结构当然重要。

但初学时只盯 Attention、参数量、显存,容易忽略数据、评估和业务。

第二,把 RAG 当成万能知识库。

RAG 解决知识进入上下文的问题。

它不自动解决权限、流程、评估和结果负责。

第三,把微调当成补知识。

微调更适合改变行为、格式和风格。

经常变化的知识,通常不应该写死在参数里。

第四,把 Agent 当成模型自由行动。

Agent 真正难的是权限、状态、日志、确认和回滚。

第五,把上线当成结束。

上线只是开始。

没有反馈闭环,系统不会越用越好。


21. 读完这个系列后,应该形成的判断力

这个系列不是为了让读者记住所有术语。

更重要的是形成判断力。

比如看到一个 AI 项目时,可以问:

问题对应判断
数据从哪里来?判断上限和真实性
任务定义清楚吗?判断训练和评估是否成立
知识是动态还是稳定?判断用 RAG、微调还是配置
有评估集吗?判断改进是否可信
部署成本可控吗?判断能不能规模化
工具调用有权限吗?判断是否安全
Memory 有范围和过期吗?判断是否会记错或串场
有人工审核吗?判断风险是否被接住
反馈会回流吗?判断能不能持续变好

这套问题,比单纯问“用了哪个模型”更重要。

因为模型只是答案的一部分。

工程链路才决定结果。


22. 小模型工程不是降级,而是分工

有一种误解是:

能用大模型,为什么还要小模型?

这个问题像是在问:

既然有大型机械,为什么还要螺丝刀?

答案很简单。

不同工具有不同位置。

大模型适合处理开放、复杂、需要泛化的问题。

小模型适合处理高频、明确、可评估、低成本的问题。

在一个成熟系统里,大模型和小模型不是互相替代。

它们更像分工。

flowchart LR
  A["开放问题"] --> B["通用大模型"]
  C["高频明确任务"] --> D["小模型"]
  E["动态知识"] --> F["RAG"]
  G["确定流程"] --> H["工作流"]
  I["高风险判断"] --> J["人工确认"]
  B --> K["AI 系统"]
  D --> K
  F --> K
  H --> K
  J --> K

这张图比“选哪个模型”更接近真实工程。

真正的问题不是单选。

真正的问题是组合。


23. 从学习路线看,下一步可以怎么走

这个系列结束以后,后续学习可以分三条线。

第一条线:继续深入模型本身。

可以学习:

  • Transformer 细节
  • 位置编码
  • MoE
  • RLHF / DPO
  • 多模态模型
  • 推理优化

第二条线:继续深入系统工程。

可以学习:

  • 向量数据库
  • 检索排序
  • Prompt 编排
  • Agent 框架
  • 工作流引擎
  • 观测和日志
  • 模型服务化

第三条线:继续深入业务落地。

可以学习:

  • 数据标注
  • 业务指标设计
  • 人机协作流程
  • 灰度上线
  • 合规边界
  • 商业化闭环

这三条线没有绝对先后。

但不要只走一条。

只懂模型,容易离真实业务太远。

只懂业务,容易不知道技术边界。

只懂系统,容易做出很复杂但没有价值的架构。


24. 这套地图最重要的提醒

AI 项目最容易让人兴奋。

因为模型一开口,就像已经完成了很多事。

但真正可靠的系统,不能只看开口那一刻。

还要看:

  • 数据是否可靠
  • 评估是否可信
  • 成本是否可控
  • 权限是否清楚
  • 失败是否可恢复
  • 人工是否能接住
  • 反馈是否会沉淀
  • 下一轮是否能变好

模型回答得漂亮,只是开始。

系统能长期稳定地产生价值,才是目标。


25. 最后一张工程地图

可以把整个系列压成这张最终地图:

flowchart TB
  A["真实问题"] --> B["数据收集与清洗"]
  B --> C["样本构造与 Tokenizer"]
  C --> D["Embedding 与 Attention"]
  D --> E["Loss 与训练优化"]
  E --> F["数据工程与微调"]
  F --> G["评估体系"]
  G --> H{"知识还是能力问题"}
  H -->|知识变化快| I["RAG / 知识库"]
  H -->|行为需改变| J["LoRA / 微调"]
  I --> K["推理部署"]
  J --> K
  K --> L["工具调用"]
  L --> M["Memory 与工作流"]
  M --> N["行业业务闭环"]
  N --> O["反馈样本"]
  O --> B

这张图里有一个最关键的箭头:

反馈样本 -> 数据收集与清洗

它意味着 AI 工程不是一次性项目。

它是持续循环。

每一次真实使用,都会产生新证据。

每一次人工修改,都会暴露新边界。

每一次失败,都是下一轮改进的材料。

系统能不能把这些东西接住,决定它会不会越来越好。


26. 最核心的一句话

小模型工程不是把模型训小。

也不是把大模型能力压缩一遍。

更准确地说:

小模型工程,是在明确任务、明确数据、明确边界、明确反馈的前提下,
把合适的模型放进合适的系统位置,
让它以可控成本持续产生价值。

模型是能力。

数据是方向。

评估是尺子。

RAG 是外部知识。

微调是行为改造。

部署是稳定运行。

工具调用是行动入口。

Memory 是任务现场。

工作流是秩序。

业务闭环是价值循环。

这 14 篇文章,其实都在讲同一件事:

不要只看模型本身。
要看模型怎样被数据塑造,
怎样被系统承载,
怎样被业务验证,
怎样在反馈里继续变好。

到这里,小模型训练系列就收束了。

它不是结束。

它更像把地图摊开。

后面再看任何 AI 工具、模型、Agent、知识库、行业方案,都可以先问:

它在这张地图的哪一层?
它解决的是能力问题、知识问题、系统问题,还是业务问题?
它有没有形成闭环?

能问出这些问题,才算真正从“看热闹”走到了“看门道”。

持续学习,持续记录,持续筛选

如果这篇对你有用,可以继续沿着主题读下去。

福星家和会长期记录 AI 技术、生活成长、真实好物与正向文化观察。产品体验、人物故事、教育内容、生活方式、文化作品和内容共创都欢迎邮件沟通,合作内容会清楚标注。