← 返回目录

第 8 讲 填制:数据 × 模板 × 映射

【可执行状态】现在就能做

【本讲对应资产】doc-filler 引擎(5 个工具),本讲主讲填制的通用原理,第 10—13 讲分场景实操

【本讲原理来源】L3 第 20 课《Function Calling 深度解析》(工具的描述与参数)、L3 第 19 课(能力的封装)


引子:一件三百年没有变的事

每个学期开学前,总有那么几天,教务办公室的灯亮到很晚。

桌上摊着一叠学校发下来的表格:《课程教学大纲(2026版)》《教学进度表》《教案》《结课作业封面》。

表格长得一模一样,只有里面的字不一样——课程名不一样、教师名不一样、学时不一样、学生姓名不一样。

老师们做的事,说穿了只有一件:把已经知道的信息,一格一格搬到固定的位置上。

这件事,看上去简单,做起来费时,而且极易出错——错一个学时,退回来重填;

漏一个学生,整份名单对不上。它不产生任何新知识,却吃掉了教师最宝贵的整块时间。

有意思的是,这件事的形式,三百年来几乎没变过。

十七世纪欧洲的抄写员,把同一封信的内容誊抄到不同的呈文模板上;

二十世纪八十年代的机关文书,用刻好格式的蜡纸油印;

九十年代有了电脑,财务人员学会了邮件合并——一份名单加一个模板,批量生成邀请函。

到了今天,学校发的仍然是 Word 模板,教师做的仍然是“复制、粘贴、改一改”。

形式没变,但今天这件事可以有另一种做法:

把“这一格填什么”讲清楚一次,之后所有的格子都由机器去填。

这一讲的公式,就是讲清楚“怎么把这件事讲清楚”。

一、场景:两种做法,两种下班时间

先说两位老师的同一个下午。

王老师(化名)的做法,是绝大多数老师的做法。

下午两点,她打开教务处发来的大纲模板,另存为“我的大纲”。

接着打开去年的那份,把年份改掉;再打开教务系统,查这学期的学分和学时;

再翻到教师信息表,把自己的工号和职称抄过来。

一门课改了十几处,花了四十分钟。

第二门课如法炮制——又是四十分钟。第三门课改到一半,隔壁同事来问事,回来接着改,

把“48 学时”错抄成了“42 学时”。这份大纲在教研室检查时被打回,重做一遍,又一个下午。

晚上八点,她带着两大杯咖啡离开办公室,心里想的是:“这种活,什么时候能不用人干?”

李老师(化名)的做法不一样。

她把两条课程信息写成一个清单(课程名、课程代码、学分、学时、课程性质、适用专业),

再把自己这门课通用的信息写在一起(学期、日期、学院),然后在入口里说了一句话。

三分钟后,返回来两份文件:数智分析与应用-教学大纲-任渝.docx、

跨境电商大数据统计与分析-教学大纲-任渝.docx。

她做的是同一件事——只是把“抄哪一格”这件事,从手上搬到了配置里。

下午剩下的时间,她去听了两节课,回来改了一份学生的竞赛方案。

同一件事,一个下午,一个三分钟。差别不在打字快慢,也不在谁更用电脑,

而在有没有把这件事拆成三样可以交给机器的东西。

二、原理:把重复劳动拆成三样东西

2.1 一句定义先行:填制是什么

先把概念说清楚。本书说的填制,指的是这样一件事:

把一份已经知道的数据,按照一套固定规则,填进一份固定格式的文件里,得到一份成品文件——
数据可以换,格式和规则通常不变。

举两个例子就明白了。例如,期末要给全班发结课作业,学生的姓名学号在教务系统里(信息早就有),

作业封面的版式教务处已经定好(位置早定好);再比如,每学期要报的课程教学大纲,

课程名、学分、学时都是现成的,只有格式要求每学期重发一遍。

它有两个特点,决定了它天生适合交给机器:

一是信息早就有了(学分、学时、学生姓名都不是新知识,只是散落在各处);

二是位置早就定好了(模板上哪一格填什么,教务处已经规定死了)。

举个日常的例子:就像搬家。累的不是把东西放进箱子,而是决定“这个东西该放哪个箱子”、

放完还要检查一遍有没有落下的。——找到那个信息在哪、

找到它该填在哪一格、填完之后再核对一遍。而这三次“找”,恰好都可以变成机器做的事。

