AI AgentsCase study

Roundtable Agents: Multi-Agent Research on a Graph

Delivered scope

A complete research pipeline with restart-proof checkpoints and a measured solo-vs-multi comparison published either way, including its negative result

Conceptual artwork. Not a photograph or screenshot of the client's system.
Client
Open-source project
Category
AI Agents
Location
Remote
Completed
August 16, 2026

The problem

Multi-agent demos usually stop at the easy part: a few agents called in sequence, their outputs merged. The parts that decide whether such a system can be trusted get skipped — no token budgets that are actually enforced, no checkpoints that survive process death, and human approval reduced to a status flag that vanishes when the app restarts. Worse, the “better than one agent” claim is almost never measured; it is justified by vibes.

What we built

A research and report system on an explicit LangGraph — named nodes and edges, not a “crew” abstraction: a planner drafts a plan, the plan parks at a human approval gate (a real langgraph interrupt, not a flag), parallel workers fan out one branch per plan step, a critic challenges the findings, consensus reconciles findings against critiques into agreed / contested / dropped claims, and the writer streams the final cited report to the UI.

Claims the critic successfully contested still ship in the report under their own heading, with the disagreement stated. Disagreement is reported, never hidden.

Engineering decisions

Explicit graph over a crew abstraction. You cannot checkpoint, budget, or interrupt what you cannot point at. Named nodes with typed inputs and outputs are what make those three properties possible at all.

The approval gate is an interrupt, not a flag. A flag checked in application code disappears with the process. An interrupt is a checkpointed position: kill the backend while a plan awaits approval, restart it, and the run resumes from the gate.

Budgets are enforced by an atomic ledger. Every agent call is charged with charge-then-raise semantics — the spend is recorded before the exception, because the provider already billed the tokens. Defaults are 8,000 tokens per node and 40,000 per run; in the Docker profile the ledger is a Redis Lua script so parallel workers cannot race past a ceiling.

The measured result

The repo ships the one-agent-vs-roundtable comparison: 10 golden questions, two arms with the same retrieval and the same budget policy. The live result (deepseek-v4-flash), published as measured: on aggregate the roundtable does not beat one good agent — coverage is a wash (0.753 vs 0.767) at ~5.5x the tokens and ~4.7x the wall time. The interesting part is the split by difficulty: on the conflicting questions that require reconciling contradictory documents, the roundtable wins (0.53 vs 0.42). And the 21 contested claims are the artifact a solo agent cannot produce.

The mock-provider numbers in the README are labelled separately: they measure pipeline plumbing, not model quality, and are never presented as a model result.

Running it

git clone https://github.com/ridwanspace/roundtable-agents, then make install && make demo — an end-to-end run in the terminal, offline, with zero API keys, on a deterministic mock provider. make compose-up adds Postgres checkpoints and the Redis ledger. Reproduce the comparison with make compare.

From this study to your project

Does your team face a similar problem?

Tell us about the workflow and its constraints. We start with a scope we can describe and verify.

Next case study

MBS Food Cost: Ops System for Multi-Outlet F&B