小叶和同学准备一次校园活动。每次讨论结束,大家都会留下文字笔记,接着把已经决定的事情整理成行动清单:谁负责什么,什么时候完成,还有什么条件没有落实。小叶用 AI 做了一个整理工具,希望同学粘贴笔记以后,先看到候选清单,逐条核对和修改,再保存、导出给小组使用。

第一次演示很顺利。页面能打开,按钮有反应,表格也能下载。小叶仔细看导出的内容,却发现笔记里的“海报先不印,等设计确定”变成了“本周印好海报”;“教室获批以后再登记”的条件消失了。与此同时,屏幕上明明已经改好的负责人,导出文件里仍是原来的名字。AI 给出的检查总结却写着:全部测试通过。

先前的检查可能只看了页面、格式或某条局部规则,没有检查真正要交给同学的结果。本章讨论的测试与质量评价,就是把“试过了”进一步变成有范围、有依据的判断:究竟查了什么,发现的问题怎样影响使用,还缺哪些证据,当前版本适合交付到什么程度。

全章人物、材料、测量数字和后续检查结果均为虚构教学情景,不是某个模型或软件的真实性能报告。这个工具只处理用户主动粘贴的单次会议文字,不自动加入群聊,也不自行向成员发任务。它准备支持的是“生成候选—人工核对修改—保存—导出”这段流程。是否已经完成这些行为,需要通过相应检查确认。

一、质量先有对象:我们希望同学拿到怎样的结果

“质量好”可能指内容准确,也可能指反应快、界面清楚或不容易丢失资料。讨论测试之前,先把这些词放回同学正在做的事。对这个工具而言,输出一张排版整齐的表只是中间结果;最终要让小组得到一份与会议决定相符、能够继续使用的行动清单。

因此,内容要忠实于笔记。明确取消的事情不能列为已经决定执行,尚待落实的条件不能被悄悄删除。笔记写了负责人和时间,就应保留相应信息;没有写清,就让用户知道仍待确认,而不是为了填满表格编出一个日期。这里的“完整”是没有遗漏当前用途需要的信息,不是所有单元格都必须有一个看起来确定的值。

操作也要支持这份内容。用户改过负责人后,保存再打开应当仍保留修改,导出文件也应对应同一份已核对结果。出处需要让用户找到有关原句,才方便检查候选是否误解。若每次核对都要重新翻遍整篇笔记,即使候选大体正确,工具也可能没有减少实际整理负担。

可以把当前约定理解为几条相互联系的质量条件。功能正确性关注约定的行为是否做对,例如导出所选清单,而不是另一次生成留下的旧内容。内容质量关注候选是否忠实、必要事项是否齐全。可用性关注同学能否看懂状态、完成核对与修改。可靠性关注在准备支持的运行条件下能否持续完成工作,例如保存后重新打开,资料是否还在。速度和资源消耗则影响同学愿不愿意把它放进日常流程。

这些条件不能全压成一个含义不清的总分。整齐的排版无法抵消错误的负责人;生成很快,也不能抵消修改后导出旧内容。不过,它们之间确实会发生取舍:把更多依据一起显示,可能使页面更拥挤,却有助于核对。评价要说明具体使用情境,再看这样的安排是否帮助了用户。

小叶可以先把“这次怎样才算可交付”写得具体:用户能把会议已决定的行动从笔记中整理出来,保留明确的信息和必要的待确认状态,核对后修改、保存并导出;文件与用户确认的清单一致。自动生成仍可能需要修正,这一点可以进入产品用途;已经人工改好的结果再次变错,则直接破坏了约定的工作流程。

测试通常通过安排输入、操作和检查来发现实现与要求之间的差别。质量评价更进一步,要把不同检查所得的证据与使用目的联系起来。一次检查发现导出旧负责人,足以阻止我们把当前版本当作“已能正确导出修改结果”;十次页面都能打开,则仍没有回答这一问题。证据能支持什么,由检查对象决定。

二、局部、交接和完整流程,为什么需要分别检查

小叶可以一次粘贴笔记、生成、核对、保存、导出,再从头看结果。这接近用户的完整任务,能够暴露开篇那种屏幕与文件不一致的问题。但如果失败了,小叶未必马上知道,是修改没有写入记录,保存取错了版本,还是导出读取了旧数据。

于是,检查需要在不同范围上配合。单元测试针对一个相对独立的小部分,例如把一条行动记录转换成导出行时,负责人、时间和待确认标记是否保留。它便于给出许多具体输入,并较快定位规则上的错误。这个小部分的测试通过,只说明它在所测条件下处理正确,还不能证明实际页面调用了它。

