AI agent Workflow Branching & Merge:分支合并策略决定结果是否可用

HTMLPAGE 团队
13 分钟阅读

工作流并行分支并不难,难的是合并。本文讲清 branch/merge 的冲突模型、优先级规则与人工兜底策略。

#AI agent #Workflow #Branching #Merge Strategy

多数 agent 工作流事故,不是发生在节点执行,而是发生在合并点。多个分支都“成功”,最终结果却互相冲突:字段覆盖、结论不一致、状态先后颠倒。

这类问题最麻烦的地方在于:分支看起来都正确,只有到了合并阶段才暴露“语义冲突”。

合并策略必须先于并行设计

合并模式适用场景风险
last-write-wins低风险展示字段关键字段被误覆盖
priority-merge多来源证据整合优先级配置错误
quorum-merge多模型一致性判断成本高、时延高
human-merge高风险审批输出吞吐受限

默认策略不应是 last-write-wins,而应按字段风险分级。

冲突分级模型

建议至少分三档:

  • L1(可自动):展示字段冲突
  • L2(需策略):业务字段冲突
  • L3(需人工):合规/审批字段冲突

没有分级,系统会把所有冲突都推给人工,吞吐会迅速崩溃。

合并器设计要点

合并器应包含以下能力:

能力说明
field policy table字段级优先级和覆盖规则
provenance tracking记录每个字段来源分支
conflict artifact冲突证据包供人工处理
deterministic output同输入同策略得到同结果

如果没有 provenance tracking,后续很难解释“为什么是这个合并结果”。

失败案例:并行分支覆盖高优先级结论

某系统在“合规审查”和“业务建议”并行后,低优先级分支覆盖了合规限制,导致违规建议外发。

修复动作:

  • 引入字段级优先级表。
  • 合规字段设为只读合并目标,不允许低级覆盖。
  • L3 冲突自动转人工并附冲突证据包。

发布前验证建议

至少做两类测试:

  1. 合并确定性测试:同输入重复执行,结果必须一致。
  2. 冲突覆盖测试:核心冲突类型都有样本。

很多线上事故都来自“合并器无确定性回归测试”。

关键指标

  • 冲突发生率(按 L1/L2/L3)
  • 自动合并成功率
  • 人工合并平均时长
  • 合并后回滚率

人工合并时长上升通常意味着冲突证据包质量不足,不一定是人手不够。

字段级合并策略示例

一个可执行的合并策略应该长这样:

字段来源优先级冲突动作
complianceBlockReasoncompliance_review > all禁止覆盖
customerSummaryevidence_branch > draft_branch自动覆盖
finalRecommendationpolicy_branch + business_branch需合并器生成
publishAllowedcompliance_review onlyL3 冲突转人工

这张表的价值在于让合并器可测试,而不是靠模型临场判断“哪个更重要”。

人工合并不是让人读两大段文本

如果 L3 冲突进入人工队列,界面至少要展示:

  • 冲突字段
  • 各分支来源
  • 每个值的证据来源
  • 系统推荐合并结果
  • 接受/拒绝/改写后的审计记录

否则人工合并会退化成“重新读一遍所有上下文”,效率很低,也不可追责。

什么时候宁可串行也不要并行

并行不是默认更好。以下场景适合串行:

  • 下游强依赖上游风险结论
  • 合并冲突成本高于并行节省时间
  • 节点输出会改变后续策略范围

如果合规审查结果会决定业务方案能否继续生成,就不要为了省几秒把两者盲目并行。

Checklist

  • 合并策略按字段和动作分级
  • 关键字段禁止默认覆盖
  • provenance 可追溯到分支级别
  • 冲突结果进入独立队列并附证据包
  • 高风险合并支持人工兜底
  • 发布前通过确定性与冲突覆盖测试

延伸阅读: