可判定的输出,核心是让第三方只看结果文件就能判断对错,而不是看你“感觉学会了”。做法是先把文章知识拆成输入、动作、预期状态三要素,再为每个要素规定可观察的证据形式。如果文章讲的是配置类知识,输出应是一份可对照的配置文件加校验命令结果;如果讲的是判断类知识,输出应是一份带条件分支的决策记录。两种情况的判定标准不同,下面分别说明。
拿到一篇文章,先问自己:读完它之后,我产出的东西是“一个能运行的状态”,还是“一个能复述的判断过程”。前者对应配置、搭建、参数调整类内容,后者对应选型、排查、策略取舍类内容。这个分类决定了实操题的输出形态。
区分依据可以看文章里句子的主语。如果大量句子以“把某值设为……”“在某处添加……”“删除某行……”开头,它偏向状态类;如果大量句子以“当出现……时应优先考虑……”“如果……则说明……”开头,它偏向判断类。混合型文章可以拆成两道题,不要硬塞进一道。
一个常见的误判是:把判断类文章做成状态类实操题,结果只能考记忆。例如一篇讲“如何判断某段内容该不该保留”的文章,如果实操题要求“写出保留的三种情况”,那只是在抄写;如果要求“给出一段假设文本,写出保留或删除的结论并附一条文中的判断依据”,才有可判定的空间。
状态类实操题的输出应包含两部分:一份你实际改动的文件(或文件片段),以及一条能证明改动生效的校验命令及其输出。判定者不需要读你的操作过程,只看这两样。
设置时按以下顺序做:
假设有一篇讲站点基础配置的文章,其中提到把某项超时设为 30 秒。那么实操题的输出可以是:一份只含该配置项的片段文件,加一条读取该配置的命令,预期输出中出现该字段和 30。这里 30 只是说明比较方法的假设数字,实际应以文章给出的值为准。
例外情况:如果文章涉及的值依赖运行环境且无法在本地复现,就不要强行要求“运行成功”。此时把输出降级为“配置片段加一段说明,指出该值生效需要哪些前置条件”,判定标准改为前置条件是否列全,而不是命令是否通过。
判断类实操题不能只要求“写出结论”,因为结论对错往往依赖前提。可判定的输出应是一份记录,至少包含三列:观察到的现象、对应的判断依据(引用文章中的哪条规则)、得出的结论。
设置时,先构造一个具体情境,情境里故意放入一个与直觉相反的现象。例如文章说“某类内容通常应保留”,但情境中给出一个满足删除条件的例子。然后要求答题者写出:他看到了什么、他用了文中哪条规则、最终结论是什么。
判定时看两点:依据是否来自文章而不是个人习惯;结论是否与依据一致。如果依据与结论矛盾,即使结论碰巧正确,也判为不合格,因为这说明判断过程不可复现。
一个可操作的动作是:把文章中的每条判断规则编号,要求答题者在记录中写出编号。这样判定者可以快速核对规则与结论的对应关系,而不必重新读一遍文章。这个动作的结果会直接影响下一步——如果多数答题者引用同一编号却得出不同结论,说明该规则本身表述模糊,需要回到文章补充边界条件,而不是继续加题。
当实操题结果与预期不符时,不要直接归因于答题者没掌握。先收集两类证据:一是答题者引用的文章规则编号分布,二是校验命令输出与预期值的差异形态。
请求量或完成量下降不能单独证明题目变难了,也可能是情境描述变长导致阅读成本上升。要区分这两种解释,可以固定情境长度只改判定标准,观察失败模式是否变化。这一步的动作是:保留原题,只把预期结果从模糊描述改成精确字段比对,重跑一次。如果失败率明显下降,说明原先的问题出在判定标准,而不是知识难度。
有两类内容不必强行转成实操题。第一类是文章本身只提供背景或术语解释,没有可执行动作,此时输出应改为“用自己的话写出该术语在本文中的定义,并指出它不包含什么”,判定标准是定义边界是否与原文一致。第二类是文章涉及多因素权衡且缺少明确阈值,此时输出应改为“列出至少两个互相冲突的因素,并说明在什么条件下哪个因素优先”,判定依据是是否引用了文中的条件句。
最后,每道实操题都应注明适用条件:它假设读者已经具备哪些前置知识、在什么环境下完成。条件写清楚,判定者才知道失败是知识问题还是环境问题。这一步做完,再决定是否增加题目数量,而不是先堆题再补标准。