集成测试关注几个部分连接以后是否按照约定配合。例如编辑界面把修改传给保存模块,保存模块再提供给导出模块:传的是同一条记录吗,字段是否一致,读取的是修改后的内容吗?各个部分单独拿一份正确输入都能工作,连接时却可能交错了记录。开篇的旧负责人问题就值得沿这些交接继续查。

端到端测试则从准备支持的入口走到用户最后取得的结果。对本例,可以粘贴一份指定笔记,核对候选,改掉一处已知错误,保存后重新打开,再导出并查看文件。检查不在“出现下载提示”就结束,而是要看文件是否包含刚刚确认的内容,以及出处和待确认状态是否按当前约定保留。

三个范围各自回答不同的问题。局部检查让许多规则较容易查清;交接检查验证它们之间的数据和行为;完整流程检查验证用户走过这些步骤后实际拿到什么。它们不必按某个固定比例分配,也不要求每次小改字都从头运行所有操作。小叶要看当前改动在哪些范围上可能影响结果,再选择相应检查。

有时可以用一份预先写好的候选清单,暂时替代 AI 的即时生成,专门检查编辑、保存和导出。这样的测试替身,就是为了控制某个依赖,先给后续部分一个确定的输入。如果固定候选经过修改后仍导出旧负责人,问题就不必先归因于模型“又理解错了”。我们已经把生成质量暂时从这个检查中移开了。

这种做法的边界也很具体:它没有检查真实生成结果能否接入,也没有证明模型能读懂会议。之后仍需要将真实生成部分接回,检查实际交接。替身让局部证据更容易解释,却不能让被替代的部分同时取得通过结论。小叶若在报告里写“固定候选下保存与导出一致”,别人就知道这项结果能用在哪里。

Google Testing Blog 对测试充分性的讨论把局部、集成和关键用户流程,以及性能等其他检查放在共同的质量问题中。对学生项目来说,可以从最关键的一条完整任务开始,再把失败处拆成更容易定位的检查。增加检查的理由是获得缺少的证据,而不只是让测试文件数量变多。

三、先有判断依据,才能知道生成结果哪里错了

现在取出一段具体笔记。记录写着:“小叶本周五前把设备清单发给大家。教室如果获批,由负责场地的同学登记并告知;目前还在等审批。海报先不印,等设计确定。”这段材料包含已决定的行动、条件尚未成立的后续安排,以及当前暂缓的事项。

如果工具把三句话都变成不带条件的本周任务,字段虽然齐全,含义却改变了。判断它的问题,需要一份独立于候选结果的参考依据:这次会议究竟决定了什么,原句支持哪些负责人和时间,哪些状态需要保留。参考依据可以是经过核对的行动项清单,也可以是每项判断对应的原句和理由。

这里有两个“确认”不能混在一起。会议中已经决定小叶发送设备清单,是原材料的状态;用户核对工具没有抄错以后点击确认,是使用工具时的操作。AI 生成的条目即使描述了会议已决定的事情,也仍可以处于“待用户核对”的界面状态。把这两个层次说清,才能判断自动候选与最终清单各自要满足什么。

第一句话应保留小叶、设备清单和本周五前这个时间。第二句话可以作为附带条件的待确认安排显示,但不能进入不带条件的已确定行动。第三句话则不能被改成马上印刷。若工具的当前范围只输出已经确定要执行的行动,后两句不进入这份清单,也需要在使用说明中讲清这一范围;不能时而把它们当漏项,时而又认为出现就是误报。

参考依据不等于唯一字面答案。“小叶周五前发送设备清单”和“小叶在本周五前把设备清单发给大家”可以表达同一行动;若自动检查只接受其中一串字,可能错判合理表达。但“小叶周五前购买设备”改变了动作,不能因为词语相近就算通过。匹配应围绕行动、对象、已知负责人、时间及必要条件的含义。

对于较复杂的笔记,参考材料本身也可能有分歧。前面说周五,后面改成周四,以最后确认的决定为准还是标为冲突,需要结合笔记是否清楚记录了更正。两位同学给出不同判断时,小叶应回到原文和当前规则,先弄清分歧,而不是选一个让软件分数更高的答案。原材料确实无法确定,就应让评价保留这一未知。

这并不要求开始测试前先标注几千份资料。可以先选少量确实会使用的笔记,把关键决定核对清楚,保留有关句子。AI 可以帮忙寻找候选和整理依据,但如果直接拿同一次生成结果当标准答案,再检查程序是否输出同样内容,就失去了发现理解错误的机会。

参考标准还应允许正常的不同方案。某条没有明确日期的已决定行动,可以保留并标记时间待确认;不能一方面要求不编日期,另一方面又因日期格不是具体年月日判失败。测试中的要求相互冲突,会逼着实现朝错误方向优化。检查不只发现软件的问题,也帮助小叶检视“好结果”的定义是否一致。