2.2 这道公式:数据 × 模板 × 映射

把上面的“填、找、核对”翻译成工程语言,就是这一讲的标题,它是一条可以背下来的公式:

填制 = 数据 × 模板 × 映射规则

三样东西各司其职,缺一不可:

三样通俗说法在教学填制里的具体是什么谁负责提供
数据要填的内容例如:课程名「数智分析与应用」、学分「3」、学时「48」、学生姓名「王振杰」你(或教务系统导出)
模板要填的那张表教务处发的《课程教学大纲(2026版)》docx教务处
映射哪一格填哪一项一张对应表:{{courseName}} ← 课程名、{{credits}} ← 学分引擎里已经配好

用生活里的例子打比方:这三样,就像食堂打饭的三件事——

打什么菜(数据)、用哪个餐盘(模板)、每样菜打在哪一格(映射)。

你想换菜单,不用换餐盘;换了新餐盘,也不用重学打菜的手艺。

三样分开,是为了换一样的时候,别的两样不用动。

现在关键的一点来了。这三样里,只有“数据”是每学期都在变的:

模板教务处三年才换一次版式;映射规则一旦配好,可以一直用。

所以这道公式真正的含义是:

一次配置,长期使用——每学期你只动数据那一项。

2.3 为什么这么拆:一次“分工”的老道理

“把一件事拆成若干可重复的标准动作,然后交给不同的人(或机器)去做”——

这个道理,经济学里讲过两百多年了。

一七七六年,亚当·斯密在《国富论》里写过一个制针工厂的例子:

一个工人独自做针,一天做不出二十枚;但把做针分成抽丝、拉直、切断、削尖、打磨等十八道工序,

十个人分工协作,一天能做出四万八千枚——每人平均四千八百枚[1]。

他没有多雇人、没有换材料,只是换了一种组织方式,产量提升了两百多倍。

再比如今天的医院:不是一位医生从头到尾包办检查到开药,而是挂号、化验、看诊、取药各管一段——

每一段的动作都标准化,整条流水线的效率就上去了。

一九一三年,福特把同样的道理搬到了汽车厂:

不是让每个工人造一辆车,而是让车在流水线上移动,每个工位只做一个标准动作。

T 型车的装配时间从十二小时缩短到九十三分钟。

这两个例子,说明的是同一件事:效率的提升,主要不来自人干得更快,而来自事情被拆得更清楚。

填制这件事的拆分方式,就是上面那三样——数据、模板、映射。

把它们分开之后,数据可以由教务系统导出、模板由教务处统一维护、映射由技术上一次配好,

教师本人只做她唯一不可替代的那一件事:确认数据对不对。

2.4 两层信息:为什么有的信息要写四十遍

第一次用填制引擎的人,几乎都会在同一个地方停一下:

生成四十份结课作业,学生姓名和学号当然是一人一份,

可是“学期”“学院”“任课教师”这些信息,四十份里完全不重复,难道要写四十遍?

这个疑问非常关键,因为它正好指出了数据其实有两层:

例如:四十份结课作业里,学号和姓名各不相同(一层),而“2026学年春季学期”“智能金融学院”

“财经公文写作”“任渝”这四项,四十份一字不差(另一层)。

用打比方讲清楚这两层的区别:这两种信息,就像一份班级名册和一枚公章。

名册上每个人的名字都不一样(记录级),公章却只有一个,盖在每一份上都是同一个(班级级)。

你不会因为要盖四十份,就刻四十个一模一样的章。

填制引擎把这两层分开处理,正是为了让你不必重复劳动。

在我们的引擎里,这两层各有各的位置:一人一份的放进“数据”里(列表,一条一个学生),

大家共用的放进“公共信息”里(一份,所有记录共享)。

这也是新手最容易漏的一步——漏了公共信息,交出来的四十份文件里,

“学期”“任课教师”这些位置就会空着(第 13 讲专门讲怎么发现这种漏)。

2.5 有人会问:为什么不直接让 AI 写?

讲到这里,一定有人要问这个问题:既然有大模型了,为什么不干脆把数据“喂”给它,

让它把整份大纲写出来?还要模板、还要映射,这不是多此一举吗?

这个问题问得很对,值得认真回答,因为它划出了本书反复要讲的一条界线。

先看一个数字。吴恩达在 2024 年 3 月梳理过多个研究团队的结果,给出这样一组对照:

