1. 摘要

本书定义实时全模态视频通话体验,并给出判断一个实现是否符合该体验的公共语言、动态语义和黑盒判定结构。该体验发生在用户通过麦克风提供语音、通过摄像头或等价视觉输入提供当前视觉现场,并由 AI 在同一会话中以自然语音作出上下文相关回应的交互过程中。

本书服务需求提出者、产品负责人、架构师、开发者、测试工程师、供应商评审者以及安全与运营负责人。它不指定模型、协议、框架或供应商;它定义用户可依赖的体验承诺,以及这些承诺如何被观察、审查和声明符合。

版本说明

本文档属于 实时全模态视频通话体验规约书架。本书记录实时全模态视频通话体验的规约和符合性判定结构。

前言

本书把“类似 ChatGPT 高级语音、Gemini Live 或豆包视频通话的体验”转写为稳定的对象语言。产品名只提供公开经验坐标;本书的核心定义不依赖任何单一产品。

需求提出者可从 对象身份、目标愿望和符合性模型理解要验收的体验。产品负责人可从用户旅程与动态语义和公共投影与可观察承诺理解用户在每个状态下应当看见什么。架构师和开发者可从会话生命周期、可观察状态模型和用户可见反馈理解实现必须对外承担的行为。测试工程师和供应商评审者可从符合性断言与不符合案例判断一个实现是否成立。安全、隐私与运营负责人可从质量、治理与符合性声明理解摄像头、麦克风、工具调用、成本和数据处理的公共约束。

本书使用“必须”“不得”“应当”“可以”表达规范强度。规范性语句只用于影响符合性判断的位置;解释、例子和参考坐标不自动构成符合性要求。

致谢

本书的结构化写法参考本书架中的《结构化书写约定标本》。需求工程坐标参考 Pamela Zave 与 Michael Jackson 的 Domain ∧ Specification ⊨ Requirements。规范性语言参考 RFC 2119 与 RFC 8174。符合性判定效果参考 Java Community Process 中 Specification、Reference Implementation 与 Technology Compatibility Kit 的关系。黑盒场景表达参考 Gherkin 对前置条件、事件和可观察结果的区分。

Part I: 对象、边界与符合性模型

本部建立本书的对象根。实时全模态视频通话体验给出对象身份,构成性条件说明对象成立所需的根条件。领域事实记录该体验发生的现实前提,目标愿望说明各类 actor 希望世界呈现的状态,系统边界排除相邻对象的高成本误读,符合性模型定义核心符合、条件符合、扩展符合和不符合。用户旅程、公共投影和符合性断言都依赖本部给出的对象边界。

2. 实时全模态视频通话体验

实时全模态视频通话体验,是用户在同一会话中通过麦克风提供语音、通过摄像头或等价视觉输入提供当前视觉现场,并由 AI 以自然语音对语音内容、视觉现场和会话上下文作出连续回应的交互体验。

这个对象首先由用户可观察的交互成立,而不是由内部技术名称成立。一个实现可以使用实时模型、WebRTC、抽帧、语音活动检测、工具调用、字幕流或其他机制;这些机制只有在形成用户可依赖的外部行为时,才进入本书的符合性判断。反过来,内部技术即使先进,如果用户不能在同一会话中完成“说给 AI 听、展示给 AI 看、听 AI 回答、打断 AI、继续追问”的行为,它也不构成本书定义的体验。

本书使用“符合实现”称呼满足本书核心要求的产品或系统。符合实现必须在用户表面同时承担四类承诺:接收用户语音、接收当前视觉现场、生成自然语音回应、维持可观察的会话动态。四类承诺缺一项,体验就会退化成相邻对象。

2.1. 中心命题

一个实现只有在用户可观察层面同时满足实时语音输入、当前视觉现场参与、自然语音回应、可打断动态语义、会话内上下文连续、公共状态投影以及错误与隐私边界时,才符合本书定义的实时全模态视频通话体验。

这个命题统摄用户旅程与动态语义、公共投影与可观察承诺、符合性断言与不符合案例和质量、治理与符合性声明。用户旅程描述这些条件如何发生;公共投影描述这些条件如何被用户观察;符合性断言描述这些条件如何被黑盒判定;治理边界描述这些条件如何在成本、隐私、安全和扩展能力中保持不被破坏。

2.2. 构成性条件

构成性条件回答:缺少什么以后,这个对象就不再作为该对象成立。实时全模态视频通话体验的构成性条件包括七项。

第一,用户必须能够提供实时语音输入。语音输入是会话的主要用户动作。符合实现不得把用户输入降级为只能提交文字,也不得把实时对话降级为离散录音上传后等待批处理回答。

第二,用户必须能够提供当前视觉现场。视觉现场可以来自摄像头,也可以来自被本书扩展边界声明为等价视觉输入的屏幕共享或外接视频源。核心体验要求 AI 能够使用用户当前展示的画面;只允许用户手动上传单张图片的系统,不满足当前视觉现场这一条件。

第三,语音输入和视觉现场必须属于同一会话。用户说“这个”“你看我手里这个”“屏幕上这个错误”时,语音文本本身不足以确定所指对象。符合实现必须让语言输入和视觉输入在同一交互语境中发生关系,或在无法建立关系时明确告知用户限制。

第四,AI 必须以自然语音作为主要回应方式。文字可以作为字幕、记录或辅助投影存在,但不能替代语音回应。一个只显示文本答案的多模态问答系统,不构成本书定义的视频通话体验。

第五,会话必须具备可打断动态语义。用户在 AI 回答期间重新说话或发出新的会话动作时,系统必须能够把当前回答从用户可听输出中停止或取消,并把新的交互焦点转向用户的新输入。打断不是单纯的暂停播放;打断改变当前回答在会话中的命运。

第六,系统必须维持会话内上下文连续。上下文连续不等于无限记忆。它指用户在同一会话内围绕刚展示的画面、刚说过的问题或刚发生的系统回应继续追问时,符合实现应当把相关语音、视觉和回应历史纳入当前解释范围。系统无法承接时,必须以用户可理解方式表达缺失,而不是假装拥有不存在的上下文。

第七,系统必须提供公共状态投影。用户需要知道麦克风是否正在采集、摄像头或视觉输入是否正在采集、AI 是否正在听、是否正在使用视觉现场、是否正在回应、回应是否被打断、错误是否发生。没有公共投影,用户无法判断系统是否仍在承担体验承诺。

这七项条件共同定义对象。它们不是实现步骤,也不是供应商功能清单;它们是本书判定“这是不是实时全模态视频通话体验”的根条件。

2.3. 用户表面

用户表面是用户直接感知到的交互世界。实时全模态视频通话体验在用户表面呈现为一个持续会话,而不是一串互不相干的请求。

用户进入会话后,系统请求或确认麦克风与视觉输入权限。用户开始说话时,系统表现出正在接收语音。用户展示画面时,系统表现出视觉输入可用。用户提出问题时,AI 用语音回应。用户在回应期间插话时,系统改变当前回答状态。用户继续追问视觉对象时,系统把追问放回同一会话语境中解释。

这个表面接近“通话”,但它不是普通视频会议。普通视频会议的对方是另一个人或多人;本书对象的对方是 AI。这个表面也接近“语音助手”,但它不是只有听说能力的语音助手。语音助手无法仅凭用户说“你看这个”来使用当前视觉现场。这个表面也接近“图片问答”,但它不是拍照后提交问题的离散流程。图片问答没有持续会话中的摄像头现场、语音打断和视觉追问。

2.4. 相邻对象

相邻对象可以提供有价值能力,但不能冒充本书对象。

语音助手接收用户语音并用语音回答。它缺少当前视觉现场参与时,不符合实时全模态视频通话体验。它可以成为本书对象的退化模式,也可以作为摄像头关闭后的条件符合场景,但不能单独构成核心符合。

图片问答接收用户上传的图像并回答问题。它缺少持续视觉现场和通话动态。用户需要反复拍照、上传、等待回答时,交互已经离开本书对象。

视频会议系统提供实时音视频传输。它可以成为实现手段,但如果没有 AI 对语音和视觉现场的理解与回应,就不是本书对象。

数字人对话系统提供可视化 AI 形象。数字人形象可以增强表达,但它不是构成性条件。一个数字人能说话、能动嘴,不代表它能看见用户当前视觉现场,也不代表它具备可打断的全模态会话动态。

技术演示可以证明某个模型、协议或组件能运行。演示本身不等于符合实现。符合实现需要在用户表面承担本书定义的承诺,并能接受黑盒断言检查。

这些相邻对象在工程上可能参与实现,在产品上可能成为扩展能力,在演示上可能提供证据。它们只有满足本书构成性条件时,才进入实时全模态视频通话体验的符合性判断。

2.5. 实现中立

本书定义体验,不指定内部实现。符合实现可以使用云端模型或本地模型,可以使用浏览器、移动端或桌面端,可以使用持续视频轨道或按策略采样的视觉帧,可以使用单一端到端模型或多个组件组合。实现选择不直接决定符合性。

符合性由可观察行为决定。用户能否开始会话,能否授权设备,能否用语音询问当前画面,能否听到自然语音回应,能否打断回答,能否继续围绕视觉现场追问,能否看见采集和错误状态,才是本书判定的中心。

实现中立不是放弃约束。内部实现无论如何组织,都不得破坏用户表面的核心承诺。一个实现如果为了节省成本而长期不使用视觉输入,却仍向用户投影“AI 正在看”,就是不符合。一个实现如果在回答期间不能处理用户新输入,却仍把自己称为实时通话,就是不符合。一个实现如果采集摄像头但不显示采集状态,就是不符合。

2.6. 本书的判定角色

本书的判定角色,是把模糊的产品类比转化为可审查的公共契约。用户、甲方、开发团队或供应商可以继续使用产品名进行日常沟通,但正式判断应回到本书定义的对象、要求和断言。

当一个实现声称自己提供实时全模态视频通话体验时,本书要求它回答四个问题。

第一,它是否满足构成性条件。缺少实时语音、当前视觉现场、自然语音回应、可打断动态语义、上下文连续或公共投影时,核心对象不成立。

第二,它是否满足公共契约。用户是否知道系统正在采集什么、处理什么、回应什么、失败在哪里。

第三,它是否通过黑盒断言。外部观察者不需要进入内部代码,也能通过用户动作和可观察结果判断体验是否成立。

第四,它是否公开偏离。实现可以存在范围限制,但限制必须被声明,不能用营销表达覆盖不符合事实。

对象、边界与符合性模型、用户旅程与动态语义、公共投影与可观察承诺、符合性断言与不符合案例和质量、治理与符合性声明围绕这四个问题展开。对象身份提供判断起点;动态体验提供行为路径;公共投影提供观察面;符合性断言提供判定方式;治理边界提供成本、隐私、安全和扩展能力的约束。

3. 领域事实

领域事实描述本书对象发生的现实世界。它们不是愿望,也不是方案。它们为目标、边界和符合性判断提供前提。

实时全模态视频通话体验发生在用户、设备、网络、模型服务、权限系统和业务环境共同构成的现实中。符合实现不能只在理想演示环境里成立;它必须面对消费级设备、普通用户行为、权限限制、网络波动、模型不确定性和隐私约束。

3.1. 用户设备事实

用户通过具备输入与输出能力的终端进入会话。终端可以是手机、平板、桌面浏览器、笔记本电脑或其他具备同等交互能力的设备。终端至少涉及麦克风、扬声器或耳机、视觉输入设备、屏幕和网络连接。

摄像头和麦克风不是普通输入框。它们持续暴露用户的声音、环境、面部、身体动作、桌面物品、屏幕内容或周围人员。用户对这些输入的开启、关闭、授权和撤回具有正当控制权。系统采集这些输入时,用户需要可见状态来判断自己是否正在被听见或被看见。

消费级终端存在差异。摄像头分辨率、麦克风质量、扬声器回放、耳机状态、浏览器权限、移动端后台策略、系统级隐私指示、设备占用和电量状态都会影响体验。符合实现不能假定用户设备永远处于理想状态。

3.2. 网络与延迟事实

实时体验发生在有延迟的网络中。音频输入、视觉输入、模型处理、语音输出和工具调用都需要时间。网络会抖动、断开、降速或被系统代理改变路径。移动端用户还可能在 Wi-Fi 与蜂窝网络之间切换。

用户对延迟的感知不是单一数字。用户会感知开始说话后系统是否在听,提出问题后 AI 是否及时回应,AI 回答期间插话是否有效,画面变化后 AI 是否仍在使用旧画面。符合性判断应关注这些可观察时刻,而不是只记录内部请求耗时。

延迟事实不自动取消实时体验要求。它要求系统把状态、等待、失败和恢复投影给用户。用户可以接受短暂等待;用户不能接受系统沉默、误导或继续表现得像一切正常。

3.3. 权限事实

摄像头、麦克风和屏幕共享受到操作系统、浏览器或宿主应用的权限控制。用户可以拒绝授权,可以只授权麦克风,可以只授权摄像头,可以在会话中撤回授权,也可以因为设备被其他应用占用而无法授权。

权限不是一次性背景事件。权限状态会改变会话能力。麦克风不可用时,系统不能继续声称正在听。视觉输入不可用时,系统不能继续声称正在看。权限恢复后,系统需要让用户理解哪些能力重新可用。

权限失败需要可见语义。仅在日志中记录错误,不能满足消费级体验。用户必须知道当前缺少哪项能力、可以采取什么动作、会话还能以什么模式继续。

3.4. 模型服务事实

AI 模型服务可以接收不同模态的输入,也可以输出不同模态的结果。模型能力、上下文长度、响应延迟、限流、计费、语音质量、视觉理解质量、工具调用能力和错误语义都会影响体验。

模型服务不是用户可直接理解的对象。用户看到的是 AI 是否听懂、是否看见、是否回应、是否承认不确定、是否停止被打断回答。模型内部事件只有被系统转化为公共投影时,才成为用户体验的一部分。

模型输出存在不确定性。它可能听错、看错、推理错误、过度自信、使用过期上下文或在工具失败后仍给出确定回答。符合实现需要处理这些不确定性,尤其在视觉现场不可用、画面不清、上下文缺失或工具失败时,不得把不确定性伪装成确定事实。

3.5. 视觉现场事实

视觉现场是用户在会话中展示给 AI 的当前可见世界。它可能包含物体、文字、人物、动作、屏幕界面、空间关系、手势、表情、环境变化或操作过程。

视觉现场是动态的。用户会移动设备、切换镜头、靠近物体、离开画面、遮挡镜头、把对象拿进画面或拿出画面。系统不能把一次看到的画面无限期当成当前事实。当前视觉现场与历史视觉上下文需要区分。

视觉现场可能不清楚。画面可能模糊、过暗、反光、过曝、被遮挡、分辨率不足或包含太多对象。符合实现不能在看不清时作确定描述。它应当请求用户调整画面,或明确说明自己无法可靠判断。

3.6. 对话事实

用户以自然语言发起请求。自然语言包含省略、指代、纠正、打断、话题切换和上下文依赖。用户不会总是说出完整对象名称;用户会说“这个”“那个”“刚才你说的”“我手上这个”“屏幕左上角那里”。

实时视频通话对话不是一组独立问答。用户会在 AI 回答中途插话,会对上一个回答继续追问,会把画面移动到新对象,会在语音和视觉之间交替提供线索。系统需要在会话动态中解释这些行为。

对话也会失败。系统可能没听清、没看清、误解指代、无法使用工具或不能回答某个问题。失败本身不必然构成不符合;沉默失败、伪装成功和无法恢复才构成体验破坏。

3.7. 隐私与成本事实

摄像头、麦克风、屏幕共享、转录文本、图像帧、工具调用和日志都可能包含敏感信息。用户对采集、使用、保存、删除和退出具有正当利益。系统不能把持续采集隐藏在技术实现背后。

实时全模态会话消耗资源。音频输入、视觉输入、模型输出、语音合成、搜索、工具调用和存储都会产生成本。成本控制是现实约束,但成本控制不能秘密破坏核心体验承诺。一个实现可以降低采样频率、限制会话时长或限制工具调用;它不得在核心符合声明中隐瞒这些限制对体验的影响。

这些领域事实共同限定本书对象。目标愿望不是脱离这些事实的理想口号,而是在这些事实中定义一个用户可依赖、可观察、可判定的体验。

4. 目标愿望

目标愿望描述利益相关者希望世界呈现的状态。它们不是实现方案。它们说明本书定义的体验为什么需要这些承诺,以及这些承诺应当为谁改变现实中的摩擦。

实时全模态视频通话体验的中心愿望,是让用户以接近日常通话的方式向 AI 展示现实现场、说出问题、获得语音回应,并在同一会话中继续追问、纠正和打断。用户不应为了让 AI 理解现场而反复切换拍照、上传、输入文字和等待批处理回答。

4.1. 用户目标

用户希望 AI 能听见自己说的话。这里的“听见”不只是把语音转成文字。用户希望系统在会话中承认语音输入的存在,能够围绕用户刚说的内容回应,并在没听清时给出可理解反馈。

用户希望 AI 能看见自己展示的当前视觉现场。这里的“看见”不只是支持图片输入。用户希望自己移动摄像头、展示物体、指向屏幕或进行操作时,AI 能把当前画面作为回答依据。用户说“这个是什么”时,不希望系统要求自己先把对象完整描述一遍。

用户希望语音和视觉在同一语境中被理解。用户在摄像头前展示药盒、菜单、手写公式、故障界面或手工操作时,语言和画面互相补足。用户的语音提供意图,画面提供对象,历史对话提供上下文。符合体验应当让三者共同参与解释。

用户希望 AI 用自然语音回应。语音回应让交互维持通话感,用户可以边看、边操作、边听。文字可以帮助回看和确认,但用户不应被迫把主要注意力从现实现场转移到阅读长文本上。

用户希望能够打断。现实对话中,用户会纠正、补充、换话题、制止错误方向或在 AI 说到一半时提出新问题。不能打断的系统会把用户锁进机器输出节奏,破坏通话感。

用户希望系统诚实表达限制。AI 看不清、听不清、没有权限、网络断开、工具失败或上下文缺失时,用户希望知道问题在哪里,而不是收到沉默、误导或伪装确定的回答。

4.2. 产品目标

产品负责人希望这项体验可以被稳定设计。稳定设计意味着每个用户动作都有可理解反馈,每个系统状态都有可见投影,每个失败分支都有恢复路径,每个扩展能力都有边界。

产品目标不是堆叠更多功能。屏幕共享、数字人形象、长期记忆、业务工具、多人协作都可能有价值,但它们只有在不破坏核心体验时才应进入产品。产品设计需要先守住“实时语音、当前视觉现场、自然语音回应、打断、上下文、公共投影”的根条件。

产品负责人还需要可沟通的验收语言。没有本书这种规约时,团队只能用“像某产品那样”表达目标。这样的表达依赖读者是否使用过参考产品,无法稳定传递给架构、开发、测试、供应商和安全运营。产品目标需要从类比语言转为可判定语言。

4.3. 工程目标

架构师和开发者希望知道系统必须对外承担什么承诺。工程目标不是在本书中寻找固定技术栈,而是从体验规约中推导实现职责。

工程实现需要支持音频输入、视觉输入、语音输出、会话状态、打断、错误语义、隐私投影和成本控制。每项职责都可以有多种实现方式。书中的目标愿望不预设实现方式,但它要求最终实现的公共行为成立。

工程团队还希望避免无边界扩张。没有对象边界时,实时视频 AI 会被不断加入数字人、业务知识库、自动搜索、长期记忆、会议录制、客服工单和多方协作。工程目标需要知道哪些属于核心体验,哪些属于条件符合或扩展符合。

4.4. 测试与评审目标

测试工程师希望把体验转化为黑盒断言。测试目标不是证明内部模型如何工作,而是判断用户执行某个动作后,系统是否出现应有的可观察结果。

评审者希望供应商或内部团队的符合声明可以被审查。一个实现声称支持实时全模态视频通话时,评审者需要知道它是否只是语音助手、是否只是拍照问答、是否能处理打断、是否暴露采集状态、是否诚实处理失败。

测试与评审目标要求本书提供断言、反例和覆盖关系。符合性不能只靠演示视频,也不能只靠接口能力列表。演示可以作为证据,但证据必须回到本书的要求和断言。

4.5. 安全、隐私与运营目标

安全与隐私负责人希望用户知道自己何时被听见、何时被看见、哪些数据可能被保存或转发、如何停止采集。实时全模态体验越自然,越容易让用户忘记摄像头和麦克风正在持续暴露现实环境。本书必须把这种风险纳入体验本身。

运营负责人希望体验可以承受成本和失败。实时音频、视觉输入、语音输出和工具调用都消耗资源。运营目标不是把成本藏在后台,而是在不欺骗用户的前提下控制资源,并在限制影响体验时公开范围。

治理目标还要求扩展能力接受边界约束。工具调用、搜索、位置、业务 API 和长期记忆都可能增强体验,也可能引入数据、权限、成本和责任风险。它们不能因为“智能”而绕过用户可见授权和失败投影。

4.6. 目标总括

本书的目标愿望可以压缩为一句话:用户应当能够在一个可理解、可控制、可打断、可继续的会话中,让 AI 同时使用自己的语音和当前视觉现场,并以自然语音给出诚实、相关、可观察状态支撑的回应。

这句话不指定模型,不指定协议,不指定前端形态。它定义的是世界应当怎样改变:用户从“必须把现场拆成文字、图片和等待流程”转向“可以把现场直接展示给 AI 并自然对话”。边界、旅程、投影和断言都服务这个改变。

5. 系统边界

系统边界说明本书对象负责什么,以及哪些能力属于相邻对象、实现手段或扩展能力。边界不是缩小愿望,而是让符合性判断能够成立。

实时全模态视频通话体验的核心责任,是让用户在同一会话中用语音和当前视觉现场与 AI 进行自然语音对话。这个责任包含用户可见的输入、输出、状态、打断、上下文和失败语义。它不包含所有可能出现在 AI 产品中的能力。

5.1. 核心责任

核心责任是符合实现必须承担的责任。

符合实现负责接收用户语音。语音输入必须进入当前会话,并影响 AI 的回应。系统没有听清时,必须把限制投影给用户。

符合实现负责接收当前视觉现场。视觉现场必须能够参与当前会话的解释。系统没有视觉输入、视觉输入不可用或视觉现场不可靠时,必须以用户可理解方式表达限制。

符合实现负责生成自然语音回应。回应必须以用户可听方式出现,并与当前会话中的语音、视觉和上下文相关。文字可以辅助,但不能替代核心语音回应。

符合实现负责处理打断。用户在 AI 回答期间提供新的有效输入时,系统必须改变当前回答的输出命运,并把交互焦点转向新输入。只在界面上显示一个停止按钮,但无法处理用户新输入,不满足打断责任。

符合实现负责维持会话内上下文连续。系统应当承接同一会话内相关的语音、视觉和回应历史;不能承接时,必须表达缺失。上下文连续不授权系统声称拥有无限历史、跨会话记忆或用户未提供的信息。

符合实现负责公共状态投影。用户必须能够判断麦克风、视觉输入、AI 回应、错误和采集状态。系统不得在持续采集摄像头或麦克风时让用户处于不可知状态。

5.2. 条件责任

条件责任在特定声明或运行条件下进入符合性判断。一个实现可以不声明这些能力;一旦声明,就必须按本书对应规则承担责任。

屏幕共享属于条件视觉输入。未声明屏幕共享能力的实现不因缺少屏幕共享而失去核心符合;声明屏幕共享能力的实现必须把屏幕共享状态、权限、停止动作和视觉参与范围投影给用户。