四、材料怎样选,决定检查能看见哪些困难

只有开篇这一段笔记还不够。小叶可能很快让工具处理好这个熟悉的句式,换一份讨论记录却再次把设想当决定。测试材料集合是为了反复检查而保存的一组输入与相应判断依据。它的价值在于能否代表当前工具需要面对的差别,材料数量应围绕这些差别来安排。

可以先从真实用途拆出几个方向。有的笔记条目清晰,有的在对话后半才作决定;有的负责人直接写姓名,有的使用前文已说明的角色;有的时间明确,有的只有“场地确定后”;还有取消、更正、重复提及以及整场讨论没有产生新行动的情况。每一种差别都可能使同样的生成方式表现不同。

这些材料要同时包括应当提取和不应当提取的内容。如果只有充满已决定任务的正例,工具把每句话都当行动,也可能得到漂亮结果。没有行动的笔记尤其有用:它能检查工具是否允许返回空清单,还是为了显得有帮助而制造任务。不过,空清单正确也有前提,要先确认材料确实没有当前范围内的行动。

输入的组织方式也会影响表现。把标题和决定放在相邻两行,与把决定夹在长段讨论里,可能给工具不同的识别难度。小叶不必立即收集所有极端情况,可以先覆盖正在承诺的材料范围:若首版只处理一场会议的完整文字,就不应把它对多场混合笔记的未知当作当前功能已经失败;也不能在交付时忽然宣传支持这种新用途。

材料的来源与形成方式应留下简单记录。经过人工整理得非常规整的示例,适合帮助定位规则,却可能比用户日常笔记容易;从实际使用中发现的失败材料,更能暴露原先没有想到的问题。两类材料可以共同使用,但不要把人为特选的困难集合直接当作日常出错频率的估计。

为了知道修改是否只适应熟悉的例子,可以留出一部分尚未用于调整的材料,等候选版本相对确定后再看表现。小叶已经围绕某份笔记改过许多次提示,再看到它通过,说明这次对该已知情景的处理满足了所查条件。没有用于调整的新材料,能进一步检验修改后的方式能否处理不同情景。

留出的材料一旦成为反复调试依据,就不再具有同样的新鲜程度。它仍然可以保留为回归检查,防止旧问题回来;以后需要判断更广范围的能力时,再补适合当前用途的新材料。这个区别不要求学生建立庞大的研究数据平台,只需诚实地知道:哪些题已经围绕它改过,哪些仍能带来新信息。

还可以有目的地改变已有材料,例如保留同一项行动,把明确时间改成尚未确定,观察工具是否仍强填日期。此时改变的是一个影响结论的条件,比较较容易解释。若同时改写负责人、任务、篇幅和说话方式,出现差异后就难以知道是哪项因素起作用。复杂材料当然仍要测试,只是它和控制局部条件的材料各自提供不同的帮助。

五、误报少了,为什么还不能直接说质量提高了

为了比较两个候选版本,假设小叶准备了十二份会议笔记。经过独立核对,其中共有四十条符合当前提取范围的行动。每条行动都能回到对应会议的原文,负责人、时间和必要条件按材料核对。两版对同一组材料各生成一次,再依据同一标准检查结果。

本节把成功匹配一条参考行动、且所需信息没有实质误写的结果记为一条正确输出。同一行动重复输出,不因此多计一条正确结果;额外的重复项和不应列出的事项,都需要另外识别。下面数字已经按这种对应口径整理,不是只数生成了多少行。

本次十二份材料的汇总 版本 A 版本 B
输出行动项总数 44 38
与参考行动正确对应 36 34
多列、重复或实质误写的输出 8 4
四十条参考行动中未被正确覆盖 4 6

误报在这里是生成结果中不应算作正确行动的部分。例如取消的海报印刷被列为本周工作,会使同学多做一件没有决定要做的事。漏报则是本来需要提取的行动没有得到正确覆盖,例如小叶发送设备清单这一项不见了。实质误写也可能同时造成错误输出和原行动未被正确覆盖,两个方向应按事先明确的匹配规则记录。

从 A 换到 B,错误输出减少了,清单也更短了。用户从生成列表里删除错误项目的负担可能因此下降,但正确覆盖的行动也从三十六条降到三十四条。现在不能只看“少了四条错误”,还要看多漏掉的任务是什么,以及用户能否在核对时发现它们。

查准率看已经输出的项目中,有多少是正确的;召回率看本来应当找出的项目中,有多少被正确找到。《信息检索导论》对这两个指标的定义区分的正是这两个观察方向。本例借用同样的关系评价行动提取,前提是已经确定参考行动和匹配口径。

按本次记录,A 的查准率是 36÷44,约为 81.8%;B 是 34÷38,约为 89.5%。若只看拿到手的清单,B 中正确项目所占的比例更高。再回到四十条应提取行动,A 找对了 90%,B 找对了 85%。B 的输出更干净,却留下了更多需要用户从原文主动找回的事项。

两版输出中的错误与参考行动中的遗漏
图 S09-01|两版输出中的错误与参考行动中的遗漏

图的左侧以各版本实际输出为范围,分开正确和错误;右侧以相同的四十条参考行动为范围,分开已覆盖和未覆盖。两个观察范围不同,正好帮助我们看见为什么一个比例上升,另一个比例可能下降。不能把右侧的遗漏再加进左侧输出总数,它们并不是已经生成的行。

选择哪个版本,要回到错误的实际后果。如果同学会逐条对照整份原文,错误候选可能较容易删除;但被漏掉的任务不会主动出现在列表中,需要另外寻找。若有明确截止的关键行动被遗漏,影响可能比多列一条容易识别的草案更大。反过来,若工具的结果被直接当作分工指令,误报也会严重干扰行动。当前用途中的人工核对方式会影响这种比较。

表里的汇总还没有告诉我们是哪几条被正确覆盖,也没有证明 B 的正确集合完全包含在 A 里。更不能从三十四条正确行动推出多少场会议的清单全部正确:错误可能集中在一场,也可能分散在多场。小叶需要打开具体失败记录,才能判断改动是否在关键场景退步。

因此,这组数据支持一个明确但有限的结果:在这十二份材料和当前一次运行记录里,B 减少了错误输出,同时减少了正确覆盖。它提供了继续比较的方向,尚不足以宣布总体质量更好。小叶不必立刻把两个比例再合成一个总分;先知道误报与漏报分别给同学增加了什么工作,判断才有对象。

六、自动检查、AI 评审和人工核对怎样配合

每次改动后,可以把新输出与四十条参考行动逐条对照,但完全人工从头查看,也可能重复大量机械工作。于是,小叶需要选择合适的判断方式。自动检查适合明确、可重复判定的条件,例如导出行是否保留已保存的负责人,记录编号是否重复,出处指向的片段是否存在。

这些检查能够很快排除一些错误,却无法独自证明所有内容忠实。“出处片段存在”只说明链接没有指向不存在的文字,还要看这段话是否支持所列行动。把海报暂缓的原句附在“本周印海报”后面,形式关系可以完整,语义仍然相反。小叶不能因为出处检查通过,就给内容正确性一起打勾。

对于含义比较,可以请另一次 AI 检查候选与原文。模型评审是让模型按照明确标准提出判断,适合帮助查找可能的遗漏、误写或条件变化。任务可以具体到:“这条行动的负责人、动作和时间分别由哪句话支持?有没有把设想、否定或未落实条件改成确定事项?”这样的检查比笼统询问“质量好吗”更容易定位问题。

评审模型也会犯错。它可能顺着候选的完整叙述理解原文,忽略那个“如果”;也可能因为两种表述词语不同,就把意思相同的行动判为错误。请它给出依据,能够让人检查判断从何而来,但解释写得完整仍不等于判断已经可靠。尤其不能让它自动替缺失的负责人补一个最合理人选,再用这个补足替候选放行。

可以先拿一小组已经人工核清的材料,查看评审模型在哪些地方赞成或反对,以及理由是否成立。若它持续放过取消事项,就应调整评审条件,或把这类判断留给人工。这个过程叫作校准:用可信参照了解判断工具实际会怎样工作。它不是给评审者贴一个永远可靠的标签,任务和材料变化后仍要留意偏差。

人工核对也需要具体依据。两位同学有分歧时,不应仅按人数表决;一位指出原文后半已经撤回决定,就值得回到那一段查看。人工也可能漏读、习惯性补足或误解当前范围。把具体句子、候选和判断理由放在一起,比只保存“人工已审”更容易复查。

Anthropic 关于 AI 评价的工程说明区分了程序、模型与人工判断,并强调判断方式需要适合任务,模型评审还需要与人工判断校准。对本例,可以让程序查可明确比较的状态和字段,让模型协助找语义疑点,再由掌握会议依据的人核对关键分歧。三者各自产生什么证据,要分别看清。

最后还要检查评价工具本身。假设小叶把参考负责人从旧记录改正了,自动比较脚本却仍读取旧表,那么正确输出也会被判失败。看到分数突然下降时,应查看具体输入、候选和判定,确认到底是工具表现退步、参考依据改变,还是检查程序出了问题。质量评价不能只有一个总分而没有能回看的材料。

七、同一材料多跑几次,评价对象发生了什么变化

AI 生成还带来一种不同于许多固定规则的困难:相同的材料,下一次输出可能不同。原因可能来自生成过程,也可能来自实际输入、上下文、工具状态或模型版本发生变化。先把实际运行条件记录清楚,才能知道自己在比较什么。

