发送、停止与排队:生成状态下的输入规则
一套状态机管住发送按钮
对话时的输入体验由一套明确的状态规则驱动,理解了它就不会有「按钮怎么变成停止了」的困惑:
| 场景 | 按钮形态 | 点击效果 |
|---|---|---|
| 空闲、无草稿 | 发送(灰态) | 不可点 |
| 空闲、有草稿或附件 | 发送 | 发出消息 |
| 正在生成、无草稿 | 停止 | 中断生成 |
| 正在生成、有草稿/附件 | 发送 | 草稿入队,生成完自动发出 |
Compact 压缩的生成过程也遵循同一套规则——压缩期间你照样可以打字排队。
排队是干什么的
模型回复长的时候(推理模型的长思考、长文写作),逐条等会很浪费时间。排队的用法:
- 回复还在生成,你就把下一条问题打好;
- 点发送——消息进入队列,界面能看到排队状态;
- 当前生成一结束,队列内容自动发出,模型无缝接着处理。
可以连排多条,顺序执行。
停止的边界
- 点停止中断的是当前这次生成,已生成的部分保留在对话里;
- 生成期间的编辑、删除、重新生成操作会被禁用(v1.3.7 更新明确的行为,防止竞态把消息搞乱);
- 排队中的内容在生成开始前仍可撤回。
与分支的配合
停止后再点「重新生成」,得到的是同一条消息的新分支——不满意的长回复停掉重生成,原来的部分答案仍留在另一条分支里(机制见编辑与重新生成)。