refactor(dispatcher): T1.1 退役 graph.go —— 编排引擎收成单一 compose
compose 已默认数天、HITL/多智能体/评测全在其上真实跑过,soak 充分。删掉自研拓扑 解释器这第二套引擎,消灭"双实现 drift"税: - 删 runGraph(graph.go 的自研解释器)+ composeEnabled/EINO_COMPOSE 逃生舱开关 + runConversation(仅 runGraph 用的死代码)。 - executeGraph 直接走 runComposeGraph;compose 编译失败兜底改单轮对话(不再回退 graph.go);清掉仅 runGraph 用的 import(otel attribute/trace/otelx)。 - 保留 board / 各节点执行器(retriever/tool/agent/branch/approval/map/render/aggregate) / 工具函数 —— 它们是 compose 各节点 lambda 复用的,非 graph.go 专属。 - 测试:8 处 runGraph→runComposeGraph;等价测试(对照两引擎)转为 compose 正确性测试; runConversation 的开关测试转为「无 ChatModel 降级 runAgent」。 go test ./... 全绿 + vet 干净;冒烟 简单 agent/分支图 跑通。此后每个编排改动不再两边 对齐,成本减半。DEPTH_ROADMAP T1.1 ✅。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -26,13 +26,10 @@ func registerFlowMerge() {
|
||||
})
|
||||
}
|
||||
|
||||
// executeGraph 按灰度开关选编排实现:compose.Graph(Phase C)或自研 graph.go(默认/权威)。
|
||||
// 返回 (成稿, 检索来源, error);来源供忠实度评测,两条路径都回传(compose 已对齐 graph.go)。
|
||||
// executeGraph 把任务 DSL 图编译为 Eino compose.Graph 并执行(唯一编排引擎;自研解释器 graph.go
|
||||
// 的 runGraph 已退役)。返回 (成稿, 检索来源, error);来源供忠实度评测。
|
||||
func (o *Orchestrator) executeGraph(ctx context.Context, t *contract.Task, tr *execTracer) (string, []string, error) {
|
||||
if composeEnabled() {
|
||||
return o.runComposeGraph(ctx, t, tr)
|
||||
}
|
||||
return o.runGraph(ctx, t, tr)
|
||||
return o.runComposeGraph(ctx, t, tr)
|
||||
}
|
||||
|
||||
// runComposeGraph 把 DSL 图编译为 Eino compose.Graph 并执行(Phase C 编排归一):
|
||||
@@ -212,8 +209,10 @@ func (o *Orchestrator) execComposeGraph(ctx context.Context, t *contract.Task, t
|
||||
}
|
||||
r, cerr := g.Compile(ctx, compileOpts...)
|
||||
if cerr != nil {
|
||||
tr.info("task", "system", "compose 编译失败", "退回自研 graph.go:"+cerr.Error())
|
||||
return o.runGraph(ctx, t, tr) // 降级回权威实现(带 refs / 终态)
|
||||
// 编译失败(罕见)→ 降级为单轮对话兜底(自研 graph.go 已退役,不再回退)。
|
||||
tr.info("task", "system", "compose 编译失败", "降级单轮对话:"+cerr.Error())
|
||||
o.runComposeConversation(ctx, t.ID, b, plan.System, tr, "agent")
|
||||
return b.answer, refsOf(b), b.fatalErr
|
||||
}
|
||||
// checkpoint id = task id:审批中断时 compose 据此把整图状态(含 board)落进 store。
|
||||
var invokeOpts []compose.Option
|
||||
|
||||
Reference in New Issue
Block a user