06-reference

analytics engineering roundup small long running agent

2026-05-31·reference·source: Analytics Engineering Roundup·by Analytics Engineering Roundup (dbt Labs; first-person author distinct from masthead's Tristan Handy, unnamed in body)
agent-architecturelong-running-agentsbackground-agentsdata-engineeringharness-thesisverificationdbt

"I built a (very small) long running agent" — Analytics Engineering Roundup (dbt Labs)

Why this is in the vault

A dbt Labs essay builds a minimal long-running agent ("Tinyberg") with Claude Code's goal loop and argues that verifiability is the gating constraint on which data-team jobs are tractable today — directly on-point for RDCO's background-agents architecture work happening this same day.

The core argument

The author follows up a prior dbt Roundup piece (Tristan Handy's "agent swarm" experiment) by testing a different emerging modality: the long-running agent. The framing sketches a progression of agent patterns now in use by data teams — one-off triggered tasks (the "analytics agent Slack channel"), paired human+agent development (Claude Code, the dbt Developer Agent) — and then the frontier patterns only now appearing: multiagent monitoring systems, and long-running agents capable of much larger goals like "migrate my entire dbt project to Iceberg" or "refactor from Star Schema to Data Vault."

The author cites Cursor's from-scratch browser build and Anthropic's clean-room C compiler as proof that agents can handle far more complexity than commonly assumed, with one heavy caveat: both are extremely verifiable tasks where the agent can check itself against an external oracle. The "Ralph Loop" (give an agent a goal, let it iterate until it verifies completion) is named as the popular minimal variant, now surfacing as a built-in goal command in major harnesses.

To demonstrate, the author built Tinyberg: a deliberately small, read-only Apache Iceberg table inspector. Workflow: co-write a spec with GPT-5.5, drop spec.md into a directory, boot Claude Code with goal, and "let it rip." After ~2 hours unattended, the agent shipped a working implementation hitting all six spec requirements (load a local Iceberg table, resolve snapshots, read manifest metadata, produce scan plans, a CLI, and a test suite) — with the constraint that mature engines (DuckDB, PyIceberg) could appear only in tests as an oracle, never in Tinyberg's runtime.

The load-bearing claim: verifiability determines deployability. Good near-term candidates all sit at the intersection of highly-verifiable and valuable — platform migrations (validate data matches exactly), dbt best-practices enforcement (iterate until conformant to dbt project evaluator), library/engine upgrades (e.g. to the dbt Fusion engine), pipeline spend/speed optimization, and data-diff remediation ("iterate until the diff is gone"). Poor candidates are precisely the ones lacking ground truth: building a semantic layer from scratch (its value is organizational metric buy-in, not in the verification loop) or deciding data-platform architecture (architecture decisions become the ground truth, so there's nothing external to verify against).

Looking forward, the author points to Anthropic's "effective harnesses for long-running agents" guidance: the next step beyond a single goaled loop is multiple agents sharing a filesystem but operating in separate context windows, with a dedicated evaluator agent that dramatically improves performance even on outcomes that aren't fully verifiable from scratch. The piece closes expecting forward-looking data teams to operationalize this soon (with a soft CTA to bring cool implementations to the dbt Summit).

Mapping against Ray Data Co

Related