AI 编程工具 Qwen Code 推出了一项功能,让分派多个任务的开发者可在同一界面查看各任务的问题,并自由选择先回答哪一个。某个任务等待用户回答时,其他任务可先行推进,同时每个问题的回答草稿和错误均可独立管理。
1. 每个问题分别管理回答顺序和草稿
11月7日发布的 v0.27.0,核心是改进由服务器管理执行的代理(代为执行任务的程序)的提问处理方式。此前,只有分派任务的父会话(维持任务上下文的连接单元)能够提问,界面会自动选择一条待处理请求。据变更请求说明,旧代码的测试复现了列表重排导致选中项变化,以及切换问题时草稿丢失的情况。
新界面将问题和权限请求一起展示,但按问题分别管理选中状态、草稿、提交进度和错误。例如,两个子任务各自请求用户判断时,可以先回答第二个问题。第一个任务继续等待回答,第二个任务则写入自己的结果。
切换问题时,正在编写的回答会保留,用户因此可以优先处理能够先做决定的事项。一个问题正在提交或发生错误,也不会阻止用户在界面上回答其他问题。对在同一任务界面处理多个判断的开发者来说,这提供了选择回答顺序的自由。
2. 等待回答的任务归还执行槽位
发出问题的任务在等待用户回答期间,只归还自身占用的执行槽位。系统不会删除任务,而是保留恢复运行所需的执行环境身份和资源清理责任。恢复时,会核对原连接、状态版本(已保存状态的变更编号)以及执行环境提供方的身份。
好处在于,等待回答的任务不再持续占用执行资源,从而避免不必要地阻碍其他任务。代价是系统需要负责准确找回原执行环境的验证流程,以及各问题的状态管理。这种设计让任务回到暂停时的环境,而不是在新环境中从头开始。
3. 切换问题与刷新页面的行为不同
用户可在父任务界面的请求列表中选择要回答的问题,编写过程中也可切换到其他问题或权限请求。重新查询列表或收到新请求时,当前选中项仍会保留。若问题内容的修订信息发生变化,则只清除该问题的旧草稿。
刷新页面时,会重新加载已保存的问题和已接收的回答,尚未发送的输入则仅保存在当前页面内存中。界面还会分别显示回答已被接收和任务已恢复执行这两种状态。用户在发送回答后查看任务进度时,可据此区分。
网页任务界面还新增了通过独立任务解释待回答问题选项的功能。该功能不会代替用户提交回答,只解释选项的含义,支持用户先了解问题含义,再自行做出决定。
4. 将两个实际任务的恢复行为纳入引入检查
据变更请求的验证报告,特定执行与恢复测试以及网页界面检查已通过。浏览器检查使用模拟 Java API,验证了先回答第二个问题、按问题保留草稿、隔离错误以及刷新页面的行为。
支持范围是通过普通本地文件和命令操作系统的 shell 会话,以及其下一层的内置公开子任务。等待中的任务仍计入现有的 4 个活跃子任务和累计执行 64 次的限制。报告发布时,使用真实服务器与 MySQL 的两个子任务集成场景,即联合检查多个要素的测试流程,仅确认了编译通过。实际运行及全部故障恢复组合的验证,仍是自动验证流程的后续事项。
公开回答 API 和数据库结构保持不变。相关说明要求,在写入新的执行恢复记录之前,先部署能够读取这些记录的组件;回退到旧版本时,也要保留相应的读取支持。
验证人员可准备好仓库要求的 MySQL 8.4、服务器运行前置条件以及构建后的命令行工具,再选择该集成场景。报告列出的选择参数如下。
-Phosted-harness-mysql -Dit.test=HostedPublicWorkspaceIT#publicChildQuestionsAllowTheSecondChildToAnswerFirst integration-test failsafe:verify checkstyle:check该场景检查两个任务的问题是否同时保留、是否仅有收到第二个回答的任务继续写入结果,以及第一个任务是否在保留原执行环境的同时继续等待。这是一项可同时检查界面问题处理与执行资源释放的引入检查项目。
v0.27.0 的核心价值在于,在增加并行任务之前,先将等待用户判断的顺序与执行资源占用分离。