另设一个简单观察:小叶把同一份新的笔记交给同一候选版本,在相同输入和设置下独立重新开始四次。三次保留了待审批条件,一次将它写成已经确定。这个结果说明,在所记录的四次运行中,成功与失败都出现过。只展示其中最漂亮的一次,会隐藏用户下一次仍可能遇到的错误。

四次运行也没有变成四份不同材料。它们有助于了解这份笔记上的波动,却没有扩大会议类型的覆盖。反过来,四份材料各跑一次,可以看到不同输入上的表现,但对每份材料能否稳定处理,仍只取得很少观察。材料的广度和同一条件下的重复,是两种不同的检查投入。

三次合格、一次失败,可以如实记录为这四次的结果;不能由此保证以后每四次都恰好错一次。要估计更广范围的表现,还要考虑材料选择、运行数量和条件是否稳定。此处不需要先学会一整套统计推断才能继续开发,小叶现在就可以把那次失败保留下来,分析它为什么把条件丢掉。

评价还必须贴合实际使用方式。如果工具每次只生成一份候选,就不能在测试时生成十份、挑最好的一份,再把成绩称作“一次生成的质量”。若产品本来就允许多次生成后由用户选择,这可以成为另一种工作方式,但要把选择过程、额外等待和核对负担一起算进去。

运行之间的状态也要看清。上一轮人工已经填好的负责人,如果留在页面或历史记录中,下一轮可能直接复用它,看起来像模型又正确提取了一次。若本轮要评价从全新笔记独立整理的能力,就应从与首次使用相符的初始状态开始;若要评价继续编辑已有清单,则应保留相应状态。清空或保留不是固定仪式,而是由当前任务决定。

比较 A、B 时同样需要共同条件。两版要处理相同材料,采用同一判断标准与相同的重试政策,并记录实际版本。若 A 只准一次,B 可以重跑到满意,这次成绩混合了版本与选择方式的差别。若小叶同时更换模型、提示、参考材料和人工规则,整体新方案仍可以评价,但某项改善不能直接归给其中一个因素。

例如,如果 B 后来在尚未用于调整的新材料上仍反复把建议当决定,小叶就需要查明改动是否只适应某些句式。即使它在熟悉的十二份材料上减少了误报,这项新观察仍会削弱“已经普遍解决”的判断。两组记录分别说明工具在什么条件下做到了什么,都应保留,供下一步修改时比较。

八、速度要从开始使用算到得到可用结果

小叶可能很容易测到 AI 二十秒就生成了清单。这个数字有用,它说明生成阶段的等待。但同学最后要的是经过核对、能够使用的文件,后面可能还有找出处、删误报、补漏项、修改负责人、保存和查看导出的工作。

另作一组教学比较:同一份笔记已经准备好,两种办法都从开始处理这份笔记算到检查完符合相同要求的可用文件。手工整理用了十二分钟。使用 AI 工具从粘贴笔记到文件可用共十一分钟,其中生成等待二十秒,输入、核对、补漏、修改、保存及检查导出等其余操作共十分钟四十秒。这次完整任务节省的是一分钟。若只拿二十秒与十二分钟比较,就把大部分仍由用户承担的工作从工具一侧移走了。

这一分钟有没有实际价值,还要结合使用次数、任务负担和其他效果来判断。工具可能让事项更容易回查,也可能让核对更费神。上述记录只是一个虚构的单次比较,既没有计入此前搭建工具的投入,也不能证明面对其他笔记都有同样收益。

因此可以同时保留几个不同的耗时观察:等待候选出现多久,完整核对到文件可用多久,以及中间是否发生失败或重做。它们分别帮助定位生成、交互和最终任务上的瓶颈。若大量时间花在寻找依据,改善出处定位可能比再压缩几秒生成时间更有用;若操作很清楚但频繁重新生成,稳定性又可能成为主要问题。

较慢的少数情况也值得单独看。大多数短笔记很快处理完,少数包含多次更正的长笔记却让同学不断往返原文,这种困难可能被平均时间掩盖。小叶可以先记录哪些材料特别慢、慢在哪一步,再决定是调整当前支持范围,还是改善对应操作。不必刚开始就堆许多统计指标,却也不能只挑最顺的一次报速度。

失败结果还会改变时间的含义。如果生成超时的记录被从耗时表中直接删掉,剩下的平均值可能很好看,但用户确实等待过,也没有拿到候选。可以分别记录成功运行耗时和未完成次数;若评价整个任务成本,还要把实际等待、重试和最终处理算进适当范围。只描述成功样本时,应让读者知道它没有代表全部尝试。

