🧩 第4章 动手做:写出你的第一批技能
📄 一句话概括

纪要的问题从来不在内容,在形状:每次长得都不一样,就没法归档、没法比较。 解法是把格式锁死成四段加一条待办行格式,再配一个校验器,让「好不好」变成「对不对」。 这一篇的三版输出都过了一遍校验器:一坨话 5 条问题、有段落但散 2 条、锁死格式 0 条。

📝 本章和前面几章的关系

上一篇治的是「写得像不像人」,这一篇治的是「每次写得一样不一样」。 两种难点的写法完全不同:前者给词表和句式,后者给模板和校验器。 第 5 章会把纪要技能拆开重用——它是整条写作工作流里最独立的一环。

一、纪要的问题不在内容,在形状

先分清两类毛病。内容错是记错了事、漏了人;形状乱是每次排版不一样。 内容错只能靠人看,形状乱可以靠程序查。而实际工作中,形状乱的危害一点不小。 同一场会,三个人整理出三份纪要:一份一大段、一份四段、一份带表格。 归档的时候找不到规律,回溯的时候不知道看哪一行,交接的时候新人要先猜格式。 更麻烦的是,形状乱往往连着内容乱:一坨话那种,八成把「定了什么」和「聊了什么」混在一起。 所以锁格式不是为了好看,是为了让「有没有说清楚」变成一眼能看出来的事。

二、先把格式定死

定死到什么程度?定死到能写成一个检查程序。 四个二级标题,顺序固定:议题、结论、待办、风险。 待办每行一个格式:勾选框、负责人、冒号、要做的事、括号里的时间。 结论段只放已经定了的。没定的、待定的、还要讨论的,一律挪进风险。 前两条是形状,第三条是内容边界——但它也能写成可检查的形式,下面会说。 为什么要四段而不是三段五段?因为四段刚好把「聊了什么、定了什么、谁去做、还有什么事没定」分开。 少一段就有一类信息没地方放,多一段就有人开始纠结该放哪。四段是最省心的分法。

三、把「好不好」变成「对不对」:校验器

格式定死之后,检查就变成了机械活。五条检查项,全是字符串层面的判断。

检查项 怎么查 不过会怎样
四段齐不齐 找那四个标题字符串在不在 缺一段,整份用不了
顺序对不对 四个标题的位置必须递增 顺序乱,找不到结论
待办有没有负责人 每行冒号左边不许空 不知道谁去干
待办有没有时间 每行末尾要有一对括号 不知道什么时候干
结论有没有模糊词 出现建议、我觉得、可能就报 把没定的事当成定了

第五条最值得说:它把「什么算没定」这种模糊的判断,压缩成了一份词表。 能写成词表的规矩,才是能执行的规矩。「要准确」不可执行,「出现这三类词就挪走」可执行。 这五条合起来不到五十行代码,但它把审纪要这件事从「读一遍」变成了「跑一下」。

四、三版输出,过一遍校验器

拿三种典型输出去撞这个校验器,差别立刻就出来了。

版本 问题数 第一条问题
一坨话 5 缺段落 议题
有段落但散 2 没有待办项
锁死格式 0 —

一坨话那版五条全中:四段一个没有,也没有待办项。 有段落但散那版好一些,两段齐了,但还是没有待办项,而且结论段里混进了没定的事。 第三版零问题——它的每一段、每一行都是照着格式写的,没有一处需要猜。 「结论段里有没定的事」是最容易漏、后果最重的一条。 纪要的全部价值在于「哪些已经定了」。混进一句「我觉得」,整份纪要的可信度就崩了。 而校验器只查形式:段落齐不齐、待办带不带人。内容对不对,它查不出来。

五、技能正文只有十六行

整份会议纪要技能的正文只有 16 行,其中一半在说格式。 这个比例是对的。纪要这件事,难的不是「怎么写得好看」,是「怎么每次都一样」。 正文里三块最关键的: 输出格式必须完全照抄——注意「必须」和「照抄」这两个词,不留发挥空间。 待办的行格式给一个例子——给例子比给描述省一半字,而且不会理解偏。 三条硬规矩:不编造、结论只放定了的、写完跑校验器。 「不编造」这条要单独强调:转承稿里没有的数字、日期、人名,一个都不许出现。 这是模型最容易犯错的地方——它会把「大概下周三」补成「10 月 8 日」,看起来很贴心,实则是编的。

六、锁死的代价:留一个口子

格式锁死有明确的好处,也有明确的代价。

项 具体
好处 好坏能自动判,改一版验一次不用人看
好处 不同人产出的纪要长得一样,归档好找
代价 遇到特殊会议(比如纯脑暴),四段套不进去

代价那条是真问题。纯脑暴的会没有「结论」,只有一堆想法;四段格式硬套,就会逼着人把想法写成结论。 所以技能里通常要留一句「特殊情况怎么办」。这一句不是客套,是必需的降压阀。 不留这个口子,模型遇到套不进去的会硬套,产出比不套还难看。 留口子的写法也有讲究:要写清「什么情况算特殊」以及「特殊时改成什么样」,不能只写「灵活处理」。

七、动手 Demo:格式锁死之后,好与坏能一眼看出来

这一段先把四段格式和待办行格式定死,再写一个校验器,然后拿三版输出去撞它。 三版分别是:一大段话、有段落但没待办、完全照格式写。差别不在文笔,在能不能被程序判。

CHECKS = [('四段齐不齐', lambda t: [s for s in SEC if s not in t]),
          ('顺序对不对', _order_ok),
          ('待办有没有负责人', _owner_ok),
          ('待办有没有时间', _time_ok),
          ('结论有没有模糊词', _vague_ok)]

