本文来自 StoryPal 互动阅读原型的产品实践,讨论交互机制背后的方法,不代替项目案例。

儿童听故事时会出现两种不同的互动需要。第一种是教育引导:孩子没有主动开口,但故事已经来到适合判断原因、理解情绪或预测情节的位置。第二种是自主探索:孩子正在听某一句话,突然产生问题,希望马上打断。

它们都表现为“AI 和孩子对话”,产品逻辑却不相同。

主动提问需要预先设计

如果让模型在任意时机自由提问,问题可能和情节节奏冲突,也难以保证教育目标与年龄适配。StoryPal 的做法是把互动点写进结构化故事:内容人员先确定为什么在这里停、希望观察什么行为、问题属于哪个教育维度、孩子不理解时怎样提供脚手架。

Question Planner 只从已经审核的候选问题中选择,并参考本次会话已经覆盖的维度。模型可以参与受控回应,但不能临时改变学习目标。这样,内容判断可以被审阅、版本化和复盘。

自主打断需要保护表达时机

儿童的问题经常依赖刚刚听到的句子。要求孩子等到章节结束再问,会增加记忆与表达成本。因此,自主提问入口需要在故事播放时保持清晰可见,并把当前节点、句子位置和近期互动一起交给回答模块。

回答结束后的续播同样重要。若直接跳到下一句,孩子可能失去原句中的因果关系;若整段重播,又会增加重复。原型记录 node_id + sentence_index,回答后回到被打断的原句,用句子级恢复平衡体验稳定性与实现复杂度。

为什么不能合成一个“智能对话”按钮

两种机制的差异可以概括为:

机制 触发者 问题来源 回到故事的方式
AI 主动提问 系统 审核过的问题池 完成回答或略过后进入下一节点
儿童自主打断 儿童 当下真实问题 回到被打断原句

如果共用一个自由对话入口,系统很难同时判断“是否应该教”“孩子是否想问”以及“从哪里继续”。把它们拆开后,状态、内容责任和失败边界才足够清楚。

两套机制仍需共享记忆

拆分交互不意味着割裂上下文。Session Memory 记录近期表达、互动来源、故事证据和教育维度覆盖,让主动提问减少重复,也让自主回答理解孩子刚刚说过什么。但这层记忆只服务当前会话,不应被直接解释为长期能力画像。

两套交互机制的价值,是同时保留教育目标与儿童主动性。真正的教育效果仍需要年龄分层、内容专家评审和长期验证;一次顺畅的原型演示不能替代这些证据。