live wire
▸Snowflake agent evals can pin judge versions; unpinned metrics may roll forward and shift scoresSnowflake▸ThoughtSpot makes Spotter 3 default for new instances; it requires download rights and always shares query data with an LLMThoughtSpot documentation▸MotherDuck adds image classification and object location to prompt_jev(), returning typed SQL outputs with confidence scoresMotherDuck▸BigQuery conversational analytics adds Montréal and Toronto; mixed-region agents still default to globalGoogle Cloud Documentation▸Fabric enables Azure OpenAI Copilot access by default, but OpenAI-subprocessor and cross-region processing/storage switches remain offMicrosoft Learn▸Snowflake Cortex Agents now continue by default when named tools are inaccessible, emitting warnings instead of failing the runSnowflake documentation▸Databricks Genie One can use group memberships to tailor answers, while Unity Catalog remains the access-control boundaryDatabricks documentation▸Fabric data agents can query Power BI models with Read alone; Build and workspace access are unnecessaryMicrosoft Learn▸Fabric data-agent Git configs expose column flags, but selecting a table still includes every columnMicrosoft Learn▸Google Data Agent Kit offers remote Spark kernels, but notebook exports can still move results into local Pandas or ArrowGoogle Cloud Documentation▸Cube says production analytics agents need explicit partial-result states, caller-filtered model search and durable artifactsCube▸Thinking Machines names Bridgewater behind ReViSQL-K2.6, citing 92.97% SC-16 accuracy at 15% of frontier-model costThinking Machines Lab▸AWS says a mismatched data/tool/prompt release cut its Field Sales agent pass rate from 78% to 38% in pre-productionAWS Artificial Intelligence Blog▸NL2SQL Multi-Agent ships evaluation artifacts across BIRD, CSpider, Archer and KDD DataSpace—but no software licenseGitHub▸Snowflake agent evals can pin judge versions; unpinned metrics may roll forward and shift scoresSnowflake▸ThoughtSpot makes Spotter 3 default for new instances; it requires download rights and always shares query data with an LLMThoughtSpot documentation▸MotherDuck adds image classification and object location to prompt_jev(), returning typed SQL outputs with confidence scoresMotherDuck▸BigQuery conversational analytics adds Montréal and Toronto; mixed-region agents still default to globalGoogle Cloud Documentation▸Fabric enables Azure OpenAI Copilot access by default, but OpenAI-subprocessor and cross-region processing/storage switches remain offMicrosoft Learn▸Snowflake Cortex Agents now continue by default when named tools are inaccessible, emitting warnings instead of failing the runSnowflake documentation▸Databricks Genie One can use group memberships to tailor answers, while Unity Catalog remains the access-control boundaryDatabricks documentation▸Fabric data agents can query Power BI models with Read alone; Build and workspace access are unnecessaryMicrosoft Learn▸Fabric data-agent Git configs expose column flags, but selecting a table still includes every columnMicrosoft Learn▸Google Data Agent Kit offers remote Spark kernels, but notebook exports can still move results into local Pandas or ArrowGoogle Cloud Documentation▸Cube says production analytics agents need explicit partial-result states, caller-filtered model search and durable artifactsCube▸Thinking Machines names Bridgewater behind ReViSQL-K2.6, citing 92.97% SC-16 accuracy at 15% of frontier-model costThinking Machines Lab▸AWS says a mismatched data/tool/prompt release cut its Field Sales agent pass rate from 78% to 38% in pre-productionAWS Artificial Intelligence Blog▸NL2SQL Multi-Agent ships evaluation artifacts across BIRD, CSpider, Archer and KDD DataSpace—but no software licenseGitHub
nl2sql.ai
benchmarkBenchmark

O-Funnel survives five PubMed schema renames—but costs 40× more than regex

A released Python package kept overall field-level F1 at 1.000 after simulated schema drift across 34,989 records; the paper also documents one near-miss and a hard boundary on visual HTML.

O-Funnel beats regex under schema drift but is much slower.
AI-generated illustration
By The Benchmark Desk· Oct 1, 2026the quick take — two AI hosts go live when you do

A new document-extraction benchmark makes a useful trade explicit: structural resilience is measurable, but it is not free. In the O-Funnel paper, the released Python system kept overall field-level F1 at 1.000 after five PubMed XML elements were renamed. A hand-written tag-regex baseline fell from 1.000 to 0.199 on the same drifted corpus.

The comparison is unusually inspectable

The evaluation used 34,989 records from two files in the public PubMed 2026 baseline and requested six fields: PMID, article title, ISSN, language, publication year and DOI. The authors then renamed PMID, ArticleTitle, ISSN, Language and PubDate while leaving the extraction requirements unchanged. Table 3 reports the aggregate result above; O-Funnel’s per-field language F1 was 0.999, while the other five fields rounded to 1.000.

That language miss matters. The paper says 38 records contained an OtherAbstract language attribute that became the only exact key match after the article-language element was renamed. Adding an Article scope removed the error, but the authors reported the unscoped configuration. That is better evidence than a flawless headline: the resolver can still select the wrong structurally plausible field when requirements are underspecified.

This clears the desk’s artifact gate because the MIT-licensed repository ships the library and benchmark scripts, and the package is installable from PyPI. The paper identifies the evaluated version as 0.1.1.

Robustness came with a throughput bill

On 120 constructed hard scenarios, byte regexes scored 0.43 F1, plain O-Funnel scored 0.84, and O-Funnel with its scavenger enabled reached 1.00. On a separate 117-document perturbation suite, O-Funnel improved from 0.91 to 0.94 F1 after learning aliases from residue; fully opaque keys moved from 0.00 to 0.67.

But Table 8 reports about 0.295 ms per small pristine document for O-Funnel, versus 0.008 ms for regex—roughly a 40× slowdown. The system still processed about 3,400 small documents per second on one CPU core. On the larger PubMed records, including capture, completeness checking and six requirements, throughput was about 144 records per second.

The boundary is as important as the win

O-Funnel is not a semantic extractor. On the first 500 rows of an SWDE-derived web set, it recovered only 0.2% of values from the attribute name alone because it does not model visual label adjacency. The paper also limits its claims to well-formed supported formats and small documents; PDFs, scans and very wide schemas remain outside the test.

The practical result is narrower than “regex is obsolete.” When schemas are stable and latency dominates, regex remains much faster. When renamed fields, format changes and decoys are routine failure modes, this released benchmark shows that structural extraction can buy substantial resilience—and quantifies both the benefit and the cost.

Filed by The Benchmark Desk. Corrections: desk@nl2sql.ai · Our standards →

comments · 0

    Comments are moderated before they appear. Your email is used once to confirm it is you — never shown, never sold. Corrections and questions get an answer from the desk when we have one.