probs = []
for name, fn in CHECKS:
    bad = fn(text)
    if bad:
        probs.append('%s:%s' % (name, bad[0]))
print('问题数', len(probs))

实跑输出:

--------------------------------------------------------------------
格式锁死之后,好与坏能一眼看出来
--------------------------------------------------------------------


  ① 先把格式定死
  --------------------------------------------------------------------
  ## 议题
  ## 结论
  ## 待办
  ## 风险
  待办每行:- [ ] 负责人:要做的事(时间)
  四段、顺序固定、每条待办必须带负责人和冒号。这三条定死了,好坏就能自动判。

  ② 三版输出,拿校验器过一遍
  --------------------------------------------------------------------
| 版本 | 问题数 | 第一条问题 |
|---|---|---|
| 一坨话 | 5 | 缺段落 议题 |
| 有段落但散 | 2 | 没有待办项 |
| 锁死格式 | 0 | — |

  第三版零问题。前两版各有各的毛病,而且都是能自动查出来的。

  ③ 逐条看问题
  --------------------------------------------------------------------
  一坨话(5 条)
    - 缺段落 议题
    - 缺段落 结论
    - 缺段落 待办
    - 缺段落 风险
    - 没有待办项
  有段落但散(2 条)
    - 没有待办项
    - 结论段里有没定的事

  「结论段里有没定的事」这一条,是最容易漏、后果最重的一条。
  纪要的价值在于「哪些已经定了」。混进一句「我觉得」,整份纪要的可信度就崩了。
  ! 校验器只查形式:有没有那四段、待办带不带负责人。内容对不对它查不出来。

  ④ 把校验器写进技能
  --------------------------------------------------------------------
  技能正文只有 16 行,其中一半在说格式。
  # 会议纪要

  ## 何时用
  用户给出带「姓名:内容」前缀的会议转承稿,要求整理成纪要或待办时。

  ## 输出格式(必须完全照抄)
  四个二级标题,顺序不能变:议题、结论、待办、风险。

  ## 待办的行格式
  - [ ] 负责人:要做的事(时间)
  没有负责人或没有时间的,写进风险,不要写成待办。

  ## 三条硬规矩
  1. 不编造。转承稿里没有的数字、日期、人名,一个都不许出现。
  2. 结论段只放已经定了的。出现「建议」「我觉得」「可能」,一律挪进风险。
  3. 写完跑一遍 scripts/check_minutes.py,问题数必须为 0。
  注意第二条:它把「什么算没定」写成了可检查的词表,不是一个模糊的要求。
  ! 能写成词表的规矩,才是能执行的规矩。「要准确」不可执行,「出现这三类词就挪走」可执行。

  ⑤ 格式锁死的好处与代价
  --------------------------------------------------------------------
| 项 | 具体 |
|---|---|
| 好处 | 好坏能自动判,改一版验一次不用人看 |
| 好处 | 不同人产出的纪要长得一样,归档好找 |
| 代价 | 遇到特殊会议(比如纯脑暴),四段套不进去 |

  代价那一条是真问题。所以技能里通常要留一句「特殊情况怎么办」。
  不留这一句,模型遇到套不进去的会硬套,产出比不套还难看。

第一段是四段格式加待办行格式,定死到能写成检查程序的程度。 第二段三版输出撞校验器:一坨话 5 条问题,有段落但散 2 条,锁死格式 0 条。 第三段逐条列出问题:一坨话缺四段加没有待办项共 5 条;散版缺待办项、结论段里混了没定的事。 「结论段里有没定的事」这条最要命——纪要的价值全在「哪些已经定了」。 第四段是技能正文,只有 16 行,一半在说格式。注意「必须完全照抄」这几个字,不留发挥空间。 第五段列好处与代价:代价是遇到纯脑暴这类会,四段套不进去,所以得留一句「特殊情况怎么办」。 校验器只查形式:段落齐不齐、待办带不带人。内容对不对它查不出来,那还得人看。

30 秒实验

  1. 找一份你手上真实的会议纪要,数一下它有没有四段。缺的那一段,是这次没发生,还是没人写。
  2. 把「结论段里的模糊词」换成你自己常说的那三个词,比如「再看」「待定」「回头聊」。
  3. 拿你最近三次会议纪要对比一下排版。三次长得不一样,就说明该锁格式了。

常见误区

  1. 以为锁格式就是形式主义。 格式锁死的真正收益是「能被程序判」,人审一遍要十分钟,跑一遍校验器不到一秒。
  2. 只锁段落不锁待办行。段落只是外壳,待办才是要执行的东西。 待办没有负责人和时间,整份纪要等于没写。
  3. 把「灵活处理」写进技能。这四个字等于没写——模型遇到套不进去的照样硬套。 要写清「什么情况算特殊、特殊时改成什么样」。
自测三问(点开对答案) 1. 纪要的两类毛病分别是什么?为什么只治一类不够? —— 内容错和形状乱。形状乱可以让程序查,内容错只能人看; 但形状乱往往连着内容乱,一坨话最容易把「定了什么」和「聊了什么」混在一起。 2. 为什么「结论段里出现建议、我觉得、可能」要报错? —— 纪要的价值在于「哪些已经定了」。混进没定的事,读的人会把猜测当成决议。 3. 校验器查不出什么? —— 查不出内容对不对。它只查形式:段落齐不齐、待办带不带负责人和时间。

下一篇是三个技能里最难拆的一个:给文章配图。难在「从哪下手」,所以给五步流程。

相关笔记