- 取消学习目标选择,不做学校场景,工作场景延后 - 词汇分两层:核心表达与分级词池,写明词池来源与校验方式 - 补充复习节点、掌握判定与阶段评估的规则说明 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
258 lines
18 KiB
Markdown
258 lines
18 KiB
Markdown
# 开口英语(暂定名)— AI 对话模块规格
|
||
|
||
> 版本:1.3|2026-09-17
|
||
> 模块定位:总产品中负责口语输出与真实情境练习的核心模块
|
||
> 核心承诺:每天 5–10 分钟,完成一次你在真实生活中用得上的英语对话。
|
||
|
||
## 1. 模块决策
|
||
|
||
M1 范围和异常验收以 [开发与验收约定](M1-IMPLEMENTATION-CONTRACT.md) 为准,阶段通过以 [A0 阶段标准](A0-STAGE-STANDARD.md) 为准。本文 A1/A2 场景仅为后续示例。
|
||
|
||
总产品保留分级课程、词汇句型、听说读写练习、个性化复习和学习进度。AI 对话是其中承接“开口输出”的核心模块:它接收课程学到的词句,并在真实情境中让用户练习使用。
|
||
|
||
不做用户与用户之间的社交匹配、群聊或公开动态。用户打开“对话”页后,选一个生活场景,用语音或文字与 AI 完成一段有目标的英文对话;结束后获得少量、准确、可立即重说的反馈。所有功能都必须帮助用户更敢说、更能说。
|
||
|
||
## 2. 目标用户与问题
|
||
|
||
目标用户是中文母语、英语 A0–A2 的成人。他们常见的困难是:知道一些单词,却无法在真正的场景中及时组织语言;害怕出错,也没有稳定、安全的开口对象。
|
||
|
||
产品解决的问题不是“教完所有英语知识”,而是让用户反复经历:听到一句英语 → 用自己会的英语回应 → 被理解 → 获得一个可改进点 → 再说一次。
|
||
|
||
## 3. 最小产品闭环
|
||
|
||
```text
|
||
选择场景
|
||
→ 选择身份与难度
|
||
→ 与 AI 进行语音或文字对话
|
||
→ 完成明确任务
|
||
→ 获得简短反馈
|
||
→ 重说关键句 / 明天继续练习
|
||
```
|
||
|
||
M1 通常 3–5 分钟,最多 5 个用户回答轮;简单种子任务达标后可以提前结束,不为凑轮数追问。用户能点“提示”“慢一点”“翻译”“重说”;求助不终止练习,但须记录辅助情况。达到轮数上限未完成目标时标记未完成并提供补练,不自动判成功。
|
||
|
||
## 4. 首版页面
|
||
|
||
| 页面 | 目的 | 必须内容 |
|
||
|---|---|---|
|
||
| 欢迎与定位 | 了解用户起点 | 每日时长、可跳过的 3 分钟口语测评;学习目标固定为日常与旅行,不做选择 |
|
||
| 对话入口 | 让用户立刻开口 | 一个推荐场景、继续上次对话 |
|
||
| 场景页 | 让用户自主选择练习任务 | 分级场景卡、目标、预计时长 |
|
||
| 对话页 | 完成交流 | AI 回复、语音/文字输入、求助按钮、进度提示 |
|
||
| 总结页 | 把对话转成成长 | 完成目标、一个改进点、重说、加入复习 |
|
||
| 我的 | 看见可用能力 | 已完成场景、常用句、需复习表达、目标 |
|
||
|
||
总首页仍以“今天的课程或到期复习”为唯一主任务;进入“对话”页后,其主要按钮是 `开始推荐对话`。课程目录由“学习”页管理,不与对话入口冲突。
|
||
|
||
## 5. 对话模式
|
||
|
||
### 5.1 情境任务(首版核心)
|
||
|
||
用户选择一个真实情境,AI 扮演相关角色,双方完成可验证的任务。AI 在必要时以中文给出极短提示,但对话本身以英文进行。
|
||
|
||
后续 A1 示例(不是 M1 起始场景;M1 使用姓名、物品、喜好等 A0 任务):
|
||
|
||
```text
|
||
场景:咖啡店
|
||
用户身份:顾客
|
||
AI 身份:店员
|
||
目标:点一杯饮料,并确认订单。
|
||
|
||
AI: Hi! What would you like?
|
||
用户: I’d like a tea, please.
|
||
AI: Sure. Hot or iced?
|
||
用户: Hot, please.
|
||
AI: Great. One hot tea. Is that all?
|
||
```
|
||
|
||
### 5.2 自由对话(M1 后)
|
||
|
||
完成 M1 的受控任务型对话后,用户可选择主题,如“介绍自己”“我的周末”“旅行计划”,与 AI 自由聊天。系统仍保留等级上限、轮次上限和主题边界,避免 AI 把零基础用户带入超出能力的复杂讨论。
|
||
|
||
自由对话的首页文案不应是“和 AI 聊任何事”,而应是“聊一个你想练的主题”。
|
||
|
||
## 6. 首批场景与完成条件
|
||
|
||
| 等级 | 场景 | 用户目标 | AI 的完成判定 |
|
||
|---|---|---|---|
|
||
| A0 | 初次见面 | 说姓名和来自哪里 | 用户表达姓名、地点;完成一次问候 |
|
||
| A0 | 认识新同学 | 问对方姓名 | 完成至少一问一答 |
|
||
| A0 | 说喜欢什么 | 说一种喜欢的食物/活动 | 说出 `I like ...` 或等义表达 |
|
||
| A1 | 咖啡店 | 点饮料 | 饮品 + 礼貌表达 + 确认 |
|
||
| A1 | 餐厅 | 点餐/询问推荐 | 提出一项需求和一个问题 |
|
||
| A1 | 超市 | 寻找商品 | 询问商品位置并理解回答 |
|
||
| A1 | 问路 | 找到车站 | 问地点并复述一项方向 |
|
||
| A1 | 打车 | 到达目的地 | 说清目的地并确认路线/价格之一 |
|
||
| A1 | 酒店入住 | 办理入住 | 姓名 + 预订/入住需求 |
|
||
| A1 | 约时间 | 约见面 | 提议时间并完成确认 |
|
||
| A1 | 生病求助 | 描述简单不适 | 说一个症状并回应一次追问 |
|
||
| A2 | 聊兴趣与家乡 | 交流周末、兴趣和家乡 | 连续完成 5 轮相关回应 |
|
||
|
||
A1 起的完整场景以《学习引擎规格》5.2 主题地图为准,上表只是示例。M1 先提供与 A0 核心课对应的受控对话;这些场景是起始内容,不是 A0 的对话总量。若出口能力尚未达标,系统继续围绕同阶段的薄弱点生成受控变式对话;A1 的生活场景和 A2 内容均作为后续扩展。
|
||
|
||
## 7. 分级与对话控制
|
||
|
||
### 7.1 轻量定位
|
||
|
||
首次可选择基础并完成 3 分钟轻量定位。M1 只推荐 A0 内的起点,不标记阶段通过,不解锁 A1;用户可以回退或申请正式出口评估。
|
||
|
||
### 7.2 AI 对话规则
|
||
|
||
| 项目 | A0 | A1 | A2 |
|
||
|---|---|---|---|
|
||
| AI 单轮长度 | 一个短问题,可加一个简短回应词块;整轮不超过 20 个英文词 | 1–2 句 | 2–3 句 |
|
||
| 额外新词 | 每轮最多 1 个、整段最多 2 个,先教后用;评估为 0 | 后续阶段规范定义 | 后续阶段规范定义 |
|
||
| 提问方式 | 单一、明确问题 | 单一任务或问题 | 可有追问 |
|
||
| 语速 | 慢速默认 | 正常/慢速可切换 | 正常语速 |
|
||
| 中文辅助 | 教学可见;独立听力和评估隐藏 | 按需显示 | 用户主动请求 |
|
||
|
||
AI 必须记住当前场景、用户身份、完成目标、已知信息及难度上限。它不能突然转换角色、重复问已回答的问题,或为了“自然聊天”而跳过任务目标。
|
||
|
||
给模型的指令必须把两件事分开:**本轮 AI 自己要说什么**,以及**学习者随后要完成什么任务**。两者混成一句会让模型替学习者把答案说出来。同时下发可用语言清单,但清单只作为模型的参考,不要求模型只能从清单里的短语拼句子;否则像 `What day is it today?` 这类已教句型也会因拆词不在清单而被模型回避。清单外词数由客户端统计,A0 每轮最多 1 个,超出按 7.3 的检查处理。
|
||
|
||
模型只需返回 `reply`(英文回复);`translation`(中文翻译)与 `feedback`(一句中文点评)可选,缺少可选字段不丢弃整条回复。是否完成任务由客户端按本轮必需表达判定,不采信模型的完成声明。回退示范句时必须在对话页说明原因,并区分两种情况:AI 不可用(网络、服务或返回格式错误)时提示“AI 暂时无法连接”;AI 有回复但没通过检查时提示“这一句换成了示范句”。两种都不能让备用文案冒充 AI 回复。
|
||
|
||
### 7.3 场景、任务与对话调度
|
||
|
||
对话不再以“脚本第 N 句”作为 AI 目标,而由三层数据和一个本地调度器驱动:
|
||
|
||
| 层 | 内容 | 来源 |
|
||
|---|---|---|
|
||
| LevelProfile(等级档) | 每轮英文词数上限、每轮问题数、清单外词上限、是否允许追问、中文辅助规则(即 7.2 表格) | 按等级固定在程序中 |
|
||
| Scene(场景) | 场景 ID、学习者与 AI 身份、背景、开场句、任务列表 | 冻结的单元内容包 |
|
||
| Task(任务) | 任务 ID、目标、引用的核心词句 ID、信息槽、示范句 | 冻结的单元内容包;判定条件(cues/done)由程序根据引用的词句 ID 编译 |
|
||
|
||
每一轮的调度步骤:
|
||
|
||
1. 客户端先在本地判定用户这句话完成了哪些任务、填了哪些信息槽,不等 AI;
|
||
2. 调度器按任务顺序选出下一个未完成任务;全部完成则收尾并进入总结;
|
||
3. 请求 AI 时下发:等级档、场景、**当前任务目标**、已收集的信息、可用语言清单、历史;要求先回应用户说的内容,再推进当前任务,一轮只推进一个任务;
|
||
4. 客户端检查 AI 回复:
|
||
- 通用检查:非空、是英文、不超过词数上限、问题数不超过上限、清单外词不超过上限、不替学习者说出答案、不重复问已收集的信息;
|
||
- 任务检查:回复确实在推进当前任务(包含任务的提问线索,或是收尾语);
|
||
5. 检查不通过时带着具体原因重试一次;仍不通过则使用当前任务的示范句,并按 7.2 提示“这一句换成了示范句”。
|
||
|
||
技术约定:
|
||
|
||
- 请求与返回均为 JSON;服务支持时开启 JSON 输出(如 DeepSeek 的 `response_format: {type: json_object}`)。历史中的 AI 轮同样以 `{"reply": ...}` 的 JSON 形式回放;若历史是纯文本,模型会跟着回纯文本或空白,导致误判为 AI 不可用。
|
||
- 调用支持思考模式的模型时关闭思考,以控制延迟和费用。
|
||
- 判定、计数和检查全部在客户端完成,模型返回的完成标记只作参考。
|
||
|
||
### 7.4 场景数据从哪里来
|
||
|
||
- **主线场景**:随单元内容包离线生成、校验、审核并经用户确认后冻结,流程见《学习引擎规格》第 5 节。运行时不生成主线场景。
|
||
- **运行时变式**:AI 只能替换表面内容(人名、地点、物品、喜好等内容值,以及措辞和句子顺序),任务、引用的词句 ID 和判定条件保持不变;变式句同样要过 7.3 的通用检查。
|
||
- **A0**:由现有课程对话脚本(`LessonDialogue`)转换为 Scene/Task;脚本中的问句作为任务示范句,`requiredTerms` 映射到 A0 核心词句 ID 后作为任务引用。脚本里的指令或操练轮(如“再说一遍”“跟我读”)不交给 AI,改为固定句。
|
||
- **A2 及以上**:开放任务在 7.3 的检查之外,还按《学习引擎规格》5.8 用评分标准加 AI 评审判定完成。
|
||
|
||
## 8. 对话交互细节
|
||
|
||
### 8.1 输入与输出
|
||
|
||
- 默认鼓励语音,提供清晰的按住说话或点击录音入口。
|
||
- 录音后转写,设备支持时可显示中间结果;发送前允许确认、编辑。M1 不依赖实时转写能力。
|
||
- AI 以文字 + 可播放语音回复;支持慢速播放、逐句重放。
|
||
- 用户也能纯文字完成同一场景,保证在公共场所或静音环境下可用。
|
||
- 低可信度、没有可靠置信度、结果异常或用户质疑时,先显示“我没有完全听清”,让用户确认、修改或重说;不得直接判为语言或发音错误。修改转写仅保留文字表达证据,不算独立口语;所有确认/修改均保存标记。
|
||
- AI 消息及课程转写稿中的英文支持点词/点短语。弹出的查词卡优先解释完整短语,再解释单词;显示当前语境中文意思、播放、慢速和一个已学例句,可手动加入复习。关闭卡片后回到同一轮会话,AI 不重新生成回复。
|
||
|
||
### 8.2 四个固定求助按钮
|
||
|
||
| 按钮 | 行为 |
|
||
|---|---|
|
||
| 提示 | 给出 1 个当前轮次可用的短句框架,不直接代答 |
|
||
| 慢一点 | 用更慢音频重复 AI 上一句 |
|
||
| 翻译 | 显示 AI 上一句自然中文意思 |
|
||
| 重说 | 重新播放 AI 上一句,不改变对话状态 |
|
||
| 查词 | 点消息中的词或短语,查看当前语境释义和例句;关闭后回到当前轮 |
|
||
|
||
### 8.3 纠错时机
|
||
|
||
对话中不逐句打断。只有以下情况给出一行内的提示:用户请求帮助、表达无法理解,或本场景关键目标无法达成。
|
||
|
||
对话结束后才给完整的微反馈,且一次最多一个语言问题。零基础用户首先需要成功表达,不需要一次性接受语法课。
|
||
|
||
模型每轮返回的 `feedback` 只保留最后一条,在对话结束页和总结页以“下一次说得更好”呈现,不在对话过程中逐轮弹出。
|
||
|
||
M1 发音反馈限示范音、慢放、录音回听和可选通用练习,不评价像不像母语者。`three` 多次被转写为 `free` 可能是噪声或 ASR 错误,不能据此诊断 /θ/ 或降低掌握度;可在用户选择后展示通用对比词与动作提示,并标注“非个性化发音诊断”。真正的音素诊断需要音频证据和验证过的能力,后续另行评估。
|
||
|
||
## 9. 会话总结与复习
|
||
|
||
每次结束页必须有:
|
||
|
||
1. `你完成了什么`:以任务结果描述,如“你成功点了一杯热茶。”
|
||
2. `本次做得好的句子`:摘取一个用户的有效表达。
|
||
3. `下一次说得更好的句子`:只给一个纠正或更自然替换。
|
||
4. `再说一次`:用户立即录音重说该句,形成一次闭环。
|
||
5. `后续练习`:新教或需补救的目标进入次日复习,已有稳定词句保留原到期时间;同词句与其他复习原因合并,不因每次对话总结而强制明日重练。
|
||
|
||
复习优先采用 30–60 秒微对话,并结合听辨、回忆和改写,覆盖不同证据类型。M1 例如换人物再问姓名或状态。断网时使用审核过的本地/缓存模板及本地答案规则;自由回答不能可靠判定则保存 pending。不能把在线微对话作为复习的唯一途径。
|
||
|
||
教学态中查词是正常帮助;其使用情况随 attempt 保存,便于下一次优先安排认识/回忆练习。独立练习和出口评估隐藏查词入口;用户选择查词时,将当前题转为教学练习并换一题补测,不把它记为对话失败。
|
||
|
||
课程内对话与结尾独立尝试计入教学段预算,不额外叠加时间。可在最后一轮换已教内容值并撤掉句框/翻译,取得该轮独立证据;前面教学使用帮助不污染后面已明确切换的独立任务,但原题立即复述不算迁移。第 10 课按“问候、姓名、地点、状态/喜好、反问”五项统一判定,前四项齐全后须留用户提问机会,AI 回答再结束;达到五轮上限仍缺项则给待补练结果。
|
||
|
||
## 10. AI 提示词与质量要求
|
||
|
||
AI 系统需要传入结构化上下文:等级档、母语、场景、角色、当前任务目标(而不是脚本原句)、已收集的信息槽、可用语言清单、轮次、求助状态与安全限制。返回格式为 JSON,检查与回退按 7.3。
|
||
|
||
词句的掌握状态、允许的新语言数量、失败后的降级练习,以及阶段出口任务,须遵循 [学习引擎规格](LEARNING-ENGINE-SPEC.md)。
|
||
|
||
AI 行为要求:
|
||
|
||
- 做友好、耐心的英语对话伙伴,默认使用目标等级的英语。
|
||
- 先回应含义,再推进任务;不把每句用户话改写成教学讲解。
|
||
- 只在用户需要时用简短中文辅助;不使用抽象语法术语。
|
||
- 任务完成后自然收尾,转入总结页,不无限聊天。
|
||
- 不假装真人;不输出仇恨、色情、自伤、违法或高风险专业建议。
|
||
- 医疗等场景只练习表达需求,明确不提供诊断或治疗建议。
|
||
|
||
## 11. 功能验收标准
|
||
|
||
| 功能 | 验收标准 |
|
||
|---|---|
|
||
| 场景开始 | 用户从首页进入一个推荐场景不超过两次点击 |
|
||
| 语音对话 | 用户可完成至少 3 轮录音回复,识别失败时仍能编辑或改用文字继续 |
|
||
| 难度控制 | A0 每轮最多一个明确问题,可加简短回应/开场词块,总计不超过 20 个英文词,不连问姓名和地点 |
|
||
| 目标判定 | A0 初次见面场景提取姓名、地点和问候证据;客户端检查信息槽,不只采信 AI 完成标记 |
|
||
| 任务对齐 | 每轮 AI 回复先回应用户内容,再推进调度器选定的当前任务;不重复问已收集的信息;未通过检查时重试一次,仍失败则回退示范句并按 7.2 提示原因 |
|
||
| 求助 | 四种求助操作不丢失当前会话状态 |
|
||
| 总结 | 每段会话都生成一个积极反馈、一个改进句和一次立即重说机会 |
|
||
| 复习 | 次日出现短变式或本地模板练习;技术失败不改变掌握度 |
|
||
|
||
## 12. 模块边界
|
||
|
||
- 本模块不替代课程视频、文章、词汇、语法讲解和书写练习;这些仍由总产品的学习与复习模块提供;
|
||
- 用户之间的匹配聊天、群聊、排行榜和公开动态;
|
||
- 无限时长、无限话题的“陪聊”模式;
|
||
- 根据不透明语音分数给用户贴发音好坏标签。
|
||
|
||
## 13. 个人使用检查
|
||
|
||
不需要留存、活跃用户或增长指标。每次对话后只检查它是否真正帮助你练习开口。
|
||
|
||
| 检查项 | 满足标准 |
|
||
|---|---|
|
||
| 能否开始 | 能在首页两次点击内进入一个场景 |
|
||
| 能否完成 | 能完成 3–5 轮对话,不会被识别或理解失败卡住 |
|
||
| 是否有收获 | 结束后能说清一个做得好的表达与一个待重说的句子 |
|
||
| 是否能巩固 | 第二天能以短对话重练上一轮的薄弱表达 |
|
||
|
||
## 14. 版本顺序
|
||
|
||
### V1:可用的个人对话练习
|
||
|
||
对应总产品 M1:语音/文字输入、TTS 回复、A0 种子情境及按能力生成的受控变式、四个求助按钮、任务证据判定、总结页、次日复习和基础进度。场景数量不限;A1 不在 M1。
|
||
|
||
### V1.1:改善日常使用
|
||
|
||
对应总产品 M2:扩展 A1 场景与自由主题对话;A1 场景来自已冻结的 A1 单元内容包(主题地图见《学习引擎规格》5.2),单元冻结前显示“待提供”。目标推荐、基础进度和同阶段变式已包含在 M1;更多发音能力必须另行验证,不预设可用。
|
||
|
||
### V2:扩展能力
|
||
|
||
增加 A2、B1 单元场景(来自单元内容包,开放任务按评分标准判定)和个性化对话计划。在你能稳定完成 V1 场景且想继续学习时再投入。
|
||
|
||
## 15. 数据与隐私
|
||
|
||
录音、转写文本和对话记录仅供你个人练习。优先保存在本机,并提供清空录音、对话记录和学习进度的入口。语音识别低置信度时,应用必须允许编辑,不能直接将其判为语言错误。
|