我在整理一批旧文章的幻灯片升级记录时,看到一组很有意思的反差。早期审稿报告里,几份演示文稿反复被指出标题复读、词语拆散、版式单调;后面的布局检测结果里,13 份文稿的问题列表却都是空的。只看最后那个结果,很容易以为,程序已经解决了“好不好看”。
但把报告和检测脚本放在一起读,就会发现,它们回答的是不同的问题。审稿人在问这一页有没有表达清楚,脚本在问元素有没有越过画布边界。后者可以验证前者的一部分,却不能替前者做完整判断。
这次回看让我更关心另一件事:一句“这里看着不舒服”,究竟要经过怎样的翻译,才能变成程序可以反复执行、别人也能核对的规则?如果这一步说不清,自动化只是把主观意见换成了更像结论的数字。
先把不满意变成可以指认的现象
这批升级涉及 13 篇旧文章。计划里的要求很具体:内容优先,一页一屏,页数可以增加,但单页不要薄;内容少时居中,内容多时分层,空白必须有设计理由。这些话有明确方向,却还不能直接交给程序执行。
“不要薄”有几种可能:信息本来就少,标题和正文说了同一句话,或者文字不少,却没有形成关系。如果不先区分,最省事的改法就是补字。页面确实满了,读者却没有多获得任何东西。
审稿报告把这种模糊感受落到了具体位置。有一份报告指出,第 2 页的标题与主句完全重复;另一份指出,“整理”被分到不同的文字块里;还有一份演示文稿连续 11 页采用同一种居中结构。这里有页码、有原文、有可观察的现象,下一位接手的人不用重新猜审稿者的心情。
能被程序化的起点,是把不满意变成别人能够复核的现象。
我更愿意把这看成判断的整理工作。先说明哪里出了问题,再讨论能否自动发现。直接从“高级感不够”跳到评分器,中间缺的恰恰是最重要的一层解释。
从现象走到规则,还要补上后果
标题与正文相同,很容易做字符串比较。但“相同”为什么不好,需要先讲清楚。如果标题提出判断,正文只重复判断,读者翻过这一页,并没有得到原因、案例或行动。损失的是信息推进,而不只是版面的利用率。
这也决定了规则不能粗暴地变成“标题里的词不许出现在正文”。关键概念经常需要复现,禁止重复词语可能迫使生成器绕着术语说话,反而降低清晰度。对我来说,完全重复适合成为明确的检查项,局部相似则更适合成为审读线索,要继续判断正文有没有提供增量。
断词也一样。报告里出现了“切分”“实时”等词被从中间拆开的例子。程序按长度切块,可能保证每行不超宽,却破坏了读者识别词语的节奏。要修复的就不只是行长,还包括分块边界是否保留完整意思。
这里我开始重新理解“可测”。它不要求每个判断都变成一个分数,而是要求每条规则都能说出检查对象、触发条件和失败后果。对象不清楚,程序就会抓错位置;后果不清楚,规则就容易变成个人偏好的强制推广。
一条规则只有保留了它要保护的阅读体验,才不会在执行中变成新的障碍。
最容易误入的捷径,是把指标当成目标
这批报告里,最值得警惕的并不只是版式重复。另一份报告发现,页面已经在流程、清单和居中版式之间切换,却仍然存在明显问题:流程页的步骤反复使用“命题、解释、行动”这类通用内容,没有对应到当前页面真正要讲的事情。
这比全篇同一个模板更容易让人误判。统计布局类型,结果会比以前丰富;快速翻页,也能看到形式变化。但读者要理解的是文章内容,形式变化没有替他补上任何具体关系。
因此,“丰富布局”不能简单翻译成“每隔几页换一个模板”。那会把原本的信息组织问题,转成按页码排队的问题。我认为更合理的顺序,是先确认内容在表达对照、并列还是先后,再选择相应布局;无法可靠判断时,先用清楚的普通排版,也比虚构一个流程更诚实。
标点检查提供了另一个提醒。计划明确要求幻灯片正文不出现中文逗号和句号。早期报告确认部分文稿字面上满足了这条要求,同时又指出,其他标点仍在影响分块,有些短句甚至被直接拼在一起。
审稿意见可以帮助发现原规则遗漏的情况,但不能悄悄把要求扩成“所有标点都禁止”。我会先追问要保护的是哪种阅读节奏,再决定该拆句、分组还是保留必要符号。否则程序最容易采取的做法,就是删掉字符,留下更难读的句子。
测量要带着范围,结果才有意义
本地留存的布局检测脚本,让“安全边界”变得具体了。它打开生成的页面,逐页定位画布,读取可见元素的矩形位置,再比较元素是否越过左右边界、顶部或底部预留区域。它还会检查导航是否显示,提示导航可能遮住页脚。
这比一句“页面看起来没问题”更方便复核。报告可以记录是哪一页、哪段文字、哪个方向越界。修复时就能针对具体条件处理,而不用反复交换笼统感受。
不过,我也需要读懂这个测量的范围。脚本启动时设置了固定窗口尺寸;它检查的是元素矩形;页脚元素被排除,底部另留安全空间。因此,现有结果只能说明,在这套检测条件和逻辑下,没有记录到对应问题。它不能顺带证明所有屏幕都适配,也不能证明每个词都完整、每个关系都清楚。
留存的结果包含 13 份文稿,每份记录为 14 页,问题列表均为空。我可以引用这件事,却不该把它写成“13 份 PPT 已经达到统一审美标准”。数字很准确,扩大它的含义却可能很不准确。
测量结果必须和测量条件一起保存,否则通过记录很容易被误读成全面保证。
这件事让我重新意识到,程序化不只是让机器执行判断,也是在限制我们如何解释机器给出的答案。
让程序守住底线,让审读继续发现盲区
执行记录写明,早期审稿发现了重复与版式同质化,后续通过减少居中金句版式的主导地位进行修复,并记录了严格检查通过。这说明反馈确实进入了改造流程。但当前能读到的材料,并没有逐项展示每个语义问题修复后的对应页面。
我会保留这个证据边界。完成报告可以说明当时怎样收尾,布局结果可以说明测到了什么;它们还不足以让我替所有断词、模板残留和语义关系作独立保证。把这些证据分开,反而能让复盘更有用。
如果由我整理下一版检查流程,我会把确定性较高的项目交给程序反复执行:文件是否存在、链接目标是否缺失、禁止字符是否出现、元素是否越界。对标题正文近似、布局连续重复、通用句式残留,则先输出可定位的疑点,再做语义审读。
这里的取舍,是允许检查器承认自己只看到一部分。强行给所有页面算一个总分,容易把不同性质的问题混在一起:链接失效不能靠字体好看抵消,意义不完整也不能靠布局丰富补偿。分开报告,修复顺序才有依据。
自动检查最可靠的价值,是稳定拦住已知错误,并把无法确定的问题送回判断环节。
这样的流程也有积累空间。每次审读找到一个新问题,先保留具体反例,再判断能否写成稳定规则。能够明确判定的才进入自动检查,容易误伤正常表达的则继续作为提醒。规则因此来自实际失败,而不是来自一份越写越长的审美愿望清单。
下次我会怎么做
下次再把 PPT 质量要求交给程序,我会先拿出少量具体页面,写清楚哪里不合适、影响了什么、修改后应当出现什么变化。每条要求都要能对应一个可复核的例子,而不是只留下“更美观”“更有层次”这样的形容词。
接着,我会区分已经能测的部分和仍需审读的部分。可以计算边界,就明确画布、预留空间和测试尺寸;可以比较文本,就说明检查的是完全重复还是相似线索;需要判断语义,就保留原文和页面位置,不用一个分数掩盖不确定性。
验证时,我也会同时保留失败样例和通过样例。修复断词不能以缩小所有文字为代价,减少版式重复不能靠无关流程填空,消除标点不能破坏句意。只有把这些反方向的风险也放进检查,规则才是在帮助表达。
最后,我会让完成说明回答一个朴素的问题:这次到底证明了什么,还有什么没有证明。PPT 质量被程序化,对我而言,是把可以重复的判断留下来,把需要理解内容的地方标出来。这样下一次工作开始时,我不必重新争论每一处不舒服,也不必为了相信自动化而假装它已经懂得全部审美。