外接摄像头、第二摄像头、桌面采集卡或远程视频源属于条件视觉输入。实现声明这些输入时,必须说明它们是否等价于当前视觉现场,以及用户如何知道哪一路视觉输入正在被使用。

实时字幕属于条件公共投影。核心体验以语音回应成立;如果实现声明提供用户语音转录或 AI 回答字幕,字幕必须与会话状态一致,不得把未确认的转录当成最终用户意图。

工具调用属于条件外部行为。实现声明搜索、位置、业务 API、知识库或其他工具时,必须说明工具参与回答的方式、失败投影和授权边界。

长期记忆属于条件上下文能力。核心体验只要求同一会话内上下文连续。实现声明跨会话记忆时,必须提供保存、使用、撤回和删除的公共语义。

5.3. 扩展能力

扩展能力可以增强体验,但不构成核心对象。扩展能力不得替代核心责任,也不得掩盖核心不符合。

数字人形象是扩展表达能力。它可以让 AI 回应更具存在感,但不能替代摄像头输入、语音理解、视觉理解或打断语义。一个只展示数字人动画的系统,不因此符合实时全模态视频通话体验。

多人参与是扩展会话能力。核心体验可以发生在单个用户与 AI 之间。多人参与进入产品时,需要额外处理说话人归属、视觉来源、权限和隐私,但这些不是核心符合的前提。

业务工作流是扩展应用能力。客服工单、教学记录、维修单、商品推荐和 CRM 同步可以建立在核心体验上。它们不改变核心体验的构成性条件。

录制与回放是扩展记录能力。录制不能成为体验成立的前提。实现声明录制时,必须处理用户通知、保存范围和删除边界。

5.4. 不进入核心符合的主张

内部模型名称不进入核心符合。使用某个全模态模型不自动符合本书;未使用某个模型也不自动不符合。

内部传输协议不进入核心符合。使用 WebRTC、WebSocket、RTC SDK 或自定义协议都只是实现方式。符合性由用户可观察行为判断。

抽帧频率不进入核心符合。视觉采样策略影响质量、成本和延迟,但核心符合关注用户当前视觉现场是否能参与回答,以及系统在无法可靠使用视觉现场时是否诚实投影。

演示视频不进入核心符合。演示视频可以作为证据材料,但必须映射到本书的要求和断言。只展示一次成功交互,不能证明所有核心流和分支流成立。

营销描述不进入核心符合。声称“实时”“全模态”“智能”“像真人”不构成证据。符合性需要回到公共契约和黑盒断言。

5.5. 边界原则

本书使用一个边界原则处理新能力:新能力如果改变核心体验的构成性条件,就必须进入规约;新能力如果只是实现手段,就不进入核心定义;新能力如果增强体验但不改变核心对象,就作为扩展能力;新能力如果引入权限、隐私、成本或失败风险,就必须获得公共投影。

这个原则允许实现演进,同时防止对象漂移。实时全模态视频通话体验可以被增强,但不能被相邻对象替代。符合实现可以有不同形态,但不能逃避用户可依赖的核心承诺。

6. 符合性模型

符合性模型定义一个实现如何声称自己满足本书。本书的符合性判断以用户可观察行为为基础,以规范性要求和黑盒断言为判据。

符合性不是供应商自称,也不是演示成功。符合性要求实现承担本书定义的核心责任,通过相应断言,并公开自身范围、限制和偏离。

6.1. 规范性语言

本书使用四个规范性词汇。

“必须”表示核心要求。实现缺少该行为时,不能声称核心符合。

“不得”表示禁止行为。实现出现该行为时,构成不符合或需要公开偏离。

“应当”表示强要求。实现可以在有明确理由时偏离,但偏离必须被声明,并说明对用户体验和符合性判断的影响。

“可以”表示可选能力。实现不提供该能力时,不影响核心符合;实现提供该能力时,必须不破坏核心要求。

规范性词汇只在影响符合性的位置使用。解释、例子、参考产品事实和背景说明不自动形成规范性要求。

6.2. 核心符合

核心符合表示实现满足本书定义的实时全模态视频通话体验的根条件。

核心符合要求实现至少满足以下条件:用户能够在同一会话中提供实时语音和当前视觉现场;AI 能以自然语音回应;用户能在 AI 回答期间打断;系统能承接会话内相关上下文;系统能把采集、回应、错误和限制投影给用户;实现不把相邻对象冒充为核心体验。

核心符合还要求通过核心流断言。核心流断言覆盖会话进入、设备授权、语音问答、视觉问答、语音与视觉联动、打断、关闭采集和结束会话。

核心符合不要求所有扩展能力。一个没有屏幕共享、数字人形象、长期记忆、多人协作或业务工具的实现,仍可在满足核心条件时核心符合。

6.3. 条件符合

条件符合表示实现满足核心符合,但其适用范围受到公开条件限制。

条件可以来自平台、设备、地区、账号权限、网络环境、输入模态、会话时长、视觉来源或工具权限。条件符合不是不符合;它要求限制被明确声明,并且限制内的行为仍满足核心要求。

例如,一个实现只支持移动端摄像头,不支持桌面浏览器,可以声明移动端条件符合。一个实现只支持单人用户与 AI 会话,不支持多人会话,可以声明单人条件符合。一个实现只支持摄像头视觉,不支持屏幕共享,可以声明核心符合而不声明屏幕共享扩展符合。

条件不得掩盖核心缺失。一个实现如果只支持语音、不支持当前视觉现场,不能通过声明“语音条件符合”来声称实时全模态视频通话核心符合。它只能声称相邻对象能力。

6.4. 扩展符合

扩展符合表示实现满足核心符合,并额外满足某个扩展能力的规约和断言。

扩展能力可以包括屏幕共享、工具调用、长期记忆、多人会话、数字人形象、录制回放、专用视觉检测、业务系统联动或可访问性增强。扩展能力进入符合性判断时,必须有自己的公共投影、失败语义和偏离声明。

扩展符合不能补偿核心不符合。一个实现如果不能打断 AI 回答,即使提供数字人形象和业务知识库,也不能声称核心符合。一个实现如果无法使用当前视觉现场,即使支持高质量语音,也不能声称核心符合。

6.5. 不符合

不符合表示实现未满足核心要求、违反禁止行为、未通过核心断言,或使用误导性声明覆盖缺失。

以下行为构成典型不符合:只支持拍照上传却声称实时视觉;只支持语音对话却声称全模态视频通话;AI 回答期间用户无法通过新输入改变当前回答;摄像头或麦克风采集时没有用户可见状态;视觉输入不可用时仍声称正在看;系统在看不清或听不清时作确定回答;工具调用失败时仍把工具结果当作事实;供应商以模型能力列表替代用户可观察体验证据。

不符合不是道德评价。它只是说明某个实现不满足本书定义的对象。实现可以提供其他有价值产品,但不能借用本书对象名称。

6.6. 偏离声明

偏离声明记录实现未满足某项“应当”要求、条件范围或扩展能力要求时的公开说明。偏离声明应说明偏离项、影响范围、用户可见表现、替代行为和证据。

偏离声明不能用于取消“必须”要求。缺少核心构成性条件时,实现不能通过偏离声明取得核心符合。偏离声明的作用,是让评审者理解限制,而不是把不符合改名为符合。

6.7. 证据模型

符合性证据来自可观察行为。证据可以是人工验收记录、自动化测试结果、屏幕录制、日志摘录、供应商符合性声明、用户操作脚本或第三方评审材料。证据必须映射到本书的要求或断言。

证据不得只停留在内部能力描述。模型支持视频输入、系统使用某协议、代码仓库存在某模块、演示中出现一次成功回答,都不是充分证据。充分证据需要说明:给定什么前置状态,用户做了什么,系统出现了什么可观察结果,结果对应本书哪项要求。

本书的符合性模型因此形成一个链条:对象定义给出根条件;规范性要求给出承诺;公共投影给出观察面;断言给出判定场景;证据把具体实现映射回断言。

Part II: 用户旅程与动态语义

本部描述体验如何在时间中发生。会话生命周期给出进入、运行、受限和结束的时间结构;可观察状态模型定义用户能区分的系统状态。输入权限流、基本对话流、视觉指代流、打断流、模态切换流和话题与上下文流在这些状态上展开。动态体验的每条路径都受构成性条件约束,并为用户可见反馈和符合性断言提供观察对象。

7. 会话生命周期

会话生命周期描述实时全模态视频通话体验从进入到结束的动态路径。它把用户动作、系统状态和可观察结果放进同一个时间序列中,使“通话感”不再只是产品比喻。

一个会话不是一次请求。会话包含准备、授权、采集、交互、打断、恢复、降级和结束。用户在会话中持续改变输入,系统在会话中持续改变状态。符合实现必须让这些变化对用户可理解。

7.1. 进入会话

会话从用户执行进入动作开始。进入动作可以是点击通话按钮、打开 AI 语音界面、进入某个实时会话房间,或在应用中启动等价的 AI 视频语音交互入口。

进入会话后,系统应当把用户带入一个明确的等待或准备状态。这个状态不能让用户误以为系统已经在听或在看。麦克风、摄像头和屏幕共享没有获得授权前,系统不得表现为已经采集这些输入。

进入会话时,系统需要建立会话身份。会话身份不一定暴露为技术 ID,但用户和系统都需要一个稳定交互范围:哪些输入属于本次会话,哪些回应属于本次会话,何时会话结束,何时上下文不再被承接。

7.2. 设备准备

设备准备发生在系统检查或请求麦克风、扬声器、视觉输入和网络可用性时。准备状态的目标,是让用户理解哪些能力可用,哪些能力缺失,哪些能力需要授权。

符合实现必须区分“等待授权”和“已经授权”。等待授权时,系统可以提示用户开启麦克风或摄像头;已经授权时,系统必须把对应采集状态投影给用户。用户拒绝授权时,系统必须进入受限状态,而不是停留在无解释的等待状态。

设备准备可以产生不同能力组合。麦克风可用而摄像头不可用时,会话可以进入语音受限模式;摄像头可用而麦克风不可用时,核心语音对话无法成立;扬声器不可用时,系统不能满足自然语音回应,除非用户选择并理解替代输出模式。

7.3. 活跃会话

活跃会话是用户和 AI 可以交换输入与回应的状态。活跃会话中,用户可以说话、展示画面、移动摄像头、追问视觉对象、关闭或恢复输入、打断 AI 回答。

活跃会话至少包含三条并行动态:用户输入动态、AI 回应动态、公共投影动态。用户输入动态描述语音和视觉如何进入会话。AI 回应动态描述系统如何产生语音输出。公共投影动态描述用户如何知道系统正在听、看、回应或受限。

活跃会话不能把每轮问答当成孤立事务。用户在一轮回答中途插话、纠正或追问时,系统必须把新输入放回当前会话动态中处理。用户移动摄像头时,当前视觉现场可能改变;系统不得无限使用旧画面冒充当前画面。

7.4. 轮次与回应

轮次是用户输入和 AI 回应之间的局部组织方式。实时全模态视频通话体验可以有轮次,但不应被轮次僵化。用户不需要等待 AI 完全结束才能提供新输入。

用户输入可以由语音、视觉现场和上下文共同组成。用户说“这个怎么用”时,语音只表达意图,视觉现场提供对象,上下文可能提供用户刚才的操作。AI 回应必须围绕组合后的输入给出语音结果,或说明缺少哪一部分信息。

AI 回应开始后,系统进入回应中状态。回应中状态必须允许用户理解 AI 正在输出。用户在回应中状态提供新输入时,系统进入打断或重定向语义;它不能把用户新输入排队到不可见的未来,也不能继续播放被用户明确制止的回答。

7.5. 受限会话

受限会话是核心能力的一部分不可用但会话尚未结束的状态。受限不等于失败。麦克风不可用、摄像头关闭、视觉现场不可用、网络变差、模型暂时无法回应,都可能使会话进入受限状态。

受限状态必须可见。用户需要知道当前限制是什么,以及哪些动作仍然可用。摄像头关闭时,系统可以继续语音对话,但不得声称正在使用当前画面。麦克风关闭时,系统不能继续表现为正在听。网络异常时,系统应当把等待或重连状态投影给用户。

受限会话可以恢复。用户重新授权、重新开启摄像头、恢复网络或切换设备后,系统可以回到活跃会话。恢复时,系统需要重新建立用户对当前能力的理解,不能假定用户知道哪些输入已经恢复。

7.6. 结束会话

会话结束发生在用户明确结束、系统因错误结束、权限或网络条件使会话无法继续,或业务规则终止会话时。结束状态必须可见。

结束会话后,系统不得继续采集麦克风或视觉输入,除非存在另一个被用户明确理解的采集上下文。用户需要知道会话已经结束,AI 不再承接当前会话输入。会话结束后的保存、转录、摘要、删除或继续入口,属于结束后的公共投影和治理边界。

结束不是静默消失。系统如果因为错误结束,应当说明错误类别和用户可采取的恢复动作。系统如果因为用户结束,应当停止当前回应和采集,并把结束状态投影给用户。

7.7. 生命周期不变量

会话生命周期有四个不变量。

第一,采集状态必须可观察。用户不能被系统秘密听见或看见。

第二,能力限制必须可理解。系统不能让用户误以为当前仍具备已经失效的能力。

第三,回应状态必须可打断。用户新输入必须能改变当前交互焦点。

第四,会话边界必须可判定。用户需要知道何时处于会话中,何时会话结束,何时上下文不再被承接。

这些不变量贯穿本书的动态体验。它们使视频通话体验从一组输入输出能力转化为用户可依赖的会话。

8. 可观察状态模型

可观察状态模型定义用户能够区分的系统状态。它不描述内部线程、网络连接或模型事件;它描述这些内部变化投影到用户表面后应当形成的状态语义。

实时全模态视频通话体验要求用户能够判断系统当前是否可听、可看、正在回应、处于限制、发生错误或已经结束。状态不清会破坏用户控制感,也会使符合性断言无法黑盒判定。

8.1. 未进入会话

未进入会话表示用户尚未启动实时全模态视频通话体验。系统不得在此状态下采集本书对象所需的会话音频或视觉现场。应用可以显示入口、说明或历史记录,但这些内容不构成活跃会话。

从未进入会话进入等待授权或准备状态,需要用户执行明确动作。系统不能把页面打开、应用启动或历史会话展示自动解释为用户同意进入实时采集。

8.2. 等待授权

等待授权表示系统需要用户授予麦克风、摄像头或等价视觉输入权限。该状态必须让用户知道系统尚未具备对应输入能力。

等待授权不是采集状态。系统可以请求权限,可以说明权限用途,可以提供跳过某项权限的受限路径;系统不得在等待授权状态下暗示 AI 已经听见或看见。

8.3. 已准备

已准备表示会话所需的至少一部分设备和服务可用,系统可以开始接收用户输入。已准备不等于所有模态都可用。一个实现可以处于“已准备状态下语音能力可用、视觉能力不可用”的组合;这种组合必须清楚投影。

已准备状态应当给用户一个明确的开始交互信号。用户需要知道自己何时可以说话、何时可以展示画面、何时系统仍在等待某项能力。

8.4. 正在听

正在听表示系统正在接收或准备接收用户语音。这个状态必须与麦克风采集相关联。麦克风被关闭、拒绝、撤回或不可用时,系统不得保持正在听状态。

正在听不要求系统已经理解用户意图。它只表示语音输入通道对当前会话有效。系统没听清、识别失败或语音过短时,可以从正在听进入受限、澄清或等待状态。

8.5. 正在看

正在看表示系统正在接收或准备使用当前视觉现场。这个状态必须与摄像头、屏幕共享或等价视觉输入的采集状态相关联。视觉输入关闭、拒绝、撤回或不可用时,系统不得保持正在看状态。

正在看不表示系统已经正确理解画面。它只表示视觉现场可以进入当前会话。画面不清、对象不在画面中、视觉处理失败时,系统应当表达限制,而不是把正在看等同于已经看懂。

8.6. 正在处理

正在处理表示系统已经接收用户输入,正在生成或准备生成回应。正在处理状态必须避免误导用户。用户需要知道系统仍在工作,而不是无响应。

正在处理期间,用户仍然可以提供新输入。系统可以把新输入解释为补充、纠正或打断,具体取决于当前回应是否已经开始以及用户动作的语义。

8.7. 正在回应

正在回应表示 AI 正在向用户输出自然语音回应。这个状态需要可见或可听。用户能够通过声音、字幕、说话指示或其他投影知道 AI 正在回答。

正在回应状态必须具备打断语义。用户提供新的有效输入时,系统不能只把输入隐藏排队;它必须改变当前回答的会话命运,或明确表达无法打断的限制。无法打断的实现不能核心符合。

8.8. 已被打断

已被打断表示当前回答被用户新输入改变,不再作为原回答继续推进。该状态可以很短暂,但其效果必须成立:被打断回答不得继续以用户可听输出完成原路径,新的交互焦点转向用户的新输入。

已被打断不是普通暂停。暂停保留原回答的继续播放意图;打断取消或重定向原回答的会话地位。系统可以在内部清理音频缓冲、取消模型响应或标记上下文,但用户层面的核心结果是:原回答不再继续支配交互。

8.9. 受限

受限表示某项能力不可用或不可靠,但会话仍可继续。受限状态需要说明限制来源和可用路径。

视觉受限时,系统可以继续语音对话,但不得回答依赖当前画面的请求。语音受限时,系统无法接收用户语音,核心体验不能完整成立。输出受限时,系统不能以自然语音回应,必须说明替代输出是否只是临时降级。

8.10. 错误

错误表示系统无法按当前承诺继续执行某个动作。错误可以来自权限、网络、设备、模型服务、工具调用、内容限制或内部故障。

错误状态必须被投影给用户。错误投影应当说明可理解的失败类别,而不是暴露内部堆栈或保持沉默。用户需要知道自己能否重试、是否需要授权、是否需要调整画面、是否需要等待服务恢复。

8.11. 已结束

已结束表示当前会话不再接收本书对象下的语音和视觉输入。已结束状态必须停止会话采集,并让用户知道上下文边界已经关闭。

已结束后可以出现摘要、记录、回放、重新开始或删除入口。这些都是结束后的投影,不表示原会话仍在继续。系统不得在已结束状态中继续表现为正在听或正在看。

8.12. 状态一致性

状态之间必须保持一致。系统不能同时向用户投影“摄像头关闭”和“AI 正在看当前画面”。系统不能在麦克风未授权时投影“正在听”。系统不能在已结束状态中继续播放未完成回答。

状态一致性是公共契约的一部分。用户通过状态决定是否说话、是否展示画面、是否停止采集、是否相信 AI 正在使用当前信息。状态冲突会直接破坏体验可信度。

9. 输入权限流

输入权限流描述用户如何授权、拒绝、撤回或恢复麦克风与视觉输入。权限不是界面细节;权限决定系统是否有资格声称正在听见或看见用户。

实时全模态视频通话体验依赖高敏输入。系统必须把权限变化转换为用户可理解的会话状态。权限流没有被正确处理时,体验会在开始之前失去可信度。

9.1. 麦克风授权

麦克风授权使用户语音可以进入当前会话。系统请求麦克风权限时,应当让用户知道该权限用于 AI 视频语音通话,而不是普通后台录音或无关采集。

用户授予麦克风权限后,系统可以进入正在听状态,或进入已准备状态下的语音可用能力组合。这个状态必须可见。用户拒绝麦克风权限后,系统不得继续表现为正在听。系统可以说明语音通话无法完整成立,也可以提供替代输入路径;替代路径不自动构成核心符合。

麦克风授权可以在会话中改变。用户静音、系统权限撤回、设备断开或麦克风被其他应用占用时,系统必须离开正在听状态。恢复麦克风后,系统应当重新投影语音可用状态。

9.2. 摄像头授权

摄像头授权使当前视觉现场可以进入会话。系统请求摄像头权限时,应当让用户理解摄像头画面会被用于 AI 对话。用户授予权限后,系统可以进入正在看状态,或进入已准备状态下的视觉可用能力组合。

摄像头授权不等于 AI 已经理解画面。摄像头授权只说明视觉现场可以被采集。画面是否清楚、对象是否可见、系统是否可靠使用视觉现场,需要在交互过程中通过公共投影和回答质量体现。

用户拒绝摄像头权限后,系统不得声称正在看。系统可以继续语音对话,但它必须让用户知道视觉能力不可用。用户重新授权或切换摄像头后,系统需要投影视觉能力恢复。

9.3. 屏幕共享与等价视觉输入

屏幕共享、外接视频源或第二摄像头只有在实现声明支持时进入本书的条件责任。用户开启这些输入时,系统必须说明当前使用的是哪一路视觉来源。

屏幕共享尤其敏感。屏幕可能包含私人消息、账号信息、文件内容或业务系统数据。系统必须让用户知道屏幕共享正在进行,并提供停止共享的可见动作。

等价视觉输入不能造成来源混淆。用户展示手机摄像头画面时,AI 回答应基于摄像头现场;用户切换为屏幕共享时,AI 回答应基于屏幕现场。系统无法确定视觉来源时,必须表达限制。

9.4. 权限拒绝

权限拒绝是正常用户选择,不是异常崩溃。用户可以拒绝麦克风、摄像头或屏幕共享。系统必须把拒绝转换为受限会话或结束会话,而不是进入无解释失败。

麦克风被拒绝时,核心语音对话无法成立。系统可以提示用户授权麦克风,也可以提供文字输入作为相邻能力;但文字输入不能替代本书核心体验。

摄像头被拒绝时,当前视觉现场无法参与。系统可以继续语音助手式对话,但必须标记视觉受限。它不得把语音受限模式包装成全模态视频通话。

9.5. 权限撤回

权限撤回发生在会话已经开始后。用户关闭摄像头、关闭麦克风、撤回浏览器权限、断开设备或停止屏幕共享,都会改变会话能力。

撤回权限后,系统必须立即更新状态投影。麦克风撤回后,正在听状态结束。摄像头撤回后,正在看状态结束。屏幕共享停止后,系统不得继续使用共享屏幕作为当前视觉现场。

权限撤回不必自动结束会话。会话可以进入受限状态。受限状态需要说明当前还能做什么。例如摄像头关闭后仍可语音对话;麦克风关闭后无法进行自然语音输入;视觉关闭后无法回答“你看这个”。

9.6. 权限恢复

权限恢复发生在用户重新授权或设备重新可用时。恢复不是内部事件;恢复必须被用户观察到。

麦克风恢复后,系统可以重新进入语音可用状态。摄像头恢复后,系统可以重新进入视觉可用状态。恢复后,系统应当把当前输入状态与历史上下文区分开:重新开启摄像头后的画面是新的当前视觉现场,不自动等同于关闭前的画面。

权限恢复需要避免过度承接。系统不能把权限关闭期间未看到的事情当作已知事实。用户如果询问关闭期间发生的视觉变化,符合实现应当说明该时间段视觉不可用。

9.7. 权限流不变量

权限流有三个不变量。

第一,采集前必须有授权或等价合法前提。系统不得秘密采集麦克风、摄像头或屏幕共享。

第二,采集中必须有状态投影。用户必须知道自己正在被听见或看见。

第三,权限变化必须改变会话状态。拒绝、撤回和恢复都不能只发生在内部;它们必须改变用户可观察的能力边界。

10. 基本对话流

基本对话流描述用户在麦克风和视觉输入可用时如何与 AI 完成一次自然交互。它是本书对象的正向路径:用户说话,展示现场,AI 使用同一会话中的语音和视觉线索,以自然语音回应。

基本流不是“最简单 demo”。它必须同时包含语音输入、当前视觉现场、自然语音输出、会话状态和可观察反馈。缺少其中任一核心条件,基本流就会退化为相邻对象。

