Awesome Graph Engineering · Open field guide
Engineer the organization, not just the agent.
A curated field guide to graph-structured multi-agent systems — programmable AI-agent organizations with explicit roles, topologies, handoffs, work graphs, verification, reliability, and observability.
Here, graph nodes are AI agents — not data entities. Looking for graph databases, GNNs, knowledge graphs, or GraphRAG? See the boundary guide.
Focus the graph, then use arrow keys to orbit, plus or minus to zoom, and zero to reset. Hold Alt while scrolling to zoom without trapping normal page scrolling.
Working definition · emerging practice
Graph engineering, in 30 seconds
Graph engineering is the practice of specifying, executing, observing, and evolving a graph-structured agent system—its roles and runtime instances, connecting contracts, shared state and artifacts, and the evidence by which collective behavior is judged. Each agent may contain a local loop; tests, audit loops, humans, and real-world anchors may be non-agent controls. The graph must materially constrain execution and remain inspectable.
- 01
Node
A separately accountable agent role or runtime instance with bounded authority.
- 02
Edge
A designed dependency: what crosses, in what shape, under which condition.
- 03
Org graph
The stable topology of roles, ownership, and standing relationships.
- 04
Work graph
The task-specific structure created, routed, and revised for one objective.
- 05
Gate
An independent test, audit, human decision, or real-world anchor that controls an edge.
The scope is deliberately narrow because the term is emerging and overloaded. It describes a practical engineering layer across agent orchestration, multi-agent systems, and durable workflows—not an industry standard or a claim of invention.
Read the full definition and scopeThe core model
Two graphs. One system.
A stable organization of agents executes ephemeral work. These are complementary analytical views—not proposed universal standards or necessarily separate runtime objects.
Use the Org graph and Work graph buttons to change the model. Focus the graph, then use arrow keys to orbit, plus or minus to zoom, and zero to reset.
A practical taxonomy
Nine layers from roles to evolution
Start with roles, topology, and handoffs. Add state, gates, and operations only as real failure modes earn the complexity.
Before you add a second agent
Does this job need a graph?
Graphs add coordination cost, latency, and new failure modes. They earn that overhead only when at least one condition is real.
- 01
Parallelism
Can meaningful work proceed concurrently without constant coordination?
- 02
Isolation
Must contexts, permissions, or failure domains remain separated?
- 03
Specialization
Do distinct skills, tools, models, or durable contexts pay for separate roles?
- 04
Verification
Must a producer’s output pass an independent evidence gate before it advances?
Keep the free context-sharing and lower coordination cost of one agent.
Start minimal, define the edges, and require evidence before you evolve.
Guided entry points
Start where you are
Choose the question closest to the one blocking you now.
Decide whether a second role earns its place and draw the first edge.
→ 02ArchitectWhich topology and framework?Match the shape of the graph to the shape of the task.
→ 03OperatorMake the graph survivable.Design retries, evidence gates, budgets, tracing, and escalation.
→ 04ResearcherWhat does the evidence say?Read the foundations, benchmarks, topology studies, and critiques.
→Searchable resource directory
The graph engineering atlas
Search the field by design layer, resource type, and source/evidence label. Every result maps back to the README and open dataset.
Loading resources…
No resources match those filters.
Try a broader term or clear the active filters.
Open data
Use the field guide as data.
Every resource ships as CSV and JSONL, mapped to a design layer and checked against the README.
import pandas as pd
url = "https://raw.githubusercontent.com/ChaoYue0307/awesome-graph-engineering/main/data/resources.csv"
resources = pd.read_csv(url)
resources.query("layer == 'Gates'").head()
License
Repository-created metadata, schema, summaries, documentation, code, and visual assets are dedicated to the public domain under CC0 1.0 Universal.
Linked papers, software, names, logos, and other third-party materials retain their own rights and licenses. CC0 does not waive trademark or patent rights and provides the work without warranties. Citation is appreciated for scholarly traceability but is not required by CC0.
Read the full license