Agent.stream() 返回一条 Flux<Event> 响应式事件流,让调用方可以实时看到每一步推理、工具结果和最终回复,而不必等 call() 返回整体 Msg。
基础用法
RuntimeContext(harness 场景):
StreamOptions.defaults() 开启全部事件类型、增量模式。
事件类型(EventType)
只订阅指定类型
区分 chunk 与最终结果
同一条REASONING 消息会先推若干增量 chunk,最后推带完整文本的最终事件。
用 Event.isLast() 区分:
增量模式 vs. 全量模式
推理 / 摘要内容过滤
某些模型在REASONING 事件中会同时包含思考过程 chunk 和最终推理结论,可分别控制:
错误处理
stream() 遵循标准 Reactor 语义,使用 onErrorResume 捕获:
TOOL_RESULT 错误文本,不会向流发送 onError,父流不会被提前终止。
与 Spring WebFlux / SSE 集成
Flux<Event> 可直接桥接 Server-Sent Events:
HarnessAgent 并需要向前端传递子 agent 来源信息,可将 event.getSource() 一并序列化(详见 Harness 子 Agent 流式)。
StreamOptions 完整参数
相关文档
- Hook — 在推理 / 工具调用各阶段插入自定义逻辑
- 模型(Model) — 底层流式模型配置
- Harness 子 Agent 流式 — HarnessAgent
agent_spawn/agent_send触发的子 agent 事件转发与EventSource字段