Learn
Use Case

Same Question, Two Harnesses, Two Very Different Bills

7 min read·August 13, 2026

The "harness" — the code that loops a model, calls tools, and decides what to do with the output — turns out to matter as much as the model itself. We ran the same two questions through two different harnesses inside VerbaGPT: our own fast/efficient loop (Virgo), and an agentic harness built the way most coding assistants are built today, on general-purpose tool-calling (Taurus, which wraps the Claude Agent SDK — the same style of loop behind Claude Code). Same datasource, same question, same day. Only the harness changed.

One question was simple. One was genuinely hard. The gap between the two harnesses didn't behave the same way on both.

Question 1: a one-line data science question

"Can you create a decision tree that explains the survival of adults on the Titanic?"

Both harnesses landed on the same structural finding — sex is the dominant split (72-73% of tree importance), refined by class and fare, with age and family size contributing almost nothing for adults. Both trained a max_depth=3 tree on the same 808-adult slice and got the same top-level rule: sex_male <= 0.5.

Fast / Efficient (Virgo)Slow / Expensive (Taurus)
Wall-clock time15.8s255.7s (16x slower)
Costbaseline13x more expensive
Tokens usedbaseline480x more tokens
Side-by-side comparison: a plain matplotlib decision tree from the fast Virgo harness above a fully-designed dashboard version of the same tree from the slow Taurus harness below, with stat tiles, a rules panel, and colored leaf-outcome bars

The visual difference is real — Taurus's answer came back as a designed dashboard: stat tiles up top, a labeled rules panel, a horizontal bar chart ranking all eight leaf outcomes low-to-high. Virgo's came back as a plain sklearn.tree.plot_tree render with a feature-importance table underneath. For a question this contained, the extra layout didn't add analytical content — the underlying numbers, splits, and rules were the same tree read two ways. On this one, the fast/efficient answer was the one we'd hand to someone: same substance, none of the wait.

Where 480x the tokens actually went

The token gap isn't really about the model thinking harder — it's about what kind of loop it's running in. Virgo's harness resolved the schema in under a second (Cerebras-hosted gpt-oss-120b), generated code with Meta's Muse Spark 1.2, executed it once, and returned. One code step, ~1.9 seconds of execution, done.

Taurus's transcript for the same question shows 33 separate tool calls: 16 Bash invocations, 5 ToolSearch calls, 5 file Reads, 4 Edits, 3 Writes. That's the signature of a general-purpose coding agent — the same tool palette Claude Code uses to work inside an unfamiliar repository — being pointed at a data question. It doesn't arrive already knowing the shape of a data-analysis task the way a purpose-built loop does; it re-discovers scope through search-edit-execute cycles, and every one of those cycles carries the growing conversation history back through the model again. A tighter loop and a general-purpose agent loop aren't the same tool wearing a different skin — they're different shapes of work, and the token bill reflects that shape more than it reflects the model.

Question 2: a genuinely hard question

"How well do prospective risk scores explain costs in year N+1, compared to a simple self-reported health status measure?" — against MEPS, the federal Medical Expenditure Panel Survey.

This is a real health-economics question with no clean answer: 40,000+ paired member-years, inflation-adjusted costs, weighted regressions, calibration checks by decile. Here both harnesses converged on essentially the same headline statistic, computed independently:

Predictor of Year N+1 costFast / Efficient foundSlow / Expensive found
Prospective risk score aloneR² = 12.3%R² = 12.2%
Self-rated health aloneR² = 3.5%R² = 3.7%
Risk score's advantage~3.5x more variance explained~3.3x more variance explained
Side-by-side comparison: a plain two-panel matplotlib chart from the fast Virgo harness above an annotated, titled dashboard version with sample sizes and dollar figures from the slow Taurus harness below, both showing mean cost and risk-score calibration by self-rated health status
Fast / Efficient (Virgo)Slow / Expensive (Taurus)
Wall-clock time95.4s285.1s (3x slower)
Costbaseline33x more expensive
Tokens usedbaseline58x more tokens

Notice the shape of the gap changed. On the simple question, the slow harness was dramatically slower (16x) and moderately over cost (13x). On the hard question, it was barely slower at all (3x) but far more over cost (33x). Virgo's own workload grew to match the question's difficulty — 6 code-execution steps instead of 1, joining two panel-years, computing weighted R², calibration deciles, and error distributions along the way. Taurus's tool-call count grew even faster: 43 tool calls for this question versus 33 for the simple one, dominated by 22 Bash calls and 10 more rounds of ToolSearch. Difficulty didn't close the gap — it just moved where the extra spend showed up, from wall-clock time into token volume.

On substance, this is the closer call. Taurus's answer was genuinely more comprehensive — it broke the finding down by risk decile, added a high-risk-flag enrichment analysis (a 15%-of-population flag catching 46% of future high-cost members, a genuinely useful operational cut Virgo didn't compute), and closed with method caveats about linear-vs-log cost scales. Virgo's answer was the same core numbers, delivered faster and read in under a third of the time. Whether the extra depth was worth 33x the cost is exactly the kind of judgment call a data team has to make question-by-question — this one's closer to the eye of the beholder than the first.

No universal winner

Two questions aren't a benchmark, but they're consistent with what you'd expect from the architecture: a harness purpose-built for data analysis stays purpose-built regardless of question difficulty, while a general-purpose coding-agent harness pays a token tax on every question — a tax that scales with the length of its own exploration, not strictly with how hard the underlying analysis is. That's not a knock on agentic tool-calling; it's a genuinely different tool, built to work inside an unfamiliar codebase where searching, reading, and editing files is the job. Pointed at "run this data question," it's using a general-purpose toolkit for a narrower one.

Neither harness is the correct default for every question, which is why VerbaGPT ships both rather than picking one for you: Virgo for the fast, cheap, every-day path, and Taurus for when you want an agent that will read the schema file, retry a failed step, and hand back a fully-designed writeup without being asked to. None of the comparison above depended on Titanic or MEPS specifically — swap in your own database or spreadsheet, and the same two paths are sitting there for whichever question you're asking today.

Ask your own question about the Titanic dataset → The ML Demo datasource is live and open — no signup required for a few questions.

Ask your own question about the MEPS dataset → The MEPS datasource is live and open — no signup required for a few questions.

Data sources: Titanic passenger manifest (ML Demo datasource) and MEPS ALL_YEARS_NARROW (Medical Expenditure Panel Survey, pooled 2019-2023, weighted with PERWT_POOLED).

Adapted from a LinkedIn post · August 13, 2026


Related