CH NEO-ZÜRICH EDITION
WEATHER · HAZE 24°C
BLEND OF THE DAY · 07/ROGUE
EST. 2027
THE AEC CYBER MORNING NEWS

PAZ Kaffi

DESIGN · DEMOLITION · CAFFEINE · DISPATCH
EDITION 0815 · 15 August 2026
BROADCAST 04:42 CET
2,400 BROADSHEETS PRINTED
READ TIME · 47 MIN
Graph engineering for the BIM desk: build your clash-check as a state machine
ACADEMY
FRAME · 07:00
15-08-2026

Graph engineering for the BIM desk: build your clash-check as a state machine

LangGraph turns clash-detection into an auditable state machine. A PAZ Academy hands-on tutorial: build a cyclic clash-check graph, route severity, keep humans in the loop.

“Graph engineering” is the term that surfaced this weekend, and if you have been ignoring the X AI content factory you can be forgiven for not noticing. It joins prompt engineering, context engineering, harness engineering and loop engineering on the shelf of words invented because getting LLMs to do reliable work is genuinely hard. LangChain used the moment to publish a level-headed retrospective — 3 Years of Graph Engineering with LangGraph — and buried inside the buzzword defence is a tool worth an architect’s afternoon.

The claim is not subtle: LangGraph is downloaded 65 million-plus times a month, and the reason it beat the pile of competing agent frameworks is the balance it strikes between deterministic paths and agentic steps. That balance is the whole story for anyone who has watched a nice render meet a bricklayer.

←TODAY: LangGraph ships as an open-source Python/JS state-machine framework, 65M+ monthly installs, built to constrain where an LLM is allowed to improvise.
→3012: The offices that survived the agent decade were the ones who drew their workflows as graphs anyone could audit — not the ones who trusted one giant prompt to hold the whole project.
Fulcrum: A graph is only worth drawing because it shows you exactly where the model gets to choose and where the code must not.

The Tool: LangGraph is an open-source framework from LangChain (the team behind LangSmith and the wider LangChain library) for building agentic systems as graphs. Nodes do work — deterministic code, a single LLM call, a tool call, or a whole sub-agent with its own loop. Edges say what happens next, and some of those edges are conditional on the state. Think of it as a state machine you can read in your notepad, the same virtue that made IFC durable: the workflow is data, not a black box. For a computational-design studio, that is the difference between an agent you can defend in a Bauleitung meeting and one you cannot.

The mechanism underneath is older than the buzzword. As the LangChain post concedes, representing systems as graphs “isn’t new, we’ve been doing it for three years.” The genuinely useful correction they make is that production agent graphs are not DAGs. Real work needs cycles: retry the failed tool call, ask the user for the missing level datum, revise after validation, loop until you have enough context. They quote engineer David Khourshid’s clean one-liner — “a loop is just a directed, cyclic graph” — which is why loop engineering is not an alternative to graphs but the small version of one. LangChain is honest about the limits, too: for open-ended work like generic deep research they moved their own engine off predefined LangGraph workflows onto an agentic core loop, and note that GPT Researcher made the same swap to a Deep Agents harness. Graphs are for structure you can name up front, not for planning you cannot.

Now put that on your desk. A clash-detection pass is already a state machine you run by hand and hope: classify the clash, decide whether it is a real collision or a tolerance ghost, auto-nudge the easy ones, escalate the structural ones to a human, re-run, repeat until the count hits zero. That is a cyclic graph. Today you run it as a Tuesday of clicking through Solibri or the IFC round-trip in your Archicad–Speckle–Bonsai pipeline; tomorrow the boring 80% of it routes itself and only the load-bearing decisions land on your screen.

Setup:

python -m venv .venv && . .venv/bin/activate   # Windows: .venv\Scripts\activate
pip install -U langgraph
python - <<'PY'
from langgraph.graph import StateGraph, START, END
from typing import TypedDict

class S(TypedDict):
    clashes: int

def resolve(s): return {"clashes": max(s["clashes"] - 1, 0)}
def more(s):    return "resolve" if s["clashes"] > 0 else END

g = StateGraph(S)
g.add_node("resolve", resolve)
g.add_edge(START, "resolve")
g.add_conditional_edges("resolve", more)
print(g.compile().invoke({"clashes": 3}))
PY

First steps:

  1. Run the block above. You just built a cyclic graph — the resolve node calls itself through a conditional edge until the clash count reaches zero. That loop is the shape every honest agent workflow eventually needs.
  2. Swap the fake resolve for a real one: read your exported IFC with IfcOpenShell, count intersecting IfcWall / IfcBeam pairs, and let the state carry the count.
  3. Add a second node, triage, and route on severity — trivial overlaps get auto-flagged, structural ones get parked for a human. That is the deterministic-vs-agentic split LangGraph exists to make visible.

Atelier: For a Swiss studio, the value is not “an AI does clash detection.” It is that a graph makes the workflow auditable — you can point at the exact edge where the model is allowed to decide and the exact node where it is forbidden. That is the posture PAZ’s Atelier-Code keeps returning to: a tool earns its keyboard shortcut when it buys back bled time without hiding the judgement. Your Monday move: take one recurring multi-step review your team does by hand — clash triage, tender quantity extraction, LOIN completeness checks — sketch it on paper as nodes and edges, mark which two nodes truly need a human, and build only those in LangGraph this week. Not the whole office; one workflow.

Hack: Split each clash by severity and send it to code or to a person — never let the model decide the structural ones alone. LangGraph does this with a conditional edge that returns the name of the next node:

def route(s):
    return "auto_flag" if s["severity"] < 3 else "ask_engineer"

g.add_conditional_edges("triage", route,
                        {"auto_flag": "auto_flag", "ask_engineer": "ask_engineer"})

The whole discipline lives in that < 3. You are encoding your world-knowledge of the building into a path, exactly the way a good prompt encodes domain knowledge — the model reasons where it adds value, the code enforces the rest, and the engineer sees only the collisions that can hurt someone.

One caution, because the material carries it. Check Point researchers, previewing their Black Hat findings via The Register this month, argued that prompt injection “isn’t the bug — AI agent frameworks are,” after breaking several of the frameworks enterprises build on. A graph does not make that risk vanish; it makes it locatable. Every node that runs an autonomous agent is an attack surface, and the honest advantage of drawing the graph is that you can see which nodes touch external tools and gate them behind a deterministic approval edge — the compliance-before-external-action pattern LangChain names explicitly. Autodiscover has never once discovered anything safe on a Friday.

PAZ has covered this thread before — our note on Grasshopper’s two CAD-native copilots landed on the same fulcrum: once the machine understands the canvas, your job shifts from authorship to audit. Graph engineering is that shift written down. The parametric desk of the 2030s did not win by memorising component names or trusting one clever agent; it won by drawing the workflow so a junior — or a 25-year-old opening the file in 2051 — could still read where the decisions were made.

Learn-it:

Pick one review your desk repeats every week, draw it as nodes and edges before you write a line of code, and build only the two nodes that actually need a human. That is graph engineering, and it starts on paper.

FILED FROM
CO-SIGNERS
PAZ Academy
CONFIDENCE
HIGH
REPRINTS
© PAZ - PARAMETRIC ACADEMY ZURICH · ALL RIGHTS RESERVED

SOURCE ·

PAZ Kaffi · multidisciplinary editorial, led by PAZ Academy

⚑ REPORT AN ERROR · SUBMIT A CORRECTION
◂ BACK TO FRONT PAGE · PAZ KAFFI

© 2026 PAZ Academy.