在同一个编程基准测试上,让模型直接生成答案,正确率是 48.1%(早期模型)到 67.0%(新模型);

而把这同一个稍早的模型包在一套迭代流程里(先写、再查、再改),最好成绩达到 95.1%[2]。

也就是说:流程带来的提升,压过了换一个更强模型的提升。

把这个结论搬到填制上,道理是相通的:

让大模型“直接写一份大纲”,它写的是一份像大纲的东西——

平均而言很合理,偶尔会发挥,你没法保证它每一格都对。

而“数据 × 模板 × 映射”的引擎,它做的是把已经确认过的数据,搬到确认过的位置——

不发挥,也不会发挥失常。就像打印机套打——它不会因为打了一百份就“发挥创意”换个位置,

每一份都和第一份一模一样。

一句话概括两者的分工:

大模型擅长“像”,引擎擅长“对”。
凡是要求“每一格都对、每一次都一样、改一处到处都对”的活,用它;凡是要求“想个新点子”的活,才交给它。

这不是说大模型不重要——恰恰相反,本书第 6 讲(课件)、第 17 讲(研究报告)里,

它承担的是“理解需求、组织内容”的部分。填制和生成,是两种活,各找各的工具。

(顺带说一句技术上的话,只讲到能听懂为止:引擎在系统里是以“工具”的形式存在的,

而大模型要调用工具,靠的是一份工具说明书——它先读说明书,判断该不该用这个工具,

再照着说明书准备参数。所以“说明书”写得好不好,直接决定它调得准不准。

这也是为什么本书每一讲都要告诉读者工具的真名:有了名字,才有说明书可言。

更细的机制见参考资料。[3])

图 8-1 填制 = 数据 × 模板 × 映射:三样分开,换一样不动另两样
图 8-1 填制 = 数据 × 模板 × 映射:三样分开,换一样不动另两样

2.6 三变三不变:这道公式对你能用多久

最后把这道公式的价值讲透。它看起来只是“填表”,实际上规定了三样东西各自的稳定程度:

会变吗多久变一次变了之后要做什么
数据会变每学期、每个班、每次课换数据文件,重跑一次
模板偶尔变教务处换版式时(几年一次)换模板文件,映射微调
映射基本不变配置一次不动

打个比方:这就像办了一张图书馆借书证,以后每次借书只报书名就行,不用重新办证。

也就是说:第一次用要多花二十分钟把数据整理清楚,之后每个学期只需要换数据那一层。

第一门课两门课如此,第十门课第二十门课还是如此——因为变的是数据,不是流程。

那么模板从哪来? 这恰恰是老师最先问的问题——

“你们这个模板跟我们学校发的不一样吧?”。

下一讲(第 9 讲)专门回答它:学校发的那份表,交出来就能用,

不需要老师自己标任何记号。这里只要先记住一句:模板可以是别人给的,

也可以是你手上那份现成的。

这就是这一讲要带走的东西:不是“学会了用某个按钮”,而是手里有了一道公式,

以后遇到任何“把已有信息填进固定格式”的活,你都先问一句:

数据是哪一层?模板在哪?映射怎么定?三个问题一答完,这件事就该交给引擎了。

三、动手三件套

一句话指令

先看引擎里有哪几类活可以填(这一步叫“选场景”):

教学资料能自动填哪几类?用 filler_scenarios 列给我。

再看你选的那一类,需要准备什么数据(这一步叫“看契约”):

「课程教学资料」这类要准备什么数据?用 filler_help 给我骨架。

然后出件:

按这个模板出【2】门课的教学大纲,用 filler_batch。数据是这两条课程记录,公共信息是学期【2026-2027学年第一学期】、日期【2026年9月17日】。

预期产物

以实测为例:两条课程记录 + 一份公共信息,得到两份 docx:

数智分析与应用-教学大纲-任渝.docx
跨境电商大数据统计与分析-教学大纲-任渝.docx

文件名就是识别符——课程名和教师名进了文件名,所以不用打开就能核对是哪一份。

校验点

出件之后必须核三件事(这一条是本书的纪律,不是可选项):

  1. 份数对不对:数据里有几条记录,就该出几份文件。少一份就是漏了。
  2. 校验报告过没过:引擎会返回一份校验报告,verdict 必须显示

「校验通过(未替换 0 / 缺失 0)」。不是这个结论,就不算交付。

