小叶想做一个活动通知整理工具。同学把通知粘贴进去,工具提取活动名称、时间和地点,同学核对后,就能把它保存到自己的活动清单。AI 很快帮他做出页面:输入框、提取按钮、结果卡片,看上去已经像一个可以使用的小产品。

为了演示页面,小叶先手工填入一组结果。通知原文写着:“讲座于10月18日19:00在图书馆报告厅开始,报名截止时间为10月16日12:00。”结果卡片只有一项“时间”,填的是10月16日12:00。一名同学看完便说:“那我16号中午去报告厅。”

小叶原先准备继续增加主题颜色、通知分类和分享功能。这句话却让下一步变了:如果页面没有表达清楚报名截止与活动开始的区别,增加多少颜色,也没有解决眼前的误解。另一方面,当前结果是手工填的,这次演示还不能说明 AI 在提取通知时会不会犯同样的错误。

本章讨论的原型与迭代,就从这里开始。我们要学会选择一个规模合适的尝试,让尚不清楚的问题变得可观察,再根据得到的证据决定改什么、继续验证什么,以及哪些工作暂时不值得展开。

全章的工具、通知、日期、试用对话和结果均为虚构教学情景。最初范围是整理同学主动粘贴的一段通知,核对后保存到个人活动清单并保留原文;不包含自动监控群消息、自动报名或发送提醒。下面出现新范围或新观察时,会另外交代,不把教学中的试用写成已经进行的真实实验。

一、原型让一个设想变成可以共同检查的东西

原型是为探索或检验某些设计设想而制作的表达或实现。它可以是几张纸、一组可以点击的页面,也可以是一段真实运行的小程序。重要的是,它让参与者可以围绕同一个具体东西观察和讨论,而不只是在各自脑中想象“这个工具应该挺方便”。

小叶说“自动整理活动通知”时,同学可能想到的是自动提醒,有人想到的是快速找到地点,还有人以为它能直接报名。一个带输入、结果和确认动作的简单页面,会让这些理解差异更早出现:原来当前设计要帮助人整理并保存信息,并不打算代替人完成报名。

原型因此有两种经常联系在一起的作用。一种是让想法更容易沟通,另一种是让想法接受检查。能把设想演示清楚,未必已经检查过它是否合适。例如,小叶一边讲解、一边替同学点完全部步骤,大家能够理解他的设想,却还不知道没有他的提示时,同学能不能独立完成核对。

开篇那张预填结果卡片已经提供了有价值的信息。同学把“时间”理解成活动开始,而小叶填入的是报名截止,这说明页面没有清楚表达两种时间的含义。这个问题不必等全部功能写完以后才能发现。一张纸上出现同样的栏目和内容,也有机会暴露它。

但原型支持的结论要和实际呈现对应。预填卡片可以帮助检查栏目含义,却不能证明模型已经从原文正确抽取了时间。即便页面按钮都能点,如果每次点击只是显示小叶预先写好的结果,也没有检验真实通知经过模型之后会得到什么。

GOV.UK 的原型指南把草图、点击原型和代码原型都列为可用形式,强调根据当前需要选择。对小叶而言,这意味着先问清这次想知道什么,再决定需要把哪部分做得像真的。

原型成功也不一定表现为“这个方案获得赞同”。如果它让小叶发现一个原先没有看到的误解,从而避免继续围绕错误栏目扩建,这一轮已经产生了作用。学习得到的可能是保留方案的理由,也可能是修改或放弃某个设想的理由。

为了判断这轮有没有收获,小叶可以在开始时写一句具体问题:“同学看到提取结果后,能否分清活动开始和报名截止,并回到原文核对?”等试用结束,再看实际观察有没有回答它。这样,原型的价值就和接下来需要作出的设计决定联系起来了。

二、先拆出不确定的假设,再选择值得验证的一项

一个看起来简单的功能,往往同时依赖好几项还没有确认的条件。小叶的通知工具至少依赖:同学确实有整理这些通知的需要;愿意把通知粘贴进来;能够理解候选字段;模型可以提供值得核对的候选结果;同学得到的帮助,值得他们花时间去粘贴、核对和保存。

这些条件可以称为当前的待验证假设。这里的假设是设计暂时依赖、但还缺少足够证据的判断。例如,“同学会主动核对时间”是一个判断,不能因为页面放了“请核对”三个字,就当作它已经成立。

