题目
用户点击停止后,如何取消模型请求、工具执行和后续任务?
答案
前端向独立取消接口提交 `run_id`,服务端持久化取消请求,并阻止调度新的模型、工具和子任务。关闭浏览器连接本身不等于取消后台任务。 向当前模型请求传递取消信号,支持中止的工具尝试中止;后台 Worker 在步骤边界和长循环中检查取消状态。父任务取消时也要传递给子任务。 对已提交的退款、发货等操作,停止等待响应不能撤销业务动作。需要查询真实状态,必要时走业务取消或补偿流程。 ![“停止”按钮要传到整个执行链路](https://cs-wiki.oss-cn-shanghai.aliyuncs.com/question/agent-development/extra-task-cancellation-51adc871359e1a12.png) 因此界面可以先显示“正在停止”,待在途动作状态明确后再显示“已停止”。最终保留已完成内容,并说明哪些外部操作已经生效、哪些仍需确认。即使取消发生,已有用量也可能已经产生费用。