GPT-6 Astra后台任务:断开连接与取消生成是两件事
OpenAI后台模式允许长任务在客户端连接中断后继续运行。对使用GPT-6 Astra的中文应用开发者而言,关闭页面、停止读取流与真正取消任务不能混为一谈。官方文档提供状态轮询、取消端点和按序号恢复事件流的机制,但这些机制需要分别实现,恢复传输也不等于重新启动任务。

中文应用把长时间分析任务交给GPT-6 Astra后,用户关闭页面,并不必然意味着服务器停止生成。OpenAI后台模式指南明确说明,连接断开后,后台响应仍会继续运行。因此,界面上的“停止接收”若只结束本地连接,就不能向用户宣称远端工作已经取消。任务生命周期需要通过接口状态和取消操作确认。
创建后台响应时,应用设置background为true,随后可以凭响应标识查询状态。指南示例把queued与in_progress列为需要继续等待的状态;只有离开这些状态,才进入后续处理。这里还需区分结束与成功:不再运行并不能单独证明已经获得完整答案,程序仍须检查实际终止状态及返回内容,而不是只凭轮询停止就显示完成。
真正取消使用专门的取消端点。官方说明取消操作具有幂等性:对同一个后台响应重复发出取消请求,不会因此启动新的工作。这对网络不稳定时的处理尤其有意义,应用可以围绕同一响应标识确认结果,避免把一次请求超时误解为取消失败,再另开一项相同任务。取消接口的存在也不意味着断线会自动触发它。
如果应用希望以后继续接收事件,创建响应时还需要同时开启流式输出。指南要求记录收到的事件序号;重连时,通过原响应标识以及starting_after参数,指定从哪个位置继续获取流。这里恢复的是同一任务的传输进度,不是要求模型从头再生成一遍答案。将响应标识与事件序号分开保存,有助于区分任务本身和客户端已读取的位置。
这种模式同样有代价。官方提示,后台流式响应的首个令牌延迟会高于同步响应,所以它并非所有即时对话场景的默认最优选择。文档中的部分软件开发工具包恢复示例还标注支持将来提供;应用不能仅凭接口文档展示了恢复方式,就假定所使用的每个工具包版本已经提供相同的便利方法。
数据处理条件也不能忽略。后台模式会暂存响应,以便轮询获取;现行指南说明,零数据保留项目也可用store=false运行后台请求,但仍会有约十分钟的临时保存期。因而,是否允许后台运行应同时考虑连接恢复需求与账户的数据要求,不能把不长期保存响应的设置理解为整个处理期间从未写入存储。
对中文业务系统来说,一个清楚的进度界面应分别表达等待、运行、已取消和结果可用。上述建议来自接口契约的编辑分析,本报没有测量后台模式的实际耗时,也没有证明任何特定应用已正确实现取消与续传。评估时应以自身接入方式和所用工具包版本和任务状态为准。
恢复事件流时仍使用原任务标识,能够避免将网络重连误写为又一次生成请求。
프리즘코리아 편집국 > 林知远