同一个工具所依赖的不同假设,可能得到不同的观察结果。同学可能很容易看懂两个时间,却觉得每次粘贴通知太麻烦;也可能愿意使用,但候选结果经常混淆日期,核对反而比直接阅读更费事。只问一句“喜欢这个工具吗”,很难知道下一步到底该改入口、字段表达还是提取过程。

选择先验证什么,要看这个未知会怎样影响后续决定。假如同学目前几乎不整理活动通知,而且已有日历入口已经满足需要,那么这一需要是否存在,可能比卡片的布局更先影响是否继续做。反过来,如果已有明确的使用场景,只是不知道两种时间怎样呈现才不会误读,就可以直接围绕这个问题做原型,不必把已经有依据的需要从头调查一遍。

还要考虑验证成本和相互依赖。有些问题一场短试用就能看出具体困难;有些技术限制会使整个方案无法实现,适合先单独试探。把可以低成本查明、又会明显改变方向的事情提到前面,能够减少后面必须返工的内容。

比如,小叶想把通知保存进一种特定日历,但还不清楚自己能否使用所需接口。若这一接口是当前方案必不可少的前提,就应先核实接入条件。画出一个“已加入日历”的成功页面,并没有改变接口是否可用。若当前范围只是自己的活动清单,则不应凭空把日历接入变成所有原型的前置障碍。

GOV.UK 对探索阶段的说明提出,可以围绕最关键的假设制作足够的实现,而不必先做完整服务。先确定眼前需要回答的问题,才能判断这一轮做到哪里就够用。

回到当前现场,小叶已经看见了一个具体误解:同学读错了页面上的时间。现在最直接的下一轮,是把两种时间的含义表达清楚,再看同学能否理解和核对。真实提取是否可靠则另列为待查的技术问题,不能因为这一轮暂时没有检验它,就把它记作已经解决。

一份简短记录可以包含四件事:我们暂时相信什么;为什么还不确定;这次准备怎样观察;什么结果会让下一步改变。IDEO.org 关于选择原型内容的方法也将具体的学习目标与准备检验的部分联系起来。记录不必写成正式研究报告,但应足以让小叶和 AI 明白,本轮不只是要再生成一张更漂亮的页面。

三、保真度要围绕当前问题选择

保真度描述原型在某些方面与预期实际系统有多接近。页面的视觉样式可以很接近成品,背后的数据却全是预填;程序可以真实处理通知,外观却只有几行文字。不同方面的接近程度可以不同,不必把“高保真”理解成所有方面都已经接近可交付状态。

小叶首先画了两张结果卡片。旧卡片只有“时间:10月16日12:00”;新卡片分别写“报名截止:10月16日12:00”和“活动开始:10月18日19:00”,并在旁边保留通知原文。现在他可以让同学说明什么时候需要报名、什么时候前往报告厅,以及从哪里核对这些判断。

这时,纸张能够呈现两种时间和原文之间的关系,就已经有用。若当前要检查的是同学能否读懂栏目,阴影、动画和账户系统没有必要先出现。省掉这些实现,并没有省掉本轮要检验的关系。

可是,当问题变成“同学在手机上能否边看候选边核对原文”,纸面可能就不够了。屏幕大小、滚动位置、原文展开方式和键盘遮挡都会影响操作。为了看到这些关系,小叶可以做一个可点击的页面,放到接近实际使用的设备上试用。此时提高交互与显示方面的保真度,有具体理由。

如果要检查“同学修改时间以后保存,再重新打开是否看到修改后的值”,页面就需要真实保持相应状态。只把按钮链接到一张固定的成功图,观察不到修改有没有进入保存结果。要么把这一小段做实,要么明确本轮只检查保存前的理解,不能在结论中越过未实现的部分。

选择低保真原型也有它的条件。假如参与者根本无法把纸面卡片理解成将来的使用界面,整场讨论都在问“这是海报还是表格”,原型便没有有效呈现本轮问题。此时需要补足表达,可能是说明具体任务,也可能是换成更容易操作的形式。低成本不应使核心关系无法被观察。

另一方面,外观过于完整也可能让参与者误判当前能力。页面显示“自动识别完成”,实际结果却由小叶提前填入,这种演示很容易让同学把界面理解成功与自动提取成功混成一件事。试用开始前应说明哪些部分是模拟,报告时也按实际呈现限定结论。

不同问题所需的原型与可观察证据
图 S07-01|不同问题所需的原型与可观察证据

