Loading video...

Video Failed to Load

Go Home

The latest RAG trend for the current agent harnesses (Codex, Cowork) is to do two passes of document processing to solve a knowledge work task over a data room of documents: 1️⃣ A fast and light pass, oftentimes using a free/OSS doc parsing tool. This can be cheaply run...

22,763 views • 20 days ago •via X (Twitter)

36 Comments

Team GoNoGo's profile picture
Team GoNoGo20 days ago

Recall loss in pass 1 is the killer: if cheap text parsing mangles a chart or table, the agent never triggers the VLM pass. How do you catch those silent misses?

Rob Stover's profile picture
Rob Stover19 days ago

Genuine question from evaluating LlamaParse for a legal/land doc layer where citations are contractual: is the bbox coordinate system (units/origin/page-basis/rotation) a documented stable contract anywhere? And is the agentic escalation per-page observable in output? Those two were our blockers.

Jerry Liu's profile picture
Jerry Liu19 days ago

1. the coordinates are in pdf points, you can figure out how to convert to image pixels here: 2. if you toggle cost optimizer, the metadata will contain which pages have been "cost optimized" vs not

Tim's profile picture
Tim18 days ago

@stov3r How do your costs and accuracy compare to reducto? Also, i am planning to offer to customers to take photos of documents (older demographic with phone), would your vlm process the images with high accuracy comparable to reducto?

Jerry Liu's profile picture
Jerry Liu18 days ago

@stov3r we spend a lot of time benchmarking, you can check the parsebench results here: i like to think we're at the pareto frontier of accuracy and cost w.r.t diff docs but feel free to surface feedback if you test it over your docs!

AI Apps API's profile picture
AI Apps API19 days ago

This shape generalizes past documents. Web extraction landed on the same split: a cheap fetch and HTML parse across everything, then a real browser render only for the pages the cheap pass flagged as JS dependent or ambiguous. Same economics, the expensive path earns its cost by being rare. What decided quality for us was not the second pass, it was the routing rule. Too loose and you pay VLM prices on the whole corpus anyway. Too tight and the cheap pass silently drops the pages that mattered. Logging which pass produced each field is what lets you tune that boundary from real misses instead of guesses.

Aniket Kadam's profile picture
Aniket Kadam20 days ago

Love this approach. Agent codebases get way too messy when they have to write throwaway vision logic just to dissect a single graph.

Hussain Hashim | Building SundayBack's profile picture
Hussain Hashim | Building SundayBack19 days ago

@jerryjliu0 reminds me of how I batch process logs before diving deeper. saves so much time!

DeepRead.com's profile picture
DeepRead.com19 days ago

Does flattening structure in the cheap pass hurt retrieval enough to occasionally send the VLM to the wrong pages? We ran into the same thing with Kindle highlights: flat exports are cheap to store but useless to navigate.

John Zhong | AI Growth Systems's profile picture
John Zhong | AI Growth Systems19 days ago

The two-pass pattern makes sense: use a cheap pass to map the corpus, then spend stronger reasoning only where uncertainty or relevance is high. The real product advantage becomes routing, evidence tracking, and evaluation—not raw context size.

Wei Zhu · CodeFlowMu's profile picture
Wei Zhu · CodeFlowMu18 days ago

In document workflows, the fast pass becomes the failure boundary: anything it misses is invisible downstream. We’ve found coverage/exclusion receipts and source evidence more useful than confidence alone. Are you considering completeness receipts in this two-pass pattern?

Sumit G | Building AI Workers's profile picture
Sumit G | Building AI Workers19 days ago

The two-pass pattern is definitely becoming standard. Doing the heavy VLM inference only on the filtered subset saves a ton on token costs and latency compared to blind full-doc OCR.

Nathalie's profile picture
Nathalie19 days ago

Great breakdown! Quick question: how do you handle information loss or context degradation between the fast light pass and the deep extraction? Do you pass the raw chunks or a structured summary to the second agent?

Rpete Tech's profile picture
Rpete Tech1 day ago

I love this approach

BiOne_98's profile picture
BiOne_9820 days ago

Watching agents write 40 lines of Pillow code just to read one graph is the new tax of 2026 knowledge work. Two-pass is the right architecture. The missing piece was always a first-pass parser that doesn’t silently drop charts/tables + a second-pass that actually understands layout. LiteParse + LlamaParse feels like the first serious fix for this.

Gleb Lapkovsky's profile picture
Gleb Lapkovsky18 days ago

cheap breadth first, expensive vision only where uncertainty survives feels like the right default

Rafie Faruq's profile picture
Rafie Faruq19 days ago

Matches what we see on legal document dumps. The two-pass split matters because accuracy only really decides the outcome on the second pass. Missing a file in the cheap pass is recoverable. Getting a clause boundary or a defined term wrong in the zoom-in pass isn't.

Cesar Bonadio's profile picture
Cesar Bonadio19 days ago

