feat(agent): use native parallel nodes and early reply streaming
This commit is contained in:
@@ -90,6 +90,18 @@
|
||||
|
||||
## 流式、并发与字段一致性约定
|
||||
|
||||
- 事故采集的回复与抽取为独立 LangGraph 节点,通过原生条件分支并行,
|
||||
`add_edge(["collect", "extract_accident_fields"], "merge_collect")` 汇合;
|
||||
分支各写独立通道,参考时间在 normalize_input 固定,合并后统一提交。
|
||||
人员抽取依赖本轮模型回复,暂保留串行,不改变其提示词和人员切换语义。
|
||||
- 模型文本与生命周期由原生 `astream_events` / `RunnableGenerator` 驱动,
|
||||
不再自行维护图后台任务、队列或 custom event bus。原始模型 token 先经过
|
||||
业务前缀校验;只有受控回复 Runnable 的文本流能映射为 TextDelta。
|
||||
`validated_reply` 的正常 chain-end 映射为内部 ReplyFinished,立即刷新
|
||||
分句缓冲;它不会对外新增 SSE 事件,也不表示字段已提交。
|
||||
即使本轮无 formUpdate 或 needFormUpdate=false,最后一句也不等待抽取结束。
|
||||
业务提交失败仍发 error,不能发 formUpdate/done 冒充成功。
|
||||
|
||||
- 阶段前缀先缓冲并按当前节点的转换规则校验,非法前缀不推送;
|
||||
未输出时仍可使用一次修复预算。已开始输出后,全文格式或时间依据
|
||||
校验失败会以错误终止,不在同一流中拼接修复答案,不提交本轮业务字段。
|
||||
|
||||
Reference in New Issue
Block a user