图里的三种尝试不构成必须依次通关的等级。小叶可以先验证日期提取能否工作,再设计确认页面;也可以先检查同学是否愿意进行这种核对。顺序取决于当前最需要查明什么,不能因为图从上往下排列,就把它理解为固定开发流程。

这也是与 AI 合作时很实用的一个要求:说明本轮哪些部分需要真实工作,哪些只需呈现关系,以及准备用什么观察判断。AI 才能把实现精力放到需要的地方。单说“做一个完整原型”,容易让页面增加了许多功能,而决定本轮成败的那一步仍然只是预填结果。

四、技术试探与完整小流程,回答不同的问题

即使同学已经能够正确读懂分栏后的预填卡片,也不能说明 AI 面对新通知会给出正确字段。为了检查这个问题,小叶另做一个技术试探:输入通知原文,取得真实候选结果,把候选与原文对照,记录哪些信息提取正确、哪些遗漏、哪些没有依据。

这种针对某个关键技术设想的小规模验证,常被称为概念验证。本例要验证的设想是:当前提取办法能否区分活动开始与报名截止,并给出可回查的候选信息。它可以暂时没有漂亮界面,但提取过程本身应实际发生,否则没有检验到这个技术设想。

小叶需要选择能暴露差别的通知。例如,一份明确同时写出两个时间,一份只写活动时间而没有报名截止,一份正文先写原日期、后面又说明活动改期。它们分别检查时间角色、缺失信息和更正信息的处理。连续输入几份句式几乎相同的通知,可能只是在重复检验同一种容易的情况。

假设在这一技术试探中,明确写出两个时间的通知能够被正确处理,只写活动时间的通知却被补出一个原文没有的报名截止。小叶得到的具体问题是:当前办法会在信息缺失时补造候选。下一步可以调整字段规则,让没有依据的项目保持未提供,并检查修改后是否既减少补造,又仍能提取确实存在的截止时间。

这段教学假设没有证明某一种模型普遍可靠或不可靠。它只说明怎样让技术试探的结果改变下一步:先修本轮发现的缺失信息处理,再换一些具有相应特点的通知检查,而不是继续只展示最早那份成功示例。

技术试探也可能揭示更基础的限制。比如实际资料以图片形式出现,而本次提取只接受粘贴文字。小叶可以把首版范围明确限制为文字通知,也可以另查图片读取的能力与投入。不能让“技术试探在文字上成功”自然变成“真实使用中所有通知都能处理”。

不过,几个局部技术都能工作,还没有说明用户可以把事情做完。提取正确,确认页面可能丢失修改;确认正确,保存后可能找不到原文。为检查这些交接,小叶可以做一条范围很小、但从开始到结果连起来的流程:粘贴一段文字通知,显示候选和依据,允许修改与确认,保存,再重新打开查看。

这里的小,是只支持约定范围的一类任务;完整,是这类任务从输入到可使用结果确实接通。它不要求同时拥有分类、搜索、提醒和分享,却要求本轮声称完成的保存及回查真的成立。范围少并不等于可以在结尾放一张成功图片,替代实际结果。

技术试探与完整小流程可以互相提供信息。前者帮助查清某项能力能不能实现,后者帮助看清这些能力共同工作时是否仍服务于用户目标。哪一种更应先做,仍由未知问题决定;二者不需要为了形式都制作一套。

五、让参与者完成事情,才能看见使用中的问题

原型做好以后,还要安排一次能回答问题的使用过程。小叶若把新版卡片拿给同学,只问“分成两栏是不是更清楚”,已经在问题里提示了他希望得到的评价。得到肯定回答,仍不知道同学能否独立分清两种时间、完成核对。

可以改成一个具体任务:“你准备参加这场讲座,请用页面里的信息说明,你最晚什么时候需要报名,什么时候去现场,并把你核对后的信息保存到活动清单。”参与者有清楚目标,但没有被告知应点击哪个按钮、应该先看哪个字段。小叶因此能够观察界面是否提供了足够线索。这项任务已经要求核对,当前检查的是同学能否完成这一目标;日常使用时会不会主动核对,还需要在没有这项任务提醒的条件下观察。

可用性测试在这里关注的是:目标使用者尝试完成具体任务时,能否理解并使用这套设计,在哪里遇到困难。它和检查程序是否按代码规则输出不同,但可以相互补充。程序每次都正确显示了“报名截止”,同学仍可能不知道保存以后是否会自动替自己报名。

GOV.UK 的主持式可用性测试指南建议围绕实际任务观察参与者,并避免在任务说明里透露操作答案。

