← 概念解説に戻る

Concept Fable

有向非巡回グラフ

先に結論:Directed Acyclic Graph(DAG、有向非巡回グラフ)は、ノードと有向辺から成り閉路を持たないグラフ構造で、タスク、データパイプライン、ワークフローの依存関係を表すのによく使われる。Airflow、ビルドシステム、ETL、Agent オーケストレーション、一部のワークフローエンジンは DAG を使って実行順序、並列度、クリティカルパス、失敗の影響を決める。

Directed Acyclic Graph, DAG · オーケストレーション

まず物語を読む。ここでは急いで定義を示さず、まず問題そのものを立ち上がらせる。

寓話

橋の修復隊は工程を前へ進む矢印だけの図に描いた

橋の修理隊はかつて老師匠の口頭指示に頼っていた。まず木を備え、次に杭を立て、次に板を敷き、最後に検収する。橋が小さいうちは、皆経験でつなげられた。その後、工事が大きくなり、多くの工程は並行でき、多くの工程は前の段階を待たなければならなくなった。塗装は板敷きより早くできず、検収は耐荷重テストより早くできない。工頭はまず長いチェックリストを書いた。リストは上から下まで整って見えたが、並行できる事を直列に並べ、各段階が誰に依存するかも示していなかった。

ある時、塗装チームが前倒しで現場に入ったが、橋板がまだ敷き終わっていないことに気づいた。板敷きチームも鉄釘を待てなかった。なぜなら購買がずっと後ろに並べられていたからだ。全チームが忙しいのに、互いに足を引っ張り合っていた。

書吏は矢印の図を描いた。各円点は一工程で、矢印は先に何を完了すべきかを示す。図の中で矢印が戻ってはいけない。さもなければ工程は永遠に自分を待つことになる。

現場監督は即座に、どの作業が並行でき、どれがクリティカルパスで、どの工程の遅延が橋全体を遅らせるかを見抜いた。段取りはもはや声掛けではなく、依存関係によって決まる。

後に、橋の修理チームはこの図をパイプライン、データ処理、自動化タスクに用いた。図は彼らの代わりに働かなかったが、実行順序と待ち関係を計算可能にした。

工頭は理解した。複雑なプロセスで最も恐ろしいのは曖昧な前後関係である。無環依存グラフがあれば、装置全体が何を開始でき、何を待たねばならないかを知ることができる。

矢印図はもう一つの古い誤解も暴いた。忙しいことは速いことではない。調達隊が早く出発しても無駄だった。寸法票がなければ釘は買えないからだ。塗装隊が橋のそばで待っていても無駄だった。耐荷重が未測定では塗れないからだ。

その後、書吏は毎朝三つのことだけを尋ねるようになった。どの円点がすでに完了したか、どの矢印がすでに満たされたか、どの道が橋全体を遅らせているか。親方は怒鳴ることが減り、判断が増えた。複雑な工程についに推演できる骨格ができた。矢印さえ明確なら、たとえ隊伍が人を替えても、新人でも工程がなぜここまで来たのか理解できる。図の上の静かな矢印は、工事現場の叫び声より信頼できる。誰を待つか、誰が先か、誰が詰まっているか、もう記憶に頼らない。運にも頼らない。

明らかにする

この物語が語っているのは:有向非巡回グラフ

Directed Acyclic Graph(DAG、有向非巡回グラフ)は、ノードと有向辺から成り閉路を持たないグラフ構造で、タスク、データパイプライン、ワークフローの依存関係を表すのによく使われる。Airflow、ビルドシステム、ETL、Agent オーケストレーション、一部のワークフローエンジンは DAG を使って実行順序、並列度、クリティカルパス、失敗の影響を決める。

重要なのは、それが単なる用語ではなく、実際のAI/Agentシステムで繰り返し現れる構造的な問題だという点だ。これを理解して初めて、いつモデルを足すべきか、いつプロセスを変えるべきか、いつガバナンスを補うべきかを判断できる。

メタファーのマッピング

  • 橋の修理工程:ワークフロータスクまたはpipeline steps
  • 長いリスト:線形フローの記述
  • 早すぎる塗装と不足した鉄釘:依存関係の不明確さ
  • 円点:DAG nodes
  • 矢印:有向依存エッジ
  • 巻き戻しを許さない:acyclic、無環
  • クリティカルパス:スケジューリングと遅延分析
  • 何を開始でき何を待つか:オーケストレーションにおけるDAGの価値

Andy(任旭)判断

この概念の実戦的価値は、「賢く見えるAI機能」を納品可能、検収可能、ガバナンス可能な作業単位に分解する手助けをすることです。

workflowpipelineAirflow
京ICP备2026014272号