任务架构

离线翻译对话中的回复建议:区分翻译与新草稿

把原文直译、可选生成回复、作者标记、用户审核和发送操作分成独立环节。

审核状态: 内容已校验;中文稿供用户审核 · 2026-09-27 · Fact IDs: FUNCTION-01, PRIVACY-01, ANDROID-PRIVACY-01

直接回答

回复建议和对话翻译不是同一项操作。翻译应保留对方消息的含义;回复建议则是新写出的文字,供用户选择是否发送。界面应将两者分开标注,并允许用户在发送前检查、编辑、拒绝或忽略建议。Android 提供 ConversationAction 和 TextClassifier 接口来表示或建议文本回复,但 API 文档没有保证设备上的分类器会离线生成回复。部署在本地的语言模型可以生成文字,但这本身不能证明某个翻译应用集成了回复功能、只使用本地对话上下文,或不会发起其他网络请求。验证离线回复流程时,要把收到消息的翻译、建议生成、用户审核和发送分开测试。准备所需资源后冷启动应用、关闭网络,再用合成对话测试。记录建议是否出现、是否与译文明显区分,以及应用是否等待用户明确操作。如果功能或网络行为没有文档说明,应标成未验证,不要宣传为离线能力。

场景:旅行途中离线回复一条简短消息

旅行者收到一条自己仍在学习的语言发来的消息。翻译应用显示译文,随后给出诸如“我五点能到”或“请把地址发来”的可能回复。其中某个建议可能加入原消息中并不存在的时间、承诺或请求。旅行者想在没有数据网络时准备回复,但必须保留作者身份并决定最终发送的文字。

决策

把收到消息的直译与生成式回复建议在界面上分开显示。明确标注建议是新生成的内容,保留原文供对照,并要求用户检查后明确选择编辑或发送。离线时分别测试翻译与建议生成,不要从其中一项推断另一项。

预期结果

旅行者能够区分对方说了什么、哪段文字是机器新起草的建议,以及该应用是否能断网生成这段草稿。如果建议功能不可用,译文本身仍可阅读,应用也不会用误导性的方式替代它。

需要收集的证据

只有将以下证据与同一模型文件和测试运行关联起来,结论才可复核:

  • 对话意图与回复样本
  • 翻译和生成内容的标记
  • 离线、审核、拒绝和发送边界测试

任务质量需要有版本记录的语料和验收规则;流畅的单条样例不等于准确度结果。

实施流程

  1. 定义对话中的每种文字. 将收到的原文、直译、可选回复建议、用户编辑后的回复和最终发送内容列为不同记录或界面状态。决定如何保留原文可见,以及怎样标记建议。避免把所有文字放在同一个对话气泡里,让生成回复看起来像对方说过的话。
  2. 规定作者标记和发送边界. 任何回复离开设备前都必须有清楚的用户操作。用户应能关闭建议、编辑建议或在空白输入框中重新撰写;生成或翻译完成后不得自动发送。对可能表达同意、拒绝、日期、价格或承诺的回复,更要与收到消息的直译明确区分。
  3. 选择并记录建议生成路径. 如果建议来自 Android TextClassifier,应记录所用分类器,并确认其文档是否说明离线行为。如果应用使用本地语言模型,应固定模型文件和运行时,记录传入了哪些对话上下文,以及是否还有其他模型或安全过滤依赖。方法名里出现“suggest”,或模型被称为端侧模型,都不能证明这项应用功能整体离线。
  4. 建立合成对话测试案例. 准备清楚的问题、中性确认、模糊消息、带日期或金额的请求、拒绝,以及根本不应建议回复的内容。请熟练使用对应语言的审阅者校对收到消息的译文,并预先定义哪些回复符合用户意图。不要拿真实私人聊天记录作为首轮测试样本。
  5. 分开测试翻译和回复建议. 完成资源准备后,关闭 Wi-Fi 和移动数据并冷启动应用。先不请求回复建议,只翻译收到的每条消息;再单独请求建议,记录是否产生新候选、使用了哪些上下文以及是否与直译不同。恢复网络后另做一轮测试,不要把联网和离线结果混在一起。
  6. 检查审核、拒绝和发送行为. 逐项确认用户可以查看并编辑完整建议、丢弃建议,以及自主决定是否发送。生成或点选建议本身不能触发发送。记录取消、模型资源缺失、意图模糊和网络不可用时的提示方式,同时避免在没有必要或未披露的情况下将对话内容写入诊断记录。