参与者也应接近准备使用工具的人。熟悉页面的小叶能完成操作,只说明他知道自己的设计;开发时一直在旁边帮忙的同学,也可能记得其他人没有见过的解释。可以找有类似通知整理需要、却没有参与本轮设计的同学,看看他们第一次面对页面时怎样理解。

观察时,小叶可以记下同学先看哪里、在哪里停住、是否回到原文、有没有改错字段、最后保存的是什么。如果同学愿意说出正在想什么,还能帮助小叶理解停顿的原因。比如同学说“确认是不是就报名了”,就暴露了一个与日期提取准确性不同的设计问题。

帮助参与者并非绝对不允许。有人卡住以后,可以先记录他卡在哪里、是否得到提示,再给必要帮助,使后续步骤仍有机会被观察。但最后不能把这次有提示的完成写成“同学独立完成了全部操作”。是否得到协助,会改变这条证据能支持什么判断。

同样要区分原型本身的限制。可点击页面如果没有真实保存,任务可以进行到“选择准备保存的信息”为止,后面由小叶说明是模拟阶段。若本轮要检验完整保存与重新打开,就应使用已经实现这一步的版本。不能让参与者对着一个空按钮猜操作,再把全部困惑归为用户不理解。

试用以后,问“刚才你以为确认以后会发生什么”,通常比问“按钮是不是不够明显”更能了解那次行为。前者允许参与者说明自己的理解,后者已经替问题选好了原因。小叶需要先看清发生了什么,再决定该改按钮位置、动作名称还是整个确认流程。

这一轮可能只找少量同学,仍然能发现值得修的具体误解。例如,只要有人把报名截止当成活动开始,就可以回到页面查找原因。但几位同学顺利完成,并不足以证明全校使用者都不会出问题。小范围试用提供的是这些情景下的使用线索,能否适用于其他人和场景,还要继续检查。

六、反馈中有事实、解释和建议,不能直接混成待办

一次试用后,小叶听到的反馈可能很多:“这里太复杂了”“最好加一个提醒”“我差点以为已经报名”。如果把每一句都直接变成要新增的功能,下一版很快会变大,却可能没有解决已经看到的困难。

可以先区分三种内容。观察是这次实际发生的行为和结果,例如同学没有打开原文,直接保存了候选时间。解释是对这个行为原因的判断,例如他可能以为系统已经核对过。建议则是准备怎样改变设计,例如把原文放到候选旁边,或增加一个确认步骤。

这三者有联系,但不能互相代替。“没有打开原文”并不自动证明同学不重视准确性。他可能已经熟悉这份通知,也可能没有发现原文入口,或者以为页面显示的内容来自人工审核。不同原因会影响改法,需要结合当时的说明和适当追问判断。

假设同学说:“我以为这里的时间已经检查过了,所以直接保存。”这时,给原文入口加一个亮色边框也许仍不够。小叶需要让候选的性质更清楚,说明这是待核对信息,并让核对所需的原文容易取得。若困难是同学根本看不到原文入口,改变入口位置则可能直接起作用。

还要看问题是否由本次试用方式造成。小叶演示时说“现在已经提取好了”,参与者可能从他的语气中理解成“结果确认无误”。这种情况下,页面表达与主持说明都需要检查。只让 AI 改按钮文案,可能留下真正影响判断的说明方式。

同学提出“加提醒”,也可能有不同含义。有人只是喜欢日历类工具都有提醒;有人则说明自己上一次虽然保存了通知,却忘了报名截止。后一种反馈具体指出了从保存信息到按时行动之间的缺口。小叶可以据此调查提醒是否属于需要处理的问题,但不能直接认定某一种推送方式已经是最合适答案。

如果新增提醒会涉及通知权限、发送时点和失败后的处理,它就比改一个字段名称需要更多实现与核对。当前一轮若只承诺让同学分清两个时间,可以先修已经阻碍这个目标的表达,把提醒作为另一个待判断的需要。这样处理有任务范围的依据,不是因为新想法一定不值得做。

面对互相冲突的意见,也要回到情景。有的同学希望卡片简洁,有的希望直接展示全部原文。如果前者熟悉通知,只想快速确认日期,后者第一次看通知,需要读上下文,两种意见可能都合理。可以让关键字段保持清楚,同时提供容易展开的原文,再观察它是否支持两类需要。

