Routing Tables for Content and Data Agents
Coding already has a lane table in my stack (OpenRouter + Cursor). Content and data agents need the same discipline, different fixtures.
This post gives routing tables you can adapt — not vendor lock-in. Plug model IDs from your gateway, allowlist, or local roster after a model watch. Backdrop: Note 002 (A–D classes).
Series hub: Agent cost & model selection.
Shared rules (all domains)
- Classify the task before picking a model (A–D).
- Producer ≠ critic when quality matters.
- Class D (external / irreversible) always has a human gate.
- Promote/demote from evidence, not vibes (failure-priced ROI).
Model names below are placeholders for tiers. Replace with whatever your watch currently crowns.
| Tier label | Intent |
|---|---|
T-free |
Free / tiny — high volume, low stakes |
T-cheap |
Low $/1M — structured production |
T-mid |
Stronger reasoning / longer context |
T-strong |
Frontier-ish for critique or hard judgment |
T-human |
Not a model — approval required |
Content agents
Roles I actually run in some form: brief / research, draft, critique, social cut, publish path (€35 content org).
Content routing table
| Task | Class | Role | Tier | Notes |
|---|---|---|---|---|
| Keyword / angle triage from analytics | A | Researcher | T-free |
High volume; wrong picks are cheap to discard |
| Source skim + bullet brief | A–B | Researcher | T-cheap |
Demand citations / URLs in schema |
| First draft (known voice, known outline) | B | Writer | T-cheap → T-mid |
Mid if long-form or multi-source |
| Headline / meta variants | A | Writer | T-free |
Generate many; human or critic picks |
| Voice / factual critique of draft | C | Critic | T-strong (≠ writer) |
Planted-error tests in watch battery |
| Internal links + FAQ suggestions | B | Writer | T-cheap |
Schema-constrained JSON |
| Social / newsletter cut-down | B | Writer | T-cheap |
Separate prompt pack per channel |
| Publish / push live | D | Publisher | T-human (+ optional T-mid for PR text) |
Never auto-publish on free models |
Content anti-patterns
- One mega-prompt that researches, writes, and “publishes”
- Critic = same model as writer with “please be critical”
- Class A models inventing citations (fail the brief schema hard)
Data agents
Roles: ingest watcher, transform author, SQL/check author, anomaly narrator, pipeline operator.
Data routing table
| Task | Class | Role | Tier | Notes |
|---|---|---|---|---|
| Classify incoming file / event type | A | Watcher | T-free |
Deterministic rules first; LLM only for leftovers |
| Draft dbt/SQL from a clear spec | B | Transformer | T-cheap → T-mid |
Always run in warehouse / CI |
| Explain a query plan in plain language | A | Narrator | T-free |
|
| Propose test assertions from schema | B | Tester | T-cheap |
Human merges tests |
| Critique a migration / breaking change | C | Critic | T-strong |
Diff + “what breaks downstream?” |
| Anomaly narrative from metrics | B | Narrator | T-mid |
Numbers in context beat vibes |
| Execute destructive DDL / prod backfill | D | Operator | T-human |
Model may draft the plan only |
| On-call summary for humans | B | Narrator | T-cheap |
Link to runbooks; no silent “fixed” |
Data anti-patterns
- LLM as source of truth for row counts (verify with SQL)
- Auto-apply migrations from any tier
- Skipping critic on anything that touches prod schemas
How to wire this without drama
- Put each table in a skill / system prompt / Paperclip role doc.
- Map
T-*→ concrete model IDs in one place (router config or markdown roster). - Run the eval fixture pack when you change a mapping.
- Log spend per role weekly; demote lanes that burn human hours.
One-week experiment
- Pick one content workflow and one data workflow.
- Enforce the table for seven days.
- Compare outcomes / € to the week before (ROI sketch).
If you want help installing this as policy inside a Company OS-shaped stack: /hire · /agentic-engineer-stockholm.