实际环境同样属于质量条件。工具在小叶的电脑上能导出,并不说明准备给同学使用的手机浏览器同样可用;一人使用很顺,也未检查多人同时提交时会怎样。可以按预计使用方式逐步增加环境和负载检查。若首轮只是两位同学各自试用,就围绕这个安排核实;要扩到整个班同时使用时,再补相应证据,不能把小范围结果原样放大。

对失败后的处理,也可以从用户任务检查:生成未完成时,原笔记和人工修改是否还在,页面有没有让人知道当前状态,重复操作会不会留下两份混淆的清单。这些行为的实现方法由异常与恢复章节展开,本章关注它们是否在准备支持的流程里得到检查。一个工具能否帮助完成工作,还包括不顺利时用户实际面对什么。

九、覆盖率提示哪里没查过,不替我们判断是否做对

当检查开始增多,小叶会想用一个数字知道“还差多少”。覆盖首先要说明覆盖的对象。测试运行过多少代码,可以形成代码覆盖信息;准备支持的关键操作查过哪些,可以形成行为或场景的覆盖记录。两者分母不同,不能用一个百分比互相代替。

例如,导出函数的每一行都被运行过,但测试只检查有没有生成文件,没有比较文件内容。这个函数的代码覆盖可能很高,旧负责人仍然可以被原样导出。覆盖告诉小叶哪些代码被经过,却不保证经过之后对重要结果作了足够判断。

Martin Fowler 对测试覆盖的解释强调,可以用覆盖信息寻找没有测试到的部分,不能把高覆盖比例直接当作测试质量。放回本例,小叶看见保存分支从未被运行,就获得了一条值得追查的缺口;看见它已运行,则还需确认相应结果究竟查了什么。

场景覆盖也有类似边界。表上列了生成、编辑、保存、导出四项,各自都有一次成功记录,仍不等于核对了编辑后保存再导出的整段关系。如果这些成功来自四份互不相关的数据,就可能漏掉同一条行动在步骤之间被换回旧值的问题。功能名称全部打勾,与用户任务完整成立不同。

小叶可以做一张简短的证据表,把当前重要要求、已经检查的方法和仍未知的部分放在一起。例如“修改负责人后导出一致”,对应指定笔记、编辑、保存和查看文件的完整结果;“不把取消事项当成已定任务”,对应含取消的材料、候选与原文核对;“同学能独立完成核对”,则需要在相应使用条件下观察操作,不能由代码覆盖替代。

未知也可以写得具体。没有测试多场混合笔记,表示这一范围尚无依据;已经测到某场单次笔记漏掉决定,表示当前范围存在实际失败。这两种状态影响安排的方式不同。前者可以通过明确首版范围并补相应测试来处理,后者需要修正或建立确实可用的替代流程,不能都涂成一个模糊的“待优化”。

检查投入有限时,可以优先看错误后果大、改动影响广、又缺少证据的关系。例如错导出负责人会直接影响分工,而且发生在最终交付物中;按钮间距不理想可能影响体验,但未必同样改变任务内容。先查前者,能够较早弄清直接影响分工的结果是否可靠。具体顺序还可根据后续发现调整。

也不能只查最常见的顺利路径。取消和条件尚未落实在材料中可能较少,却直接影响是不是应该行动。某类情况频率低,并不能单独决定不值得查;要同时考虑错误后果与当前用途。反过来,列出大量与现阶段无关的极端场景,也可能挤掉真正需要完成的检查。覆盖记录的价值,是帮助小叶把有限投入放到当前缺口上。

十、发现失败以后,怎样让下一次检查更有用

发现导出旧负责人以后,最有用的记录不是“导出有问题”,而是能让别人重新看到这件事的材料:用了哪份笔记,生成了什么候选,改成什么,怎样保存,文件里实际出现什么。还要说明原本期待文件显示哪个负责人,以及依据是什么。

这类记录构成一个能够复查的失败用例。它把现象与预期放在同一组条件里,便于小叶或 AI 查明原因。记录可以很短,但不能用“有时候不对”替代全部条件;也不要在尚未查实现前就把标题写成“缓存错误”,让后续排查先接受一个未证实的原因。

有时原笔记很长,可以另做一份更小的材料,只保留仍会触发问题的内容。缩小后更容易理解,修正也更容易定位。原始失败材料仍应保存,因为删减可能同时移除了另一项重要条件。小例子解决了,还需要回到原来那段实际关系,看看完整问题是否也得到处理。

接着区分修改与验证。假设查明导出读取的是生成后保留的旧候选,而不是用户最后保存的清单,修正应使导出取得当前确认版本。代码已经改成这个方向,是一次实施进展;重新执行编辑、保存、导出并核对内容,才提供修正生效的证据。不能把 AI 的改动总结当作后一个结果。