这里仍然不能直接宣布“可以展开”已经解决冲突。同学能否找到入口、展开后是否看得清、收起后是否保留修改,都要由下一轮具体使用检查。设计建议是准备尝试的办法,只有观察它是否改变原来的困难,才知道应当保留还是继续调整。

小叶可以把一条反馈写成短记录:“同学直接保存,没有回查原文;他说以为候选已经核对过;准备调整候选提示和原文位置;下一轮看是否能解释候选性质并据原文修正。”这段记录让原因、改法和待观察结果连在一起,AI 也更容易按这个问题修改,而不是泛泛地“优化用户体验”。

七、迭代是根据证据调整,增量是扩大已有能力

迭代是围绕目标反复形成方案、观察结果、据此调整的过程。它强调上一轮得到的信息怎样改变下一轮。小叶把单一时间栏改成两个明确字段,再观察同学是否仍误读,就是一次有依据的迭代。

如果只是觉得第一版不够漂亮,连续让 AI 换几次颜色,程序确实改变了,却未必在本章关注的问题上取得进展。是否算有效的一轮,要看当前困惑有没有被进一步弄清,以及下一步判断是否因此更有依据。

增量关注增加了哪一部分可用能力。例如,已有工具只能整理一段通知,后来增加整理多段通知的能力,就是扩大了它能处理的范围。迭代与增量可以同时发生:为了增加多段处理,小叶可能先试一种选择方式,再根据同学的使用情况调整它。

二者也可以分开。把“时间”改成报名截止和活动开始,可能没有新增一类任务,却改善了原有任务的完成方式。反过来,添加分类标签增加了能力,但如果没有检验标签是否解决需要,就不能仅凭功能变多认定整体使用已经改善。

一轮迭代最好有一个清楚的当前问题,以及能够结束这一轮的检查范围。这不是说只能修改一行代码,而是说改动之间应有共同目的。为了让同学完成时间核对,可以同时调整字段名称、原文位置和确认说明,因为它们共同作用于同一使用过程。

不过,改动越多,对原因的判断就越需要谨慎。如果第二轮更顺利,小叶可以说“这组修改后的流程在本次观察中更容易完成”,却未必能说只有某个按钮颜色起了作用。若接下来确实需要知道是哪一项导致差别,再安排更有针对性的比较;不是所有工程调整都必须一开始就做成严格的因果实验。

保留少量可比较的内容很有帮助。例如,仍用有报名截止和活动开始的通知,仍请首次接触新版的同学完成相同目标,并记录主持者是否给过帮助。这样至少能够看见,之前的具体误解在当前设计中是否还会出现。

与此同时,也要加入适当的新情况。一直使用参与者已经背熟的那份通知,可能只是在检查记忆。可以换成内容不同但仍包含两种时间的通知,再加入缺失截止或活动改期的情景。哪些条件保持一致,是为了比较;哪些条件改变,是为了检查适用范围,两者应各有理由。

迭代还需要为检查留下位置。若小叶每次都把全部时间用在修改页面,到了约定结束时只剩一句“应该更好了”,没有观察新版,他就只有一份新候选,尚未完成依据反馈调整并确认效果的过程。可以缩小本轮改动,让实际试用和结果整理也能完成。

敏捷宣言的原则强调持续交付有价值的软件,并定期反思和调整工作方式。小叶每一轮得到的观察,也应成为安排下一轮工作的依据。

一轮结束时,记录可以很简单:这次发现了什么;实际改了什么;检查后哪些判断获得支持;哪些问题仍待处理。新的证据可能让小叶继续原方向,也可能让他退回去重新看需要。迭代的节奏应服务于学习和完成任务,不是为了积累越来越多版本号。

八、AI 加快了制作,也要让每一轮的依据跟得上

AI 让小叶更容易把想法做出来。他可以很快生成两种结果布局,补上原文展开方式,或者写一个只测试日期提取的小程序。这会降低尝试某个设计的成本,也使过去因为编程费时而被推迟的问题,能够更早拿到具体材料讨论。

但制作变快以后,也容易同时改变太多东西。小叶要求 AI “把整个体验全面提升”,它可能修改页面、字段名称、提取提示、保存格式和默认值。新版本看起来完整,旧问题也似乎消失了,可是小叶已经说不清哪些结果来自真实提取,哪些是新加的默认内容。

因此,交给 AI 的任务应包含本轮的问题及需要保持的关系。例如:“同学把报名截止当成活动开始。请让两种时间分别显示,保留各自原文依据,允许修改后确认。缺少依据时显示未提供。当前先使用预填数据检查页面理解,真实提取逻辑留在单独的小实验中。”