10.1. 语音提问

用户可以只用语音提出问题。语音提问发生时,系统处于正在听或语音可用状态。用户说出问题后,系统进入处理或回应状态,并以自然语音回答。

语音提问不要求视觉现场参与。用户问天气、日程、概念解释或一般知识时,视觉输入可以不参与回答。系统不应为了显示全模态能力而强行引用无关画面。

语音提问仍然属于本书对象的会话动态。AI 回应期间用户可以打断,系统状态需要可见,错误需要投影。语音提问不能退化为录音上传后等待文本结果。

10.2. 视觉现场提问

视觉现场提问发生在用户的问题需要当前画面才能确定对象或上下文时。用户可以把摄像头对准物体、文档、菜单、屏幕、手势、操作过程或环境,并用语音提出问题。

用户不必完整描述画面。用户说“这个是什么”“这一步哪里错了”“这个按钮能点吗”“我手里这个怎么用”时,符合实现应当把语音意图和当前视觉现场放在同一解释空间中。

AI 回应必须让用户能理解它使用了当前视觉现场。回应不一定要显式说“我看到”,但内容应当与画面对象、画面文字、用户动作或空间位置形成可理解关联。系统无法可靠使用画面时,必须说明限制。

10.3. 语音与视觉联动

语音与视觉联动是基本流的核心。语音提供请求、意图、约束或纠正;视觉提供对象、状态、位置或过程;会话上下文提供历史参照。

例如用户展示一张手写公式并说“这里为什么错”,系统需要把“这里”解释为画面中的局部内容。用户展示菜单并说“哪个适合不喝咖啡的人”,系统需要结合画面文字和用户约束。用户展示设备故障灯并说“这代表什么”,系统需要结合视觉对象和语音问题。

联动失败时,系统不应编造确定回答。它可以请求用户靠近、稳定画面、重新指示对象或补充语音说明。请求澄清是符合体验的一部分;伪装看懂不是。

10.4. 回应输出

AI 的主要回应以自然语音输出。回应可以伴随字幕、文字记录、可视状态或参考信息,但语音是核心输出。用户应当能够在不持续阅读屏幕的情况下接收主要回答。

回应输出需要与状态一致。正在回应时,系统应当投影 AI 正在说话。回应结束后,系统应当回到可继续输入的状态。回应被打断时,系统不得继续完整播放原回答。

回应内容需要匹配当前交互焦点。用户询问当前画面时,回应应围绕当前画面;用户切换话题时,回应应围绕新话题;用户指出 AI 误解时,回应应处理纠正,而不是继续旧路径。

10.5. 澄清与补充

澄清发生在系统无法充分理解用户输入或视觉现场时。澄清不是失败遮羞;它是保护体验诚实性的正常路径。

系统可以因为语音不清、画面不清、对象不明确、指代不充分、上下文缺失或工具不可用而请求澄清。澄清应当具体说明缺少什么,而不是泛泛说“我不明白”。

用户补充信息后,会话应当继续。补充可以是重新说话、靠近摄像头、移动画面、指出对象、打开权限或切换输入。系统应把补充纳入当前会话,而不是强迫用户从头开始。

10.6. 基本流完成

一次基本流完成时,用户已经发出问题,系统已经使用可用的语音和视觉信息,AI 已经以自然语音给出回应,用户能够观察到回应状态,并且会话仍可继续。

完成不等于系统回答一定正确。符合性判断关注体验承诺是否成立:输入是否进入会话,视觉是否按能力参与,回应是否可听,状态是否可见,失败是否诚实,用户是否能继续追问或打断。

基本流完成后,会话回到可继续交互状态。用户可以追问同一对象,可以切换画面,可以关闭摄像头,可以结束会话,也可以在 AI 新回应期间打断。基本流因此不是终点,而是持续会话中的一个可判定片段。

11. 视觉指代流

视觉指代流描述用户用语言指向当前视觉现场中的对象、位置、动作或状态时,系统如何完成理解。视觉指代是实时全模态视频通话体验的核心区别点之一。没有视觉指代,系统只能回答文字化的问题,无法承担“你看这个”的通话式交互。

视觉指代发生在语音文本本身不足以确定所指对象时。用户说“这个”“那里”“刚才那个”“屏幕左上角”“我手里这个”“这一步”时,语言只给出指向动作,所指对象需要从视觉现场和会话上下文中确定。

11.1. 当前视觉指代

当前视觉指代指向此刻视觉现场中的对象或位置。用户把摄像头对准药盒并说“这个怎么吃”,把屏幕对准错误弹窗并说“这是什么意思”,把手工步骤展示给 AI 并说“这一步对吗”,都属于当前视觉指代。

符合实现必须把当前视觉现场纳入解释。如果视觉输入可用且画面足以支持判断,AI 回应应与画面中的对象、文字、动作或位置相关。回应不需要复述全部视觉内容,但必须让用户能理解系统正在基于当前画面回答。

当前视觉指代不能被系统仅用语音文本替代。用户说“这个是什么”时,系统如果只回答“请描述一下这个东西”,说明它没有使用当前视觉现场。系统可以请求用户调整画面,但请求应当基于视觉受限事实,而不是把视觉指代退回文字问答。

11.2. 历史视觉指代

历史视觉指代指向同一会话中已经出现过的视觉对象或状态。用户说“刚才那个红色按钮”“你前面看到的那张菜单”“刚刚我手里拿的那个”,需要系统在会话内视觉上下文中寻找对象。

历史视觉指代不要求无限记忆。符合实现应当承接合理的近期会话上下文,但可以在对象不再可靠、画面已切换太久、上下文不足或实现声明的记忆范围外时说明限制。

系统不得把历史视觉内容伪装成当前视觉现场。用户问“刚才那个是什么”时,系统可以基于历史上下文回答;用户问“现在这个是什么”时,系统必须使用当前画面。历史和当前的混淆会破坏视觉可信度。

11.3. 指示语言

指示语言包括“这个”“那个”“这里”“那里”“上面”“下面”“左边”“右边”“刚才”“现在”等表达。它们在日常对话中依赖共同注意。实时全模态视频通话体验要把用户和 AI 放进可共享的注意空间。

符合实现不需要完美解析所有指示语言,但必须对核心指示场景有可接受行为。用户指向画面中唯一显著对象时,系统应能回答。画面中有多个候选对象时,系统应当澄清。视觉现场不可用时,系统必须说明自己无法确定所指。

指示语言的失败不能被当成普通问答失败。它暴露的是全模态体验的关键能力。一个系统如果长期无法处理“这个”“那里”“刚才那个”,就无法核心符合。

11.4. 视觉歧义

视觉歧义发生在画面中存在多个候选对象、对象不清楚、用户指向不明确、视角变化过快或语音表达不足时。歧义是正常现象。符合实现应当处理歧义,而不是假装确定。

处理歧义的合理方式包括:询问用户指的是哪一个,请用户靠近或稳定画面,请用户用手指示,描述自己看到的候选对象,或说明画面不足以判断。

不合理方式包括:随机选择一个对象作确定回答;把看不清说成看清;忽略视觉输入只给通用答案;要求用户完整输入文字描述而不承认视觉受限。

11.5. 视觉变化

视觉现场会改变。用户移动摄像头、切换对象、翻页、靠近文字、转向屏幕、离开桌面或关闭摄像头时,系统对视觉现场的解释也应改变。

符合实现应当区分视觉变化带来的新当前现场。用户把摄像头从菜单移到饮料杯后,再问“这个怎么样”,系统应围绕饮料杯,而不是继续围绕菜单。用户关闭摄像头后,再问“你看这个”,系统应说明当前没有视觉输入。

视觉变化也影响历史上下文。系统可以记得刚才看过菜单,但不能把菜单当成当前画面。用户如果追问历史对象,系统需要使用历史指代语义;用户如果追问当前对象,系统需要使用当前视觉现场。

11.6. 视觉指代完成

视觉指代完成时,系统已经把用户的指示语言、当前或历史视觉现场、会话上下文和用户意图放进同一解释中,并以自然语音给出相关回应或诚实限制。

完成可以有三种结果。第一,系统确定所指并回答。第二,系统发现歧义并请求澄清。第三,系统无法使用视觉现场并表达限制。这三种都可以符合体验。伪装确定、忽略视觉、沉默失败和使用错误视觉现场,不符合体验。

视觉指代流是符合性断言的核心来源。能够处理视觉指代,才说明系统不是把摄像头当装饰,而是在会话中使用视觉现场。

12. 打断流

打断流描述用户在 AI 回应期间通过新输入改变当前回答命运的动态语义。打断是实时通话体验的核心条件。不能打断的系统把用户置于机器输出之后,破坏自然对话。

打断不是暂停播放,不是静音,不是关闭扬声器,也不是网络中断。暂停保留原回答继续输出的意图;打断取消或重定向原回答的会话地位。用户打断后,新的交互焦点应转向用户的新输入。

12.1. 打断触发

打断触发发生在 AI 正在回应时。用户可以通过说话、明确制止、提出新问题、纠正错误、切换视觉对象或执行等价的会话动作触发打断。

最典型的触发是用户插话。AI 正在解释菜单时,用户说“不对,我问的是右边这个”;AI 正在长篇回答时,用户说“停一下”;AI 正在描述旧画面时,用户把摄像头移到新对象并问“那这个呢”。这些输入都改变当前回答的有效性。

打断触发需要被系统识别为会话动作。背景噪音、旁人说话、短促无意义声音或设备回声不一定构成打断。符合实现可以使用语音活动、语义判断或用户动作来区分触发,但用户表面必须体现有效打断的结果。

12.2. 输出停止

打断成立后,被打断回答不得继续作为原回答完整输出。用户可听输出应停止、淡出或以其他可理解方式结束。系统不能在用户已经插话后继续播放长段旧回答,使用户无法进入新话题。

输出停止的内部方式不属于本书核心定义。实现可以清理音频缓冲、取消模型响应、截断 TTS、停止媒体轨道或重置播放队列。符合性关注用户能否观察到旧回答已经不再支配交互。

输出停止不要求无声瞬间完成。短暂残留可以存在,但残留不得使用户无法表达新输入,也不得让旧回答继续完成原语义路径。用户感知到“我打断了,但它还在讲完自己的话”,就是打断失败。

12.3. 会话重定向

打断不仅停止输出,还把会话重定向到新输入。用户的新输入必须成为当前交互焦点。系统回应应围绕新输入、纠正或新视觉现场,而不是继续旧回答。

如果用户打断是纠正,系统应处理纠正。例如用户说“不是这个,是左边那个”,系统应重新定位视觉指代。如果用户打断是换话题,系统应承认或直接转入新话题。如果用户打断是停止请求,系统应停止回答并等待新输入。

会话重定向也影响上下文。被打断回答中未完成的内容不得被当作用户已经接收并接受的事实。系统可以保留必要的内部历史,但不能把被取消输出当成已完成交流。

12.4. 打断反馈

打断需要反馈。反馈可以是语音停止、状态变化、字幕停止、可见说话状态消失、短语音确认或新回答开始。用户需要知道自己的打断已经生效。

反馈不必冗长。系统每次打断都说“好的我已停止”可能干扰自然对话。关键是用户能观察到旧回答停止并且新输入被接收。

没有反馈的打断会产生歧义。用户不知道系统是没听见、正在处理、已经停止还是网络卡住。符合实现应通过公共投影消除这种歧义。

12.5. 打断失败

打断失败必须被区分。系统可能因为网络、设备、模型服务、输出缓冲或权限问题无法及时打断。失败发生时,系统应当投影限制,而不是表现为正常。

以下行为构成打断失败:AI 继续完整播放旧回答;用户新输入被忽略;用户新输入只在旧回答结束后才被处理且没有任何状态说明;系统把打断后的新问题和旧回答混在一起;系统停止声音但仍回答旧问题。

打断失败不一定结束会话,但它影响核心符合。一个实现如果在正常网络和授权条件下长期不能打断,就不能声称核心符合实时通话体验。

12.6. 打断与视觉上下文

视觉现场变化常常触发打断。用户把摄像头从一个对象移到另一个对象,并在 AI 回答期间说“看这个”,系统需要停止旧对象回答,把当前视觉现场作为新交互焦点。

打断后,旧视觉上下文不应继续支配新回答。用户从菜单切换到饮料杯后,系统不能继续解释菜单并把饮料杯问题排到后面。用户说“不是这一步,是下一步”时,系统需要更新操作过程中的视觉焦点。

视觉打断也可能需要澄清。画面快速变化或新对象不清楚时,系统可以停止旧回答并请求用户稳定画面。这样仍然符合打断语义,因为旧回答不再继续支配会话。

12.7. 打断完成

打断完成时,旧回答已经停止或失去会话支配地位,用户新输入已经成为当前焦点,系统状态已经从正在回应转向正在听、正在处理或新的回应。

打断完成不要求系统立即给出最终答案。它要求系统承认新的会话现实:用户已经改变了交互方向。系统可以请求澄清、重新回答、等待用户继续说话或进入受限状态,但不能继续沿原回答推进。

打断流把实时全模态视频通话体验和批处理问答分开。批处理问答可以等待一次请求完成;实时通话必须允许用户在系统输出期间重新取得交互控制权。

13. 模态切换流

模态切换流描述麦克风、摄像头、屏幕共享、语音输出和文字辅助投影在会话中开启、关闭和替代时的语义。实时全模态视频通话体验允许能力变化,但能力变化必须被用户理解。

模态切换不是单纯按钮状态。每一次切换都会改变 AI 能使用的输入、用户能接收的输出以及会话上下文的可靠范围。

13.1. 关闭摄像头

用户关闭摄像头后,当前视觉现场不再可用。系统必须停止正在看状态,并把视觉受限投影给用户。

关闭摄像头不必结束会话。用户仍可进行语音对话,AI 仍可使用关闭前已经进入会话且仍可靠的历史上下文。但系统不得把摄像头关闭后的现实变化当作已知事实。

用户在摄像头关闭后说“你看这个”时,符合实现应当说明当前没有视觉输入,或提示用户重新开启摄像头。系统不能在没有当前视觉现场的情况下作确定视觉判断。

13.2. 恢复摄像头

用户恢复摄像头后,系统可以重新进入正在看或视觉可用状态。恢复后的画面是新的当前视觉现场。它不自动延续关闭前的视觉对象。

恢复摄像头时,系统应让用户知道视觉输入已经恢复。用户围绕新画面提问时,AI 应基于新当前现场回答。用户如果询问关闭期间发生的事情,系统应说明该期间视觉不可用。

视觉恢复也可能改变上下文焦点。用户关闭摄像头前展示菜单,恢复后展示药盒,再说“这个怎么用”,系统应围绕药盒,而不是菜单。

13.3. 麦克风静音

用户静音麦克风后,系统不再接收用户语音。正在听状态必须结束。系统可以继续播放已有回应,但用户无法通过语音打断,除非存在其他被声明的打断输入。

麦克风静音需要可见投影。用户必须知道系统听不到自己。系统不得在麦克风静音时表现为正在听,也不得把静音期间的沉默解释为用户默认接受。

用户解除静音后,系统可以重新进入语音可用状态。解除静音后的第一段语音应被视为新的用户输入,而不是静音期间缺失内容的自动补全。

13.4. 输出模式变化

自然语音是核心输出。系统可以同时提供字幕、文字记录或图像辅助,但这些输出不能替代核心语音,除非实现明确进入受限模式并向用户说明。

扬声器、耳机或音频播放不可用时,系统无法完整满足自然语音回应。它可以暂时使用文字替代,但必须把输出受限投影给用户。文字替代不能在无说明情况下冒充核心符合体验。

AI 回应从语音切换为文字时,用户对打断和继续追问的预期也会改变。系统需要保持状态一致:如果不再播放语音,就不应投影正在说话;如果文字仍在生成,系统应说明正在输出文字回应。

13.5. 屏幕共享切换

屏幕共享属于条件视觉输入。用户开启屏幕共享后,系统必须明确投影共享状态。屏幕共享停止后,系统必须停止把屏幕作为当前视觉现场。

屏幕共享和摄像头可能同时存在,也可能相互替代。实现需要让用户知道当前 AI 使用哪一路视觉输入。多路视觉输入未被清楚投影时,用户无法判断 AI 回答基于什么。

屏幕共享包含高敏信息。切换屏幕、切换窗口或停止共享时,系统需要保持状态同步。AI 不得在共享停止后继续回答停止后的屏幕内容,除非该内容已经作为历史上下文进入会话且被明确区分。

13.6. 模态切换不变量

模态切换有三个不变量。

第一,能力变化必须改变状态。开启、关闭、静音、恢复、切换来源都必须反映到用户可观察状态中。

第二,当前输入必须可区分。用户需要知道 AI 当前能听见什么、能看见什么、不能使用什么。

第三,历史上下文不得冒充当前输入。系统可以承接历史,但必须在当前输入不可用时诚实表达。

14. 话题与上下文流

话题与上下文流描述会话如何承接、切换和失去语义焦点。实时全模态视频通话体验不是一次性问答集合;它需要在同一会话中处理用户的追问、纠正、回指和新话题。

上下文连续性不等于无限记忆。它只要求系统在当前会话内合理承接已经进入会话的语音、视觉和回应历史,并在承接范围不足时诚实表达限制。

14.1. 同话题追问

同话题追问发生在用户围绕刚才的问题、回答或视觉对象继续提问。用户可能说“那这个怎么处理”“为什么”“还有别的吗”“你刚才说的第二点是什么意思”。

符合实现应当把追问放回当前会话上下文中解释。用户不应被迫完整重复前一个问题、前一个视觉对象或 AI 刚才的回答。系统可以根据上下文回应,也可以在上下文不足时请求澄清。

同话题追问需要避免过度承接。用户切换了画面或话题后,系统不能继续把旧对象当成默认对象。上下文承接必须和当前视觉现场、用户语言和会话状态一致。

14.2. 话题切换

话题切换发生在用户把交互焦点从一个对象、任务或问题转向另一个对象、任务或问题。话题切换可以通过明确语言触发,也可以通过视觉现场变化和新问题共同触发。

用户说“先不说这个”“换一个问题”“那这个呢”,或把摄像头移到新对象并提出新问题,系统应当转向新焦点。旧话题可以保留为历史,但不应继续支配当前回答。

话题切换不要求清空全部上下文。用户可能在新话题中引用旧信息。系统需要区分“旧信息作为背景”与“旧话题继续主导”。这种区分影响回答是否相关。

14.3. 纠正

纠正发生在用户指出系统误听、误看、误解或回答方向错误时。用户可能说“不是这个”“我说的是左边那个”“你看错了”“不是药盒,是旁边那张说明书”。

符合实现应把纠正视为有效输入,而不是普通噪音。纠正会改变当前解释。系统应承认纠正带来的新焦点,并基于新的语音或视觉信息继续会话。

纠正可能发生在 AI 回应期间,也可能发生在回应之后。回应期间的纠正通常触发打断;回应之后的纠正触发上下文修正。两者都要求系统不再无条件沿旧解释推进。

14.4. 上下文缺失

上下文缺失发生在系统无法可靠使用先前语音、视觉、回答或工具结果时。缺失可能来自会话结束、权限关闭、网络断开、视觉输入不可用、上下文窗口限制、用户切换过快或实现范围限制。

上下文缺失不是失败本身。符合实现可以说“不确定你指的是哪一个”“刚才摄像头关闭期间我没有看到”“我没有保留那个画面”。这种表达保护用户免受伪确定回答误导。

上下文缺失不得被隐藏。系统如果无法承接,却继续给出确定回答,会破坏体验可信度。用户需要知道是否应重新展示、重新说明或重新开始。

14.5. 连续性边界

会话内连续性有边界。边界来自时间、模态、权限、视觉变化、实现范围和用户动作。系统应在边界处保持诚实。

同一会话内刚发生的语音、视觉和回应,通常属于可承接上下文。关闭输入、结束会话、长时间离开、视觉现场彻底切换、用户明确换题或系统声明上下文不可用,会削弱或终止承接。

跨会话记忆不是核心条件。实现可以提供长期记忆扩展,但长期记忆需要独立的隐私、保存、撤回和删除语义。没有长期记忆的实现仍可核心符合;伪装拥有长期记忆的实现不符合诚实边界。

14.6. 上下文流完成

上下文流完成时,系统已经把用户当前输入放入合理的会话语境中,或者诚实表达无法承接的原因。完成不要求系统永远记住所有内容;它要求系统不把未知冒充已知。

良好的上下文流让用户感到自己在和同一个 AI 持续对话。糟糕的上下文流会让用户反复重述、纠正和解释,或让 AI 基于错误历史继续回答。

话题与上下文流使本书对象区别于孤立请求系统。孤立请求系统可以每次重新开始;实时全模态视频通话体验必须承接同一会话中的连续行为。

Part III: 公共投影与可观察承诺

本部定义系统状态、输入能力、输出结果、错误、隐私和工具行为如何被用户观察。用户可见反馈把状态模型投影到用户表面。语音输出契约、转录与字幕契约、错误投影、隐私投影和工具调用投影分别说明可听回应、辅助文字、失败、采集和外部能力的公共承诺。公共投影不规定视觉样式;它规定用户必须能知道什么,以及哪些沉默或冲突会破坏体验契约。

15. 用户可见反馈

用户可见反馈把系统状态转化为用户能理解的表面。实时全模态视频通话体验依赖持续输入和持续输出;没有反馈,用户无法判断系统是否正在听、正在看、正在处理或已经失败。

本书不规定按钮形状、颜色、图标、布局或动画风格。符合实现可以用图标、文字、声音、字幕、波形、状态条、提示卡片或系统级指示表达状态。符合性关注的是信息是否可观察、可理解、与实际状态一致。

15.1. 输入反馈

输入反馈说明系统当前能接收什么。麦克风可用时,用户需要知道自己可以说话。麦克风正在采集时,用户需要知道系统正在听。麦克风静音、拒绝、撤回或不可用时,用户需要知道系统听不到。

视觉输入可用时,用户需要知道 AI 可以使用摄像头、屏幕共享或等价视觉输入。视觉输入正在采集时,用户需要知道自己正在被看见。视觉输入关闭或受限时,用户需要知道 AI 不再拥有当前视觉现场。

输入反馈必须随状态变化更新。用户关闭摄像头后,视觉采集反馈必须消失或转为关闭状态。用户重新开启摄像头后,视觉可用状态必须恢复。状态滞后会使用户误判系统能力。

15.2. 处理反馈

处理反馈说明系统已经收到输入并正在生成回应。用户提出问题后,系统如果需要等待,应当让用户知道它仍在处理。处理反馈可以很轻量,但不能让用户误以为系统已经丢失输入。

处理反馈不能伪装成回答。系统正在处理时,不应给出没有内容的确定状态,也不应让用户误以为 AI 已经理解当前视觉现场。处理反馈只表达进行中,不表达结果已经成立。

处理状态过长时,系统应当提供可理解反馈。长时间无声或无状态会被用户理解为失败。系统可以提示网络慢、模型处理中、工具调用中或需要用户补充信息。

15.3. 回应反馈

回应反馈说明 AI 正在输出自然语音回应。用户应当能够通过声音本身或可见状态知道 AI 正在说话。回应结束时,系统应当回到可继续输入状态。

回应反馈需要支持打断。用户插话或制止时,反馈应当体现旧回答停止或失去会话支配地位。旧回答声音停止但状态仍显示 AI 在说,或状态停止但声音继续播放,都会造成状态冲突。

回应反馈也需要区分输出通道。语音回应、字幕增量、文字记录和工具结果不是同一对象。用户需要知道当前是 AI 正在说话、字幕正在补全、还是记录正在生成。

