大语言模型把 生成式、概率性、上下文敏感 的推理带进了主路径,却仍在用 确定性 GUI 的语法(按钮、表单、单一正确答案)接待用户。传统软件交互关心的是「系统是否按规格执行」;生成式 AI 时代,核心问题变成:当系统自己也不确定时,人应如何形成正确的心智模型、分配合适的信赖,并在失败时仍能完成任务?
下文围绕 表征、控制、责任与评测 整理一套可落地的分析框架——不讨论某个配色或动效。
1. 问题重述:从「可用性」到「适当信赖」
1.1 两类不确定性
| 类型 | 含义 | 界面含义 | |------|------|----------| | 认知不确定性(Epistemic) | 模型/系统知识不足,更多数据可改善 | 应提示「可能不完整」「可查证来源」 | | 随机不确定性(Aleatoric) | 固有噪声,再训练也难消除 | 应提供多次采样、区间或备选 |
把二者混为一谈,会出现荒谬 UI:对 不可消减的随机性 展示「再试一次即可得到真理」;或对 可修正的认知错误 只给一句「仅供参考」。
1.2 适当信赖(Appropriate Reliance)
一项常被忽略的原则:信赖应与系统真实能力校准。
- 过度信赖(Over-reliance):自动化偏见、盲从幻觉引用、把草稿当终稿发出;
- 信赖不足(Under-reliance):明明可靠的检索辅助也被弃用,重复劳动;
- 目标不是「让用户永远相信 AI」,而是 在任务风险等级下,信赖度 ≈ 实际可靠性。
高风险域(医疗、法律、工业控制)与低风险域(头脑风暴、润色邮件)应采用 不同的默认信赖策略,而非同一套「友好语气」。
2. 交互范式:Chat 不是万能容器
2.1 三种常见范式
| 范式 | 控制主体 | 优势 | 典型失败 | |------|----------|------|----------| | 对话式(Conversational) | 用户主导轮次,系统补全 | 探索性强、学习成本低 | 上下文漂移、责任模糊、长线程难扫读 | | 嵌入式 Copilot | 用户在主任务流,AI 建议 | 贴合工作流、可局部采纳 | 建议打断节奏;采纳/拒绝信号难采集 | | 代理式(Agentic) | 系统规划多步,人审批关键点 | 适合长链路自动化 | 不可见计划、越权工具调用、回滚困难 |
在 混合主动(Mixed-initiative) 设计里,理想系统应在 人主动 与 机主动 之间可切换,且切换点 可见、可撤销。
2.2 不要把「自然语言」当作唯一 API
自然语言接口 带宽高但歧义大。可与之并行的补充通道:
- 结构化槽位(表单、下拉、约束选择)降低意图解析误差;
- 示例与反例(few-shot in UI)比空文本框更稳定;
- 显式模式开关(「仅检索 / 可推理 / 可执行工具」)比隐式 prompt 工程更可信。
3. 确定性 UX 语法:状态机优于「魔法加载」
概率后端需要 有限状态、可观察转移 的前端语义。
3.1 推荐最小状态集
Idle → IntentParsing → Retrieving? → Generating(stream) → Review → Committed
↘ NeedsClarification ↗ ↘ Failed → Retry / Fallback
各状态应有 不同视觉权重,而非共用转圈:
| 状态 | 用户应理解的事实 | 允许的操作 | |------|------------------|------------| | IntentParsing | 系统正在对齐任务,尚无内容 | 取消 | | Retrieving | 答案依赖外部证据 | 查看将检索的范围 | | Generating | 内容逐字出现,可能中途修正 | 停止生成 | | NeedsClarification | 歧义或缺权限 | 补充信息 / 改约束 | | Review | 草稿≠终稿 | 编辑 / 采纳 / 拒绝 | | Failed | 已知失败类型 | 重试 / 降级路径 / 人工 |
关键原则: 「思考中」若超过 N 秒仍无部分信息,应升级为 可取消的长任务 或 异步通知,否则用户会归因于系统卡死而非推理慢。
3.2 流式输出(Streaming)的认知成本
流式降低 首 token 延迟,但带来:
- 过早锚定:用户基于前几行即形成判断(锚定效应);
- 无法扫读:长答案在生成中不可稳定阅读;
- 读屏灾难:若每个 token 触发朗读,无障碍完全失效。
缓解策略:
- 段落级或句子级 节流渲染;
- 生成中提供 折叠骨架 + 完成后展开 选项;
- 结束时单次 aria-live="polite"` 摘要播报,而非逐字播报。
4. 不确定性表征:从标量置信度到可验证性
4.1 为什么不推荐伪精确
「置信度 97%」在多数 LLM 产品中是 未校准的启发式,会强化过度信赖。若无 校准曲线(reliability diagram) 支撑,应用 序数标签(低 / 中 / 高)或 定性说明(基于检索 / 基于推测)。
4.2 更可辩护的表征方式
-
溯源(Provenance)
区分:训练记忆 / RAG 片段 / 工具返回值。用户可点击引用块核对——这比单一分数更接近 认知不确定性 的诚实表达。 -
一致性检查(Self-consistency 的可视化)
多次采样若答案分歧大,界面展示 聚类备选 而非强行合并。用户看到「模型本身不稳定」,信赖自然下调。 -
可执行验证(Verifiability)
对可计算主张提供「一键验算」:运行代码、查数据库、打开原始日志——把一部分 认知不确定性 变成用户能当场完成的检验。 -
编辑距离作为隐式信号
若用户每次都大幅改写 AI 草稿,系统应 主动降低默认篇幅或提高确认步骤——这是比置信度分数更贴近真实能力的反馈闭环。
4.3 备选(Alternatives)的设计伦理
提供多答案不是「让用户选择彩票」,而应:
- 标明 差异轴(保守 / 激进、简短 / 详尽);
- 默认高亮 与约束最一致 的一档,其余折叠;
- 记录用户选择用于 偏好学习,但避免暗箱操纵。
5. 控制感、责任与可撤销性
5.1 控制感(Sense of Control)
可控感 能明显降低焦虑,即使客观结果相同。
具体机制:
- 预览工具调用(将访问哪些 API、写入哪些字段);
- 分步批准(Plan → Approve steps → Execute);
- 全局撤销栈(Undo 回到生成前快照,而非只撤最后一字)。
5.2 责任边界
当 AI 参与决策,界面必须回答:谁对后果负责?
- 低风险:可默认采纳,但保留审计日志;
- 高风险:必须 显式确认 + 身份认证 + 不可篡改记录;
- 避免拟人化文案(「我觉得…」)模糊责任主体——系统建议 与 用户决定 应在文案结构上分离。
5.3 可撤销与版本钉扎(Pin)
允许用户 钉扎 某一版输出为「可信基线」,后续操作在此基础上增量——类似 Git 的 commit。这对协作与合规场景尤为重要。
6. 认知负荷:信息架构而非极简主义
「少即是多」在 AI 产品中常被误用为 隐藏能力。
6.1 分层披露(Progressive Disclosure)
- 主操作一个:指每个 任务阶段 一个主 CTA,而非整页只有一个按钮;
- 高级参数(温度、检索范围、模型选择)面向专家模式;
- 长对话 用 主题分段 + 可折叠摘要,摘要本身应可点击跳转到原文证据。
6.2 避免「对话万能」导致的记忆错觉
用户会假设系统记得一切。应在 UI 中明示:
- 上下文窗口占用(可视化 token 预算);
- 哪些文件已附着 / 已过期;
- 何时需要用户重新粘贴关键事实。
7. 失败模式 catalog(设计侧应预设)
| 失败 | 用户感知 | 设计响应 | |------|----------|----------| | 幻觉引用 | 愤怒、信任崩塌 | 强制引用预览;无引用则降调语气 | | 谄媚(Sycophancy) | 舒适但错误决策 | 允许「反对型」系统人格开关;显示反方要点 | | 工具越权 | 恐惧 | 权限最小化;调用前预览 | | 沉默失败(超时无反馈) | 焦虑 | 心跳进度 + 可取消 | | 过度自动化 | 失控 | 关键步人工闸门 |
8. 评测:交互设计也需要实验
仅看 A/B 点击率往往不够。更稳妥的是建立 任务级指标:
- 任务成功率(在时限内完成目标的比例);
- 误解率(用户复述的任务与系统理解的一致性抽检);
- 适当信赖偏差(该信时不信、不该信时信的行为编码);
- 修复成本(从错误输出到正确终稿的编辑时间 / 步数);
- 放弃率(取消、转人工、关闭功能)。
可做 对照实验:同一能力,只改 UI 表征(有无溯源、有无备选),观察信赖与错误采纳的变化——用数据沉淀设计决策,而不是停留在争论。
9. 与对齐(Alignment)的关系:UI 也是规范层
RLHF / 宪法式对齐主要在 模型输出分布 上施力;界面 同样是规范层:
- 哪些动作必须二次确认;
- 哪些话题默认拒绝或转人工;
- 如何通过交互收集 人类偏好(排序、编辑、拒绝)进入后续训练。
忽略 UI,等于把 最后一道安全与信赖校准 全押在单次 prompt 上。
小结
Intelligent interaction 的核心命题不是「让 AI 更像人」,而是:
- 在概率性推理之上,提供确定性、可观察的交互状态;
- 用溯源、备选、可验证性表达不确定性,而非伪精确分数;
- 按风险配置信赖与控制权,保留撤销与责任边界;
- 用任务实验度量适当信赖,而非仅凭主观「好用」。
归根结底,intelligent interaction 解决的是:在系统不完全可靠时,人如何仍能完成目标。模型与框架会变,这个问题会一直在。