这样的描述说明了为什么改、怎样保留信息、哪些部分暂时模拟。AI 仍有空间提出具体实现,但不能仅靠补一个默认日期,让结果卡片看起来每一栏都有内容。本轮成果可以据这些关系检查,而不是据页面是否填满检查。

如果同时探索几个方案,应当让各方案回答清楚的问题。比如一种布局把原文常驻在右侧,另一种按字段打开对应句子,两者都用于探索同学怎样回查依据。小叶可以比较实际操作中的困难;不必把每个方案都继续扩建成完整产品后才决定取舍。

也可以并行做不同类型的试探:一个检查界面含义,一个检查日期提取。这时结果不能直接混为一项通过。界面试用顺利,不能替技术试探补上缺失信息处理;技术样例正确,也不能替页面证明同学知道怎样核对。合并进入小流程时,还要检查两者怎样交接。

AI 还可以帮助整理试用记录、提出可能解释、建议新的反例。不过,应保留原始观察,让“同学停顿了一会”与“他一定觉得按钮太小”继续分开。AI 写出的流畅分析有时只是一个合理猜测,仍需回到现场证据才能判断是否成立。

如果让 AI 扮演同学评价页面,这种模拟可以提前暴露一些明显用词或流程问题,却不能替代目标使用者实际操作。模型可能知道小叶想表达什么,主动补足页面没写的条件;也可能没有真实需要,只根据描述想象满意程度。模拟可作为改进线索,结果应与真实试用区分记录。

对模型输出本身,也应保存出现问题的原始候选。不断重新生成直到拿到一份正确结果,再只保留它,会让后续判断失去依据。假如准备交给同学的工具只生成一次,试验中筛选多次后的最好结果就不是同一种使用条件。

小叶不需要把每一次操作都记成复杂实验日志,但至少应当知道当前使用哪份输入、哪种提取规则、得到了什么结果、经过了哪些人工处理。这些信息使 AI 的生成速度能够服务于连续学习,而不会让每一版都与上一版失去联系。

九、什么时候继续改,什么时候进入实际使用

原型可以不断改下去,但每一轮都应帮助作出某个决定。当前问题已经得到足够回答时,可以结束这项探索,转向下一个真正影响使用的问题;发现方案依赖的关键条件不成立时,也可以调整方向或停止这一方案。

假设同学已经能正确区分两个时间,能找到原文,也知道确认只会保存到个人清单。继续比较十几种相近的栏目名称,可能不再明显改变当前判断。下一项更有价值的工作,也许是检查真实提取面对缺失和改期信息的表现,或者把确认后的修改接到真实保存。

反过来,若反复试用都显示同学很少需要另存通知,现有方式已能满足需要,就应回头考虑工具是否有值得继续处理的问题。可以查清是不是选错了目标人群或任务,也可能决定不再扩建这个方案。原型已经投入多少,并不能替未来的价值提供保证。

还有一种情况是方向仍然值得做,但现有实现不适合继续增加责任。探索页面只在本次打开期间保留修改,刷新就消失;小叶让同学正式保存活动时,就需要持久保存、失败提示和重新打开等行为。这些要求来自用途已经改变,不能因为原型演示通过就当作已经具备。

原型可以在检验设想后被丢弃,也可以在适合的基础上逐步演进。判断依据是现有实现能否支撑下一步需要,以及继续修改的投入是否合理。不是看文件叫不叫“prototype”,也不是看 AI 是否能很快再写一套。

例如,字段含义、原文对应和确认后的状态已经组织清楚,只缺少持久保存实现,可能适合补上这一部分。若页面到处使用预填成功结果,各处又分别保存一份互相冲突的时间,继续堆功能也许会使问题更难查清。此时保留验证过的设计决定,重新组织必要实现,可能更有利于后续工作。

前面引用的 GOV.UK 原型工具对自身原型代码与生产代码有明确区分。将这个经验用到一般项目时,应理解为用途改变以后重新检查实现要求,不能推成所有原型代码都必须丢掉,也不能因为某段代码能运行,就默认它适合长期使用。

你可能还会遇到最小可行产品这个说法。Eric Ries 对这一概念的说明将重点放在:用尽可能少的投入,通过一个产品版本,在证据基础上了解用户的需要与行为。它不是简单把功能减到最少,也不表示价值已经获得证明。原型可以参与这种探索;若选择让同学实际使用来检验价值,就仍须兑现这一版本明确承诺的行为。

