← 返回概念解读

Concept Fable精修版

有向无环图

Directed Acyclic Graph, DAG · Orchestration

先读故事。这里不急着给定义,先让问题自己长出来。

寓言故事

修桥队把工序画成了只向前走的箭头图

修桥队过去靠老师傅口头安排。先备木,再立桩,再铺板,再验收。桥小的时候,大家凭经验就能接上。后来工程变大,许多工序可以并行,许多工序又必须等待前一步。油漆不能早于铺板,验收不能早于承重测试。工头先写了一张长清单。清单从上到下看着整齐,却把能并行的事排成串,也没有说明每一步依赖谁。

有次油漆队提前进场,发现桥板还没铺完;铺板队又等不到铁钉,因为采购被排在太后面。全队都忙,却互相卡住。

书吏画了一张箭头图。每个圆点是一道工序,箭头表示必须先完成什么;图里不允许箭头绕回去,否则工程会永远等自己。

工头立刻看出哪些活能并行,哪些是关键路径,哪一步延误会拖住全桥。调度不再靠喊话,而靠依赖关系。

后来,修桥队把这张图用于流水线、数据处理和自动化任务。图没有替他们干活,却让执行顺序和等待关系变得可计算。

工头明白,复杂流程最怕含混的先后关系;一张无环依赖图能让整套装置知道什么可以开始,什么必须等待。

箭头图还揭穿了一个老误会:忙不等于快。采购队早早跑出去并没有用,因为没有尺寸单就买不了钉;油漆队守在桥边也没有用,因为承重未测就不能刷。

后来书吏每天早晨只问三件事:哪些圆点已经完成,哪些箭头已经满足,哪条路拖住了全桥。工头少了吼叫,多了判断;复杂工程终于有了可以推演的骨架。只要箭头清楚,哪怕队伍换人,新人也能看懂工程为什么走到这里。图上的安静箭头,比工地上的喊声更可靠。等谁、先谁、卡谁,从此不靠记性。也不靠运气。

揭示

这个故事讲的是:有向无环图

Directed Acyclic Graph(DAG,有向无环图)是一种由节点和有向边组成且不存在环的图结构,常用于表示任务、数据管道或工作流的依赖关系。Airflow、构建系统、ETL、Agent 编排和部分工作流引擎都用 DAG 来决定执行顺序、并行度、关键路径和失败影响。

它重要的地方在于:它不只是一个术语,而是在真实 AI / Agent 系统里会反复出现的结构性问题。理解它,才能判断什么时候该加模型,什么时候该改流程,什么时候该补治理。

隐喻映射

  • 修桥工序:工作流任务或 pipeline steps
  • 长清单:线性流程描述
  • 提前油漆和缺铁钉:依赖关系不清
  • 圆点:DAG nodes
  • 箭头:有向依赖边
  • 不允许绕回:acyclic,无环
  • 关键路径:调度和延迟分析
  • 什么可开始什么等待:DAG 在编排中的价值

Soloharness 判断

这个概念的实战价值,是帮你把“看起来聪明的 AI 功能”拆成可交付、可验收、可治理的工作单元。

workflowpipelineAirflow