← Dual-Axis Framework · Execution topology aggregation
Route — the column
Execution topology 2 of 6 · five patterns across the cognitive function axisWhy this column exists
Six of the seven cognitive functions have a Route variant. That is not a coincidence — it is the dual-axis framework’s strongest empirical claim. Conditional dispatch is the most reused structural primitive in agent architecture. Whatever the agent is trying to do — assemble context, look up memory, pick a model, choose a tool, recall a skill, decide whether to ask for permission — the wiring underneath looks the same: a classifier inspects the input, a rule maps the input to a destination, dispatch happens.
The interest of this column is not the variation in how dispatch happens (which is minimal) but the variation in what dispatch achieves (which is enormous). The same wiring, plugged into six different cognitive contexts, yields six different patterns with six different failure modes. This is what “the axes are orthogonal” means in practice: same topology, different purpose, fundamentally different system.
The five Route patterns — one column, five cognitive functions
Context Triage
The classifier is a priority assignment rule (P0/P1/P2/P3); the destinations are different context budget slots; the dispatch is “what enters the model right now.” The dispatch happens before any reasoning. Failure mode is priority inflation; discipline is hard schemas with low cardinality.
Hierarchical Retention
The classifier is the query type; the destinations are working / short-term / long-term / procedural memory tiers; the dispatch is “which tier to query.” Distinct from RAG because RAG retrieves from one undifferentiated store; this pattern chooses the store first. Failure mode is tier confusion; discipline is hard tier boundaries enforced outside the model.
Complexity-Based Routing
The classifier estimates question complexity; the destinations are different model tiers (Haiku for simple, Sonnet for medium, Opus for hard); the dispatch is “which model handles this.” Single highest-leverage cost optimisation in production agents. Failure mode is misclassified hard questions sent to small models; discipline is fallback escalation when the small model expresses uncertainty.
Tool Dispatch
The classifier is the model’s tool-call output; the destinations are typed tool handlers; the dispatch is “which side effect happens.” The most visible Route pattern in production — every Claude Code action ultimately routes through a Tool Dispatch. Failure mode is tool overload (too many tools confuse the model); discipline is minimal tool sets.
Skill Package
The classifier is task type; the destinations are pre-built skill packages (compact SOPs derived from successful past flows); the dispatch is “which playbook to load.” This pattern is what turns one-off reflections into reusable agent capabilities. Failure mode is package drift (skills don’t keep up with the underlying domain); discipline is explicit skill versioning + retirement.
Approval Gate
The classifier is the action category (read, write, delete); the destinations are auto-execute / confirm-then-execute / escalate-to-human; the dispatch is “does this action need a human in the loop.” The pattern that lets authority scale incrementally without scaling risk linearly. Failure mode is rubber-stamping; discipline is rate-limiting at the source.
What stays constant across the column
Every Route-shaped pattern shares four engineering invariants:
- The classifier is a separate concern from the destinations. Whether the classifier is the LLM, a deterministic rule, or a small model, it is its own component. This separation is what makes any of these patterns auditable and reversible.
- The destination set is closed. Three priority tiers, four memory layers, two model sizes, ten tools, three authority modes — the destinations are enumerated in advance. Route does not invent destinations; it picks among existing ones.
- The route decision is logged. Every dispatch carries a record: which input, which classifier verdict, which destination, what time. Without the log, the pattern degrades into a black box.
- The route rule is owned outside the model. The model may propose the dispatch; engineering or policy decides whether the model’s proposal is followed. This is what distinguishes Route patterns from end-to-end neural routing.
What varies across the column — the orthogonality demonstration
Even though every Route pattern shares the four invariants above, the patterns are not interchangeable. Each is shaped by the cognitive function it serves:
- Context Triage runs before reasoning; failure means the wrong information enters.
- Hierarchical Retention runs during reasoning; failure means the wrong tier is queried.
- Complexity-Based Routing runs at the model call; failure means the wrong model is used.
- Tool Dispatch runs after reasoning; failure means the wrong side effect.
- Skill Package runs at task start; failure means the wrong playbook.
- Approval Gate runs before consequential action; failure means unsupervised execution.
Same primitive, six different temporal positions in the agent loop, six different consequences when wrong. You cannot substitute one for another — that is the orthogonality claim in operational form.
For a team using the dual-axis framework as a checklist: count which Route cells you have implemented and which you have not. A serious production agent typically needs at least Context Triage + Tool Dispatch + Approval Gate (three of six). A long-running agent adds Hierarchical Retention. A cost-sensitive deployment adds Complexity-Based Routing. A team building reusable agent capability adds Skill Package. Missing cells are missing capabilities, not optional polish.
Cross-cutting reading on Route as a primitive
- Building Effective Agents — Anthropic The original taxonomy that names “Routing” as one of five workflow patterns. The dual-axis framework expands the column to six distinct Route-cell patterns.
- A Survey on LLM Router Design for Cost-Effective Inference Catalogues the design space of LLM routing — from learned classifiers to rule-based dispatch. Direct ancestor reading for Complexity-Based Routing.
- RouteLLM: Learning to Route LLMs with Preference Data The paper that established preference-trained routing as a viable production technique. Worth reading even if you implement the rule-based variant.
- Conditional Edges in LangGraph — LangChain Framework-side implementation of Route as a first-class graph primitive. Reading this shows how every Route pattern lowers onto the same graph primitive.
Where this column is developed
- Manning book — Designing AI Agents, Chapter 2 §2.3 (Orthogonality of the two axes) plus per-chapter coverage of each Route-cell pattern.
- Paper — Huang & Zhou (2026), §3 (orthogonality argument) and the worked Route-column examples in §4.