1 调研对象说的“简单”
早高峰刚过,林予安从地铁十四号线的换乘通道出来时,手机已经震了三次。设计群里有人问初稿什么时候能看,产品经理把下午三点的评审会议又置顶了一遍,用户研究员则发来一个文件,文件名很长,后面跟着“脱敏版”三个字。她站在写字楼入口旁边,把那杯刚买的咖啡夹在手肘和包之间,点开了文件。林予安把屏幕往下滑,看到 Judge-7 生成的归纳:调研对象普遍偏好快捷完成路径,建议减少页面跳转,强化主操作按钮,折叠非必要说明。
“快捷完成路径”听起来没有问题,甚至很像产品经理会在评审会上使用的词。但她刚刚在地铁里站了十几分钟,车门每次打开,人群往外挤,她都得抓住扶手,不能让手机从手里掉下去。她知道“别让我绕太多”不一定意味着“让我更快提交”。林予安打字:看了。少步骤、能撤回、知道后果,这三个需求是不是还没拆开?对方过了一会儿才回:原始录音还在整理,今天先用脱敏文字和任务记录。调研对象身份没有放进系统,录音也没有开放给 Judge-7。这句话让林予安稍微放松了一点。至少系统看到的不是一个个真实的人,而是被去掉姓名、联系方式和录音之后的文本片段。她走进大厅,门禁在胸前的工牌上刷出一声短响。电梯里挤满了刚从地铁出来的人,几个人低头看手机,另一个人把早餐袋夹在腋下,袋底渗出一点油。电梯到十九层时,林予安的咖啡已经凉了半杯。产品经理:下午评审先看流程,不等录音。视觉稿和交互稿今天尽量一起过,后面还有开发窗口。林予安把那份摘要拖进 Judge-7 的设计工作区。系统弹出数据范围确认框。SOURCE_SCOPE=MASKED_RESEARCH_TEXT // 来源范围:脱敏调研文字IDENTITY_ACCESS=DENIED // 用户身份访问:拒绝RAW_AUDIO_ACCESS=DENIED // 原始录音访问:拒绝TASK_RECORDS=AVAILABLE // 任务记录:可用HUMAN_REVIEW_REQUIRED=true // 需要人工复核:是
页面让她选择目标:减少步骤、提高完成率、降低退出率,或者自定义目标。她停了一下,选择了“减少步骤”,又在备注里补了一句:保留用户对后果的理解和撤回机会。系统没有拒绝这个备注,但把它归在“辅助约束”下,排在主要目标之后。“又来了。”旁边的视觉设计师扫了一眼屏幕,“主目标和辅助约束。它是不是永远觉得我们的要求有主次?”林予安没有回答。她知道软件不是在判断谁更重要,它只是在按照表格里既有的字段给出排序。可一旦排序出现在评审屏幕上,人就很容易把它当成判断结果。其中一套只有三个主要页面,主按钮一直固定在屏幕底部。另一套多一个确认页,说明文字更完整,但完成率预测低了一点。第三套把说明内容放到了结果页,路径最短,撤回入口藏在右上角的更多菜单里。她没有解释原因。她只是想看看,如果不先让所有人看到最短的那套,会议会不会更容易讨论。2 先做出一版看起来正确的界面
视觉设计师把三套方案排成一行,第一套的页面最少,第三套最像已经上线过很多次的成熟产品。颜色、字体、按钮圆角和留白都没有明显问题。那种没有明显问题的设计,通常最容易在会议里获得一致通过。“三步。”产品经理先指着第三套,“从选择服务到提交,三步完成。”产品经理看向屏幕。第三套的提交页很干净,只有一段简短提示:提交后将进入处理流程。详细说明被放进了右上角的更多菜单,撤回和修改也在那里。“这不算隐藏。”视觉设计师说,“现在很多 APP 都这样做。主路径要干净,低频功能收进去。”林予安把模拟器里的页面放大。右上角的三个点只有二十像素左右,在设计规范里合格,在一台亮度调低的手机上却几乎和状态栏融在一起。产品经理没有接这句话。他把 Judge-7 的分析卡片调出来,屏幕上列着几组数字:DESIGN_SUGGESTION_READY// 设计候选方案已生成OPTION=PATH_C// 当前候选:路径 CPAGE_COUNT=3// 页面数量:3ESTIMATED_COMPLETION_RATE=0.86// 预计完成率:86%RETURN_ACTION_VISIBILITY=LOW// 返回操作可见性:低HUMAN_REVIEW_REQUIRED=true// 需要人工复核:是DEFAULT_PATH_WRITE=BLOCKED// 写入默认路径:已阻止
“低不等于不可用。”产品经理把卡片向下滑,“而且默认路径没有自动写入,权限是受控的。我们先看方案,别把它当成已经上线的东西。”他说得有道理。这个阶段确实没有前端代码,也没有后端接口。设计稿只是设计稿,交互原型只是能被点开的假页面,后面的版本测试、测试环境发布、模拟生产环境发布和正式上线还隔着一串流程。可林予安还是觉得,有些决定不需要等到代码写出来才发生。她把第三套方案的确认页拆开,拉出被折叠的那段文字。提交后会产生什么结果?能否修改?如果信息不完整,是否可以保存后稍后继续?原本挤在一块的说明被她分成了三行。界面立刻变得不那么“漂亮”。按钮下面多出一小块空白,整体视觉重心也往下沉了一点。视觉设计师转过头看她,像是想反驳,又把话咽了回去。她们都知道,设计会议里很多争论并没有输赢,只是有人得在最后承担一次返工。产品经理敲了敲桌面:“下午三点要有结论。视觉先按第三套走,交互把风险点记下来,能不能这样?”林予安看着屏幕里的三套路径。她想说不行,但项目已经晚了两天,视觉稿做完后还要交给前端拆组件。群里有人刚发了后续排期,第一行写着“冻结设计稿”。会议结束后,大家各自回到工位。视觉设计师去改图层命名,产品经理去参加另一个会,林予安打开原型测试录屏。他完成信息填写后,没有马上点提交。他的鼠标停在按钮上方,屏幕没有任何变化。十二秒后,他问:“我现在点了,是不是就不能改了?”他把光标移到页面空白处,又移回来。最终,他点下提交,然后盯着结果页看了几秒。3 停顿没有出现在完成率里
午饭前,林予安去楼下买了一杯冰美式。咖啡券还有两张,月底前不喝完就过期。她站在取餐口等单时,产品经理发来消息。回到楼上,用户研究员已经把几段原型测试记录放进会议室。会议室的空调开得有点低,投影仪亮着,白墙上是第三套方案的确认页。五名调研对象,四人完成,一人中途退出。完成率百分之八十。退出原因一栏只有“未说明”。用户研究员没有说好,也没有说不好,只把第一段录屏点开。画面里,调研对象 3 正在填写申请信息。他的手指在原型页面上滑动,完成了前两项。到确认页时,他停下来,看了看主按钮,又去找页面里的返回箭头。他点了一次,没有反应。原型测试工具的热区没有覆盖到那个位置。“下一次我会修复热区。”用户研究员说,“但他停顿的原因不一定是点不到。”现场测试员说:“按照目前的流程,提交后会进入处理。”测试员看了一眼旁边的流程说明:“这个要看后续状态。”调研对象 3 没再问。他点下按钮,系统跳出结果页。测试员说任务完成,下一段录屏开始。产品经理没有立刻反驳。他拿起桌上的笔,在纸上写了两个词:完成率、退出率。用户研究员打开另一份记录:“还有一名调研对象在确认页直接关掉了原型,没有留下文字反馈。”这句话说完,用户研究员把视线移回屏幕。她的语气不重,像是在提醒一个格式问题,而不是争论一件原则问题。TASK_PAUSE_WITHOUT_ERROR=true // 任务停顿但未报错:是PAUSE_DURATION=12s // 停顿时长:12 秒TASK_STATUS=COMPLETED // 任务状态:已完成FAILURE_SIGNAL=NOT_DETECTED // 失败信号:未检测到USER_CONCERN=UNRESOLVED // 用户疑虑:未解决
“这就是两个字段。”产品经理说,“一个看行为,一个看备注。现在我们的目标是先保证行为完成。”林予安没有继续争。她把录屏中的十二秒截出来,放进设计评审备注,标题写成:确认页停顿,不计为失败。产品经理往椅背上一靠,目光落在那张确认页上。过了一会儿,他说:“可撤回入口可以保留,但不要放太大。主流程还是要清楚。”她知道他不是要把入口删掉。产品经理只是希望主路径保持顺畅,不希望每一个可能发生的犹豫都变成一个新的页面。如果一个 APP 把所有可能都摊在用户面前,用户也可能在信息里迷路。设计从来不是把内容越堆越多,而是在有限的空间里决定什么必须看见,什么可以稍后再看。4 AI 给出了最短路径
下午两点二十,办公室里的人开始陆续准备评审材料。林予安把耳机戴上,重新操作第三套原型。左上角有一个很浅的箭头,右上角的三个点里有“查看说明”和“保存后退出”。如果她点确认提交,再进入结果页,才会出现“修改申请”的入口。这条路从系统指标上看很短,用户只需要做三次主要操作。INTERACTION_CHANGE_DETECTED// 检测到交互修改PAGE_COUNT_DELTA=+1// 页面步骤变化:增加 1 步ESTIMATED_COMPLETION_RATE=-0.04// 预计完成率变化:下降 4 个百分点RETURN_ACTION_VISIBILITY=HIGH// 返回操作可见性:高REVERSIBILITY_NOTICE=VISIBLE// 可撤回提示:可见DESIGN_FREEZE_WRITE=BLOCKED// 设计冻结写入:已阻止
四个百分点可以在周报里变成一根向下的箭头,也可以在评审会上变成一句“暂不建议采用”。但“撤回提示可见”不会自动生成一根向上的箭头,没人能保证一个人因为多看了一行说明,就一定更愿意完成。预计完成率下降;用户可在提交前看见后果,并知道可以返回。视觉设计师从她身后经过,看到那行字:“你还真把这个放进去了。”她们都没有再说下去。视觉设计师回到自己的屏幕前,继续改图层命名。这个项目里每个人都有自己负责的那一部分,视觉负责看起来清楚,交互负责走起来顺,产品经理负责按时冻结。谁也没有办法单独把“用户会不会害怕”写进一张排期表。她又搜索“返回”,出现七次;搜索“改”,出现十一处;搜索“后果”,出现三处,其中两处来自用户研究员的追问,不是调研对象主动说的。Judge-7 给出的摘要把“简单”排在第一位,因为它在文本里出现得最多。林予安往下看,发现一名调研对象说:“我不想一直确认,反正每次都差不多。”下一句是:“但如果这次会影响后面的处理,我还是想先看清楚。”它们在模型里属于不同的分类,在人的生活里却可能发生在同一个下午。她想到自己上个月在手机银行里改一项自动扣款。页面上写着“立即生效”,她点进去才发现,取消入口要从另一层菜单返回。那天她站在南山地铁站出口,手机信号断断续续,后面有人催她往前走。她最后没有改成想要的选项,只关掉了页面。那不算一次失败。她没有点错,也没有投诉,系统甚至没有记录她来过。她在确认按钮旁边增加一句:提交前可返回修改,提交后是否可修改取决于处理状态。产品经理的消息立刻弹出来:这句话太长,下午评审前压缩。她删掉了“取决于处理状态”,留下“提交前可返回修改”。她不想把页面变成免责声明,也不想用一段没人会看的小字证明自己考虑过风险。这仍然不是一个完整答案,但至少没有假装事情很简单。她点击保存。系统显示设计稿保存成功,自动冻结仍被阻止。5 视觉稿通过,交互稿被退回
会议室里坐了五个人,前端和后端没有进来,群里却已经有人问设计稿什么时候可以拆任务。林予安知道,如果今天交互稿通过,后面的人会在下班前把页面结构拆出来。设计组不可能在所有问题都解决后才交稿,真正的工作经常发生在“还不够确定,但已经要往下走”的时候。屏幕上的页面很干净,主色、按钮和图标都统一,三套方案的视觉差异已经被压到最低。视觉稿看起来不像冲突的起点,更像一个已经准备好离开会议室的结果。“视觉层级没有问题。”产品经理说,“这一部分可以通过。”他翻到交互流程图:“路径 C 还是主方案,三步完成。林予安,你说一下为什么要增加确认说明。”左边是三步路径。选择、填写、提交。右上角的更多菜单里藏着说明和返回。右边是四步路径。选择、填写、确认后果、提交。确认页有两个按钮,一个返回修改,一个确认提交。她可以把预计完成率、步骤数、返回率都投出来。Judge-7 已经算好了。她也可以说,这样能提升用户信任,减少投诉,降低误操作。可这些话没有直接证据,至少不是这五名调研对象的记录能证明的。“它能让用户在点下去以前知道自己还有没有机会回来。”她说。用户研究员把一段录屏投上去。调研对象 3 停在确认按钮前十二秒,问提交以后还能不能改。林予安没有把画面定格在那张脸上,只把鼠标停在按钮边缘。“我没有判断。”林予安说,“我只是不想把十二秒删掉。”用户研究员把另一页资料推到屏幕中央。那名中途退出的调研对象,任务记录里只有开始时间和退出时间,没有文字说明。系统没有采集退出前停留在哪一页,也没有问他为什么不继续。PRIMARY_OBJECTIVE=TASK_COMPLETION // 首要目标:任务完成SECONDARY_CONSTRAINT=REVERSIBILITY // 辅助约束:可撤回UNRESOLVED_USER_QUESTIONS=2 // 未解决用户疑问:2 项OPTION_C_SCORE=0.86 // 方案 C 评分:0.86OPTION_B_SCORE=0.81 // 方案 B 评分:0.81RECOMMENDATION=OPTION_C // 推荐方案:CDECISION_STATUS=PENDING_HUMAN_APPROVAL // 决策状态:等待人工批准
“它推荐 C。”产品经理说,“但没有自动冻结。权限是按流程设的,没人绕过人工。”她没有把 Judge-7 说成一个会替人做决定的东西。它只是把大量文字和行为压成几项指标,然后根据配置好的目标计算出一个更高的分数。真正替用户做决定的,是人看见分数以后,决定把什么当成问题。产品经理问:“如果不采用 C,什么时候能给出修改版?”“你知道后面有前端、后端、测试,之后还有测试环境和模拟生产环境。”林予安看了看屏幕上的两条路径。她原本想说,不是卡住,是还没决定。可这两句话在会议里听起来差别不大。“因为如果现在默认路径已经把返回和后果藏起来,后面每个阶段都会把它当成已确认的前提。”他大概也清楚,开发流程很少会重新讨论设计稿为什么这样设计。前端会按组件拆,后端会按接口接,测试会按预期结果验证。设计稿如果写着“用户完成”,后面的人通常只负责让这个完成顺利发生。那一栏不是系统自动生成的。它没有数据,也没有评分,只是记录了两名调研对象在回答前停顿、改口或者直接结束对话的时刻。“先不统计。”用户研究员说,“先不要把不知道怎么统计,当成不重要。”Judge-7 生成的方案保留为候选,不设为默认方案。设计组新增三项人工确认:撤回入口是否可见,提交后果是否清楚,调研对象未完成表达如何处理。产品经理在最后一行签了字,又把签字状态改成“部分通过”。没有人因为这个结论感到轻松。它不像一个漂亮的里程碑,倒像在排期表上挪动了一块不愿意挪动的石头。林予安收起电脑时,看到 Judge-7 的状态栏还停在“等待人工批准”。6 还没开发,已经有人替用户做了决定
前端同事回了一个“收到”,又问:那默认路径按 C 留着?她想说,C 只是候选,不是默认路径。可产品经理已经先回了:先保留,明天确认。这句话在开发群里很正常。没人会把“保留”理解成风险,只会理解成还没删掉。林予安打开设计评审区,把方案 C 的状态从“候选”改成“待人工确认”,并在备注中写清楚:不得据此生成开发任务。系统提示她没有权限把它写入默认路径,也没有权限直接创建前端、后端和测试任务。DESIGN_CANDIDATE_STATUS=HUMAN_REVIEW_PENDING // 设计候选状态:等待人工复核DEFAULT_PATH_WRITE=BLOCKED // 默认路径写入:已阻止DEV_TASK_CREATE=BLOCKED // 开发任务创建:已阻止RELEASE_ACTION=NOT_AVAILABLE // 发布操作:不可用APPROVAL_OWNER=LIN_VP // 审批负责人:林副总
她看着最后一行,想起上午用户研究员说过的那句:原始录音和用户身份没有开放给 Judge-7。数据没有被越界读取,权限没有被绕过,系统也没有自己决定下一步。它按流程停在了应该停的地方。可如果没有人去看那十二秒,流程依然可以非常顺利地往前走。他说完,低头看了眼手机。电梯群里已经有人问晚饭吃什么,另一个人说自己要赶最后一班地铁。产品经理把手机揣回口袋,像是忽然想起办公室里不只有指标和排期,还有每个人下班以后要赶的生活。她觉得有问题,但不是因为 AI 画错了页面。第三套方案在视觉上更整洁,路径更短,数字也更好看。问题是,它把一个人的犹豫当作没有发生,把“我想先看看”压成了“我希望尽快完成”。“我不知道。”她说,“但我知道现在还不能把它当成没有问题。”他走后,林予安把原型退回上一版,保留视觉组件和可复用的页面结构,只把确认页恢复出来。页面上多出一行字,和两个并不抢眼的按钮。她又加了一句:提交前请确认,提交后将进入处理流程。这句话并不漂亮,甚至有点笨。它没有让 APP 看起来更聪明,也没有让预计完成率变高。它只是把原本藏在流程后面的事情,放到了用户真正需要决定的地方。她关掉电脑,拿起桌边那杯早上没喝完的咖啡。杯子已经凉透,冰块融成了很淡的水,喝起来没有味道。办公室的灯一盏盏熄灭,设计群里的消息还在往上跳。有人问明天的评审能不能提前,有人提醒不要忘记补交互说明,还有人把一张外卖截图发进群里,问谁要一起点。电梯门合上前,她又看了一眼手机。Judge-7 的候选方案仍然保存在设计评审区,评分没有变化,推荐也没有变化。APP 还没有进入开发,未来的用户也还没有真正点开它。但在设计稿冻结以前,已经有人替他们决定过一次什么应该看见,什么可以被藏起来,什么犹豫可以被算成完成。真正需要人工确认的地方,往往不是上线之后的最后一个按钮,而是第一版设计里,那个看起来最顺手的默认选择。全篇完
写在最后
设计阶段还没有代码,调研对象也还没有真正使用上线后的 APP,但默认路径已经在设计稿里替他们做出了一次选择。真正的“简单”,不只是减少点击次数,也包括让人知道自己正在做什么,以及做错之后还能不能回来。