直接回答
混合式 AI 功能的同意界面必须说明本次将采用的路由、即将跨出设备的数据、接收方或服务类别,以及用户拒绝后应用会怎样处理。笼统地写“AI 可能使用云服务”不足以支持一次具体的数据传输。事实卡 `ARCH-02` 指出混合架构可以让部分任务留在本地、另一些任务发送到远端,但路由规则和发送数据必须明确;`PRIVACY-01` 进一步提醒,本地推理不能证明应用没有其他请求。这些是设计边界,不是某个产品当前一定存在云端路径的证据。 先按功能画路由图。每项任务应标记本地、远端或尚未确认的路径、触发条件、必需内容和元数据、可移除字段以及用户可见选择。附件字节、提取文本、提示上下文、输出、账号标识和诊断信息应分开分析。如果只需要一段摘录,不要把整个文件笼统称为“文档数据”。所谓离线替代也要准确描述:它可能是另一项任务、能力有限的本地功能,或者暂时没有可用操作。网络请求失败不能被说成模型已就绪。 告知应发生在发送前,并且还能改变决定。说明接收方类别、具体选择的内容、用途、传输是否可选和拒绝后果。一次性选择和长期偏好应区分;记住的选项应限定到明确功能和路由,可被查看或撤销,也不能自动授权后来新增的数据类别。模型可以提出操作或路由建议,但是否传输由应用策略和用户选择控制,不能让模型生成的文字替代用户动作。 拒绝应是正常分支。用户拒绝后,源数据留在本地,远端请求不得启动。如果功能确实离不开远端能力,要在用户决定前说清楚,并保留不夸大能力的非云替代方式。若用户同意后网络状态变化,应按已说明策略取消或暂停;不能悄悄换接收方重试,也不能发送更大的上下文。接收方或数据内容改变时,新的重试应视为新的传输决定。状态不明确时要谨慎处理,并向用户显示任务未开始、已取消,还是在本地完成。 通过请求台账和网络测试验证实现。测试应核对预期端点、方法、载荷字段、账号上下文和排除内容是否缺席。使用带唯一金丝雀片段的合成文档验证最小化;覆盖允许、拒绝、撤回、超时、飞行模式、上传中断和本地回退。Network Inspector 能显示受支持的库流量,但不能覆盖所有客户端;还要检查调用点和依赖。界面告知、网络载荷和隐私说明必须一致。 用户同意不能让不必要的传输变得必要,也不能补救不准确告知,更不能自动证明合规。团队仍需明确用途、数据最小化、安全审查、保留和删除规则,以及适用时的政策/法律审查。记录中应包含功能、路由版本、显示的告知、发送字段、用户选择、请求结果与测试构建,但不应为了“留证”而收集原始内容。这样既能限定测试结论,也便于审核后来发生的路由变化。
本地优先笔记提供可选的远端改写
用户在离线笔记中写下一段文字,应用可将所选片段发送到远端改写,本地模型则负责另一项范围更窄的任务。用户查看选项时网络突然中断。
决策
在上传前展示准确选中片段和远端服务类别;明确本地替代路径,并把选择限定为本次请求。
预期结果
应用要么仅发送获准片段,要么执行明确说明的本地路径,要么不启动;网络变化不会悄悄改变路由。
需要收集的证据
只有将以下证据与同一模型文件和测试运行关联起来,结论才可复核:
- ARCH-02:混合路由规则和发送内容必须明确
- PRIVACY-01:本地推理不代表应用无其他网络请求
隐私声明需要数据清单和流量证据;“本地模型”标签本身不是证明。
实施流程
- 按功能映射路由和数据. 逐项识别用户动作、路由、触发条件、接收方、字段、可选数据和回退。未知实现应标注未知,不能默认写成“本地运行”。
- 告知前先做数据最小化. 只保留完成任务所需文字或媒体。删除无关对话、文件名、隐藏元数据和诊断上下文,除非每项都有可解释目的。
- 展示针对本次请求的选择. 请求开始前说明远端路由、发送数据范围、用途与拒绝后果。将一次性同意与长期偏好分开,长期选项要可查看和撤销。
- 实现拒绝和路由变化分支. 拒绝时不构造也不发送远端请求。断网时依策略取消或暂停;若要更换服务或扩大载荷,必须先重新告知并取得新的选择。
- 测试载荷和状态转移. 使用金丝雀文本验证允许、拒绝、撤销、超时、飞行模式、上传中断和回退。比对界面告知、请求台账、抓包与隐私说明。
让每个阶段的状态都可观察。失败信息应指出阶段、模型、运行时和恢复动作,同时避免记录用户私密内容。
验收标准
- 发送任何请求前,告知都指出当前远端路径和本次实际选择的数据类别。
- 拒绝或撤销后没有远端请求;网络变化不会静默地把任务转交给另一接收方。
- 合成金丝雀验证只有选择的字段被发送,且无需记录源内容即可观察路由、选择和结果。
决策对照表
| 维度 | 选择或证据 | 解读方式 |
|---|---|---|
| 本地任务 | 推理在终端执行 | 该推理步骤无需发送提示词,但应用其他请求仍需单独审计。 |
| 逐次同意的远端任务 | 告知后发送所选数据 | 用户可决定是否传输;仍需最小化载荷并做好安全审查。 |
| 自动云端回退 | 未经新选择切换路由 | 可能违背用户预期;数据或接收方改变时不得静默实现。 |
需要避免的失败模式
- 用宽泛隐私声明代替请求前告知
- 拒绝后仍预构造并发送请求
- 断网后无提示地切换到其他远端服务
还要避免静默回退、版本未固定、缺少取消处理,以及把不同配置的结果混在一起下结论。失败运行也应与成功记录一并保存。
最小复现记录
| 层级 | 记录内容 |
|---|---|
| 设备 | 厂商、型号、芯片、内存档位、操作系统版本 |
| 软件 | 应用版本和 Git 提交号 |
| 模型 | 系列、变体、版本、格式、文件长度、摘要、量化方式 |
| 运行时 | 名称、版本、请求后端及实际后端证据 |
| 工作负载 | 样例版本、输入摘要、提示词摘要、输出策略 |
| 结果 | 完成、失败、取消、回退及保护隐私的诊断信息 |
发布检查表
- ☐ 主要搜索问题已回答,且没有未经支持的数字。
- ☐ 所有模型文件和运行时版本均已固定。
- ☐ 代表性任务和失败处理策略均有说明。
- ☐ 生命周期、取消、清理和回退均已测试。
- ☐ 用户内容与网络边界均有说明。
- ☐ 结论只适用于被记录的配置。
- ☐ 新增测试结果时链接到原始方法或证据。
来源与相关证据
中文部署与排错专题见。奇连 AI 端侧专题。
常见问题
模型能判断不需要用户同意吗?
不能。模型可以生成文字或路线建议,但数据传输由应用策略和用户控制。生成内容不能代替明确的同意操作,状态也须可见。
一次同意能覆盖以后所有云端请求吗?
如果用途、接收方或数据类别变化,就不应这样推断。记住的选择要限定范围,并提供查看或撤销方式及再次作出决定的入口。
远端请求失败后可以改成本地重试吗?
若本地功能可用,可以提出该路径,但须区分本地完成和远端完成;不能未经新决定就换另一远端路由发送内容,并应说明限制。