15.4. 限制反馈

限制反馈说明系统当前不能做什么。视觉不可用、麦克风不可用、输出不可用、网络异常、模型不可用、工具失败或上下文缺失,都需要被投影。

限制反馈应当具体。只说“出错了”不能帮助用户恢复。更好的反馈说明能力边界:当前无法使用摄像头、当前听不到麦克风、当前画面不清、当前网络不稳定、当前不能访问工具。

限制反馈不得羞辱用户,也不得把内部错误暴露为不可理解的技术细节。它的职责是降低用户不确定性,让用户知道系统为什么不能继续,以及可以采取什么动作。

15.5. 反馈一致性

用户可见反馈必须与实际状态一致。系统不得显示正在听但没有麦克风权限,不得显示正在看但摄像头关闭,不得显示正在回应但音频已结束,不得显示会话结束但继续采集输入。

反馈一致性也是信任条件。实时全模态视频通话体验处理高敏输入,用户依赖反馈决定是否说话、是否展示画面、是否停止采集。反馈错误会直接破坏用户控制权。

符合实现应当优先保证采集状态、能力限制和错误状态的准确性。装饰性动效可以缺失;采集状态和限制反馈不能缺失。

16. 语音输出契约

语音输出契约定义 AI 如何以用户可听方式回应。自然语音回应是本书对象的构成性条件。文字可以辅助,语音不能被无说明地替代。

本书不规定音色、情绪、语速、合成引擎或声音品牌。符合性关注语音输出是否承载主要回答,是否与会话状态一致,是否可被打断,是否在失败时诚实降级。

16.1. 语音开始

语音开始表示 AI 从处理状态进入回应状态。用户应当能够感知回应已经开始。感知可以来自声音、说话状态、字幕起始或其他反馈。

语音开始应当与当前交互焦点一致。用户刚刚询问当前画面时,语音回应应围绕当前画面。用户打断并提出新问题后,语音回应应围绕新输入,而不是继续旧回答。

语音开始不应过早伪装完成。系统可以播放短反馈表示正在处理,但这类反馈不能替代实质回答,也不能让用户误以为问题已经被理解并回答。

16.2. 语音持续

语音持续期间,AI 正在输出回答。持续输出应当保持与会话状态一致。用户仍然可以说话、纠正、打断或改变视觉现场。

长回答需要尊重通话节奏。系统不应把用户锁在不可中断的长段输出中。回答可以分段,可以停顿,可以接受用户插话。通话体验要求用户和 AI 共同控制节奏,而不是由 AI 独占输出通道。

语音持续期间的字幕或文字记录应当与语音关系清楚。字幕可以滞后或增量出现,但不应和语音表达出互相矛盾的内容。

16.3. 语音停止

语音停止表示当前语音输出结束、被取消或被打断。正常结束后,系统应回到可继续输入状态。取消或打断后,系统应转向新输入、等待用户或表达限制。

语音停止必须和状态投影一致。声音已经停止但状态仍显示 AI 在说,会误导用户。状态显示已停止但声音继续播放,会破坏打断语义。

正常停止和打断停止需要区分。正常停止表示回答完成。打断停止表示回答未按原路径完成,用户新输入改变了会话。系统不必用显式文案区分每次停止,但随后行为必须体现差异。

16.4. 语音替代

语音替代发生在系统无法提供自然语音回应时。替代输出可以是文字、字幕、提示音或其他辅助形式。替代输出必须被标记为受限状态。

语音替代不能悄悄冒充核心语音体验。系统如果因为设备、网络、模型服务或用户设置无法播放语音,应当说明语音输出不可用。只返回文本而不说明语音受限,不符合核心体验。

用户主动选择静音阅读模式时,语音替代可以成为条件路径。该路径需要用户理解自己选择了非语音输出。用户选择不能被系统假定。

16.5. 语音重叠

语音重叠指 AI 输出与用户说话同时发生。现实通话允许短暂重叠,但系统不能让重叠变成用户无法打断的噪音。

用户开始说话时,系统应识别可能的打断或补充。AI 可以短暂继续直到打断判定成立,但不得长期覆盖用户语音。用户如果明确制止,系统应停止当前回答。

回声、环境声和旁人说话会造成误判。符合实现可以有保护机制,但保护机制不能取消用户打断权。系统如果无法区分,应通过反馈或澄清降低歧义。

16.6. 输出完整性

语音输出应当表达 AI 当前回答,而不是过期回答、被取消回答或其他会话的回答。输出串话会破坏会话身份。

系统应避免同时播放多个 AI 回答。旧回答、工具提示、系统错误和新回答如果同时出声,用户无法理解当前交互焦点。必要时,系统应排序、取消或转为可见投影。

输出完整性不要求回答完美。它要求用户听到的声音与当前会话状态对应。错误回答可以被纠正;错位输出会破坏体验结构。

17. 转录与字幕契约

转录与字幕是辅助公共投影。它们可以帮助用户确认语音输入、跟随 AI 回答、回看会话或进行验收。它们不是核心语音输出的替代物,除非系统明确进入受限输出路径。

本书区分用户语音转录、AI 回答字幕和会话记录。三者服务不同动作,不能混用。

17.1. 用户语音转录

用户语音转录把用户说的话投影为文字。它可以帮助用户确认系统听到了什么,也可以帮助测试工程师判断系统是否把用户输入纳入会话。

用户语音转录如果显示,应当区分临时识别和最终识别。临时识别可能变化,不能被系统或用户误认为最终意图。最终识别仍可能错误,用户应有纠正路径。

不显示用户语音转录不自动构成核心不符合。核心体验可以只用语音状态和 AI 回应证明输入被接收。但实现如果声明提供转录,就必须处理转录错误、延迟和隐私边界。

17.2. AI 回答字幕

AI 回答字幕把 AI 语音回应投影为文字。字幕可以帮助听障用户、嘈杂环境中的用户、测试人员和审查者理解回答内容。

AI 回答字幕应当与语音回应一致。字幕可以增量显示,但不应表达与语音相反的意思。语音被打断时,字幕也应停止或标记中断,不能继续补全被取消回答。

字幕不是语音的无声替代。系统如果只显示字幕而没有语音回应,必须进入语音受限状态并说明限制。否则不满足自然语音回应条件。

17.3. 会话记录

会话记录保存或展示会话中的语音转录、AI 回答、视觉引用、工具结果或状态事件。会话记录属于治理和查阅对象,不等于实时对话本身。

会话记录可能包含敏感信息。用户语音、画面描述、工具结果和错误信息都可能泄露个人或业务内容。实现声明保存记录时,必须提供保存范围、访问范围和删除语义。

会话记录不得伪造实时上下文。记录可以帮助回看,但不能让系统声称自己在会话中看见了未采集的画面,或听见了未授权的语音。

17.4. 字幕延迟

字幕可以滞后于语音。滞后本身不构成不符合。滞后造成用户误判时,系统需要避免把字幕当成实时状态依据。

用户语音转录滞后时,系统不应让用户以为输入丢失。AI 回答字幕滞后时,系统不应在语音已打断后继续显示未发生的完整回答。

字幕延迟的关键问题是状态一致。字幕、语音和会话状态可以不同步片刻,但不能长期互相矛盾。

17.5. 转录纠正

转录可能错误。用户应能通过继续说话、纠正语句或其他交互方式修正系统理解。符合体验关注纠正是否进入会话,而不是转录文字是否永远准确。

当用户纠正转录或理解错误时,系统应把纠正作为有效输入。用户说“我不是说这个,我说的是左边那个”时,系统需要改变解释,而不是固守先前转录。

转录纠正也影响符合性证据。测试和评审不能只看转录文本;必须看系统对用户纠正后的可观察行为。

18. 错误投影

错误投影定义系统无法履行当前体验承诺时应当让用户知道什么。实时全模态视频通话体验可以失败;它不得沉默失败或伪装成功。

错误投影不要求暴露内部堆栈、供应商错误码或技术细节。它要求把失败转化为用户可理解的能力限制、恢复动作或结束状态。

18.1. 权限错误

权限错误发生在麦克风、摄像头、屏幕共享或其他输入无法授权、被拒绝、被撤回或被系统阻止时。用户需要知道是哪项权限影响了会话。

麦克风权限错误应说明系统听不到用户。摄像头权限错误应说明系统无法使用当前视觉现场。屏幕共享权限错误应说明屏幕内容没有进入会话。

权限错误投影应给出可行动路径。用户可以重新授权、切换设备、继续受限模式或结束会话。系统不得在权限错误下继续显示正在听或正在看。

18.2. 网络错误

网络错误发生在连接断开、延迟过高、媒体传输受阻、模型服务不可达或工具调用超时时。用户需要知道会话是否仍可继续。

网络错误投影应区分等待、重连和失败。短暂等待可以显示处理中或网络不稳定;重连应显示恢复中;无法恢复应显示会话受限或结束。

网络错误不得伪装成 AI 思考。用户提出问题后长时间无回应,如果系统知道网络异常,就应投影网络限制。把网络失败表现为 AI 正在思考,会误导用户。

18.3. 设备错误

设备错误发生在麦克风、摄像头、扬声器、耳机、屏幕共享源或浏览器媒体能力不可用时。设备错误直接影响输入或输出。

设备错误投影应说明受影响的能力。麦克风不可用影响语音输入;摄像头不可用影响视觉现场;扬声器不可用影响自然语音输出;屏幕源不可用影响屏幕共享条件能力。

设备错误不应把责任模糊成通用失败。用户需要知道可以检查设备、切换设备、授权系统权限或选择受限模式。

18.4. 模型错误

模型错误发生在 AI 服务无法生成回应、无法处理音频、无法处理视觉现场、输出失败、上下文不可用或被限流时。模型错误需要转换成用户可理解语义。

用户不需要知道内部模型栈。用户需要知道 AI 当前不能回答、不能看见、不能听见、不能继续说话或需要重试。系统可以说明“当前无法生成语音回答”“当前无法使用画面”“服务暂时不可用”。

模型错误不得输出伪结果。系统如果无法处理视觉现场,却给出确定视觉判断,构成比直接报错更严重的不符合。

18.5. 工具错误

工具错误发生在搜索、位置、业务 API、知识库或其他外部工具调用失败时。工具失败不能被隐藏在 AI 回答中。

如果回答依赖工具结果,工具失败应被投影。系统可以回答不依赖工具的部分,也可以说明无法获取外部信息。它不得把工具未返回的数据当作事实。

工具错误也需要边界说明。用户需要知道失败影响的是外部信息、业务操作还是核心听看说能力。工具失败通常不应终止核心会话,但会限制某类回答。

18.6. 错误恢复

错误恢复是错误投影的一部分。用户需要知道是否可以重试、重新授权、调整画面、切换设备、等待重连、继续受限模式或结束会话。

恢复动作应与错误类型相关。摄像头权限错误提示重新授权;画面不清提示调整画面;网络错误提示等待或重连;模型服务错误提示重试或稍后继续。

无法恢复时,系统应结束或限制会话,并停止不再合法的采集。错误恢复不得让用户陷入无限等待。

19. 隐私投影

隐私投影定义用户如何知道系统正在采集、使用、保存或停止使用敏感输入。实时全模态视频通话体验处理麦克风、摄像头、屏幕共享、转录、视觉内容和工具结果;这些内容必须被纳入用户可理解的隐私边界。

隐私不是后台合规附录。隐私状态直接影响用户是否敢说话、是否敢展示画面、是否敢共享屏幕、是否信任系统。

19.1. 采集提示

采集提示说明麦克风、摄像头或屏幕共享正在被当前会话使用。提示必须与实际采集一致。系统不得采集而不提示,也不得提示采集但实际没有对应能力。

麦克风采集提示应让用户知道系统正在听。摄像头采集提示应让用户知道系统正在看。屏幕共享提示应让用户知道屏幕内容正在进入会话。

采集提示应在采集期间持续可观察,或通过宿主系统提供同等强度的持续指示。一次性弹窗不能替代持续采集状态。

19.2. 停止采集

用户必须能够停止麦克风、摄像头或屏幕共享采集。停止采集动作需要可见,停止结果需要可观察。

停止摄像头后,系统不得继续把实时画面作为当前视觉现场。停止麦克风后,系统不得继续接收用户语音。停止屏幕共享后,系统不得继续使用共享屏幕作为当前输入。

停止采集不自动删除历史上下文。系统可以保留已经进入会话的内容作为历史,除非用户或产品隐私承诺另有规定。历史使用需要与当前输入区分。

19.3. 数据使用提示

数据使用提示说明语音、视觉、转录、字幕、工具结果或日志如何被用于当前会话。核心体验至少需要用户知道这些输入用于 AI 回答。

如果实现保存会话记录、上传图像帧、存储转录、生成摘要、训练模型、联动业务系统或调用第三方工具,必须有相应的公共说明。说明可以分层展示,但不能完全隐藏。

用户不需要阅读复杂技术协议才能理解当前体验中的基本数据使用。实时采集、保存、共享和删除是不同语义,不能用一个笼统“同意使用”遮蔽。

19.4. 敏感视觉内容

摄像头和屏幕共享可能包含证件、医疗信息、儿童、人脸、住址、聊天记录、账号、合同、源代码或商业秘密。系统应当把视觉输入视为高敏输入。

屏幕共享需要更强提示。用户可能在共享过程中切换窗口或暴露通知。系统应持续提示共享状态,并提供清晰停止动作。

敏感视觉内容也影响 AI 回应。系统在不确定是否应处理敏感内容时,可以提示用户确认、避免复述敏感细节或拒绝不适当请求。拒绝或限制需要可理解投影。

19.5. 会话结束后的隐私

会话结束后,系统应停止当前会话采集。任何记录、摘要、转录、截图、工具结果或日志的保存,都属于结束后的数据处理。

用户需要知道会话结束后哪些内容仍然存在。实现可以提供删除、导出、隐藏或保留策略。没有保存时,应避免让用户误以为系统仍能跨会话记住视觉或语音内容。

结束后的隐私投影保护上下文边界。系统不能因为曾经在会话中看见某物,就在未声明长期记忆的情况下跨会话使用该信息。

20. 工具调用投影

工具调用投影定义 AI 使用搜索、位置、业务 API、知识库、设备能力或其他外部系统时,用户应当知道什么。工具调用可以增强回答,但它也引入权限、成本、延迟和失败。

工具调用不是核心体验的必要条件。核心体验可以没有外部工具。实现声明工具能力时,工具行为必须进入公共契约。

20.1. 工具参与

工具参与表示 AI 回答使用了会话外部的信息或动作。搜索网页、查询商品库、读取订单、调用日历、获取位置、控制设备都属于工具参与。

用户不一定需要看到每个低层请求,但需要知道回答是否依赖外部工具,尤其当工具结果影响事实判断、业务操作或隐私边界时。

工具参与不得伪装成模型常识。系统如果基于搜索结果、业务接口或用户位置回答,应避免让用户误以为这些信息来自当前视觉现场或普通对话上下文。

20.2. 工具授权

某些工具需要用户授权。位置、通讯录、日历、文件、订单、支付、业务系统和设备控制都可能涉及权限。工具授权必须与摄像头和麦克风授权一样,具有可理解边界。

用户拒绝工具授权时,系统不得继续声称拥有该工具能力。系统可以给出不依赖工具的回答,也可以说明需要授权才能完成请求。

工具授权不应被全局模糊化。用户授权摄像头,不等于授权搜索;授权语音输入,不等于授权业务系统查询;授权位置一次,不等于永久授权所有位置使用。

20.3. 工具结果

工具结果进入回答时,应保持来源可解释。用户不一定需要看到原始 JSON、接口字段或搜索日志,但需要理解回答基于外部信息。

工具结果可能过期、失败、不完整或与视觉现场冲突。系统应在必要时表达不确定性。工具返回失败时,系统不得把缺失结果编造成事实。

工具结果也可能改变会话上下文。用户基于工具结果继续追问时,系统可以承接该结果;但工具结果的使用范围应受授权、隐私和会话边界约束。

20.4. 工具动作

工具动作会改变外部世界。例如提交工单、发送消息、下单、保存记录、控制设备、修改日程。工具动作比工具查询承担更高责任。

执行工具动作前,系统应当让用户理解将发生什么。高风险动作需要确认。动作执行后,系统应当投影结果:成功、失败、等待、需要授权或需要人工处理。

工具动作失败不得隐藏。用户需要知道外部世界是否已经改变。系统不能在动作未执行时说已完成,也不能在动作不确定时给出确定成功。

20.5. 工具成本

工具调用可能产生费用、配额消耗、延迟或业务资源占用。系统不需要对每个低成本内部调用都打扰用户,但当工具调用影响用户权益、费用、等待时间或业务状态时,必须提供可理解说明。

成本控制不能秘密改变体验承诺。如果系统因成本限制不调用搜索或业务工具,它应当避免给出依赖该工具的确定回答。它可以说明当前未使用外部信息。

工具调用投影使外部能力保持可审查。没有工具投影,用户无法判断 AI 回答来自当前画面、模型常识、搜索结果还是业务系统。

Part IV: 符合性断言与不符合案例

本部把对象定义、动态体验和公共投影转化为黑盒断言。断言表面定义断言的标题化写法。核心会话断言、权限断言、视觉上下文断言、打断断言、错误与恢复断言和不符合案例分别承接体验承诺。每条断言是可交叉引用的标题单位。断言检查用户动作和可观察结果,不检查内部模型、协议或代码结构。

21. 断言表面

符合性断言是本书用于判定实现行为的黑盒条目。每条断言描述一个可观察场景:给定某个前置状态,用户执行某个动作,系统应出现某个可观察结果。

断言不检查内部实现。它不要求评审者知道模型事件、媒体协议、线程状态、采样频率或供应商接口。断言只检查用户或外部观察者能看到、听到或记录到的结果。

21.1. 断言标题

每条断言使用小一级标题表达。标题前的 attrlist 提供稳定 ID、role 和规范强度。标题文本是读者可见的断言名称。

