8.1 流式输出的说明
通过invoke 调用Agent时,内部可能经历多次调用,长时间看不到调用情况,用户体验不好,可以通过流式调用(渐进式显示输出)优化用户体验, 实时显示 Agent 运行过程中的更新。特别是在处理LLM 延迟时尤其有效。
流式输出好处:
- 大型语言模型生成完整响应通常需要几秒钟时间,对于长输出可能达到10-20 秒,用户期望即时反馈, 流式传输让等待过程更加可控。
- 相比非流式传输需要用户长时间等待完整响应,流式传输可以立即显示文字逐渐出现的效果, 大幅降低用户的等待焦虑。
设置方式:
通过“ agent.stream(stream_mode=指定模式) ”来指定。具体模式有:values、updates(默认)、messages、custom、checkpoints、tasks、debug。
8.2 具体的输出模式
8.2.1 values输出模式
当stream_mode 设置为values模式时,每个步骤执行后,都会输出完整的状态信息,适用于每一步都要获取完整状态、状态持久化场景。
举例:
![图片[1]-8、Agent的高级用法4:流式输出及模式-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-878.png)
![图片[2]-8、Agent的高级用法4:流式输出及模式-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-879.png)
![图片[3]-8、Agent的高级用法4:流式输出及模式-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-880.png)
代码运行后示意结果如下:
![图片[4]-8、Agent的高级用法4:流式输出及模式-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-881.png)
8.2.2 updates输出模式
这种模式就是默认模式。该模式中,每个步骤执行后,只增量更新状态中发生变化的内容,用于监控Agent 执行进度,例如观察Agent决定调用工具、工具执行结果等步骤。
代码如下:
![图片[5]-8、Agent的高级用法4:流式输出及模式-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-882.png)
运行结果如下:
![图片[6]-8、Agent的高级用法4:流式输出及模式-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-883-1024x259.png)
8.2.3 messages输出模式
该模式中会输出流式返回的Token以及相关的元数据(如:来自哪个节点),可以用在实现类似ChatGPT 的打字机效果场景,为聊天机器人等交互式应用提供最佳的实时体验。
代码如下:
![图片[7]-8、Agent的高级用法4:流式输出及模式-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-884.png)
![图片[8]-8、Agent的高级用法4:流式输出及模式-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-885-1024x401.png)
8.2.4 tasks输出模式
该模式会输出当前task任务开始和结束的时间,包含任务的结果和错误信息,该模式用于监控任务的生
命周期。
代码如下:
![图片[9]-8、Agent的高级用法4:流式输出及模式-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-886.png)
![图片[10]-8、Agent的高级用法4:流式输出及模式-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-887-1024x508.png)
8.2.5 debug输出模式
该模式与tasks模式类似,比task模式多输出任务步骤、时间戳、task类型(task/task_result),该模式用于调试、监控task任务的生命周期。
代码如下:
![图片[11]-8、Agent的高级用法4:流式输出及模式-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-888.png)
![图片[12]-8、Agent的高级用法4:流式输出及模式-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-889.png)
8.2.6 checkpoints输出模式
该模式中,每当检查点(checkpoint)被创建时会触发输出,输出包含检查点中的状态,用于需要状态持久化、工作流恢复或分布式执行跟踪的高级场景。
代码案例如下:
![图片[13]-8、Agent的高级用法4:流式输出及模式-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-890.png)
![图片[14]-8、Agent的高级用法4:流式输出及模式-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-891.png)
![图片[15]-8、Agent的高级用法4:流式输出及模式-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-892.png)
8.2.7 custom输出模式
开发者通过get_stream_writer 在工具或节点内部自定义发送的数据,用于输出业务逻辑相关的进度信息(如“已处理10/100条记录”)、自定义日志或指标。
举例:生成销售报告和库存报告Agent
![图片[16]-8、Agent的高级用法4:流式输出及模式-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-893.png)
![图片[17]-8、Agent的高级用法4:流式输出及模式-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-894.png)
![图片[18]-8、Agent的高级用法4:流式输出及模式-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-895-1024x582.png)
8.3 流式输出模式总结
如下是LangChain Agent输出模式对比:
![图片[19]-8、Agent的高级用法4:流式输出及模式-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-896-1024x815.png)
![图片[20]-8、Agent的高级用法4:流式输出及模式-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-897.png)
![图片[21]-8、Agent的高级用法4:流式输出及模式-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-898.png)
![图片[22]-8、Agent的高级用法4:流式输出及模式-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-899-1024x485.png)
















请登录后查看评论内容