回归检查关注这次修改是否破坏原来需要保留的行为。改为读取已保存清单以后,要看没有作人工修改的普通流程是否仍然成立,待确认时间有没有在导出中被清空,原本正确的出处是否还对应。这些检查沿实际依赖展开,不是每修一处就随意增加所有可能功能的测试。

同样,调整提示以减少误报后,要回看原先正确提取的行动,而不只看取消事项是否消失。前面的 A、B 数据已经说明,这种修正可能同时增加漏报。把旧失败和仍须保留的成功情景放在一起,才能看到改善与退步。若只不断加入新的失败例,却忘了旧功能的正确结果,也容易把系统修得越来越偏。

测试记录还应对应实际版本。某次完整流程通过以后,小叶又改变了保存方式,原通过仍是历史证据,不能自动证明新版本相同。可以按影响复查保存、导出及相关状态,不必为无关的文案调整重做全部内容评价。版本管理会帮助保留改动,本章要建立的是“这条结果究竟证明哪份实现”的意识。

遇到时好时坏的失败,也不要只重跑到成功就关掉问题。可以保留成功与失败的共同条件,查看输入、状态和实际调用的差别。如果暂时无法定位,应如实记录仍可能出现的现象,并据它对使用的影响决定继续查、改变范围或提供替代方式。重跑成功有其信息,但没有擦掉之前那次失败。

十一、把检查证据变成一次具体交付判断

现在回到小叶最初面对的三个问题:条件和暂缓事项被误写、修改后的负责人未进入文件,以及“全部测试通过”的笼统总结。只根据最初演示,当前版本不能按“核对修改后正确保存导出”的用途交付。用户已经修正的内容仍被导错,不是简单提醒大家留意 AI 输出就能解决。

小叶首先可以保留这段失败流程,查明保存与导出的关联,修正后再看文件是否跟已确认结果一致。与此同时,针对语义错误形成参考依据和相应材料,比较候选生成方式。两个方向可以同时推进,因为它们分别处理确定的交接失败和候选质量,任何一个方向的进步都不替另一个自动通过。

进一步假设,后续已查明并修好导出读取旧候选的问题;小叶也已用固定候选、真实生成接入和完整流程分别检查,在本次准备支持的设备上确认修改、保存、重新打开与导出一致,相关旧行为经过复查。在这些已检查的流程中,用户核对修改后的清单能够进入最终文件。

候选内容方面,A 与 B 仍只有前述十二份材料的汇总,尚未查清每项错误的影响,也没有充分的新材料表现。小叶此时不应仅凭 B 查准率较高,就把 B 登记成总体改进并替换所有使用安排。可以先保留两版的实际结果,逐项查看 B 少报的错误和新出现的遗漏,再围绕这些差别补充检查。

如果同学当前急需整理清单,可以采用一段明确的人机配合流程:生成结果只作候选,同学对照整份笔记核对已有项目,也主动查找没有出现在清单里的决定,修改后再保存导出。采用这种办法,需要同学知道并愿意承担这段核对工作;只让人扫一眼生成列表,不能替代补漏。修好的保存和导出为人工核对成果提供了可用去向,语义上的未知没有被隐藏。

在这个条件下,小叶可以安排小组内的有限试用,继续比较两版候选对实际核对负担的影响。试用目的也要说清:观察当前流程能否帮助完成整理,哪些错误最耗费修改,补漏是否容易,以及取得可用文件究竟花多少时间。不能把试用参与者“觉得挺方便”直接写成已经证明长期省时。

如果同学实际需要的是不用读原文、直接得到可执行的完整任务表,那么当前证据与流程就还不够。让用户承担整篇核对改变了他们得到的帮助,不能不作说明就用这个较小用途冒充原目标。此时应继续改进并取得相应证据,或者共同选择另外一种确实能完成整理的办法。

本章的交付判断因此有了具体层次:经过修复与复查,导出在已检查的流程中能够保留用户确认的内容;两版候选的语义质量各有已见问题,尚不能仅凭汇总选出总体胜者;完整人工核对流程可作为有明确条件的有限试用安排。小叶用测试减少了未知,用质量评价决定这些证据允许怎样使用工具。AI 能很快产生一个候选实现,这些方法帮助我们判断它最后是否真正完成了同学需要的工作。

练习与参考分析

练习一:每个模块通过,为什么文件仍然不对

小叶做了一个资料摘录工具。提取模块用固定输入检查过,编辑页面能修改文字,导出模块也能将给定记录写成文件。真正使用时,用户改正一条出处后,下载文件仍显示旧出处。AI 认为三个模块都通过测试,可以把问题列为用户操作不熟练。应怎样判断并安排下一步?