对小叶而言,允许同学真正整理、确认、保存一类文字通知,并在以后重新找到它,与只用预填卡片探索栏目含义,承担的任务不同。前一种即使暂不支持提醒,也要兑现自己承诺的保存;后一种可以不实现保存,但不能把使用者的活动信息当作已经存好。范围有限与承诺失效,是两件不同的事。

进入小范围实际使用,也仍然可以继续迭代。不同之处在于,新的改动会影响已经有人依赖的成果。应保留可恢复的版本、检查既有任务是否还能完成,再决定扩大范围。这些能力在后面的版本、测试和维护章节继续展开;本章先把探索证据与实际使用责任接起来。

十、把几轮尝试连成一次有依据的开发决定

现在回到开篇。小叶面对的是一张预填结果卡片,只有“时间”一栏,报名截止被同学当成了活动开始。这次观察首先支持的决定,是修改时间的表达,并进一步了解同学怎样核对;它还没有检验真实提取,也没有证明工具值得向所有同学推广。

我们把后续可能进行的几轮安排放在一起。表中的观察全部是为了讲解而新设的假设结果,目的是看不同证据怎样改变下一步,不是报告真实试用数据。

本轮想弄清什么 实际呈现的部分 假设观察到的情况 据此安排下一步
同学能否分清并核对两种时间 预填两个明确字段,并提供原文;保存仍是模拟 同学分清时间,却以为“确认”会替自己报名 明确确认动作只保存信息,再检查同学对动作后果的理解
当前提取办法怎样处理缺失信息 真实输入文字通知,取得候选;界面从简 原文没有报名截止时,候选补出了一个截止时间 调整缺失值规则,复查缺失、明确给出和改期等通知
已确认修改是否真正进入可回查结果 接通粘贴、提取、核对修改、保存、重新打开 修改后的时间保存正确,但重新打开找不到原文 补上原文与条目的对应,再检查重新打开后的核对过程

三轮关注的问题互相联系,却没有互相替代。栏目读懂了,不能给提取能力盖章;候选提取正确,不能给保存后的回查盖章。后一轮把前面形成的设计带入更完整的过程,也检查新的交接是否成立。

假设这些缺口分别修复后,小叶又按对应条件检查:同学知道确认不会报名,缺失字段保持未提供,活动改期能够被识别并提示核对,修改后的条目和原文能够保存并重新打开。此时,他可以考虑让有相应需要的同学在明确的文字通知范围内使用,并继续记录实际困难。

这里仍有一项尚未被上述观察充分回答:同学在日常生活中是否愿意持续采用这一方式,以及得到的帮助是否抵得上粘贴和核对的投入。要判断是否进一步扩建提醒、分类或多通知处理,就应继续观察真实使用中的需要,而不是只根据演示时的认可决定。

小叶可以据此把下一轮目标定为:观察同学在日常整理和回查通知时,能否从这个工具得到值得持续使用的帮助。已核查的小流程作为这次试用的基础,当前能处理的文字通知范围也要向同学说明;提醒等新需要先保留,依据后续观察再决定是否开发。这样,已完成的检查支持具体的试用安排,仍未确认的价值判断继续由实际使用来检验。

学会原型与迭代之后,你不必在行动前把整个系统想得毫无疑问。可以先把最需要查明的问题做成能够观察的尝试,让结果帮助你作下一步决定。AI 使这种尝试更容易开始,而你需要掌握的,是判断这次做出来的东西究竟说明了什么,以及还没有说明什么。

练习与参考分析

练习一:演示的回答全都正确,能够验证什么

小叶做了一个资料问答原型。页面可以输入问题,但显示的回答和引用都是提前准备好的。几名同学能找到引用入口,也能返回原文。小叶据此准备写“自动问答与引用准确性已经验证”。这份结论应怎样调整,下一步又该检查什么?

**参考分析:**本次观察支持的是,这几位同学在当前预填材料和界面下能够找到并使用引用入口。它没有检验新问题经过真实模型后会得到什么,也没有检验自动生成的引用是否正确对应原文。演示内容正确与自动过程可靠是不同证据。

应保留界面使用的观察,同时明确回答与引用是预填。若下一步需要判断自动问答和引用能力,就用真实提问、真实输出与可核对原文作技术检查;接到页面以后,再观察使用者能否据这些实际结果完成回查。无需因技术尚未验证而否定已有界面线索,也不能让它替未发生的过程通过。