比如上次就有一位老师把“48 学时”填成了“42 学时”,文件生成得漂漂亮亮,

数字却是错的——引擎不会替你发现这类错误,但它会如实告诉你哪些格没填上。

  1. 打开抽查四项:随便打开一份,核对课程名称、学分、学时、适用专业——

这四项是容易被换错的(尤其“48 学时”写成“42 学时”这种)。

四、常见错误与排错

错误一:只给记录,不给公共信息。

表现是文件出来了,但“学期”“任课教师”那几格空着。

原因:公共信息没传进去(就是 2.4 节讲的两层信息)。

排错:把班级级的几项写进公共信息里,重跑。

错误二:让引擎“自己想”数据。

表现是希望用一句话就生成完整大纲,包括课程目标、学时分配这些内容。

原因:把“填制”和“生成”混在了一起。填制只负责搬运已经确认的信息;

课程目标这一类需要判断的内容,得你自己先写好(或者由第 6 讲、

第 16 讲讲的生成类工具先产出,再交填制)。

排错:先把内容定下来,再交给填制——填制是最后一公里,不是第一步。

错误三:模板换了版式,映射没跟上。

表现是教务处换了新版大纲模板,填出来的文件里出现奇怪的空白,或者内容挤在一处。

原因:映射是按占位符配的,新模板的占位符变了。

排错:让引擎先读一遍新模板(filler_help 会列出模板里的占位符与映射关系),

对不上的补进映射,再重跑。

错误四:把“份数多”当成“工作量大”。

表现是四十几份作业,觉得必须要人工核对很久。

原因:没做名单对账。正确做法是拿产物文件名与名单对一遍:

应交几份、实交几份、缺谁——这件事让机器做,比人眼快得多,且不会漏。

(第 12 讲有完整做法。)

错误五:改完了不回看。

表现是看到“生成完成”就交上去。

原因:把“引擎说做完了”当成了“做完了”。

排错:见第 13 讲。校验是交付的一部分,不是额外工作。

五、边界与红线

做名单类填制时,只带这次任务需要的最小字段(姓名、学号足够,不要带身份证号、

家庭住址、成绩)。用完的产物及时归档,不要散放在公共目录里。

考核比例是否合理——这些是教师的专业判断,工具的活是把格式和重复劳动干掉。

引擎这一侧只接受“换模板文件”,不擅自修改模板。

(如“使用 doc-filler 引擎的 filler_batch 批量填制”),不要只写“用了 AI”。

六、拓展与学科迁移

电子商务专业可以填选品报告、财务管理专业可以填预算说明与对账表、

国际经济与贸易专业可以填报关单据与合同封面——引擎不变,三样里的两样换掉。

“材料归档封面”(同一批材料 × 同一个封面格式)、“迎检台账”(同一套指标 × 同一张表),

都是同一类问题(已有信息 + 固定格式),同样用这道公式解决。

可复核的教学过程材料——这比“事后补材料”省力得多,也更经得起检查。


带走一句话

填制不是让 AI 替你写,是让规则替你跑;你只负责一件事——把数据确认对。

背后的引擎(本讲速查)

你要做的事工具全名一句话作用
看有哪几类活能填mcp__doc-filler__filler_scenarios列出四类场景
看这一类要准备什么数据mcp__doc-filler__filler_help给你数据骨架与映射
出一份(先试通)mcp__doc-filler__filler_run一条数据出一份文件
出一批(课程/学生粒度)mcp__doc-filler__filler_batch一批记录出多份文件
核对到底填完没有mcp__doc-filler__filler_check给出校验结论

本讲要点(速记)

参考文献

[1] 亚当·斯密. 国民财富的性质和原因的研究(上卷)[M]. 郭大力, 王亚南, 译. 北京: 商务印书馆, 1972.(原著初版 1776 年;制针工厂分工实例见第一卷第一章)

[2] Ng A. Agentic AI(智能体式人工智能)[EB/OL]. DeepLearning.AI, 2024.(该数据为作者梳理多个研究团队结果所得,非单一官方基准;本书引用时按“梳理”表述)

[3] OpenAI. Function calling[EB/OL]. https://platform.openai.com/docs/guides/function-calling.

数据与平台:本章实测数据来自 zhenyuonline.cn 的 doc-filler 引擎(2026-09-17 实跑):

teaching 场景 13 个占位符,两条课程记录出件 2 份,校验结果「未替换 0 / 缺失 0」。