**参考分析:**已有检查分别说明模块在给定条件下的表现,没有证明用户修改沿着实际连接进入导出。文件仍是旧出处,已经提供了需要排查的结果,不能在没有操作证据时归因为用户不熟练。

应保存具体输入、修改、保存或导出操作及文件结果,查看修改后的记录怎样在各部分传递。可能是保存未更新,也可能是导出取错了对象,题面不足以确定原因。查明并修复后,重新走用户这段流程,查看文件内容;再核对受到改动影响的原有行为。不能只重复三个原来互不相连的测试。

练习二:输出全对,是否就完成了提取任务

一份原始资料中有十条应整理的确定行动。小叶的工具只输出两条,这两条都正确,也没有重复。有人因此宣布工具准确无误,已经可以直接代替人工整理。已知信息支持怎样的判断?

**参考分析:**已输出的两条都正确,支持这次输出的查准率为100%;十条中只找出两条,召回率为20%。两个比例观察的范围不同。八条应整理的行动没有被覆盖,已经影响直接代替完整整理的用途。

若改作少量候选提示,可以讨论它是否仍有帮助,但必须说明用户还要主动补齐。两条正确既不能证明完整任务完成,也不能证明换一份资料仍有同样表现。下一步应看为何其余行动遗漏,选择相应材料查改,而不是只奖励工具少输出。

练习三:连续重跑后的最好一次,代表什么

工具实际交给用户时只生成一次。小叶测试一份材料,前几次都把尚未确认的日期写成确定日期,第六次终于正确。他只保存第六次,报告这份材料已经通过,而且生成只用了本次的十五秒。这里混淆了哪些对象?

**参考分析:**第六次成功证明这次输出可满足有关条件,不能消除前面已经发生的失败。实际一次生成的用途,与反复尝试后选一次成功的评价方式不同;用后者成绩描述前者,会隐藏波动。

十五秒可以是第六次的生成耗时,但不是为取得这一成功结果付出的全部等待与选择时间。应保留各次结果及设置,再分析失败条件。若准备将重试与选择纳入产品用途,需要评价用户怎样识别正确结果、额外投入多少,不能只改变报告的口径。

练习四:参考答案不一致,先改模型还是先改判断

原文先写“小叶周五交草稿”,后面又明确记载“刚才日期有误,改为周四,小叶已确认”。工具输出周四,参考表仍列周五,自动检查判错。另一位同学主张模型应该服从参考表。应怎样处理?

**参考分析:**参考表用于帮助判断,不能凌驾于当前材料已经明确的更正。应先核对更正关系与当前提取规则;按题面,周四具有直接依据。需要修正参考记录,并检查还有哪些结果受同一旧依据影响。

这次失败来自评价依据滞后,不能为了提高通过率把正确输出改回周五。修正参考表后应重新评价有关结果,同时保留原判定及更正理由。若原文仅有两个日期而未说明关系,才需要保留歧义,不能把本题已经给出的确认删掉再要求模型猜测。

练习五:更快的生成,是否解决了整理费时

小叶把模型生成时间从三十秒缩短到十秒,用户核对、补漏和保存仍需八分钟。有人据此宣称整理效率提高了三倍。假设两种方式的最终结果都符合当前要求,其他条件不变,怎样评价这个说法?

**参考分析:**生成阶段确实从三十秒缩到十秒,但完整任务从八分三十秒缩到八分十秒,节省二十秒。用户仍承担的八分钟没有因为模型变快而同比缩短,因此不能把阶段提速直接扩成整体三倍。

这项改动仍有价值,只是需要按它影响的范围报告。如果主要困难是核对与补漏,下一步可以查看出处定位、遗漏提示或编辑操作是否增加负担,并实际检查改进后的完整任务。题面没有给长期使用、搭建和维护投入,不必凭空推算全年收益。

练习六:高覆盖与一次真实失败怎样共同影响交付

小叶的导出代码覆盖率很高,常规清单也测试通过。但在一份当前支持的笔记上,人工补充的关键截止时间保存后消失了。负责人希望今天就让全班使用,理由是“总体测试已经很好”。小叶可以仅提醒大家注意,然后照常交付吗?

**参考分析:**代码曾被运行过以及常规成功,不能覆盖这次已观察到的保存失败。人工补充的时间不能保留,会破坏当前整理流程;泛泛提醒没有改变这一关系。应保留并复查失败条件,判断影响范围,修复后检查相关保存、重开和导出行为。

若今天确需完成整理,可以讨论采用能够保留确认结果的现有办法,或缩小到经过确认可用的流程。替代安排需要实际成立,不能仅把故障改称试用期问题。全班使用还涉及当前未给出的规模与环境条件;已有结果能支持到哪里,就按相应范围安排,而不是用一个总体标签抹去确定失败。