跳转到内容

Agent 流式输出怎么做?用户点停止之后还会执行工具吗?

流式输出把生成中的内容逐段交给用户,能让用户早看到进展。它不自动缩短整个任务耗时,也不意味着关闭连接后,模型和工具就全部停止。

把一次执行分成有类型的事件,例如文本片段、工具开始、工具结束和任务结束。前端根据事件更新界面,不从“正在查询”这句话推断后端状态。工具参数要组装完整并校验后才能执行。

业务工具模型服务Agent runtime用户界面业务工具模型服务Agent runtime用户界面请求生成内容与调用事件文本或工具状态取消指定 run标记取消,停止安排新步骤请求停止生成对支持取消的操作发送取消已停止、已完成或结果未知返回可确认的最终状态

任务有独立 run_id,取消标记由服务端保存。运行器在模型调用前、工具执行前和回调处理时检查它;支持取消的依赖继续传递信号。不支持取消的写操作可能已经提交,不能回复“全部撤销”。

例如邮件已发送,取消 Agent 不会把邮件收回来。应保存发送结果,停止后续动作,并告诉用户已完成哪一步。超时且无法确认结果时,保留“结果未知”,再查询状态。

页面刷新后,怎么防止重复显示或重新执行?

Section titled “页面刷新后,怎么防止重复显示或重新执行?”

事件带 run_id 和序号,前端可按序号去重;需要续接时,服务端保存可回放事件。重新订阅已有任务,和重新创建任务是两件事。事件去重也不能代替业务写入的幂等。

用户很慢地读取,服务端要一直堆事件吗?

Section titled “用户很慢地读取,服务端要一直堆事件吗?”

限制缓冲区。文本可以按协议合并片段,重要状态要保留;慢客户端无法跟上时,断开并允许从保存的位置续接。不能为了维持连接无限占用内存。

资料

核对于 2026-10-13。AgentScope 实时事件与取消、Qwen-Agent 流式调用示例。run_id、回放和邮件取消语义为工程设计示例,不表示所有框架默认实现。