Scraping a few thousand rows and asking for a CSV used to mean the agent read every row back and retyped it into the file — slow, expensive, and rows went missing along the way. Now the file is written straight from the collected data. Plus a quieter chat transcript for long tasks.
Exports go straight to the file
When the agent has collected rows into its scratchpad, exporting them no longer routes the data back through the model. It names the collection and the file is written directly from what was collected.
- Nothing gets dropped or rewritten — thousands of rows export exactly as they were captured, instead of being retyped from memory.
- Faster, and much cheaper — the data no longer passes through the conversation twice, so a large export is a single step instead of many round trips.
- CSV by default, JSON on request — ask for a
.jsonfilename and you get a JSON array; anything else is CSV, with proper escaping for commas, quotes, and line breaks. - Columns stay aligned — fields added partway through a scrape still get their own column instead of being silently left out.
Chat
- One header per task — a long task used to stamp a new
AGENTheader after every step, chopping the transcript into dozens of look-alike sections. Now the header appears once when the agent starts working, and the rest of the run reads as one continuous reply.