[#current-visible-object-answerable.assertion, normative=must]
=== 当前可见对象可被询问

#current-visible-object-answerable 是交叉引用地址。.assertion 表示标题身份。normative=must 表示规范强度。其他章节引用该断言时,使用 当前可见对象可被询问。

断言不使用孤立字面量编号作为主要引用对象。编号字符串容易脱离书稿结构;标题 ID 能与目录、交叉引用和投影工具共同工作。

21.2. 断言正文

断言正文使用稳定字段描述场景。字段包括前置状态、用户动作、期望结果、不符合表现和覆盖对象。

前置状态描述用户和系统在动作发生前可观察到的状态。用户动作描述用户做了什么。期望结果描述系统应当出现的可观察结果。不符合表现列出会导致断言失败的典型行为。覆盖对象通过 xref 指向被验证的要求、流程或公共投影。

字段服务断言,不服务装饰。字段不应写内部实现细节,也不应写无法观察的心理状态。例如“模型内部收到事件”不是黑盒期望结果;“用户界面显示正在听,AI 随后回应基于用户语音”才是可观察结果。

21.3. 断言强度

断言强度来自规范性语言。normative=must 的断言验证核心要求。失败时,实现不能核心符合。normative=should 的断言验证强要求。失败时,实现需要偏离声明。normative=may 的断言验证可选或扩展能力。实现未声明该能力时,不适用。

断言强度不是测试优先级。一个 must 断言即使执行简单,也比一个复杂的 may 断言更重要。符合性先看核心条件,再看扩展能力。

21.4. 观察原则

断言以外部观察为准。观察可以来自用户界面、可听语音、字幕、状态指示、错误提示、会话记录、屏幕录制或测试工具记录。观察必须映射到用户可依赖的行为。

内部日志可以作为辅助证据,但不能替代用户可观察结果。系统内部记录“已打开摄像头”而用户界面无采集状态,不满足采集状态断言。内部记录“已取消回答”而用户仍听到旧回答继续播放,不满足打断断言。

21.5. 适用范围

断言适用于实现声明的范围。核心断言适用于所有核心符合声明。条件断言适用于实现声明的条件能力。扩展断言适用于实现声明的扩展能力。

实现可以声明条件范围,但条件范围必须清楚。例如只支持移动端摄像头的实现,不接受桌面摄像头断言;但它仍必须通过移动端核心断言。声明条件范围不能取消核心构成性条件。

21.6. 断言失败

断言失败表示实现没有满足该场景的可观察结果。失败可以来自功能缺失、状态冲突、错误沉默、输出错位、权限误导、上下文伪装或打断失效。

断言失败应被记录为不符合、条件限制或偏离声明。失败不能被演示成功案例抵消。一个实现偶尔成功回答视觉问题,不代表它通过所有视觉指代断言。

22. 核心会话断言

核心会话断言验证体验对象的主路径:用户进入会话、授权输入、提出语音和视觉问题、听到自然语音回应、继续交互并结束会话。

22.1. 会话入口可观察

前置状态

用户处于未进入会话状态。

用户动作

用户执行进入实时全模态视频通话体验的动作。

期望结果

系统进入等待授权或准备状态,并让用户知道当前尚未采集麦克风和视觉输入。

不符合表现

系统在没有用户明确进入动作时开始采集;系统进入会话后没有任何状态变化;系统让用户误以为已经正在听或正在看。

覆盖对象

进入会话;未进入会话。

22.2. 用户语音输入被接收

前置状态

用户已进入会话;麦克风已授权;系统处于正在听或语音可用状态。

用户动作

用户用自然语音提出一个可以用语音回答的问题。

期望结果

系统表现出已接收用户语音,并生成与该语音问题相关的回应或澄清。

不符合表现

系统没有任何接收状态;系统只接受文字输入;系统把语音输入当成离线录音上传;系统在麦克风关闭时仍声称正在听。

覆盖对象

语音提问;正在听。

22.3. 当前视觉现场参与回答

前置状态

用户已进入会话;麦克风和摄像头已授权;系统处于正在听和正在看状态;画面中存在可被常识性描述的对象。

用户动作

用户把摄像头对准该对象,并用语音询问“这个是什么”或等价表达。

期望结果

系统以自然语音回应,并使回应内容与当前画面对象形成可理解关联;系统无法可靠判断时,说明视觉限制或请求用户调整画面。

不符合表现

系统要求用户手动上传图片;系统只根据语音文本回答;系统声称无法看见但界面显示正在看;系统对画面中不存在的对象作确定描述。

覆盖对象

视觉现场提问;当前视觉指代。

22.4. AI 自然语音回应可听

前置状态

用户已提出有效问题;输出设备可用;系统正在处理。

用户动作

用户等待 AI 回应。

期望结果

AI 以自然语音输出主要回答,并通过可听声音或等价状态让用户知道正在回应。

不符合表现

系统只显示文字且未声明语音受限;系统生成语音但用户无法听到且无错误投影;系统播放与当前会话无关的旧回答。

覆盖对象

回应输出;语音输出契约。

22.5. 回应后会话可继续

前置状态

AI 已完成一次语音回答;会话未结束;输入能力仍可用。

用户动作

用户围绕同一对象或回答提出追问。

期望结果

系统把追问放回当前会话语境中解释,并给出相关回应、澄清或限制说明。

不符合表现

系统每次都要求用户从头描述;系统丢失刚才的视觉对象且不说明;系统把追问当成完全无关请求;系统在回答后自动结束会话。

覆盖对象

同话题追问;上下文流完成。

22.6. 会话结束停止采集

前置状态

用户处于活跃会话;麦克风或视觉输入正在采集。

用户动作

用户执行结束会话动作。

期望结果

系统进入已结束状态,停止当前会话的麦克风和视觉输入采集,并让用户知道会话已结束。

不符合表现

会话结束后仍显示正在听或正在看;会话结束后继续采集输入;系统播放未完成回答且无结束状态;用户无法判断会话是否结束。

覆盖对象

结束会话;已结束。

23. 权限断言

权限断言验证系统是否把麦克风、摄像头和等价视觉输入的授权状态正确投影给用户。权限断言保护用户控制权。

23.1. 麦克风授权状态可见

前置状态

用户进入会话;麦克风权限尚未授予。

用户动作

用户触发语音会话准备。

期望结果

系统请求或提示麦克风授权,并让用户知道授权前系统不能听见语音。

不符合表现

系统未授权即显示正在听;系统没有说明缺少麦克风权限;用户拒绝后系统仍表现为正在听。

覆盖对象

麦克风授权;等待授权。

23.2. 摄像头授权状态可见

前置状态

用户进入会话;视觉输入权限尚未授予。

用户动作

用户触发视觉会话准备或开启摄像头。

期望结果

系统请求或提示视觉输入授权,并让用户知道授权前 AI 不能使用当前视觉现场。

不符合表现

系统未授权即显示正在看;系统没有说明缺少摄像头权限;用户拒绝后系统仍声称可以看见当前画面。

覆盖对象

摄像头授权;正在看。

23.3. 采集状态持续可见

前置状态

用户已经授予麦克风、摄像头或屏幕共享权限;对应输入正在当前会话中被采集。

用户动作

用户保持会话打开,并继续说话、展示画面或共享屏幕。

期望结果

系统持续投影对应采集状态,使用户能够判断麦克风、摄像头或屏幕共享正在被当前会话使用。

不符合表现

系统只在授权瞬间提示一次,采集期间没有持续状态;系统采集输入但界面无任何采集投影;系统状态与实际采集不一致。

覆盖对象

采集提示;反馈一致性。

23.4. 权限拒绝进入受限状态

前置状态

系统请求麦克风或视觉输入权限。

用户动作

用户拒绝权限。

期望结果

系统进入受限状态,说明哪项能力不可用,并提供重新授权、继续受限模式或结束会话的路径。

不符合表现

系统无解释停止;系统继续显示相关能力可用;系统把权限拒绝当作崩溃;系统要求用户猜测失败原因。

覆盖对象

权限拒绝;受限。

23.5. 权限撤回更新状态

前置状态

用户处于活跃会话;麦克风或视觉输入正在采集。

用户动作

用户关闭麦克风、关闭摄像头、停止屏幕共享或撤回权限。

期望结果

系统停止对应采集状态,并投影新的受限能力边界。

不符合表现

麦克风关闭后仍显示正在听;摄像头关闭后仍显示正在看;停止屏幕共享后 AI 仍基于当前屏幕作确定回答。

覆盖对象

权限撤回;停止采集。

23.6. 权限恢复重新投影能力

前置状态

会话处于受限状态;用户重新授权或恢复设备。

用户动作

用户重新开启麦克风、摄像头或屏幕共享。

期望结果

系统把恢复后的能力投影给用户,并把恢复后的输入作为当前可用输入。

不符合表现

权限恢复后状态不变化;系统继续声称能力不可用;系统把权限关闭期间未采集的信息当作已知事实。

覆盖对象

权限恢复;恢复摄像头。

24. 视觉上下文断言

视觉上下文断言验证系统是否真正使用当前视觉现场和会话内视觉上下文。它们防止拍照问答、通用语音回答或摄像头装饰冒充实时全模态体验。

24.1. 当前可见对象可被询问

前置状态

摄像头开启;画面中有一个清楚可见的主要对象;麦克风可用。

用户动作

用户问“这个是什么”或等价表达。

期望结果

系统围绕当前可见对象给出语音回答,或说明画面不足以判断并请求调整。

不符合表现

系统要求用户上传图片;系统只给通用答案;系统回答与画面无关;系统编造画面中不存在的对象。

覆盖对象

当前视觉指代;当前视觉现场参与回答。

24.2. 多候选视觉对象触发澄清

前置状态

摄像头开启;画面中存在多个可能被“这个”指代的对象。

用户动作

用户问“这个怎么用”或等价表达,但没有进一步指明对象。

期望结果

系统请求用户澄清,或描述候选对象并询问用户指的是哪一个。

不符合表现

系统随机选择对象作确定回答;系统忽略画面只给通用说明;系统声称看不见但状态显示正在看。

覆盖对象

视觉歧义。

24.3. 视觉现场变化更新焦点

前置状态

用户正在围绕一个视觉对象对话;摄像头开启。

用户动作

用户把摄像头移动到另一个清楚对象,并问“那这个呢”。

期望结果

系统把新画面对象作为当前焦点回答,或说明新画面不足以判断。

不符合表现

系统继续回答旧对象;系统把旧画面当成当前画面;系统无法区分当前视觉现场和历史视觉上下文。

覆盖对象

视觉变化;话题切换。

24.4. 摄像头关闭后的视觉问题受限

前置状态

用户已关闭摄像头;系统不处于正在看状态。

用户动作

用户问“你看这个是什么”或等价视觉问题。

期望结果

系统说明当前没有视觉输入,或提示用户开启摄像头。

不符合表现

系统在无视觉输入时作确定视觉判断;系统仍显示正在看;系统假装可以使用当前画面。

覆盖对象

关闭摄像头;受限。

24.5. 历史视觉指代有边界

前置状态

用户在同一会话中展示过一个对象,随后切换到其他画面。

用户动作

用户问“刚才那个是什么”或等价表达。

期望结果

系统基于可承接的历史视觉上下文回答,或说明无法可靠确定所指对象。

不符合表现

系统把历史对象当成当前画面;系统编造未保存的视觉内容;系统拒绝承认合理的近期视觉上下文。

覆盖对象

历史视觉指代;连续性边界。

25. 打断断言

打断断言验证用户是否能在 AI 回应期间重新取得交互控制权。它们检查旧回答是否停止、新输入是否成为焦点、状态是否一致。

25.1. 用户语音打断 AI 回应

前置状态

AI 正在以语音回应;麦克风可用。

用户动作

用户说“停一下”或提出新的问题。

期望结果

AI 当前回答停止或失去会话支配地位;系统转向用户新输入,进入正在听、正在处理或新的回应状态。

不符合表现

AI 继续完整播放旧回答;用户新输入被忽略;旧回答结束后才处理新输入且无任何打断反馈。

覆盖对象

打断触发;输出停止。

25.2. 纠正打断错误焦点

前置状态

AI 正在围绕错误视觉对象回应。

用户动作

用户说“不是这个,是左边那个”或等价纠正。

期望结果

系统停止旧焦点回答,转向被纠正的视觉对象,或请求用户澄清。

不符合表现

系统继续旧对象回答;系统承认纠正但仍回答旧问题;系统忽略用户纠正。

覆盖对象

纠正;会话重定向。

25.3. 视觉切换可中断旧回答

前置状态

AI 正在回答当前画面对象;摄像头开启。

用户动作

用户移动摄像头到新对象并说“看这个”。

期望结果

系统停止或重定向旧回答,把新视觉现场作为当前焦点,或说明新画面不足以判断。

不符合表现

系统继续完整解释旧画面;系统把新对象问题排到不可见队列;系统混合旧画面和新画面给出不一致回答。

覆盖对象

打断与视觉上下文;视觉现场变化更新焦点。

25.4. 被打断回答不得补全

前置状态

AI 回答被用户有效打断。

用户动作

用户等待系统处理新输入。

期望结果

被打断回答不继续作为完整回答输出;系统的随后行为围绕新输入、澄清或受限状态。

不符合表现

系统停止片刻后继续旧回答;字幕继续补全被打断内容;系统把未输出的旧回答当成用户已经接收的信息。

覆盖对象

已被打断;语音停止。

25.5. 打断反馈可观察

前置状态

AI 正在回应。

用户动作

用户触发有效打断。

期望结果

用户能够通过语音停止、状态变化、新回答开始、字幕停止或其他投影观察到打断生效。

不符合表现

用户无法判断系统是否听见打断;旧状态和新声音冲突;系统无反馈地沉默。

覆盖对象

打断反馈;用户可见反馈。

26. 错误与恢复断言

错误与恢复断言验证系统是否在失败时保持诚实、可理解和可恢复。失败本身不必然导致不符合;沉默失败、伪装成功和错误状态冲突导致不符合。

26.1. 权限错误提供可行动路径

前置状态

系统需要麦克风或视觉输入权限。

用户动作

用户拒绝权限,或宿主系统阻止授权。

期望结果

系统说明受影响能力,并提供重新授权、继续受限模式或结束会话的路径。

不符合表现

系统只显示通用错误;系统无状态变化;系统继续投影相关能力可用。

覆盖对象

权限错误;权限拒绝进入受限状态。

26.2. 网络错误不伪装成思考

前置状态

用户已提出问题;系统已检测到网络异常或服务连接异常。

用户动作

用户等待回应。

期望结果

系统投影网络或连接限制,并说明等待、重试、重连或结束路径。

不符合表现

系统长期沉默且无状态;系统持续显示正在思考但实际连接失败;系统在连接失败时给出伪结果。

覆盖对象

网络错误。

26.3. 视觉不确定性被诚实表达

前置状态

视觉输入可用,但画面模糊、遮挡、过暗、对象不清或多对象歧义。

用户动作

用户提出依赖画面的视觉问题。

期望结果

系统说明无法可靠判断、请求调整画面或请求澄清。

不符合表现

系统在看不清时作确定回答;系统编造画面内容;系统忽略视觉限制给出通用答案。

覆盖对象

视觉歧义;视觉现场事实。

26.4. 工具失败被说明

前置状态

用户请求需要外部搜索、位置、业务 API 或知识库结果。

用户动作

用户提出相关请求,工具调用失败或不可用。

期望结果

系统说明外部工具不可用或结果无法获取,并避免把缺失结果当作事实。

不符合表现

系统伪造工具结果;系统把工具失败隐藏在确定回答中;系统执行外部动作失败却声称已完成。

覆盖对象

工具错误;工具结果。

26.5. 恢复后状态一致

前置状态

会话处于错误或受限状态。

用户动作

用户完成恢复动作,例如重新授权、切换设备、调整画面或等待重连成功。

期望结果

系统更新状态投影,并只恢复实际可用的能力。

不符合表现

恢复后状态不变化;系统显示能力恢复但仍不可用;系统恢复一项能力却声称全部能力恢复。

覆盖对象

错误恢复;状态一致性。

27. 不符合案例

不符合案例列出常见误判。它们帮助评审者识别“看起来像”但不满足本书对象的实现。

27.1. 拍照问答不等于实时视觉通话

一个实现如果只允许用户拍照上传,再等待 AI 对单张图片回答,就不符合实时全模态视频通话体验。它可以是图片问答系统,但缺少当前视觉现场、持续会话、视觉变化和打断动态。

拍照问答可以作为辅助能力进入产品。它不能替代摄像头或等价视觉输入的当前现场能力。

27.2. 语音助手不等于视频通话体验

一个实现如果只能听用户说话并用语音回答,但不能使用当前视觉现场,就不符合实时全模态视频通话体验。

语音助手可以成为摄像头关闭后的受限模式。它不能在核心符合声明中冒充全模态体验。

27.3. 数字人形象不等于视觉理解

一个实现如果展示会说话的数字人形象,但 AI 不能使用用户摄像头或视觉现场,就不符合本书对象。

数字人形象是表达层扩展。它不证明系统能看见用户,也不证明系统能处理视觉指代或打断。

27.4. 不可打断输出不符合实时通话

一个实现如果 AI 回答期间用户不能通过新输入改变当前回答,就不符合核心体验。长回答必须播完、用户只能等待、插话只在回答结束后处理,都是不可打断输出。

不可打断输出可以出现在离线生成、播客式回答或批处理问答中。它不能构成实时视频通话体验。

27.5. 隐藏采集不符合体验契约

一个实现如果采集麦克风、摄像头或屏幕共享却没有用户可见状态,就不符合本书对象。高敏输入需要持续可观察边界。

隐藏采集即使技术上有效,也破坏用户控制权。用户不知道自己正在被听见或看见时,无法参与可信的实时通话。

27.6. 模型能力列表不等于产品符合

一个供应商如果只列出模型支持音频、视频、图像、文本、工具调用,不足以证明产品符合。模型能力需要通过用户表面的会话、状态、回应、打断和断言来体现。

符合性证据必须映射到本书断言。模型能力可以解释实现可能性,不能替代黑盒结果。

27.7. 状态误导构成不符合

一个实现如果显示正在看但摄像头关闭,显示正在听但麦克风未授权,显示正在回应但没有可听输出,显示会话结束但继续采集输入,构成状态误导。

状态误导破坏公共投影。用户依靠状态决定是否展示现实、是否说话、是否停止采集。状态错误不是小 UI 问题,而是体验契约失败。

28. 覆盖映射

覆盖映射说明本书断言如何覆盖构成性条件。它不是测试执行结果,而是书内判定结构的导航。

28.4. 覆盖边界

本覆盖映射覆盖核心体验和成本治理。扩展能力需要额外断言。屏幕共享、长期记忆、多人会话、数字人形象、业务工具动作和录制回放只有在实现声明扩展符合时,才需要进入扩展覆盖。

覆盖映射不替代测试执行。它说明书内断言与对象条件的关系。具体实现需要提交证据,说明这些断言在声明范围内如何通过。

Part V: 质量、治理与符合性声明

本部定义核心体验在质量、成本、隐私、安全、可访问性和声明材料中的边界。延迟与响应性、连续性与记忆边界、成本与资源边界、安全与隐私边界、可访问性与环境适应和符合性声明共同约束实现如何在真实环境中维持核心符合。治理不是后台附录;它决定用户是否能信任持续采集、模型回应、工具调用和符合性声明。

29. 延迟与响应性

延迟与响应性描述用户如何感知系统是否接近实时。实时全模态视频通话体验不要求所有实现给出同一个固定毫秒数;它要求关键交互时刻不破坏通话感,并在等待或失败时给出可理解状态。

用户感知的响应性来自多个时刻:说话后系统是否在听,展示画面后系统是否可看,提问后是否开始处理,AI 何时开始语音回应,用户打断后旧回答何时停止,网络异常时系统何时说明限制。

29.1. 首次回应延迟

首次回应延迟是用户提出问题后,到 AI 开始可感知回应之间的时间。可感知回应可以是语音开始,也可以是明确处理状态。核心体验要求用户知道系统没有丢失输入。

短延迟有利于通话感。长延迟不必然不符合,但必须被状态投影覆盖。长时间无状态沉默会让用户无法区分系统正在处理、网络失败、麦克风未听到还是模型不可用。

首次回应延迟也受问题类型影响。普通语音问题、视觉指代问题、工具调用问题和复杂推理问题可以有不同响应时间。实现应避免用最慢路径定义所有交互。

29.2. 打断延迟

打断延迟是用户触发打断后,到旧回答停止或失去会话支配地位之间的时间。打断延迟比普通回应延迟更影响通话控制感。

用户可以接受极短残留。用户不能接受 AI 在打断后继续完成长段旧回答。打断延迟过长时,系统应投影限制或失败。

打断延迟的判定看用户可听结果。内部取消事件发生但旧音频继续播放,不满足打断响应性。旧音频停止但新输入没有进入会话,也不满足打断流。

29.3. 视觉更新延迟

视觉更新延迟是用户改变画面后,AI 对当前视觉现场的解释更新所需时间。用户移动摄像头到新对象并提问时,系统应围绕新对象回答,或说明画面尚不可用。

视觉更新不要求每一帧都被模型处理。实现可以采样、节流或事件触发。符合性关注用户当前问题是否使用了正确的视觉现场,以及系统在无法使用时是否诚实说明。

视觉更新延迟过大时,系统容易使用旧画面回答新问题。旧画面冒充当前画面构成体验破坏。

29.4. 响应性声明

实现可以声明自己的响应性范围,例如典型网络条件、设备条件、模型服务区域、工具调用路径和受限模式。声明应当对应用户可观察时刻,而不是只给内部请求耗时。

响应性声明不能掩盖核心缺陷。一个实现如果正常条件下无法打断、无法及时投影视觉受限或长期沉默,不能通过声明“响应可能较慢”取得核心符合。

30. 连续性与记忆边界

连续性让用户感到自己在同一会话中与同一个 AI 交流。记忆边界防止系统把没有资格使用的信息伪装成上下文。

本书核心符合要求会话内上下文连续,不要求跨会话长期记忆。长期记忆是条件能力或扩展能力,需要单独声明。

30.1. 会话内连续性

会话内连续性包括用户刚说过的话、刚展示的视觉现场、AI 刚给出的回答、用户刚作出的纠正和工具刚返回的结果。它们共同构成当前会话解释范围。

符合实现应当承接合理的近期上下文。用户追问“为什么”“那这个呢”“你刚才说的第二点”,系统应能把这些表达放回会话中解释,或说明无法确定所指。

连续性不是保存一切。画面快速变化、权限关闭、会话结束、时间过长或实现范围限制都可能使上下文失效。失效需要诚实表达。

30.2. 长期记忆边界

长期记忆指跨会话保存和使用用户信息、视觉内容、偏好、历史问题或业务数据。长期记忆不属于核心符合。

实现声明长期记忆时,必须说明保存什么、如何使用、何时生效、用户如何查看、修改、撤回或删除。没有这些公共语义,长期记忆会破坏隐私和信任。

实现未声明长期记忆时,不得暗示自己跨会话记得用户展示过的视觉内容或说过的敏感信息。它可以记住当前会话内信息,但不能越过会话边界。

30.3. 上下文诚实

上下文诚实要求系统承认自己不知道、没看到、没听清或无法承接的事实。诚实表达比伪确定回答更符合体验。

系统可以说“我刚才没有看到那一段”“摄像头关闭时我无法知道画面变化”“我不确定你说的是哪一个”。这些表达降低用户不确定性,并保护用户免受错误引导。

上下文诚实也要求系统不把工具结果、历史视觉、模型常识和当前视觉混为一谈。用户需要知道回答依据的大致来源。

31. 成本与资源边界

成本与资源边界描述实现如何控制音频、视觉、模型、工具和存储消耗,同时不破坏核心体验承诺。成本控制是现实约束;秘密降级不是合格体验。

实时全模态会话消耗资源。持续音频、视觉输入、语音输出、工具调用、上下文保存和日志都可能产生费用或配额消耗。实现可以控制资源,但必须守住用户可依赖的行为。

31.1. 视觉采样边界

视觉采样是实现如何把视觉现场纳入会话的内部策略。实现可以持续处理视频轨道,也可以按频率或事件采样图像帧。本书不规定采样方式。

采样策略不得破坏当前视觉承诺。用户切换画面并提问时,系统不能长期使用旧画面。系统因采样限制无法可靠使用新画面时,应表达限制或请求用户等待、稳定画面。

采样频率不应作为营销替代符合性。高帧率不自动证明理解,低帧率不自动不符合。符合性看用户问题是否被正确放入当前视觉现场。

31.2. 会话时长边界

实现可以限制会话时长。限制需要公开,并在接近限制时投影给用户。会话突然中断且无说明,会破坏体验。

会话时长限制影响上下文连续性。会话结束后,核心上下文边界关闭。实现如果提供继续会话、摘要或长期记忆,需要说明这些能力的范围。

31.3. 工具成本边界

工具调用可能消耗费用、配额、外部服务资源或业务操作机会。实现可以限制工具频率、工具类型或高成本工具使用。

限制工具调用时,系统不得给出依赖未调用工具的确定回答。它可以说明当前未使用外部信息,或请求用户授权高成本操作。

工具成本边界应与用户权益相关。低层内部优化无需打扰用户;影响回答事实、业务动作、费用或等待时间时,需要公共投影。

31.4. 资源降级边界

资源降级发生在系统为了成本、性能或故障处理降低能力。降级可以合理存在,例如降低视觉采样、关闭工具、减少记录、转入语音受限模式。

降级必须与符合性声明一致。核心能力降级时,系统应进入受限状态。扩展能力降级时,系统应说明扩展不可用。降级不能悄悄把全模态体验变成语音助手或图片问答。

32. 安全与隐私边界

安全与隐私边界保护用户在持续采集和智能回应中的控制权。实时全模态视频通话体验越自然,越需要清楚说明采集、使用、保存和拒绝的边界。

安全与隐私不是体验之外的合规层。用户是否知道自己被看见,是否能停止采集,是否理解工具动作,直接决定体验是否可信。

用户同意应当针对具体能力。授权麦克风不等于授权摄像头。授权摄像头不等于授权屏幕共享。授权会话输入不等于授权长期保存或训练使用。

同意边界需要可撤回。用户关闭输入或结束会话时,系统必须停止相应采集。撤回同意后,系统不得继续把被撤回输入当作当前可用信息。

32.2. 敏感回应边界

AI 可能看到或听到敏感信息。系统在回应敏感内容时应避免无必要复述隐私细节。用户展示证件、医疗信息、儿童、人脸、账号、合同或商业秘密时,系统应保持谨慎。

敏感回应边界不意味着系统必须拒绝所有敏感问题。它要求系统在回答时尊重用户意图、最小必要信息和安全限制。拒绝或限制时,应给出可理解理由。

32.3. 外部动作安全

工具动作可能改变外部世界。发送消息、提交订单、控制设备、修改日程、保存记录和发起支付都需要更高安全边界。

高风险动作应当在执行前让用户确认。执行后,系统应投影结果。动作不确定时,系统不得声称成功。

外部动作安全也保护供应商评审。一个实现如果能说话但不能可靠说明工具动作结果,就不应声明相关扩展符合。

32.4. 通过状态保护隐私

状态投影是隐私保护的一部分。用户通过状态知道自己是否正在被听见或看见。状态缺失会让隐私承诺不可操作。

系统级隐私指示可以补充应用内投影,但不能替代本书对象的状态语义。用户仍需要在会话内理解当前 AI 是否使用这些输入。

33. 可访问性与环境适应

可访问性与环境适应描述系统如何在不同用户能力和环境条件下保持体验可理解。它们不改变核心对象,但影响真实消费级使用。

33.1. 嘈杂环境

嘈杂环境会影响语音输入和输出。系统可能听不清用户,也可能让用户听不清 AI。符合实现应当在识别不可靠时表达限制,而不是伪装听懂。

字幕、转录、耳机提示、重新说话请求和降噪能力都可以帮助嘈杂环境。实现声明这些能力时,需要保持状态一致。

33.2. 视觉与听觉差异

听障用户可能依赖字幕或文字记录。视障用户可能依赖语音状态和非视觉反馈。实现可以通过字幕、语音提示、键盘操作、屏幕阅读器支持和高对比状态增强可访问性。

可访问性增强属于重要质量能力。它不取消自然语音核心,但可以为不同用户提供等价理解路径。实现声明可访问性扩展时,应给出可观察行为。

33.3. 移动端与桌面端环境

移动端和桌面端的权限、摄像头、麦克风、屏幕共享、后台运行和系统隐私指示不同。实现可以声明支持范围。

支持范围必须进入条件符合声明。只支持移动端的实现不需要通过桌面端断言;但它必须在移动端满足核心体验。支持桌面端屏幕共享的实现需要处理屏幕共享条件责任。

33.4. 弱网环境

弱网环境会影响语音连续性、视觉更新、模型响应和工具调用。系统可以降级,但降级必须可见。

弱网下合理行为包括提示网络不稳定、降低视觉更新、请求用户等待、转入语音受限或结束会话。不合理行为包括无状态沉默、旧画面回答新问题、继续显示能力正常。

34. 符合性声明

符合性声明是实现者对本书要求的公开回答。它把实现范围、通过断言、条件限制、扩展能力、偏离项和证据材料放在同一份声明中。

符合性声明不是营销页。它必须可审查。评审者应能从声明追踪到本书标题、断言和证据。

34.1. 声明范围

声明范围说明实现在哪些平台、设备、地区、账号、网络条件、输入模态和业务场景中声称符合。范围应明确到足以选择对应断言。

范围可以有限。有限范围不是问题;未声明范围才是问题。一个移动端实现可以声明移动端核心符合;一个只支持摄像头不支持屏幕共享的实现可以声明核心符合但不声明屏幕共享扩展符合。

34.2. 断言覆盖

符合性声明应列出适用断言及其结果。结果可以是通过、不适用、偏离或失败。每个不适用和偏离都需要理由。

断言结果应链接到证据。证据可以是测试记录、人工验收、屏幕录制、用户操作脚本或审查材料。证据必须能让评审者观察用户动作和系统结果。

34.3. 偏离项

偏离项说明实现未满足某项应当要求、条件要求或扩展要求的情况。偏离项应说明影响用户、影响断言和替代行为。

偏离项不能取消核心必须项。缺少实时语音、当前视觉现场、自然语音回应、打断或公共投影时,实现不能用偏离项获得核心符合。

34.4. 证据材料

证据材料应围绕黑盒行为组织。优先证据是可重复操作脚本和可观察结果记录。内部架构图、模型能力列表和宣传视频只能作为辅助材料。

证据材料需要版本、环境和范围。没有环境范围的证据不能说明条件符合。没有版本的证据无法支持持续审查。

34.5. 声明维护

符合性声明需要随实现变化维护。新增平台、新增工具、修改权限流、改变模型服务、改变采样策略、改变隐私保存,都可能影响符合性。

声明维护不是版本流水账。它只记录影响本书要求、断言、范围或证据的变化。无关内部重构不需要进入符合性声明。

Part VI: 成本、资源与体验预算

本部定义实时全模态视频通话体验在成本约束下的资源账本、体验预算、模态调度、用户控制、执行位置、单位经济、降级投影和符合性断言。成本治理不替代核心符合;它约束实现如何在音频、视觉、模型、工具、上下文、存储、网络、设备、用户注意力和隐私暴露之间作出可声明、可观察、可审查的取舍。

35. 成本治理对象

成本治理,是符合实现为了在现实资源约束中维持实时全模态视频通话体验,对音频、视觉、模型、工具、上下文、存储、网络、设备、用户注意力和隐私暴露进行预算、分配、调度、投影和审查的规则体系。

成本治理首先服务体验承诺,而不是服务账单数字。账单金额、资源配额、模型 token、带宽、存储、电量和工具调用费用都是成本投影;它们只有在影响用户可依赖行为、实现范围、运营能力或符合性声明时,才进入本书的规范判断。

成本治理也不是秘密降级的授权。符合实现可以降低视觉采样、限制会话时长、调整模型路由、压缩上下文、关闭高成本工具或切换为低成本模态;这些策略受构成性条件约束,不得让用户误以为系统仍在承担已经被降级、关闭或替换的体验承诺。

35.1. 成本治理中心命题

一个实现只有在成本控制、资源降级、模态切换、工具限制、上下文压缩和执行位置调整不破坏核心体验承诺,并且在影响用户可依赖行为时提供用户可见反馈,才可以把这些策略纳入实时全模态视频通话体验的符合性声明。

这个命题约束本部后续章节。成本与资源账本定义成本被观察和归因的表面;体验预算与硬门槛说明哪些要求不能被成本收益抵消;模态预算模型说明不同模态组合如何服务不同任务;视觉证据与引用资产说明快照和片段如何成为稳定指称对象;成本降级与公共投影说明降级何时必须被用户观察;成本符合性断言把这些规则转化为黑盒判定。

35.2. 责任范围

成本治理负责说明资源取舍如何影响体验承诺。它不指定供应商价格、模型名称、媒体协议、云厂商、边缘网络或具体采样算法。实现可以使用云端模型、本地模型、WebRTC、RTC SDK、自定义媒体通道、缓存、端侧预处理、模型路由或工具网关;符合性判断仍然回到用户可观察行为和本书断言。

成本治理覆盖四类责任。

第一,资源可见。实现需要知道一次会话、一次视觉问答、一次语音回应、一次工具调用、一个快照或一个片段消耗了什么资源。没有资源账本,成本策略只能停留在直觉层面。

第二,取舍可判。实现需要说明一个策略降低了哪类成本,牺牲或改变了哪类体验,引入了什么风险,以及这些变化是否触碰核心符合硬门槛。

第三,边界可投影。成本策略如果改变用户能听见什么、看见什么、引用什么、打断什么、等待什么或依赖什么工具,就必须进入公共投影。

第四,证据可审查。实现的成本策略应能映射到声明范围、断言结果和证据材料,而不是只在内部架构图或运营口号中存在。

35.3. 相邻对象

云成本优化可以降低账单,但它不自动构成本书的成本治理。只减少服务器费用,却让用户无法知道当前视觉是否被使用,不符合本书对象。

媒体自适应可以降低带宽和延迟,但它不自动解决全模态体验成本。降低视频码率以后,如果系统仍以确定语气回答看不清的文字或对象,媒体策略已经破坏体验承诺。

模型路由可以降低模型调用费用,但它不自动保持会话质量。低成本模型如果不能承担自然语音回应、视觉指代、打断或上下文连续,路由策略必须进入受限状态或偏离声明。

产品套餐和计费规则可以约束用户权益,但它不自动成为体验预算。套餐限制影响会话时长、视觉输入、工具调用或保存范围时,必须进入用户可理解的范围声明。

这些相邻对象可以为成本治理提供手段。它们只有在被纳入读者与决策表面、资源账本、公共投影和符合性断言时,才成为本书成本治理的一部分。

36. 读者与决策表面

本部的读者不是抽象读者。每类读者消费成本治理章节,是为了完成不同的判断、设计、实现、验收、运营或审查动作。成本治理章节必须让这些动作获得共同的对象语言。

36.1. 产品负责人的决策表面

产品负责人使用本部判断一个用户场景需要哪种模态预算。连续实时视觉、事件触发视觉、快照、短视频片段、语音优先和工具增强不是同一成本等级的界面变体;它们是不同的体验承诺。

产品负责人通过模态预算模型判断任务是否具有实时必要性,通过视觉证据与引用资产判断是否需要稳定指称对象,通过用户控制与自动调度边界判断哪些控制面应交给用户。

没有本部时,产品讨论容易在“全部实时更强”和“降低成本更省”之间摆动。有了本部,产品负责人可以说明:某个花草识别场景适合快照指称,因为对象静态、实时必要性低、指称稳定性高;某个维修指导场景适合连续实时或事件触发视觉,因为操作过程动态、视觉新鲜度要求高、打断控制重要。

36.2. 架构师的决策表面

架构师使用本部划分执行位置和资源责任。端侧、边缘和云侧分别承担不同成本:端侧控制采集、预处理和用户动作;边缘承担实时连接、带宽适配和会话路由;云侧承担高质量模型推理、工具调用、长上下文和成本归因。

架构师通过成本与资源账本确定哪些资源需要计量,通过端云协同与执行位置确定哪些处理可以前移、后移或分层,通过成本降级与公共投影确定哪些内部调度会改变用户可依赖行为。

没有本部时,架构优化容易只追求吞吐、延迟或账单。有了本部,架构师需要同时回答:这个优化是否改变当前视觉现场、语音输出、工具依据、打断能力、上下文承接或隐私保存。

36.3. 开发者的决策表面

开发者使用本部审查成本策略的设计点资格。一个策略进入实现前,需要说明它回应的成本事实、服务的体验目标、改变的规约、带来的成本和验证方式。

开发者通过体验预算与硬门槛判断策略是否触碰核心符合,通过成本与资源账本判断策略减少哪类成本,通过成本符合性断言判断策略如何被外部观察。

例如,降低视觉采样频率不是一个独立完成声明。开发者需要说明采样降低影响什么场景,用户提出当前视觉问题时如何保证视觉新鲜度,无法保证时如何投影限制,测试如何证明旧画面不会冒充当前画面。

36.4. 测试工程师的决策表面

测试工程师使用本部把成本治理转化为黑盒断言。成本策略不是只看内部指标;它必须在用户动作和可观察结果中成立。

测试工程师通过成本符合性断言验证快照是否冒充当前视觉、片段是否有明确起止、成本降级是否投影、工具限制是否诚实、会话时长限制是否可见、上下文压缩是否伪装完整记忆。

没有本部时,测试只能检查“功能是否能跑”。有了本部,测试可以检查“成本策略是否仍然符合体验契约”。

36.5. 运营与财务负责人的决策表面

运营与财务负责人使用本部建立单位经济和成本归因。实时全模态体验的价值单位不是单一会话分钟,也不是模型请求次数。一次成功视觉回答、一次稳定引用资产、一次工具增强回答、一次成功打断恢复,都可能成为更适合的成本单位。

运营与财务负责人通过单位经济与成本分摊把成本关联到用户、租户、平台、场景、模态、模型、工具和任务结果。这样可以识别高成本高价值路径、高成本低价值路径和低成本可替代路径。

没有本部时,成本优化容易变成整体压缩。有了本部,运营可以判断哪些场景值得高成本连续实时,哪些场景应转入快照、片段或语音优先。

36.6. 安全隐私负责人的决策表面

安全隐私负责人使用本部审查成本策略对采集、保存、删除和外部传输的影响。降低成本的快照和片段策略,可能减少持续采集,也可能增加保存视觉证据的隐私责任。

安全隐私负责人通过视觉证据与引用资产审查快照和片段保存范围,通过用户控制与自动调度边界审查用户停止、删除和撤回动作,通过隐私投影审查采集提示和结束后数据处理。

成本降低不能绕过隐私边界。一个策略如果减少实时视频传输,却默默保存截图或片段,仍然需要公共说明和删除语义。

36.7. 供应商评审者的决策表面

供应商评审者使用本部要求实现者提交可审查的成本声明。声明应说明适用范围、模态策略、采样边界、工具限制、模型路由、保存策略、单位经济口径和断言证据。

供应商评审者通过符合性声明追踪范围和偏离,通过成本符合性断言检查黑盒证据,通过成本不符合案例识别典型误导。

模型能力列表、演示视频和账单截图都不能单独证明成本治理成立。成本治理证据必须说明:给定什么场景、使用什么模态策略、消耗什么资源、用户看见什么状态、断言如何通过。

37. 成本与资源账本

成本与资源账本定义实现需要观察、归因和比较的成本对象。账本不是供应商价格表,也不是财务总账;它是把实时全模态会话中的资源消耗转化为可讨论、可声明、可审查的字段集合。

没有资源账本,成本控制只能停留在经验判断。实现者可能知道某个策略“更省”,却无法说明它节省了视觉输入、模型处理、工具调用、存储、带宽、隐私暴露、用户注意力还是容量机会。资源账本的职责,是让每个成本策略能够说清自己的正向作用、负向作用和验证表面。

37.1. 金钱成本

金钱成本是供应商、基础设施或业务系统对资源使用产生的费用。它可以来自模型输入、模型输出、音频处理、视觉输入、语音合成、实时连接、带宽、存储、工具调用、日志、监控、边缘转发和第三方服务。

金钱成本应按可归因单位记录。一次会话、一轮回答、一张快照、一个视频片段、一次工具调用、一次语音输出和一次上下文摘要,可能属于不同的成本单位。只记录月度总账单,无法支持体验预算决策。

金钱成本不自动决定体验策略。高成本路径可能服务高价值场景,低成本路径也可能破坏核心体验。符合实现应把金钱成本放入后续的单位经济与成本分摊,而不是只按单次调用价格排序。

现代实时 AI 服务通常按输入模态、输出模态、缓存输入和实时会话等维度计价。此事实支持本书采用模态级资源账本;具体价格、供应商和模型名称不进入核心符合判断。参见 [openai-pricing]、[openai-prompt-caching] 与 [openai-realtime-costs]。

37.2. 延迟成本

延迟成本是用户等待系统承担体验承诺时付出的时间和控制感损失。它来自音频输入、视觉采样、模型处理、工具调用、语音合成、网络传输、排队、重试和恢复。

延迟成本应按用户可感知时刻记录。首次回应延迟、打断延迟、视觉更新延迟和错误投影延迟,比内部请求耗时更接近本书对象。

延迟成本不是单一数字。一个工具增强回答可以等待更久,只要等待被投影并且任务需要外部信息;一个打断动作不能等待旧回答讲完,因为打断延迟直接影响用户重新取得交互控制权。

37.3. 质量损失成本

质量损失成本是成本策略降低回答可靠性、语音可懂度、视觉理解质量、上下文连续性或工具依据完整性时产生的体验损失。

降低分辨率、降低采样频率、切换低成本模型、压缩上下文、减少工具调用、降低语音质量或缩短输出,都可能降低质量。质量损失不一定导致不符合;它必须与任务需要、用户预期和公共投影一致。

质量损失成本应与失败诚实性共同判断。系统看不清时请求用户调整画面,可以是合格的质量边界;系统看不清却作确定回答,是不符合。系统未调用工具而说明未使用外部信息,可以是合格的成本控制;系统未调用工具却给出工具事实,是不符合。

37.4. 隐私暴露成本

隐私暴露成本是会话采集、传输、保存、引用和外部调用对用户敏感信息产生的暴露面。麦克风、摄像头、屏幕共享、快照、视频片段、转录、字幕、工具结果、日志和摘要都可能包含敏感信息。

隐私暴露成本不等同于金钱成本。一个快照策略可能降低持续视频传输费用,却增加视觉证据保存和删除责任。一个端侧预处理策略可能降低云端视觉暴露,却增加端侧权限和设备处理责任。

隐私暴露成本应进入隐私投影。用户需要知道哪些输入正在采集,哪些内容被保存,哪些内容进入工具或云端,如何停止采集,以及会话结束后哪些内容仍然存在。

37.5. 用户控制成本

用户控制成本是用户为了节省资源、稳定指称或保护隐私而承担的理解、选择、操作和恢复负担。拍照、长按录制、选择模式、确认工具、删除引用资产和恢复权限,都可能增加用户控制成本。

用户控制成本不是负面词。恰当的控制面可以让用户明确开始和停止采集,可以把动态视觉转换成稳定引用对象,也可以减少后台猜测和隐私暴露。不恰当的控制面会让用户被迫理解系统调度细节,破坏通话感。

用户控制面进入公共投影后,就成为公共契约。系统必须让用户知道动作是否开始、是否结束、生成了什么对象、是否仍在采集、是否可以撤回,以及后续回答依据什么。

37.6. 工程复杂度成本

工程复杂度成本是成本策略给实现、测试、观测、维护、迁移和解释带来的结构负担。端云协同、模型路由、引用资产、缓存、摘要、工具网关和多模式界面都可能降低运行成本,同时增加工程复杂度。

工程复杂度成本应被显式纳入设计点准入。一个策略如果需要新的状态机、新的权限流、新的断言、新的隐私保存规则和新的运营指标,它节省的运行费用必须足以支持这些持续成本。

工程复杂度成本不应由用户承担。内部复杂度增加时,用户表面仍应保持状态清楚、动作可理解、错误可恢复。

37.7. 容量机会成本

容量机会成本是一个会话占用实时连接、模型并发、GPU 队列、工具配额、带宽、边缘节点或存储资源后,对其他用户和其他任务产生的机会损失。

连续实时视觉通常具有更高容量机会成本。它可能占用更长会话时间、更高带宽、更高模型并发和更多视觉处理预算。快照、短片段、事件触发视觉和语音优先模式,可以在适合场景中降低容量机会成本。

容量机会成本应与业务价值关联。高价值实时指导场景可以占用更多容量;低实时必要性场景应优先使用较低容量占用的模式。

37.8. 能源与碳成本

能源与碳成本是设备、网络和云端计算在会话中产生的电量消耗和环境影响。移动端电量、设备发热、网络传输、模型推理和存储都会影响这一维度。

本书不要求实现计算统一碳排放数值。实现可以在符合性声明或运营材料中声明能源和碳的估算口径。该维度的作用,是提醒实现者不要把成本治理只理解为账单优化。

能源与碳成本不应压倒核心体验边界。实现可以通过端侧预处理、事件触发视觉、快照引用、缓存和会话时长控制降低能源消耗;它不得因此隐藏采集、伪装视觉能力或破坏打断语义。

能源与碳成本的参考坐标可来自软件碳强度等既有度量框架。此类框架提供估算语言,不替代本书的体验符合性断言。参见 [green-software-sci]。

37.9. 账本字段总括

成本与资源账本至少应回答八个问题。

第一,钱花在哪里。第二,用户等在哪里。第三,质量损失在哪里。第四,敏感信息暴露在哪里。第五,用户承担了什么控制动作。第六,工程系统增加了什么复杂度。第七,容量被哪个场景占用。第八,能源和设备负担在哪里出现。

符合实现不必用同一套内部字段实现账本,但其成本声明和证据应能映射到这些问题。不能映射的成本策略,不能支持本书意义上的成本治理。

38. 体验预算与硬门槛

体验预算定义成本策略可以调节的体验范围。硬门槛定义成本策略不得突破的核心边界。两者必须分开。可调预算可以参与权衡;硬门槛不能被金钱节省、延迟降低或容量收益抵消。

成本治理的常见错误,是把所有体验指标都放进同一个综合分。这样的模型会让高额成本节省抵消隐藏采集、状态误导、旧视觉冒充当前视觉、不可打断输出或工具伪结果。实时全模态视频通话体验不能接受这种抵消。

38.1. 核心符合门槛

核心符合门槛是成本策略进入比较前必须通过的判断。一个策略如果破坏核心符合,就不是低分策略,而是不适用策略。

核心符合门槛至少包括七项。

第一,采集状态必须可观察。系统不得为了节省界面或实现成本而隐藏麦克风、摄像头或屏幕共享采集。

第二,当前视觉不得被伪装。视觉输入不可用、采样过旧、快照或片段不代表当前画面时,系统不得继续声称正在使用当前视觉现场。

第三,自然语音回应不得被无说明替代。成本限制导致语音不可用时,系统必须进入输出受限状态,而不是只返回文字并声称核心体验成立。

第四,打断语义不得失效。为了节省模型取消、音频缓冲清理或实时检测成本而让用户无法打断,不符合本书对象。

第五,上下文缺失不得伪装成记忆。压缩、裁剪、摘要或缓存策略导致上下文不可用时,系统必须表达限制。

第六,工具事实不得伪造。工具因成本、配额或授权限制未被调用时,系统不得给出依赖该工具的确定结果。

第七,错误和降级必须投影。成本策略导致能力受限时,系统不能把受限表现为正常。

38.2. 优化评分边界

通过核心符合门槛以后,成本策略可以进入优化比较。优化比较可以考虑金钱成本、延迟成本、质量损失、隐私暴露、用户控制成本、工程复杂度、容量机会成本和能源成本。

优化评分可以表达为:

StrategyAdmissible = CoreConformanceGate * OptimizationScore

CoreConformanceGate 表示核心符合门槛。它只能通过或失败。OptimizationScore 表示通过门槛后的综合优化结果。门槛失败时,策略不可采纳;门槛通过后,策略才可以按照场景权重比较。

本公式是判断结构,不是统一数学标准。不同产品、平台、场景和风险等级可以使用不同权重。权重差异必须进入实现范围、运营策略或符合性声明,不能在评审时临时改变。

38.3. 体验预算维度

体验预算应围绕用户可感知的会话时刻定义,而不是只围绕内部资源定义。

首次可感知反馈预算,约束用户提出问题后系统多久让用户知道输入已被接收或正在处理。它来自首次回应延迟。

打断停止预算,约束用户触发打断后旧回答多久停止或失去会话支配地位。它来自打断延迟。

视觉更新预算,约束用户改变画面并提出视觉问题时,系统多久使用新视觉现场或表达视觉不可用。它来自视觉更新延迟。

错误投影预算,约束系统检测到权限、网络、设备、模型、工具或成本限制后多久向用户表达受限状态。

工具等待预算,约束工具调用对会话节奏的影响。工具增强回答可以等待,但等待必须与任务价值、工具必要性和用户反馈一致。

上下文承接预算,约束系统在会话内承接历史语音、视觉、回答和工具结果的范围。成本策略可以压缩上下文,但不能把不可承接内容伪装成已知事实。

38.4. 场景权重

体验预算的权重来自场景,而不是来自实现偏好。不同场景对成本维度的敏感度不同。

静态识别场景通常具有低实时必要性、高指称稳定性和中等视觉质量要求。快照模式可能比连续实时模式更合适。

实时操作指导场景通常具有高实时必要性、高视觉新鲜度要求和高打断敏感度。连续实时或事件触发视觉可能比快照模式更合适。

高敏屏幕共享场景通常具有高隐私暴露成本。即使持续视觉在技术上可行,也需要更强的采集提示、停止动作和工具授权边界。

工具执行场景通常具有高外部动作风险。降低工具调用频率可以控制成本,但不能让系统伪造工具结果或隐藏动作失败。

场景权重应在产品范围、运营策略或符合性声明中保持稳定。实现不能在成本压力下临时改变权重,并继续声称同一体验范围。

38.5. 预算与边界

预算表示可声明、可测量、可消耗的范围。边界表示不得突破的体验契约。成本治理必须区分两者。

字幕可以短暂滞后,这是预算问题。摄像头关闭后仍显示正在看,这是边界问题。

工具可以等待,这是预算问题。工具失败后声称已取得结果,这是边界问题。

视觉采样可以降低,这是预算问题。旧画面冒充当前画面,这是边界问题。

语音输出可以因设备故障进入受限,这是预算问题。只返回文字而不说明语音受限,这是边界问题。

预算可以用于优化;边界只能用于判定。符合实现不得用预算语言掩盖边界失败。

39. 模态预算模型

模态预算模型定义实现如何按任务需要使用音频、视觉、语音输出、文字辅助、工具和上下文资源。它的中心原则是最小充分模态组合:在满足核心体验承诺和场景目标的前提下,使用足以完成当前任务的模态、频率、时长和处理深度。

最小充分不是最低成本。最低成本路径可能只保留文字问答,从而离开本书对象。最小充分要求先满足体验预算与硬门槛,再在可行策略中选择资源消耗更合适的模态组合。

39.1. 实时必要性

实时必要性表示当前任务对持续当前视觉、即时语音回应、可打断输出和同步操作指导的依赖程度。它不是产品宣传词,而是成本决策中的场景属性。

实时必要性高的场景包括实时维修指导、操作过程纠错、动态手势说明、屏幕操作陪伴、故障灯闪烁观察和需要用户边做边听的任务。此类场景通常需要连续实时模式或事件触发视觉模式。

实时必要性低的场景包括静态物体识别、菜单阅读、药盒说明、植物识别、单张故障界面解释和文档局部问答。此类场景通常可以使用快照指称模式,或在需要动作过程时使用片段指称模式。

实时必要性应由任务事实决定。实现不得为了展示高级能力而在低实时必要性场景中默认消耗持续视觉预算,也不得为了节省成本在高实时必要性场景中悄悄退化为离散图片问答。

39.2. 视觉新鲜度

视觉新鲜度表示回答依据的视觉证据与用户当前视觉现场之间的时间、场景和指称一致性。视觉新鲜度不是单纯的帧率,也不是单纯的时间差。

画面长时间静止时,较旧视觉证据仍可能支持回答。用户移动摄像头、切换对象、翻页、靠近文字、停止屏幕共享或说出“现在这个”时,较新的视觉证据才有资格支撑当前视觉回答。

视觉新鲜度受四个因素影响:场景变化速度、用户指称强度、任务实时必要性和视觉证据质量。用户说“这个”“现在这里”“你看我这一步”时,指称强度高;系统应使用当前视觉现场,或说明视觉证据不足。

降低采样频率可以节省资源,但不得长期使用旧视觉证据回答当前视觉问题。无法保证视觉新鲜度时,系统应请求用户稳定画面、重新捕获快照、录制片段或进入视觉受限状态。

39.3. 指称稳定性

指称稳定性表示用户能否在多轮会话中稳定指向同一视觉对象或证据。实时画面中的“这个”可能随摄像头移动而改变;快照、片段和工具结果可以提供更稳定的指称对象。

指称稳定性高的任务适合使用编号引用。用户拍摄一张植物照片后,可以围绕 图 1 多轮追问;用户录制一个操作片段后,可以围绕 片段 1 讨论错误步骤。系统后续回答应基于被引用资产,而不是被后续画面干扰。

指称稳定性也带来边界。图 1 和 片段 1 不是当前视觉现场。用户问“现在这个”时,系统不能只拿旧引用资产回答;用户问“图 1 里的这个”时,系统不应被当前摄像头画面转移焦点。

39.4. 连续实时模式

连续实时模式表示系统在会话中持续接收或准备使用用户语音和当前视觉现场,并以自然语音回应。它最接近本书定义的核心通话表面。

连续实时模式适用于实时必要性高、视觉现场动态、用户需要同步操作指导或频繁打断的场景。它承担最高的视觉新鲜度承诺,也通常具有较高金钱成本、隐私暴露成本、容量机会成本和能源成本。

连续实时模式必须提供强公共投影。用户需要知道麦克风、摄像头或屏幕共享正在采集,AI 是否正在听、看、处理、回应或受限。连续实时模式不得在后台长期不使用视觉,却继续投影“正在看”。

39.5. 事件触发视觉模式

事件触发视觉模式表示系统持续维持会话,但只在用户动作、语义指称、画面变化或系统判定需要时使用视觉资源。它位于连续实时模式和离散视觉资产之间。

事件可以来自用户说“你看这个”、点击视觉按钮、画面显著变化、屏幕共享窗口切换、用户靠近物体或任务进入视觉依赖阶段。事件触发可以降低无关视觉处理成本,但仍需维护当前视觉承诺。

事件触发视觉模式的风险,是系统错过用户认为重要的画面变化。符合实现应在视觉证据不足时表达限制,而不是把未触发采样的旧画面当作当前事实。

39.6. 快照指称模式

快照指称模式表示用户或系统在会话中捕获单张视觉证据,并把它作为可编号、可引用的会话内对象。它适用于静态视觉对象和低实时必要性任务。

快照指称模式可以降低持续视觉传输、持续视觉处理和视觉新鲜度维护成本。它还提高指称稳定性:用户可以说“图 1 这个标志是什么意思”“图 2 和图 1 有什么区别”。

快照指称模式必须公开它的边界。系统基于快照回答时,应让用户能够知道回答依据的是该快照,而不是当前摄像头。快照过期、模糊、裁剪不足或对象不在图中时,系统应请求重新拍摄或说明无法判断。

39.7. 片段指称模式

片段指称模式表示用户或系统捕获一段有限时长的视频、屏幕录制或等价动态视觉证据,并把它作为可编号、可引用的会话内对象。它适用于短动作、故障复现、屏幕操作过程、手势说明和闪烁状态观察。

片段指称模式比连续实时模式更容易控制成本和隐私暴露,也比快照模式保留更多时间信息。用户长按录制一段过程并生成 片段 1 后,可以围绕该片段继续追问,系统不需要持续处理后续无关画面。

片段指称模式必须有明确起止。用户需要知道何时开始录制、何时结束、片段是否已经进入会话、后续回答是否基于该片段。片段结束后,系统不得把片段之后的现实变化当作已知事实。

39.8. 语音优先模式

语音优先模式表示会话主要使用语音输入和自然语音输出,当前视觉现场不参与或只在用户明确触发时参与。它适用于一般问答、概念解释、计划讨论和无需视觉的任务。

语音优先模式可以降低视觉输入成本和隐私暴露成本。它仍然属于实时会话的一种受限或条件路径,前提是用户知道当前视觉是否可用。

用户在语音优先模式下提出“你看这个”时,系统必须说明当前没有视觉输入,或提示用户开启视觉、拍摄快照或录制片段。语音优先模式不得冒充全模态视觉通话。

39.9. 工具增强模式

工具增强模式表示 AI 回答依赖搜索、位置、业务 API、知识库、设备控制或其他外部能力。工具不是核心体验的必要条件,但工具参与会改变成本、延迟、权限、事实来源和失败语义。

工具增强模式适用于当前视觉、语音和会话上下文不足以完成任务的场景。例如用户要求查询订单、搜索最新资料、读取业务系统、控制设备或提交外部动作。

工具增强模式必须遵守工具调用投影。系统应让用户知道回答是否依赖外部工具,工具失败是否影响事实,工具动作是否改变外部世界,以及工具因成本或授权限制未被使用时回答依据是什么。

39.10. 模式选择规则

模式选择应根据场景事实进行,而不是根据实现偏好进行。符合实现可以自动选择模式,也可以给用户控制面;无论哪种方式,用户都需要理解当前 AI 能使用什么输入、不能使用什么输入、回答依据什么证据。

模式选择至少应考虑实时必要性、视觉新鲜度要求、指称稳定性需求、隐私敏感度、工具依赖度、用户控制成本、网络条件和单位经济。

模式可以组合。一个会话可以在语音优先模式中捕获快照,也可以在连续实时模式中生成片段引用资产。组合模式需要保持状态清楚,不能让用户无法判断当前回答依据实时画面、快照、片段、工具结果还是普通会话上下文。

40. 视觉证据与引用资产

视觉证据是进入会话并可支持回答的视觉材料。引用资产是被明确捕获、编号、保存于当前会话范围内,并可被用户后续指称的视觉证据。快照、短视频片段、屏幕片段和特定工具返回的视觉材料,都可以成为引用资产。

引用资产的价值不只是降低成本。它把动态、易漂移的视觉现场转化为稳定、可回指、可审查的会话对象。用户围绕 图 1 或 片段 1 继续追问时,系统不必持续依赖当前摄像头画面,也不必猜测“刚才那个”到底指向哪一帧。

40.1. 当前视觉证据

当前视觉证据来自摄像头、屏幕共享或等价视觉输入的当前现场。它服务当前视觉指代,支持用户说“这个”“现在这里”“你看我手里这个”时的回答。

当前视觉证据需要满足视觉新鲜度。用户移动摄像头、切换窗口、翻页或改变操作步骤后,旧证据可能不再支持当前问题。系统无法确认当前证据时,应表达限制。

当前视觉证据不自动成为引用资产。系统可以使用当前画面回答一轮问题,但除非实现明确捕获、编号或保存,否则用户后续说“图 1”或“那个片段”时,系统不能假装存在稳定资产。

40.2. 快照引用资产

快照引用资产是会话内被捕获为单张图像的视觉证据。它应具有用户可理解的引用标识,例如 图 1、缩略图、时间戳或等价标记。

快照引用资产适合静态对象、静态文本、菜单、药盒、植物、设备面板、错误弹窗和文档局部。它让用户可以围绕同一视觉证据多轮追问,而不会被后续摄像头移动干扰。

快照引用资产需要记录边界。系统应能区分快照内可见内容、快照外不可见内容、快照捕获后的现实变化。用户问“图 1 左上角是什么”时,系统应基于快照;用户问“现在这个是什么”时,系统应基于当前视觉或说明当前视觉不可用。

40.3. 片段引用资产

片段引用资产是会话内被捕获为有限时长视频、屏幕录制或等价动态材料的视觉证据。它应具有用户可理解的起止状态和引用标识,例如 片段 1。

片段引用资产适合过程性任务。用户可以录下设备故障灯闪烁、手工操作步骤、屏幕错误复现、菜单滚动、手势动作或短时间环境变化,然后围绕片段进行问答。

片段引用资产必须保留起止语义。系统只能基于片段时间范围内的内容作判断。片段结束后发生的现实变化,不属于该资产。系统需要新证据时,应请求用户继续录制、切换到实时视觉或捕获新片段。

40.4. 屏幕引用资产

屏幕引用资产来自屏幕共享、窗口截图、屏幕片段或等价桌面视觉输入。它通常包含更高隐私风险,因为屏幕可能暴露账号、消息、文件、代码、业务数据或通知。

屏幕引用资产应明确来源和范围。用户需要知道系统捕获的是整个屏幕、某个窗口、某个标签页、某张截图还是某段屏幕录制。来源不清会导致用户误判隐私暴露和回答依据。

屏幕引用资产的保存和删除语义应比普通视觉资产更清楚。实现声明保存屏幕材料时,应说明保存范围、访问范围和删除路径。

40.5. 引用资产生命周期

引用资产生命周期包括捕获、编号、进入会话、被引用、失效、删除和会话结束后的处理。生命周期状态必须可观察到足以支撑用户动作。

捕获时,用户需要知道系统正在拍照、录制片段或捕获屏幕。编号时,用户需要知道该资产如何被后续引用。引用时,用户需要知道回答依据的是哪个资产。失效时,用户需要知道资产已过期、不可用、被删除或不再适合当前问题。

引用资产不自动跨会话存在。核心符合只要求同一会话内上下文连续。实现如果保存引用资产用于长期记忆、历史记录、训练、摘要或跨会话检索,必须进入会话结束后的隐私和长期记忆边界。

40.6. 引用资产隐私

引用资产可能比实时流更容易被忽视,因为它们从“正在采集”转为“已经捕获”。已经捕获不等于隐私风险消失。图像、片段和屏幕材料仍可能包含个人、医疗、财务、身份、业务、位置或账号信息。

符合实现应让用户知道引用资产是否仅用于当前会话、是否保存到记录、是否上传云端、是否进入工具、是否可删除。用户删除资产后,系统不得继续把该资产作为当前可用证据,除非存在另一个被用户理解的保存范围。

引用资产隐私也约束成本优化。实现不能为了降低重复视觉处理成本而秘密保存图像或片段。缓存和保存一旦影响用户数据边界,就必须成为公共契约的一部分。

40.7. 引用资产符合性

引用资产符合性要求系统保持三种区分。

第一,当前视觉现场与引用资产不同。当前视觉回答必须依据当前视觉或说明不可用;引用资产回答必须依据被引用对象。

第二,引用资产与历史视觉上下文不同。历史视觉可能只是系统曾经看过;引用资产是被明确捕获并可被用户后续指称的证据。

第三,引用资产与长期记忆不同。引用资产可以在当前会话内支持多轮讨论;跨会话使用需要独立声明。

这些区分使成本控制不破坏语义清晰。快照和片段可以降低持续视觉成本,但它们不能把已捕获证据伪装成当前现实,也不能把当前现实伪装成已编号资产。

41. 用户控制与自动调度边界

用户控制与自动调度边界定义哪些成本策略应由用户显式控制,哪些策略可以由系统自动执行。成本治理不能把所有决策交给后台,也不能把所有调度负担转嫁给用户。

用户控制面适合承载会改变采集、保存、引用、授权或外部动作的决策。系统自动调度适合承载用户不需要理解、且不会改变公共体验承诺的低层优化。两者的边界取决于用户是否需要知道、选择、撤回或承担后果。

41.1. 用户控制的采集动作

麦克风、摄像头、屏幕共享、快照和片段录制都属于高敏采集动作。用户必须能够理解采集何时开始、何时结束、采集对象是什么,以及采集结果是否进入会话。

适合用户控制的动作包括开启和关闭摄像头、开始和停止屏幕共享、拍摄快照、长按录制片段、删除引用资产、确认保存记录、授权工具访问和确认高风险外部动作。

用户控制动作需要明确结果。用户拍照后,应能看到快照是否生成引用资产;用户松开录制后,应能知道片段已经结束;用户删除资产后,应能知道系统后续不能继续使用该资产作为证据。

41.2. 用户控制成本

用户控制成本是用户为获得更精确资源边界而付出的认知和操作负担。控制面不是越多越好。每增加一个模式、按钮、编号、确认或恢复路径,用户都需要学习和判断。

合理的用户控制面应与用户自然意图一致。用户想让 AI 看一个静态对象时,拍照按钮或语音触发快照是合理控制;用户想让 AI 看一段过程时,长按录制片段是合理控制;用户只是在普通语音问答时,要求用户理解采样策略或模型层级是不合理控制。

用户控制成本必须进入成本与资源账本。一个策略如果降低了云端成本,却让用户频繁切换复杂模式,可能只是把系统成本转移为用户成本。

41.3. 可自动调度的优化

可自动调度的优化,是不会改变用户可依赖体验承诺,或改变时能够由已有状态投影覆盖的低层资源策略。

适合自动调度的对象包括语音活动检测、回声消除、降噪、编码码率调整、缓存命中、低风险模型路由、端侧模糊检测、亮度检测、网络重试、非用户可见的批量日志压缩和内部指标采样。

自动调度不得隐藏承诺变化。系统可以自动降低无关视觉帧处理频率;但如果用户提出当前视觉问题时视觉证据不足,系统必须表达限制。系统可以自动命中缓存;但如果缓存内容过期或不适用于当前现场,系统不得给出确定回答。

41.4. 自动调度的公共边界

自动调度一旦影响用户能依赖的输入、输出、工具、上下文或状态,就进入公共边界。进入公共边界的调度必须被投影、声明或断言覆盖。

模型路由影响语音质量、视觉理解能力、打断能力或工具能力时,不再只是内部优化。视觉采样影响当前视觉新鲜度时,不再只是媒体策略。上下文压缩影响用户追问时,不再只是 token 优化。

自动调度的公共边界应与符合性声明一致。实现可以声明不同平台、网络或账号下的成本策略范围;声明范围不能取消核心必须项。

41.5. 控制与自动调度的恢复路径

用户控制和自动调度都需要恢复路径。用户误删引用资产、停止采集、拒绝权限或退出模式时,系统应说明当前还能做什么。系统自动降级、重试失败、工具限流或模型路由不可用时,也应给出受限状态或替代路径。

恢复路径应避免重新制造隐性成本。要求用户反复重拍、反复授权、反复切换模式,可能说明控制面设计不合格。系统应在可行时保留清楚的引用资产、状态和错误语义,减少用户重复操作。

恢复不等于恢复所有能力。麦克风恢复只恢复语音输入;摄像头恢复只恢复当前视觉;工具授权恢复只恢复对应工具。状态投影应说明恢复的是哪项能力。

41.6. 边界原则

用户控制与自动调度的边界原则是:用户需要承担后果、表达意图、授权采集、固定指称或确认外部动作时,应提供控制面;系统能够在不改变公共承诺的情况下提高效率时,可以自动调度;自动调度改变公共承诺时,必须投影。

这个原则使成本治理不落入两个错误。第一个错误,是后台秘密优化导致用户不知道系统实际能力。第二个错误,是把所有成本调度都交给用户,使用户被迫理解内部资源模型。

42. 端云协同与执行位置

端云协同是成本治理的执行位置策略。它说明哪些动作适合在用户设备、边缘网络、云端模型服务或业务系统中完成。端云协同不是成本治理对象本身;它服务成本治理对象。

执行位置影响金钱成本、延迟成本、隐私暴露成本、设备成本、容量机会成本和工程复杂度成本。同一个功能放在不同位置,可能产生不同的成本结构和不同的公共投影要求。

42.1. 端侧责任

端侧责任发生在用户设备或宿主应用中。端侧最接近用户采集动作,也最适合承担权限、采集状态、低成本预处理和用户控制面。

端侧适合承担麦克风和摄像头授权、采集开始和停止、静音、摄像头切换、屏幕窗口选择、快照捕获、片段录制、引用资产本地预览、删除动作、语音活动检测、回声消除、降噪、图像压缩、裁剪、亮度检测、模糊检测和基础隐私遮挡。

端侧处理可以降低云端传输、模型输入和隐私暴露成本。它也会增加设备电量、发热、兼容性和本地实现复杂度。端侧策略不能让用户误以为未上传内容已经被 AI 理解,也不能在权限撤回后继续采集。

42.2. 边缘责任

边缘责任发生在靠近用户或媒体路径的网络节点中。边缘适合承担实时连接、媒体转发、带宽适配、区域路由、会话令牌、配额网关和粗粒度负载治理。

实时媒体通常需要根据网络状况调整码率、分辨率、发送层和重传策略。边缘层可以降低端到端延迟和跨区传输成本,也可以在弱网时帮助系统进入可理解的受限状态。

边缘层不应替代体验语义。媒体层降低码率以后,如果视觉识别不可靠,应用层仍需要表达视觉限制。网络层重连成功以后,应用层仍需要让用户知道哪些会话能力已经恢复。

实时媒体的编码层、可扩展视频编码和拥塞控制已有成熟参考坐标。它们说明实时传输天然需要自适应资源策略;本书借用该结构事实,不把具体 WebRTC 机制规定为核心实现。参见 [w3c-webrtc]、[w3c-webrtc-svc] 与 [rfc8836]。

42.3. 云侧责任

云侧责任发生在模型服务、工具服务、业务后端、存储和观测系统中。云侧适合承担高质量全模态推理、自然语音生成、长上下文管理、模型路由、工具调用、引用资产持久化、成本归因、监控、审计和符合性证据。

云侧通常具有更强计算能力和更完整业务上下文,也通常带来更高金钱成本、隐私暴露成本和容量机会成本。实现应避免把所有原始音视频默认传给云端,除非场景实时必要性、视觉新鲜度和体验承诺确实需要。

云侧策略必须保持依据清楚。回答基于当前视觉、快照、片段、工具结果、历史上下文还是模型常识,应在必要时由公共投影或回答内容体现。

42.4. 业务系统责任

业务系统责任发生在订单、工单、CRM、知识库、支付、设备控制、日历、文件、位置和其他外部系统中。它们通常通过工具调用进入会话。

业务系统调用可能消耗费用、配额、人工处理机会或用户权益。它也可能改变外部世界。成本治理必须把业务系统调用纳入工具调用投影,而不是把它视为普通模型成本。

业务系统责任包括授权、查询、动作确认、结果投影、失败说明和审计记录。高成本或高风险业务动作应在执行前让用户理解将发生什么。

42.5. 执行位置选择规则

执行位置选择应根据数据敏感度、实时必要性、计算需求、网络条件、设备能力、工具依赖、成本目标和公共投影要求决定。

低敏、低算力、强实时的预处理,优先端侧。高算力、高上下文、需要模型或工具的任务,通常需要云侧。跨网络实时媒体和负载治理,适合边缘层。业务状态改变,必须进入业务系统责任边界。

执行位置不能改变对象身份。无论视觉采样在端侧、边缘还是云侧完成,用户仍需要知道 AI 是否能够使用当前视觉现场。无论工具调用由云端还是业务网关发起,用户仍需要知道工具是否参与回答。

42.6. 执行位置证据

符合实现可以把执行位置作为成本声明的一部分。声明应说明哪些输入在端侧处理,哪些材料上传云端,哪些资产保存,哪些工具被调用,哪些成本指标被归因。

执行位置证据不要求公开内部架构细节。它要求实现者能够证明用户可依赖行为与执行位置策略一致。例如端侧模糊检测提示用户重拍,云侧未收到清晰图像时不应给出确定视觉判断;边缘弱网降级后,应用层应投影网络受限;云侧工具限流后,回答不应伪造外部数据。

43. 单位经济与成本分摊

单位经济把资源消耗关联到产品、场景、任务和业务结果。成本分摊把资源消耗归属到用户、租户、平台、模态、工具、模型和功能边界。两者共同回答:成本花在什么地方,产生了什么体验价值。

实时全模态视频通话体验不适合只用“每分钟成本”或“每次请求成本”衡量。用户获得价值的单位可能是一次成功视觉回答、一次完成的操作指导、一次工具增强结果、一个可复用引用资产、一次成功打断恢复,或一个完成的业务任务。

本章的单位经济语言参考 FinOps 对成本可见、分摊、业务价值和单位经济的处理方式。FinOps 坐标用于说明成本治理如何服务工程、财务和业务共同决策,不构成本书的符合性权威。参见 [finops-framework]、[finops-unit-economics]、[finops-ai]、[aws-cost-optimization] 与 [google-cloud-cost-optimization]。

43.1. 成本分摊对象

成本分摊对象是成本归属的目标。符合实现可以按用户、租户、平台、设备、地区、会话、任务、模态、模型、工具、引用资产或业务流程分摊成本。

不同分摊对象服务不同判断。按会话分摊可以观察总体运营压力;按任务分摊可以判断业务价值;按模态分摊可以判断视觉或语音是否过度消耗;按工具分摊可以判断外部能力是否值得;按引用资产分摊可以判断快照和片段是否降低了持续实时成本。

成本分摊不应改变用户承诺。实现可以在后台把成本归属给某个租户或功能,但用户表面仍应保持状态、权限、错误和降级语义一致。

43.2. 资源单位指标

资源单位指标描述底层资源效率。它们适合工程和运营使用,但不能单独证明用户价值。

资源单位指标可以包括每分钟实时连接成本、每分钟音频输入成本、每张快照处理成本、每秒片段处理成本、每次语音输出成本、每次工具调用成本、每轮模型推理成本、每 MB 传输成本、每 MB 存储成本和每次上下文摘要成本。

资源单位指标能够定位浪费。例如某平台每张快照处理成本异常高,可能说明图像压缩、模型路由或缓存策略存在问题。资源单位指标不能单独决定产品策略,因为低成本资源路径可能没有完成用户任务。

43.3. 业务单位指标

业务单位指标描述资源消耗与用户任务结果之间的关系。它们更适合产品、运营、财务和供应商评审。

业务单位指标可以包括每个成功会话成本、每个成功视觉回答成本、每个完成任务成本、每个工具增强有效回答成本、每个被用户继续追问的引用资产成本、每个成功打断恢复成本、每个受限后恢复成功成本和每个业务动作成功成本。

业务单位指标帮助识别策略价值。连续实时模式成本高,但如果它显著提高操作指导成功率,可能合理。快照模式成本低,但如果用户需要频繁重拍且任务失败率高,可能只是表面省钱。

43.4. 单位经济公式

单位经济可以使用简单公式表达成本与结果的关系。公式服务比较,不服务装饰。

CostPerSession = TotalSessionCost / SessionCount
CostPerSuccessfulTask = TotalCost / SuccessfulTaskCount
CostPerVisualAnswer = VisualRelatedCost / ValidVisualAnswerCount
CostPerReferenceAsset = ReferenceAssetCost / ReferencedAssetUseCount
CostPerToolGroundedAnswer = ToolCost / ValidToolGroundedAnswerCount
CostPerInterruptionRecovery = InterruptionHandlingCost / SuccessfulInterruptionCount

公式中的分母必须有可观察定义。ValidVisualAnswerCount 不能只表示模型生成过视觉回答;它应表示回答在声明范围内基于正确视觉证据、没有状态误导,并通过相应断言。SuccessfulTaskCount 也应基于产品定义的任务完成条件。

单位经济公式不替代符合性断言。一个路径即使单位成本低,只要它失败于核心断言,就不能作为核心符合策略。

43.5. 成本分摊与符合性声明

成本分摊结果可能影响符合性声明。实现改变采样策略、模型服务、工具限制、会话时长、保存策略或平台范围时,可能改变适用断言和证据。

符合性声明不需要公开全部商业成本,但应说明影响体验范围的成本边界。例如某账号层级限制连续实时视觉时长,某地区不支持低延迟模型服务,某平台不支持屏幕共享,某工具因配额限制仅在确认后调用,这些都属于范围或条件信息。

成本分摊也应支持异常发现。某类任务成本异常升高,可能说明用户被迫使用错误模式;某类工具成本高但有效回答低,可能说明工具触发条件不合格;某类快照资产很少被引用,可能说明控制面没有服务真实动作。

43.6. 单位经济原则

单位经济原则是:成本必须与体验结果和业务结果关联,不能只与资源消耗关联。符合实现应同时观察资源单位指标和业务单位指标,并把成本优化指向高成本低价值路径,而不是平均压低所有能力。

这个原则保护高价值体验。实时全模态会话中的某些路径天然昂贵,例如高风险维修、远程教学、业务工具动作和高敏屏幕协助。成本治理要判断这些路径是否值得,而不是因为它们昂贵就自动降级。

44. 成本降级与公共投影

成本降级,是实现为了控制资源、配额、费用、延迟、容量、设备负担或隐私暴露而降低、限制、替换或暂停某项能力的行为。成本降级可以合理存在;秘密降级不符合本书对象。

成本降级是否需要公共投影,取决于它是否改变用户可依赖行为。内部缓存命中、编码优化、低层日志压缩通常不需要打扰用户。视觉能力、语音能力、工具能力、上下文能力、采集状态、保存范围或会话时长发生变化时,用户需要知道。

44.1. 视觉成本降级

视觉成本降级包括降低采样频率、降低分辨率、关闭连续视觉、切换为事件触发视觉、要求快照、要求片段、限制屏幕共享或停止视觉处理。

视觉成本降级必须保护视觉新鲜度。用户提出当前视觉问题时,系统应使用足够新的视觉证据,或说明当前视觉不可用、不清楚、过期或需要重新捕获。

视觉成本降级不得制造状态冲突。摄像头仍在采集但 AI 不再使用视觉时,状态应区分“摄像头开启”和“AI 正在使用当前画面”。视觉处理暂停时,系统不得继续投影正在看。

44.2. 语音输出成本降级

语音输出成本降级包括降低语音质量、缩短回答、分段输出、延迟合成、转为文字或字幕替代。自然语音回应是构成性条件,不能被无说明替代。

系统因成本、设备、网络或服务限制无法提供自然语音回应时,应进入语音输出受限状态。文字可以作为临时替代或用户选择路径,但不能在无说明情况下冒充核心语音体验。

语音输出降级仍需支持打断语义。系统缩短回答或分段输出可以降低成本;它不能因此忽略用户插话、纠正或停止请求。

44.3. 工具成本降级

工具成本降级包括限制工具频率、关闭高成本工具、推迟工具调用、要求确认、使用缓存结果、仅回答不依赖工具的部分,或因配额不足进入受限状态。

工具成本降级必须遵守工具成本。如果回答依赖工具结果,工具未调用、失败、超时或被限流时,系统应说明外部信息不可用,避免把缺失结果当作事实。

工具动作比工具查询承担更高投影责任。提交工单、发送消息、下单、控制设备或修改业务状态时,成本限制不能隐藏动作是否执行、是否失败或是否等待人工处理。

44.4. 上下文成本降级

上下文成本降级包括裁剪历史、摘要压缩、丢弃旧视觉、压缩工具结果、限制长期记忆、减少会话记录或只保留引用资产 ID。

上下文成本降级必须保持上下文诚实。系统无法承接历史内容时,应说明无法确定、没有保留、已删除或需要用户重新提供。

摘要不是原文,引用 ID 不是完整上下文。系统基于摘要回答时,应避免过度确定;系统只保留 图 1 标识而没有图像内容时,不得继续基于该图作视觉判断。

44.5. 时长与配额降级

时长与配额降级包括限制会话时长、限制连续实时视觉分钟数、限制工具调用次数、限制快照或片段数量、限制保存空间或限制高成本模型使用。

时长与配额限制应在接近影响用户动作前投影。会话突然结束、视觉突然不可用、工具突然失效或保存突然失败,会破坏用户对会话边界的理解。

限制可以进入条件符合声明。有限范围不是问题;未声明限制才是问题。实现应说明限制影响哪些平台、账号、地区、网络、场景或扩展能力。

44.6. 公共投影阈值

成本降级的公共投影阈值,是判断内部优化是否进入用户表面的规则。

降级只改变内部资源消耗,不改变用户可依赖行为时,可以不投影。例如缓存命中、无损压缩、后台批量计费归因和不影响输出的调度优化。

降级改变用户可依赖行为时,必须投影。例如视觉不再实时、语音输出不可用、工具未调用、上下文被裁剪、引用资产被删除、会话时长即将耗尽或屏幕共享处理被暂停。

降级改变符合性范围时,必须进入声明。例如某平台只支持快照视觉,某地区不支持低延迟模型,某账号层级不支持工具增强,某模式不保存引用资产。

体验预算可以参考服务可靠性领域对 SLO 和错误预算的区分:可消耗预算服务决策,不可突破边界服务判定。本书借用该区分说明成本降级的预算与边界,不把服务可靠性指标直接等同于体验符合性。参见 [google-sre-slo] 与 [google-sre-implementing-slos]。

44.7. 降级恢复

成本降级可以恢复。网络恢复、配额恢复、用户授权、用户确认高成本工具、切换网络、重新捕获视觉证据或升级账号范围,都可能使系统恢复能力。

恢复必须与实际能力一致。视觉处理恢复后,系统可以重新声明视觉可用;工具配额恢复后,系统可以重新调用工具;上下文被裁剪后,恢复模型容量不自动恢复已丢失内容。

恢复路径应避免误导。系统不能因为降级解除,就把降级期间未采集、未处理、未调用或未保存的信息当作已知事实。

45. 成本符合性断言

成本符合性断言验证成本策略是否仍然保持用户可依赖的体验承诺。断言检查用户动作和可观察结果,不检查内部账单、模型供应商或媒体实现细节。

成本断言适用于实现声明的成本策略、模态策略、工具策略、时长策略、引用资产策略和降级策略。实现未声明的扩展能力不适用;实现声明的核心能力不能用成本理由取消核心断言。

45.1. 成本降级影响能力时可见

前置状态

用户处于活跃会话;系统因成本、配额、容量、网络或资源压力降低某项会话能力。

用户动作

用户继续使用受影响能力,例如提出视觉问题、等待语音回应、请求工具结果或追问历史上下文。

期望结果

系统投影受限状态、替代模式或能力边界,并避免给出依赖已降级能力的确定回答。

不符合表现

系统秘密降级;仍显示能力正常;视觉降级后继续声称正在看;工具关闭后给出工具事实;语音不可用时只返回文字且无说明。

覆盖对象

成本降级与公共投影;体验预算与硬门槛。

45.2. 快照引用不得冒充当前视觉

前置状态

用户在会话中捕获 图 1;当前摄像头画面已经移动到其他对象、关闭或不可用。

用户动作

用户询问“图 1 里这个是什么”或询问“现在这个是什么”。

期望结果

系统区分 图 1 与当前视觉现场。询问 图 1 时,回答基于快照或说明快照不足;询问当前画面时,使用当前视觉或说明当前视觉不可用。

不符合表现

系统把 图 1 当成当前画面;系统用当前画面回答 图 1 问题;摄像头关闭后仍声称正在看现在;快照模糊时作确定回答。

覆盖对象

快照引用资产;引用资产符合性。

45.3. 片段引用具有明确起止

前置状态

用户通过长按、按钮或等价动作录制一段视频、屏幕或动态视觉片段。

用户动作

用户结束录制,并围绕该片段提问。

期望结果

系统让用户知道片段已经结束,生成可引用标识,并基于片段时间范围回答或说明片段不足以判断。

不符合表现

用户无法判断是否仍在录制;片段结束后系统继续采集但无提示;系统把片段之后发生的变化当作片段内容;系统无法让用户引用该片段。

覆盖对象

片段引用资产;引用资产生命周期。

45.4. 模式切换后能力边界可见

前置状态

系统从连续实时模式切换到事件触发视觉、快照指称、片段指称、语音优先、工具增强或受限模式。

用户动作

用户继续提问、展示画面、引用资产或请求工具结果。

期望结果

用户能够判断当前 AI 能使用哪些输入、不能使用哪些输入,以及回答依据实时画面、引用资产、工具结果还是普通会话上下文。

不符合表现

模式变化只发生在内部;用户仍按实时视觉预期交互;系统用错误模式回答;快照模式下仍显示实时视觉参与;语音优先模式下视觉问题得到确定视觉回答。

覆盖对象

模态预算模型;公共投影阈值。

45.5. 成本受限工具不得产生工具事实

前置状态

用户请求需要外部搜索、位置、业务 API、知识库或设备工具;工具因成本、配额、授权或策略限制不可用。

用户动作

用户等待 AI 回答。

期望结果

系统说明未使用工具、工具不可用或只能回答不依赖工具的部分,并避免把缺失工具结果当作事实。

不符合表现

系统伪造搜索结果;系统声称已查询业务系统但实际未查询;工具动作未执行却声称成功;系统把成本限制隐藏在确定回答中。

覆盖对象

工具成本降级;工具成本。

45.6. 会话时长限制被投影

前置状态

实现对连续实时视觉、会话总时长、工具次数、快照数量、片段数量或保存空间存在限制。

用户动作

用户接近限制或触发超限动作。

期望结果

系统在限制影响用户动作前投影限制,并说明继续受限模式、重新开始、删除资产、等待恢复或升级范围等路径。

不符合表现

会话突然结束且无说明;视觉能力突然关闭;片段保存失败无提示;用户无法知道限制来自时长、配额、权限还是错误。

覆盖对象

时长与配额降级;会话时长边界。

45.7. 上下文压缩保持诚实

前置状态

系统因成本、上下文窗口、性能或保存策略对历史语音、视觉、工具结果或回答进行摘要、裁剪或丢弃。

用户动作

用户追问被压缩、裁剪或丢弃的上下文。

期望结果

系统基于仍可承接的上下文回答,或说明无法确定、未保留、已删除或需要用户重新提供。

不符合表现

系统假装记得已丢弃内容;摘要丢失关键条件后仍作确定回答;删除引用资产后继续基于该资产回答;把未保存视觉当成长期记忆。

覆盖对象

上下文成本降级;上下文诚实。

45.8. 用户停止采集后当前输入停止

前置状态

用户正在使用摄像头、麦克风、屏幕共享、快照捕获或片段录制。

用户动作

用户停止对应采集或删除对应引用资产。

期望结果

系统停止使用对应当前输入,更新状态,并在后续回答中不把已停止或已删除对象作为当前可用证据。

不符合表现

停止后仍显示正在采集;停止屏幕共享后继续使用当前屏幕;删除快照后继续基于该图回答;片段停止后继续录制且无提示。

覆盖对象

用户控制的采集动作;停止采集。

45.9. 单位经济证据可追踪

前置状态

实现声明某项成本优化、单位经济改善或成本符合范围。

用户动作

评审者检查声明材料和证据。

期望结果

声明能够追踪到适用范围、成本分摊对象、单位指标、模态策略、断言结果和证据材料。

不符合表现

只提供总账单下降;只提供模型能力列表;无法说明成本降低来自哪类资源;无法说明优化是否影响视觉、语音、工具或上下文承诺。

覆盖对象

单位经济与成本分摊;证据材料。

46. 成本不符合案例

成本不符合案例列出常见误判。它们帮助评审者识别用成本优化、端云协同、模型路由、采样、快照或工具限制掩盖体验不符合的实现。

46.1. 隐藏视觉降级不符合

一个实现如果为了节省视觉处理成本而长期不使用摄像头画面,却仍向用户显示 AI 正在看当前视觉现场,不符合本书对象。

降低采样、事件触发视觉、快照和片段都可以成为合格策略。它们必须让用户理解回答依据的是当前视觉、触发采样、快照、片段还是历史上下文。

46.2. 旧画面冒充当前画面不符合

一个实现如果因为采样频率低、网络延迟、模型处理慢或缓存策略,把旧画面当作当前画面回答用户“现在这个”或“你看这里”的问题,不符合当前视觉承诺。

旧画面可以成为历史视觉上下文或引用资产。它不能在用户要求当前视觉时冒充当前事实。

46.3. 快照冒充实时视觉不符合

一个实现如果使用用户拍摄的快照回答问题,却让用户误以为 AI 仍在持续观看当前摄像头,不符合公共投影要求。

快照模式可以降低成本并提高指称稳定性。它必须保持与当前视觉现场的边界。

46.4. 片段采集无边界不符合

一个实现如果提供长按录制或短视频片段能力,但用户无法判断录制何时开始、何时结束、片段是否已经进入会话或是否仍在采集,不符合片段引用资产要求。

片段指称模式的价值来自有限时间边界。没有起止边界的片段,会同时破坏成本控制、隐私控制和指称稳定性。

46.5. 工具成本限制被隐藏不符合

一个实现如果因为成本、配额或策略没有调用搜索、位置、业务 API 或知识库,却输出依赖这些工具的确定事实,不符合工具投影和成本降级要求。

工具限制可以存在。系统可以说明当前未使用外部信息,也可以回答不依赖工具的部分。它不得把没有取得的外部结果伪装成事实。

46.6. 语音成本降级为无说明文字不符合

一个实现如果为了降低语音生成成本或规避语音服务限制,只显示文字回答而不说明语音输出受限,不符合自然语音回应条件。

文字可以作为字幕、记录或受限替代。无说明文字不能替代核心语音体验。

46.7. 上下文裁剪伪装记忆不符合

一个实现如果因成本裁剪历史、删除视觉资产或压缩工具结果后,仍然假装完整记得这些内容,不符合上下文诚实要求。

上下文压缩可以存在。系统需要在无法承接时说明边界,或请求用户重新提供信息。

46.8. 用户控制面转嫁系统负担不符合

一个实现如果把大量采样、模式、模型、工具和保存选择暴露给用户,让用户被迫理解内部成本模型,可能破坏通话体验。

用户控制面应服务用户意图。它应让用户控制采集、引用、保存、授权和高风险动作,而不是要求用户替系统完成资源调度。

46.9. 只证明账单下降不证明成本治理

一个实现如果只提供账单下降、token 减少、带宽下降或模型调用次数减少,不能证明成本治理符合本书。

成本治理证据必须说明成本降低是否保持核心体验、影响哪些用户动作、通过哪些断言,以及是否改变符合性范围。

Appendix A: 附录 A:符合性检查表

本检查表用于审查实现是否有资格声明核心符合。

检查项 判定问题

对象身份

实现是否提供同一会话中的语音输入、当前视觉现场、自然语音回应和可打断动态语义。

设备权限

麦克风、摄像头和条件视觉输入的授权、拒绝、撤回和恢复是否具有可观察状态。

当前视觉现场

用户能否询问当前画面中的对象、文字、位置或动作;系统无法可靠判断时是否诚实表达。

自然语音回应

AI 是否以用户可听的自然语音承担主要回答;语音不可用时是否进入受限状态。

打断

用户能否在 AI 回答期间通过新输入停止或重定向当前回答。

上下文连续

系统是否承接同一会话中的相关语音、视觉和回应历史,并在缺失时说明边界。

公共投影

用户是否能知道系统正在听、正在看、正在处理、正在回应、已受限、出错或已结束。

错误恢复

权限、网络、设备、模型和工具错误是否被投影,并提供恢复或结束路径。

隐私采集

高敏输入采集是否有持续可观察状态,用户是否能停止采集。

工具与外部动作

搜索、位置、业务 API、设备控制或其他工具能力是否具有授权、结果、失败和成本投影。

成本治理

成本策略是否说明降低了哪类资源消耗,是否触碰核心符合门槛,是否在影响用户可依赖行为时投影模式、降级或限制。

视觉引用资产

快照、片段或屏幕材料是否具有明确编号、起止、引用、失效、删除和隐私边界;系统是否区分引用资产、当前视觉现场和历史视觉上下文。

单位经济

实现是否能把成本归因到会话、任务、模态、工具、引用资产或业务结果,而不是只提供总账单下降或模型调用次数减少。

符合性证据

实现是否提交可映射到本书断言和成本断言的黑盒证据,而不是只提交模型能力、演示视频、账单截图或内部架构图。

Appendix B: 附录 B:断言模板

断言使用标题承载稳定引用地址。模板如下。

[#stable-assertion-id.assertion, normative=must]
=== 读者可见断言标题

前置状态:: 用户和系统在动作发生前可观察到的状态。

用户动作:: 用户执行的动作,或外部可观察事件。

期望结果:: 系统应出现的用户可观察结果。

不符合表现:: 会导致断言失败的典型行为。

覆盖对象:: xref:target-requirement-id[目标要求标题, rel=verifies]。

模板中的 target-requirement-id 表示被断言验证的目标标题。正式断言应替换为本书内真实存在的要求、流程、状态或公共契约标题。

断言标题应表达行为判定,而不是内部实现。normative 字段使用 must、should 或 may。断言正文检查用户表面,不检查内部代码。

Appendix C: 附录 C:参考产品公开事实

参考产品提供经验坐标,不定义本书对象。核心定义来自本书的构成性条件和符合性断言。

OpenAI ChatGPT 高级语音与 GPT-4o 公开展示了语音、视觉和实时回应的消费级方向。OpenAI Realtime API 文档也显示浏览器实时应用可以使用 WebRTC 接入实时模型。它们证明该体验方向已经进入主流产品与开发者 API 语境。参见 [openai-gpt4o]。

Google Gemini Live 与 Project Astra 公开展示了实时、多模态、上下文感知助手方向。Gemini Live API 文档把低延迟语音和视频交互作为开发者能力描述。参见 [google-live-api]。

豆包视频通话在公开报道和用户表面中提供了国内消费级 AI 视频语音对话参考。其内部实现不作为本书事实来源;用户可观察体验只作为对象定义的背景坐标。参见 [bytedance-seed-voice] 与 [stcn-doubao-video-call]。

参考产品名不进入核心断言。一个实现是否符合本书,只看本书定义的对象、公共契约和黑盒断言。

Appendix D: 附录 D:结构化表面约定

本书使用稳定标题、role、rel 和附加字段表达可维护的书稿结构。读者通过标题和交叉引用阅读文本;维护者和工具链通过同一表面识别对象身份、关系和规范强度。

47. 稳定标题

重要章节和断言使用显式 ID。ID 写在标题前一行的 attrlist 中。

[#visual-reference-flow.flow]
== 视觉指代流

[#current-visible-object-answerable.assertion, normative=must]
=== 当前可见对象可被询问

ID 是交叉引用地址。标题文本是读者可见名称。移动文件或调整章节顺序时,稳定 ID 不应随路径变化而改变。

48. role 词表

role 标明标题身份。同一个 role 在全书中保持同一含义。

concept

概念定义。

domain

领域事实。

goal

目标愿望。

requirement

统摄性要求。

boundary

对象边界或能力边界。

contract

公共契约、符合性模型或治理规则。

flow

用户旅程、动态语义或状态转移路径。

state

用户可观察状态。

assertion

符合性断言。

nonconformance

不符合案例。

role 不替代正文。它只标明标题身份;标题下的文字仍需要完成定义、论证或判定职责。

49. rel 关系谓词

rel 写在 xref 的属性中,表示当前标题到目标标题的关系。xref 所在标题是关系起点,xref 指向标题是关系终点。

verifies

当前断言或覆盖条目验证目标要求、流程、状态或公共契约。

depends-on

当前判断依赖目标章节提供的对象、事实或规则。

constrains

当前章节约束目标对象的合法范围或行为边界。

extends

当前章节描述目标对象的扩展能力。

defines

当前章节定义目标对象。

没有 rel 的普通 xref 只表达参见关系。需要被覆盖映射、断言或维护工具识别的关系,应写入 rel。

50. normative 字段

normative 字段写在要求或断言标题 attrlist 中,表示规范强度。

must

核心要求或核心断言。失败时,实现不能核心符合。

should

强要求或强断言。失败时,实现需要偏离声明。

may

可选能力或扩展断言。实现未声明该能力时,不适用。

normative 字段服务符合性判定。解释性章节、参考产品说明和普通例子不使用该字段。

术语表

实时全模态视频通话体验

用户在同一会话中通过语音和当前视觉现场与 AI 进行自然语音交互的体验对象。

符合实现

满足本书核心要求和适用断言的产品或系统。

构成性条件

缺少以后对象不再作为本书对象成立的根条件。

当前视觉现场

用户在当前会话时刻展示给 AI 的摄像头、屏幕共享或等价视觉输入内容。

等价视觉输入

被实现声明为可进入当前视觉现场的非默认视觉来源,例如屏幕共享、外接摄像头、第二摄像头或远程视频源。

公共投影

系统向用户或外部观察者呈现的状态、输出、错误、限制、字幕、提示或记录。

视觉指代

用户用“这个”“那里”“刚才那个”等语言指向视觉现场对象、位置或状态的交互现象。

打断

用户在 AI 回应期间通过新输入改变当前回答会话命运的动态语义。

可观察状态

用户能够通过界面、声音、提示或记录区分的系统状态。

自然语音回应

AI 以用户可听语音承担主要回答的输出形式。

同一会话上下文

当前会话内相关语音、视觉、回应、纠正和工具结果形成的解释范围。

核心符合

实现满足本书构成性条件和核心断言的符合性状态。

条件符合

实现满足核心符合,但适用范围受公开条件限制的符合性状态。

扩展符合

实现满足核心符合,并额外满足某项扩展能力要求和断言的符合性状态。

偏离声明

实现对未满足应当项、条件项或扩展项的公开说明。

受限状态

某项能力不可用或不可靠,但会话仍可继续的状态。

工具调用

AI 使用搜索、位置、业务 API、知识库、设备控制或其他外部能力的行为。

黑盒断言

只检查用户动作和可观察结果,不检查内部实现的符合性条目。

断言标题

承载黑盒断言稳定 ID、role 和规范强度的标题单位。

规范强度

要求或断言对符合性判断的约束强度,由“必须”“不得”“应当”“可以”或 normative 字段表达。

关系谓词

xref 上的 rel 字段,用于表达当前标题到目标标题的结构关系。

不符合表现

实现违反本书对象、要求或断言时可观察到的失败行为。

符合性声明

实现者对适用范围、断言结果、偏离项和证据材料的公开回答。

成本治理

在不破坏核心体验承诺的前提下,对资源消耗、体验预算、降级、投影和证据进行约束的规则体系。

成本与资源账本

把金钱、延迟、质量、隐私、用户控制、工程复杂度、容量和能源等成本对象转化为可观察、可归因、可比较字段的结构。

体验预算

用户可依赖体验指标与资源约束之间的可声明分配关系。

硬门槛

不能被综合评分、成本节省或运营收益抵消的核心符合要求。

模态预算

音频、视觉、文本、语音输出、工具和上下文等模态资源在会话中的使用边界。

实时必要性

当前任务对持续当前视觉、即时回应和打断控制的依赖程度。

视觉新鲜度

回答依据的视觉证据与用户当前视觉现场之间的时间、场景和指称一致性。

指称稳定性

用户在多轮会话中稳定指向同一视觉对象或证据的能力。

视觉引用资产

会话中被明确捕获、编号并可被后续引用的视觉证据,例如快照或短视频片段。

快照指称模式

使用单张被捕获并编号的视觉证据支持后续会话指称的模态预算模式。

片段指称模式

使用有限时长的视频、屏幕录制或等价动态视觉证据支持后续会话指称的模态预算模式。

用户控制成本

用户为理解、选择、操作、确认或恢复成本策略而承担的认知和操作负担。

单位经济

将技术成本与产品、场景、任务或业务结果关联的度量方式。

成本降级

实现为控制资源而降低、限制、替换或暂停某项能力的行为。

参考坐标

索引