让每个阶段的状态都可观察。失败信息应指出阶段、模型、运行时和恢复动作,同时避免记录用户私密内容。

验收标准

  • 收到消息的直译与机器生成的回复建议分别标注,并能追溯到原始消息。
  • 断网状态下生成一条新建议;翻译成功或之前缓存的草稿都不能当作离线建议生成的证明。
  • 用户可编辑或拒绝每条候选内容;最终发送必须在审核文字后通过独立明确操作完成。
  • 意图模糊、影响较大或证据不足的情形保持待确认,或不生成建议,而不是编造承诺。

决策对照表

维度选择或证据解读方式
原文直译把收到的消息重新表达为另一种语言目标是忠于原意,不新增回复、决定或事实。
生成式回复建议结合对话译文和用户意图起草新的文字这是新写的内容,不是翻译;应标注、审核,并与发送分开。
Android TextClassifier 回复动作平台 API 表示或建议一项文本回复动作API 形态本身不能认证某个分类器或应用是否离线生成建议。
端侧 LLM 草稿配置在本地的模型生成候选回复文字本地生成只是可能的架构;仍需检查确切上下文、资源、运行时及应用其他网络路径。
固定短语库从提前审核过的短语中选择一条回复它不是生成式对话理解,但内容固定、透明,可作为离线备选。

需要避免的失败模式

  • 把生成的回复显示成对方原意
  • 未经确认自动发送建议

还要避免静默回退、版本未固定、缺少取消处理,以及把不同配置的结果混在一起下结论。失败运行也应与成功记录一并保存。

最小复现记录

层级记录内容
设备厂商、型号、芯片、内存档位、操作系统版本
软件应用版本和 Git 提交号
模型系列、变体、版本、格式、文件长度、摘要、量化方式
运行时名称、版本、请求后端及实际后端证据
工作负载样例版本、输入摘要、提示词摘要、输出策略
结果完成、失败、取消、回退及保护隐私的诊断信息

发布检查表

  • ☐ 主要搜索问题已回答,且没有未经支持的数字。
  • ☐ 所有模型文件和运行时版本均已固定。
  • ☐ 代表性任务和失败处理策略均有说明。
  • ☐ 生命周期、取消、清理和回退均已测试。
  • ☐ 用户内容与网络边界均有说明。
  • ☐ 结论只适用于被记录的配置。
  • ☐ 新增测试结果时链接到原始方法或证据。

来源与相关证据

中文部署与排错专题见。奇连 AI 端侧专题。

常见问题

回复建议是不是把对方的话翻译出来?

不是。翻译是把原消息换成另一种语言,回复建议则增加了用户可能选择发送的新内容。界面应分别标记,并保留原消息供对照,不能把生成的回复显示成对方说过的话。

Android ConversationAction API 能保证离线回复建议吗?

不能。Android 定义了表示文本回复的 ConversationAction 类型,以及建议对话动作的 TextClassifier API,但这些参考文档没有保证某个分类器或应用能在无网络时生成建议。应在断网状态测试准确的应用、系统服务和设备。

翻译应用用了端侧 LLM,回复建议就一定离线吗?

不一定。模型可能在本地运行,但账户校验、建议服务、内容过滤、分析遥测或其他环节仍可能联网。准备好资源后,应在断网状态验证确切的建议路径,并单独检查应用的其他数据流。

建议回复可以自动发送吗?

本指南将回复视为用户新写出的沟通内容。用户应能检查、编辑、拒绝或忽略建议,发送也必须通过单独明确操作完成。如果草稿包含收到消息中没有的日期、价格、同意、拒绝或承诺,这一点尤其重要。

怎样不分享私人聊天来测试回复建议?

使用合成对话覆盖清楚、模糊、否定和影响较大的案例。请熟练的语言审阅者校对译文,并事先定义可接受的候选回复。随后在没有上传私人聊天记录的情况下测试离线生成、审核、编辑、拒绝和发送边界。