Please add top-up credits to your cloud service, very small initial projects can't afford $50/month

Ryan Edkins's profile picture
Ryan Edkins19 days ago

The two-pass structure is the pattern worth stealing generally, cheap and broad first, expensive and targeted only where the first pass says it's needed. Most agent cost blowouts happen when people reach for the expensive tool on everything.

Anees Merchant's profile picture
Anees Merchant19 days ago

The part that decides accuracy is not either pass, it is the trigger that chooses when to zoom in. Cheap first passes fail quietly on scanned tables and rotated pages, so the agent never learns it needed a second look. Logging the pages the light pass got wrong and tuning the trigger on that bought us more accuracy than swapping parsers ever did.

hanqing's profile picture
hanqing19 days ago

两遍式思路对,但第一遍省不出recall,漏了文件第二遍再强也白搭。

Visual Voyage's profile picture
Visual Voyage19 days ago

如果是大型企业 / 极度敏感业务:这套“两次处理(Two-Pass)”的思路 100% 值得借鉴,但核心的第二步(精读)可能会选择在本地自研或私有化部署更小型的视觉开源模型,而不是直接依赖 LlamaParse 的云端服务。

rusa's profile picture
rusa19 days ago

two-pass works because relevance and extraction have opposite cost curves. pass one is cheap and only needs recall, don't miss the right doc. pass two is expensive and needs precision. collapsing them is what made naive rag either miss context or blow the token budget.

Nucleus AI's profile picture
Nucleus AI19 days ago

Context most people miss here: two-pass fixes fidelity per document, which is the right call and the expensive part. The failure that survives both passes is between documents. In a data room the amended agreement and the original both parse cleanly, both score high, and retrieval returns whichever is more semantically similar to the question. Confidence scores tell you how well you read a page, not that the page is superseded. We've been building that adjudication at Nucleus as a layer above parsing, consuming parser output rather than competing with it, which is why a strong second pass matters more to us than it might look. Does LlamaParse surface anything at the document level that could carry a version or supersession signal, or is that strictly downstream?

Nash | Second Mind's profile picture
Nash | Second Mind19 days ago

The two passes are doing different jobs. The cheap pass can decide where deeper attention belongs. But if its compressed representation becomes the basis for the final answer, information discarded for navigation can quietly become information the system no longer knows it lost. The deeper pass has to reconnect the selected material to enough of the original source, surrounding context, provenance, and constraints to support the claim being made. The first pass routes attention. The second has to restore the evidence basis.

AgentVet.ai's profile picture
AgentVet.ai18 days ago

The two-pass approach is smart, but it raises the same question every "cheap-then-precise" pipeline runs into, how do you know when the fast pass is wrong before it ever reaches the accurate pass? Grounding and confidence scores aren't just nice-to-haves here, they're what tells the agent whether it needs the JIT VLM step at all. Without that signal, you're either over-calling the expensive pass or under-catching bad extractions.

Gaurav Upreti's profile picture
Gaurav Upreti20 days ago

cheap recall first -> expensive precision second. Parse broadly enough to find candidate pages, then spend VLM compute only where visual understanding actually matters.

Fajar M Reza's profile picture
Fajar M Reza20 days ago

Staged retrieval makes agent RAG cheaper and clearer than giant context dumps.

SSYNQ's profile picture
SSYNQ19 days ago

JIT parsing makes sense

lewington's profile picture
lewington20 days ago

This makes sense, let the cheap parser narrow down 1K documents, then spend the expensive vision on the few pages that actually need it. That should scale much better.

Zenad's profile picture
Zenad20 days ago

this two pass setup makes way more sense than throwing every page at a vlm and hoping for the best

Modelplane's profile picture
Modelplane19 days ago

The two-pass pattern is solid, but the fast pass often becomes the bottleneck when parsing quality varies. Do you find that a cheap parser misses enough structure to force a slower, more expensive second pass?

AJawhar's profile picture
AJawhar18 days ago

Same shape as skill routing. First pass to route, second to execute. Forcing the routing pass to emit structured output instead of prose is what made it reliable for me.

Vishal Panwar's profile picture
Vishal Panwar19 days ago

For those light passes, I've found something like unstructured is pretty solid. Avoids a lot of the parsing hell. For heavier lifts, then yeah, a more solid approach makes sense.

琦玉老师's profile picture
琦玉老师19 days ago

两遍式本质是把成本压力都推给第二遍。关键在第一遍只要 recall 不要精度——便宜 parser 加粗 chunk 就够,别过度设计。但要小心召回上限是被第一遍定死的:漏掉的文档第二遍永远找不回来,所以它可以便宜,不能敷衍。

Veylo's profile picture
Veylo18 days ago

Two-pass maps well to provenance: the cheap first pass yields file/page anchors; the JIT pass pays VLM cost only where retrieval pointed. Does LlamaParse's zoom-in output carry region-level confidence, so downstream validation can separate extraction errors from retrieval misses?

Related Videos

The same kinds of productivity gains we've seen in coding with AI agents are heading to the rest of knowledge work. This is the jump when you go from having a chatbot to being able to actually have an agent go off and do work for minutes or even hours and come back with a complete work output that you then review. Here's an example of the new Box Agent filling out an RFP response from an existing knowledge base. This process would normally take hours to fill out, and requires the full attention of the user doing the work. Now, you provide the Box Agent with the RFP questions, and it will go off, make a plan, extract all the relevant questions, read through existing source material to come up with an answer, and then generate a new word document as the final output. All while you're doing something else. The key to this architecture is that the agent is able to use all of the same tools in the background that a user uses to get work done. The agent can search for documents, read entire files, run scripts and tools in the background, and even be able to write code on the fly to automate tasks it hasn't seen before. And best of all, the Box Agent will (soon) work from the Box MCP and CLI so you can invoke it in any agentic system as a step in a process. This kind of agent complexity would have been impossible even 6 months ago. Models consistently failed at tracking long running tasks or using the right tools at the right moment for the task. But this is all now possible because of models like GPT-5.4, Opus 4.6, and Gemini 3, and is only getting better by the month. Just as we moved from engineers writing code and using AI as an assistant to answer questions, in many areas of knowledge work -like legal, finance, consulting, sales, marketing, and more- when we have a problem we'll just kick off the AI agent to just go work on it for us in the background.

Aaron Levie

24,728 views • 5 months ago

We’re open sourcing the first document OCR benchmark for the agentic era, ParseBench. Document parsing is the foundation of every AI agent that works with real-world files. ParseBench is a benchmark that measures parsing quality specifically for agent knowledge work: ✅ It optimizes for semantic correctness (instead of exact similarity) ✅ It has the most comprehensive distribution of real-world enterprise documents It contains ~2,000 human-verified enterprise document pages with 167,000+ test rules across five dimensions that matter most: tables, charts, content faithfulness, semantic formatting, and visual grounding. We benchmarked 14 known document parsers on ParseBench, from frontier/OSS VLMs to specialized parsers to LlamaParse. Here are some of our findings: 💡 Increasing compute budget yields diminishing returns - Gemini/gpt-5-mini/haiku gain 3-5 points from minimal to high thinking, at 4x the cost. 💡 Charts are the most polarizing dimension for evaluation. Most specialized parsers score below 6%, while some VLM-based parsers do a bit better. 💡 VLMs are great at visual understanding but terrible at layout extraction. GPT-5-mini/haiku score below 10% on our visual grounding task, all specialized parsers do much better. 💡 No method crushes all 5 dimensions at once, but LlamaParse achieves the highest overall score at 84.9%, and is the leader in 4 out of the 5 dimensions. This is by far the deepest technical work that we’ve published as a company. I would encourage you to start with our blog and explore our links to Hugging Face to GitHub. All the details are in our full 35-page (!!) ArXiv whitepaper. 🌐: Blog: 📄 Paper: 💻 Code: 📊 Dataset: 🎥 YouTube:

Jerry Liu

108,093 views • 5 months ago

New short course: LLMs as Operating Systems: Agent Memory, created with Letta, and taught by its founders Charles Packer and Sarah Wooders. An LLM's input context window has limited space. Using a longer input context also costs more and results in slower processing. So, managing what's stored in this context window is important. In the innovative paper MemGPT: Towards LLMs as Operating Systems, its authors (which include the instructors) proposed using an LLM agent to manage this context window. Their system uses a large persistent memory that stores everything that could be included in the input context, and an agent decides what is actually included. Take the example of building a chatbot that needs to remember what's been said earlier in a conversation (perhaps over many days of interaction with a user). As the conversation's length grows, the memory management agent will move information from the input context to a persistent searchable database; summarize information to keep relevant facts in the input context; and restore relevant conversation elements from further back in time. This allows a chatbot to keep what's currently most relevant in its input context memory to generate the next response. When I read the original MemGPT paper, I thought it was an innovative technique for handling memory for LLMs. The open-source Letta framework, which we'll use in this course, makes MemGPT easy to implement. It adds memory to your LLM agents and gives them transparent long-term memory. In detail, you’ll learn: - How to build an agent that can edit its own limited input context memory, using tools and multi-step reasoning - What is a memory hierarchy (an idea from computer operating systems, which use a cache to speed up memory access), and how these ideas apply to managing the LLM input context (where the input context window is a "cache" storing the most relevant information; and an agent decides what to move in and out of this to/from a larger persistent storage system) - How to implement multi-agent collaboration by letting different agents share blocks of memory This course will give you a sophisticated understanding of memory management for LLMs, which is important for chatbots having long conversations, and for complex agentic workflows. Please sign up here!

Andrew Ng

201,127 views • 1 year ago