0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Graph Engineering 徹底解説 ― AIエージェントの「仕事の設計図」を明示グラフで組み立てる

0
Posted at

この記事の対象:AIエージェントを「単発のプロンプト」や「1本のループ」ではなく、明示的な実行グラフ(Execution Graph) として設計したい人。
前提知識:LLM/プロンプトエンジニアリングの基礎。LangGraph などのコードが少し読めると理解が深まります。
重要な注意:本稿の Graph Engineering は Knowledge Graph Engineering / GraphRAG とは別物 です。後述の「用語の境界」で厳密に区別します。


0. TL;DR(3行まとめ)

  • Graph Engineering とは、Agent・決定的関数・Evaluator・人間承認を Node として配置し、型付きの状態(State)を運ぶ 検査可能な Edge で接続して、実行順序・分岐・並列・合流・権限・予算・回復を「契約」として設計する方法論。
  • 進化の系譜は Prompt → Context → Loop → Graph。「1体の賢いAI」ではなく「AIたちの組織と業務フロー」を設計する層に主戦場が移った、という位置づけです。
  • グラフは万能ではありません。「複雑タスク × 高い並列性」 のときに真価を発揮し、単純な処理には従来のループで十分。Decision Matrix で選び分けます。

1. Graph Engineering とは何か

1-1. ひとことで言うと「仕事の設計図」

AIに「あるテーマを調査 → 記事を書く → レビューする」という仕事をさせるとします。これを 点(Node)線(Edge) で表すと次のようになります。

  • **Node(ノード)**=「調査」「記事作成」「レビュー」といった 処理の単位
  • **Edge(エッジ)**=「終わったら次はどこへ進むか」という 接続関係・遷移条件

ここまでは普通のワークフローと同じです。Graph が面白くなるのは、分岐(レビューで問題があれば戻す)並列(市場調査・競合調査・顧客調査を同時に走らせ、揃ったら合流) を明示的に書ける点です12

つまり Graph Engineering は、「誰が何をして、終わったらどこへ進み、どんな条件で分岐し、どこで合流し、失敗したらどこへ戻り、どこで人間を挟むか」 という“仕事の構造そのもの”を設計・実装・改善する考え方です1

1-2. なぜ今、注目されているのか

きっかけは 2026年7月18日、開発者 Peter Steinberger(@steipete の一言でした。

"Are we still talking loops or did we shift to graphs yet?"(まだループの話をしてる? それとももうグラフに移った?)

この投稿は数時間で数十万〜数百万ビューに達し、「Loop Engineering の時代の次は Graph Engineering」という議論が一気に広がりました34

背景には「1体の優秀なAIに全部任せる」だけでは、長時間タスクの管理・再開・監査が難しくなる、という実務上の課題があります。判断・状態・副作用が1つのループに集中すると、破綻しやすいのです2


2. 進化の系譜:Prompt → Context → Loop → Graph

時期 パラダイム 制御対象 主要プリミティブ 十分な場面
2023 Prompt Engineering 1回のモデル応答 指示テキスト 静的・一発勝負のタスク
2025半ば Context Engineering コンテキストウィンドウの中身 RAG・system prompt・few-shot 入力の質が結果を決める場面
2026/6 Loop Engineering 1体のエージェントの行動サイクル Plan → Act → Observe → Retry 単一ドメインの自律タスク
2026/7 Graph Engineering 複数エージェントの“組織” Node(agent)+ Edge(依存関係) 横断的・並列・進化するワーク

出典:43

重要な誤解を1つ潰しておきます。 これは「Prompt の次が Loop、その次が Graph」という単純な置き換えではありません。それぞれ別レイヤーの設計技術で、組み合わせて使うものです1

  • 「記事を書く」という Node の中身には優れた Prompt Engineering が必要。
  • 「作成 → レビュー → 修正 → 再レビュー」の部分では Loop Engineering が使われる。
  • それらを含む「調査 → 戦略 → 作成 → レビュー → 承認 → 公開」の全体を設計するのが Graph Engineering1

3. 用語の境界:Graph Engineering ≠ GraphRAG

ここが最重要ポイントです。混同されやすい4語を厳密に分けます24

用語 意味 主目的
Graph Engineering Agent・決定的関数・Evaluator・人間承認を Node として構成し、型付き状態と検査可能な遷移で接続する 実行オーケストレーションの設計活動 実行順序・制御
Execution Graph 1回の仕事について「何が実行可能で・何に依存し・どの状態を受け渡すか」を表す 制御構造 制御フローの表現
Knowledge Graph 実世界のエンティティと関係を表す 知識構造 知識表現(実行制御が目的ではない)
GraphRAG 知識グラフやグラフ由来の構造を 検索・生成に利用 する手法 検索拡張生成
Graph Database グラフ構造の保存・問い合わせを担う データ基盤(Neo4j 等) 永続化・クエリ

要点:GraphRAG は「知識の探索」、Graph Engineering は「仕事の実行フローの設計」。両者は役割が異なります。ただし Graph Engineering の1ノードとして GraphRAG(検索)を組み込むことはできます4


4. 3つのコア構成要素

4-1. Node(ノード)= 処理単位

従来のワークフローの Node は「API呼び出し」「DB保存」「条件判定」など決められた処理が中心でした。Graph Engineering の Node は、その中身が Agent/LLM/Tool/人間の承認 に置き換わり得るのが本質的な違いです1単一責務(1ノード=1つの仕事)で設計するのが原則です2

4-2. Typed Edge(型付きエッジ)= 遷移の契約

Edge は単なる矢印ではありません。入力・出力スキーマ、遷移条件、許可される副作用、失敗時の扱いを含む「境界契約」として扱います2

知識グラフ側でも、エッジに「型」を与えることが多段推論の精度を大きく左右します。untyped edge("A は B に関連") は1ビットの情報しか持ちませんが、typed edge は「関係の意味」までエージェントに伝えます4

実務で効く 6つの Edge 型4

Edge 型 意味 ユースケース
SUPERSEDES これがあれを置き換える ADR-007 supersedes ADR-003 どの決定が最新かを判断
DEPENDS_ON これはあれを必要とする auth depends_on JWT 何が壊れるかを追跡
DECIDED_BY これはこの理由で選ばれた API設計 decided_by RFC-004 設計判断の根拠をたどる
CAUSED これがあれを生んだ PR#142 caused Bug#42 因果連鎖をデバッグ
IMPLEMENTS これがあれを実現する Service B implements Interface A 契約を満たす実装を特定
REFERENCES これがあれに言及する Docs refs ADR-001 決定が現れる文脈を発見

テストでは、typed relationship を加えるだけで複雑なコードレビュータスクの多段推論精度が +18% 改善したという報告があります4

4-3. State(状態)= チェックポイント可能な共有メモリ

グラフを流れるデータの形を typed state schema(TypedDict / Pydantic) で定義します。各キーには reducer(例:Annotated[list, operator.add] で追記) を付けられ、複数ノードからの書き込みのマージ方法を宣言的に決められます5

State を checkpointer(SQLite / PostgreSQL / in-memory) に永続化することで、途中で一時停止 → クラッシュから再開 → 人間の承認待ちで止める といった長時間・耐障害の実行が可能になります67


5. 代表的な Graph トポロジ(設計パターン)

Andrew Ng が整理した4つの設計パターン(Reflection・Tool Use・Planning・Multi-Agent Collaboration)は、グラフにマッピングして考えると実装に落としやすくなります8。以下は実運用でよく使う代表トポロジです。

5-1. Sequential(逐次)

決定論的な順序で1つずつ処理。最もシンプル9.

5-2. Concurrent / Parallel Review(並列レビュー)

3つのレビューを同時に走らせ、Synthesizer で集約。ループが「順番待ち」なのに対し、グラフは壁時計時間を圧縮します(後述のコード参照)4.

5-3. Orchestrator-Worker(オーケストレーター+ワーカー)

中央のオーケストレーターがタスクを分解し、ワーカーへ委任。Anthropic が composable pattern として整理したものの1つ210.

5-4. Hierarchical(階層)/ Handoff(委譲)/ Group Chat / Magentic

Microsoft Agent Framework は、次の組み込みマルチエージェント・オーケストレーションを提供します11

パターン 説明
Sequential 定義した順にエージェントを実行
Concurrent エージェントを並列実行
Handoff 文脈に応じて制御を相互に受け渡し
Group Chat 共有会話の中で協調
Magentic マネージャーが専門エージェントを動的に統括

AutoGen の GraphFlow は、有向グラフ(DAG)で「順次・並列・条件・ループ」を厳密に制御でき、Anthropic の orchestrator-worker を忠実に再現できます12

5-5. Blackboard / Event-Driven(ブラックボード/イベント駆動)

共有知識ベースへ非同期に書き込み合う協調や、pub/sub でエージェントを反応的コンシューマとして動かす方式もあります(EDOW / EDHA / EDB / EDMB など)10.


6. Loop vs Graph をコードで見る

6-1. 旧来のループ(逐次)

# Sequential: 各レビューが前のレビューの完了を待つ
def agent_loop(task):
    plan = planner(task)
    while not done:
        code = worker(plan)
        sec = security_reviewer(code)   # 待つ…
        log = logic_reviewer(code)      # さらに待つ…
        sty = style_reviewer(code)      # さらに待つ…
        synthesis = synthesize([sec, log, sty])
        if synthesis["pass"]:
            return synthesis["output"]
        plan = replan(plan, synthesis["feedback"])

6-2. 新しいグラフ(並列)

import asyncio

# Parallel: 3つのレビューを同時に実行
async def agent_graph(task):
    plan = await planner(task)
    while True:
        code = await worker(plan)
        # 3レビューを PARALLEL 実行 → 壁時計時間が約1/3
        sec, log, sty = await asyncio.gather(
            security_reviewer(code),
            logic_reviewer(code),
            style_reviewer(code),
        )
        synthesis = synthesize([sec, log, sty])
        if synthesis["pass"]:
            return synthesis["output"]
        plan = await replan(plan, synthesis["feedback"])

asyncio.gather() が3つのレビューを一斉に発火するため、同じコードレビュータスクで並列ワークフローは逐次リトライループより約3倍速く完了したという実測が報告されています4

6-3. LangGraph での最小形

from typing import Annotated
from typing_extensions import TypedDict
import operator
from langgraph.graph import StateGraph, START, END

class State(TypedDict):
    messages: Annotated[list, operator.add]  # reducer で追記マージ

def worker(state: State) -> State:
    ...  # LLM / Tool 呼び出し
    return {"messages": [result]}

builder = StateGraph(State)
builder.add_node("worker", worker)
builder.add_edge(START, "worker")
builder.add_conditional_edges("worker", route_fn, {"retry": "worker", "done": END})
graph = builder.compile(checkpointer=checkpointer)  # 永続化で再開/HITL可能

LangGraph は Google の Pregel や Apache Beam に着想を得た StateGraph → compile()(Pregel ランタイム) という構造で、ノード=計算ステップ、エッジ=制御フロー、を明示します。2026年4月時点で GitHub 12.6万スター超と、本番エージェントで最も広く使われている OSS の1つです5713.


7. 実践:5ステージ導入メソドロジ

チーム導入向けの反復可能な手順です。どのステージも飛ばさないのがコツ4

Stage 名前 やること アウトプット
1 AUDIT 現状の全ループを棚卸し(平均ステップ数・リトライ箇所・壁時計時間・トークンコスト) ボトルネック注釈付きループ台帳
2 IDENTIFY 互いに独立で並列化できるステップを特定 インパクト順の並列化候補リスト
3 DESIGN 3〜5ノードで最小トポロジを紙に描く(Planner→Worker→2並列Reviewer→Synthesizer→Pass/Fail) グラフ・トポロジ図
4 IMPLEMENT 実装して計測(壁時計時間・成功1件あたりコスト) ベースライン計測付きの動くグラフ
5 TYPE typed edge(supersedes/depends_on/…)を追加 多段推論可能な typed knowledge graph

Stage 5 は最も飛ばされがちですが、最大の精度改善が眠っている場所です4


8. いつグラフを使うか:Decision Matrix

すべてのタスクにグラフが要るわけではありません。2×2で判断します4

低並列 高並列
単純タスク 単一ループ(過剰設計しない)例:「リストをソートする関数」 並列ループ 例:「独立した10件のPRをレビュー」
複雑タスク ステージドループ(チェックポイント付き逐次) 例:「マイルストーンごとにレビューして機能を作る」 Graph Engineering 例:「auth・DBスキーマ・API契約に触れる重要PRのレビュー」

経験則独立した検証ステップが3つ以上 かつ 複雑な分岐ルーティングがあるならグラフ。そうでなければループで十分。

Microsoft も「必要最小の複雑さから始めよ」と明言しています。Direct model call → Single agent with tools → Multi-agent orchestration の順に、信頼して要件を満たせる最も単純な段を選ぶべき、という指針です9


9. コスト vs 性能:誰も語らないトレードオフ

グラフは速いが、必ずしも安くはありません4

逐次ループ 並列グラフ
壁時計時間 高(3サイクル逐次) 低(1並列サイクル)
トークンコスト 中(単一コンテキスト、1呼び出しずつ) 高(複数エージェント同時稼働)
得意 単純タスク・低通過率(安いリトライ) 複雑タスク・コードレビュー・多段推論
失敗モード 無限リトライ・コンテキスト肥大 全レビュー失敗時のコスト爆発

損益分岐点:1サイクルあたりの通過率(pass rate)が 約50%超でグラフがコスト面でも有利になりやすい。通過率30%だと、グラフは各サイクルが3倍のトークンを消費するため不利になり得ます。

だから見るべき指標は壁時計時間だけでなく 「成功1件あたりのコスト(cost per successful completion)」 です4


10. 検索の観点:Vector Search vs Graph Traversal

GraphRAG-Bench(arXiv 2506.05690)の独立評価が示す傾向4

  • グラフが勝つ:多段推論(53.4% vs ベクトルのみ 42.9%)、時系列推論、コーパス横断の統合
  • グラフが負ける:単純なファクト検索、大量検索(インデックスコスト)、エンティティ解決が低精度なとき(85%/hop なら 5hop で信頼度44%

実務ルール:単純検索はベクトル、複雑な多段推論はグラフ探索。「ベクトル検索は“質問に似たもの”を見つけ、グラフは“答えにつながっているもの”を見つける」という言い回しが的確です4


11. よくある落とし穴(Pitfalls)

  1. グラフの過剰設計:まず3〜5ノードから。20ノード・50エッジは線形ループよりデバッグが難しい4
  2. エンティティ解決の軽視:hop精度が低いと多段探索の信頼度が急落する4
  3. untyped edge の使用:「related to」は推論に使えない。型が知識そのもの4
  4. フィードバックのコストを忘れる:並列レビューで全員失敗→再ディスパッチはトークンを食う4
  5. 時間軸の無視:事実は失効する。エッジの作成時刻・最終検証時刻を持たせる(Zep Graphiti の bi-temporal「facts expire, not die」)4
  6. 中央オーケストレーターのボトルネック化会話履歴の中だけに業務状態を隠すこと。状態は検査・回復可能な形で外に出す10

運用のベストプラクティス(要約)1410

  • State はコンパクトに構造化し、成果物は URI 参照+来歴(provenance)で保持。
  • Node は冪等(idempotent)&副作用安全に。dedupe キーとリトライメタデータを State に。
  • グラフとスキーマにバージョンを付け、後方互換のチェックポイント移行を用意。
  • 明示的な終了条件とループガード(最大ステップ数)を必ず設定。
  • ノード単位の KPI(レイテンシ・トークン・成功/フォールバック)を計測し、予算を強制

12. FAQ

Q. Graph Engineering は GraphRAG と同じ?
A. いいえ。GraphRAG は検索拡張の一部。Graph Engineering はエージェントメモリグラフ(Graphiti)やマルチエージェント・オーケストレーション(LangGraph、AutoGen GraphFlow など)まで含む、実行フローの設計です4

Q. 必ず複数エージェントが必要?
A. 不要です。単一 Agent+決定的関数+Evaluator+人間の組み合わせでも立派なグラフ。重要なのはAIの“人数”ではなく仕事の構造です21

Q. Graph という考え方は新しい?
A. 概念自体は古くからある(ワークフロー・状態遷移・DAG・依存関係・イベント駆動)。新しいのは Node の中身が Agent/LLM に変わった点です12

Q. どのフレームワークを使えばいい?
A. 低レベルで細かく制御したいなら LangGraph、Microsoft/Azure エコシステムなら Agent Framework / AutoGen(GraphFlow)、役割ベースなら CrewAI 等。ワークフロー複雑性への“適合”で選ぶのが正解で、単純な用途に無理にグラフを使わないこと611


13. まとめ

  • Graph Engineering は「AIが働く組織・業務フローそのものを設計する技術」。Prompt/Loop を置き換えるのではなく、内包して束ねる上位レイヤー。
  • 核は Node(単一責務)+ Typed Edge(境界契約)+ Checkpointed State
  • 導入は AUDIT → IDENTIFY → DESIGN → IMPLEMENT → TYPE の5段階で。
  • 選定は Decision Matrix、評価は 成功1件あたりコスト複雑 × 高並列のときにグラフが輝く。

「どのモデルが一番賢いか?」以上に、「それらをどう組み合わせ、どう仕事を流すか?」が問われる時代。その設計思想が Graph Engineering です1


参考文献・出典

  1. 藤井晃司「Graph Engineeringとは? AIエージェントの「仕事の設計図」を初心者向けに簡単解説」note, 2026-08-18. https://note.com/fujikou/n/n6fb81b827e24 2 3 4 5 6 7 8

  2. suwash「Graph Engineering入門:AIエージェントのループを明示グラフへ変える」Zenn, 2026-07-27. https://zenn.dev/suwash/articles/graph-engineering_20260727 2 3 4 5 6 7 8

  3. Yash Thakker "Graph Engineering: After Loops, This Is How You Wire Multi-Agent Orgs (2026)" explainx.ai, 2026-07-18. https://www.explainx.ai/blog/graph-engineering-ai-agents-multi-agent-organizations-2026 2

  4. "From Loops to Graphs: The Next Paradigm in AI Agent Engineering" Flowtivity, 2026-07-25. https://flowtivity.ai/blog/graph-engineering-2026-guide-openclaw-codex/ 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

  5. "LangGraph: Build Stateful AI Agents with Graph-Based Orchestration" PyShine, 2026-05-05. https://pyshine.com/LangGraph-Stateful-AI-Agent-Orchestration-Framework/ 2

  6. Pearson et al. "Graph-Based Agentic AI with LangGraph: Workflow Pathways for Long-Running Stateful Business Processes" arXiv, 2026-07-21. https://arxiv.org/html/2607.19297v1 2

  7. "LangGraph Tutorial 2026: Build Stateful AI Agents with Graphs" RockB, 2026-04-19. https://baeseokjae.github.io/posts/langgraph-tutorial-2026/ 2

  8. Shirley "Andrew Ng's Agentic Design Patterns, Mapped to Graphs" AI Builder Club, 2026-07-29. https://www.aibuilderclub.com/blog/andrew-ng-loop-to-graph-engineering

  9. "AI agent orchestration patterns" Microsoft Azure Architecture Center, 2026-02-12. https://learn.microsoft.com/en-us/azure/architecture/ai-ml/guide/ai-agent-design-patterns 2

  10. "Workflow Orchestration" Agentic Design. https://agentic-design.ai/patterns/workflow-orchestration 2 3 4

  11. "Workflow orchestrations in Agent Framework" Microsoft Learn, 2026-03-30. https://learn.microsoft.com/en-us/agent-framework/workflows/orchestrations/ 2

  12. 社内資料「202507_MultiAgentHandsOn」(AutoGen GraphFlow / Magentic-One / Handoff などのパターン整理)

  13. "LangGraph: Agent Orchestration Framework for Reliable AI Agents" LangChain. https://www.langchain.com/langgraph

  14. "Stateful Graph Workflows" Agentic Design. https://agentic-design.ai/patterns/workflow-orchestration/stateful-graph-workflows

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?