练习二:大家都说要搜索,是否应立即开发

几位同学试用活动清单后都提出“应该增加搜索”。进一步观察发现,当前清单只有少量条目,但已经结束的活动排在最前面,他们找不到下次准备参加的活动。小叶应该怎样理解反馈,并选择一个下一轮尝试?

参考分析:“需要搜索”是参与者提出的办法;实际困难是寻找即将参加的活动。搜索可能有用,但当前观察也支持检查排序和状态表达。如果直接开发复杂搜索,可能增加输入和操作,却没有改善默认打开页面时最重要的信息。

可以先尝试按当前需要排列即将参加的活动,并清楚区分已结束条目,再让同学完成寻找下一场活动的任务。如果困难显著减少,便获得保留这种安排的依据;若活动数量或寻找方式改变后仍需要按名称查找,再考虑搜索。这里选择小尝试,是因为它直接作用于当前观察到的困难,不是因为新增功能一概不好。

练习三:新版全部完成了,能说是哪一项改动有效吗

旧版试用时同学经常读错时间。新版同时换了字段名称、布局和提取规则,又由小叶在操作前详细解释一遍。参与者这次全部完成了任务。有人说:“这证明新布局解决了问题。”应怎样判断?

**参考分析:**本次可以说明,在新版组合和已有讲解帮助下,这些参与者完成了当前任务。布局可能起作用,字段、提取结果和提前解释也都可能影响行为,现有比较没有把它们分开。不能只挑其中一项认领全部效果。

若当前决定只是要不要继续试用整组修改,可以保留这条有限证据,再检查没有额外讲解时能否使用。若必须比较两种布局,则需要让相关输入、规则和说明尽量可比,再观察布局差别对应的行为。不要为追求单一原因而否定全部观察,也不要把有帮助的完成写成独立完成。

练习四:最好的那次输出能代表首版体验吗

小叶计划让工具对每份通知只生成一次候选。试验时,一份通知连续生成了几次,他选出其中最好的一次放入演示,其他结果没有保存。页面试用很顺利。当前对提取效果的判断还缺什么?

**参考分析:**演示使用了人工多次筛选后的结果,准备交付的工具却只生成一次,两者条件不同。界面顺利不说明同学实际使用时会得到同样的候选质量。其他结果被丢弃,也使小叶无法检查常见错误及筛选投入。

应按准备使用的生成规则保存实际候选和核对结果,用能暴露时间角色、缺失与更正差异的通知检查。若决定把多次生成和人工选择纳入工具,那就是改变流程,还需考虑选择者、核对标准及投入,而不是仍称原来的一次生成方案已经验证。

练习五:原型刷新后丢失,是否一定要从头重写

一个通知整理原型可以提取、修改和显示候选,但刷新页面后所有条目消失。现在小叶准备让同学真实保存活动。有人认为原型已经能用,可以直接开放;另有人认为凡是原型代码都要全部丢掉。两种判断有什么不足?

**参考分析:**原型原先可以只探索当前页面内的操作,现在却要承担持久保存任务。刷新后丢失说明它还没有兑现新用途中的关键要求,不能把原来的演示成功当作真实保存通过。

但这也不证明所有代码都没有价值。应检查字段、状态和保存责任是否清楚,能否在现有结构中补上可靠的保存与重新打开;如果组织方式不适合,再重新安排相关实现。已验证的栏目含义和核对方式仍可保留。改造或重写的选择取决于实际适用性与投入,文件名称不是充分依据。

练习六:怎样判断这一轮该结束了

小叶已经确认同学能够分清两个时间,也能理解确认动作,但原文没有日期时工具仍会补造时间。距离下一次小范围试用只够完成一项有实质作用的改动和相应检查。备选是再比较几种相近栏目名称,或者修正缺失信息处理。应怎样选择?

**参考分析:**题面已有证据支持栏目含义与确认动作的基本理解;缺失日期仍被补造,则会使待核对候选带入无依据内容,直接影响下一轮试用的关键行为。当前更有依据的是先修缺失信息处理,并检查原文缺失时保持未提供、原文明确给出时仍正常提取。

结束栏目比较,不代表它永远不用再改,只是当前继续比较的价值低于已暴露的问题。还要给修正后的检查留出位置;若到试用前仍没有确认缺失处理已经符合要求,就应如实缩小试用范围或延后,而不能把“已经改过提示词”直接写成问题解决。