Asana cuts browser-agent model costs 76x with GPT-6.1 Sol

Published · AI Daily — AI-assisted deep research, methodology & disclosure

Asana's StackAI CTO had GPT-6 Astra tune a browser agent. Extending caching to browsing history cut cost to $0.47 per run on GPT-6.1 Sol: 76x cheaper and 5x faster in a 144-run study. One week of work, not two months.

Asana has turned a narrow engineering problem into a useful case study for anyone who runs agents in production. Its StackAI platform lets customers build workflows that navigate websites, fill out forms and gather information without writing code. At Asana's scale, every small inefficiency in a browser agent is multiplied across a very large number of runs. StackAI's CTO, Frank Hidalgo, set out to make the agent faster and cheaper. He directed GPT-6 Astra in Codex to investigate the agent, test improvements and compare the results. The published outcome is clear. The optimized workflow on GPT-6.1 Sol averaged $0.47 in estimated model cost and about four minutes per run. That is 76x cheaper and 5x faster than the original production setup, which ran on a model the study calls Model B. Hidalgo estimates the work would have taken one to two months by hand. It took about a week. The root cause was how the agent built each model request. GPT-6 Astra first mapped the codebase and explained how every request was assembled. It found that the agent cached its fixed instructions and tool definitions, but not the growing history of page text and screenshots collected along the way. Every request therefore resent that history at full price. The agent also dropped older screenshots and trimmed text at nearly every step. Each of those edits changed the history. Prompt caching works on a stable prefix, so a change early in the history invalidates everything after it. Caching the history alone would not have helped, because the history never stayed the same long enough to be reused. Dropping facts also had a hidden cost: the agent might need to revisit pages it had already read. The lesson is that caching, retention and cleanup are one design problem, and fixing one of them in isolation can leave the bill unchanged.

Hidalgo reviewed the fixes GPT-6 Astra proposed and chose three to test: extend caching to the browsing history, raise the amount of text the agent could retain, and remove screenshots in batches instead of at every step. Astra began with quick tests to learn which variables mattered. The code was not built for controlled experiments, so Astra then refactored it so one frontend and one backend could run many workflows in parallel, each with its own settings. It ran the full study: two history budgets, 120,000 and 480,000 characters, and six caching and screenshot policies, each tested three times on each of four models. That makes 144 runs. The best policy let screenshots accumulate to 20 before cutting back to the most recent one. Earlier history then stayed unchanged for longer stretches between removals, which kept the cache valid. Combined with the larger history budget, this became the optimized workflow.

The experiment design deserves attention. Every configuration ran the same task: collect six fields for each of 32 books from a public demo catalog, which is representative of what some Asana customers run in StackAI. The four models were GPT-6.1 Sol and three from another frontier lab. Model A is a smaller, cheaper model released in fall 2025, at half the price of GPT-6.1 Sol. Model B is the model originally used in production, released in summer 2026, at the same price as GPT-6.1 Sol. Model C is an updated version of Model B, released in fall 2026, again at the same price. Since three of the four models cost the same as GPT-6.1 Sol or less, the gap in cost came mostly from how well each workflow used caching. A simple calculation from the published figures, $0.47 times 76, puts the original cost near $36 per run. That figure is our own arithmetic, not a number Asana disclosed.

The process around the experiment matters as much as the result. GPT-6 Astra ran the workflows and examined the requests, usage records and outputs. Separate model sessions reviewed its work. Every session's requests, data traces and results were recorded in Command, Asana's software delivery platform, so the team could review the complete study afterward. From Command, the findings became tickets, then pull requests, and the changes went to production. Hidalgo described setting a /goal before going to bed and reviewing the results in the morning. Arnab Bose, Asana's chief product officer, summed it up: an engineer set the direction, GPT-6 Astra ran the experiments, and the results went through Command to production. That is a concrete picture of human and agent teams at work, with a paper trail at every step. Three lessons follow for the wider industry. First, the cost of an agent is set mostly by context engineering, not by the list price of the model. When three of four models cost the same or less, the deciding factor was whether the long, growing prefix of each request was served from cache. Teams that only compare per-token prices may miss the larger lever. Second, using an agent to improve an agent works only when experiments are repeatable and evidence is traceable. Asana refactored its code to allow controlled comparison and kept every trace in one system. That discipline is worth copying more than any single setting. Third, the numbers need careful reading. This is one task, on a public demo catalog, with estimated costs rather than invoices. The study shows that the method works. It does not prove that every browser workflow will see a 76x change.

A final point concerns how engineering time is spent. Compressing one to two months of manual research into a week saves hours, and it also lowers the cost of trying ideas. Teams often skip a refactor or a six-way comparison because the experiment is too expensive to run by hand, and they ship the option that feels right. When an agent can run the experiments overnight and return a comparison with evidence in the morning, the engineer's job moves from trial and error toward setting goals and reviewing proof. That raises the bar on review: a person must be able to read request logs, usage data and outputs to decide which change deserves to merge. For teams moving agents into production, a practical first step is to inspect which parts of each request are cached and which change at every step, then confirm any fix with a small controlled study before rolling it out.

Sources

FAQ

How did Asana reduce the cost of its browser agent by 76x?

By making prompt caching work. The agent cached only fixed instructions and tool definitions, so its growing browsing history was resent at full price and was edited at almost every step. The fix extended caching to the history, raised the text budget and let screenshots build up to 20 before clearing them in a batch. That kept the history prefix stable between clearings.

How large was the study behind the result?

It had 144 runs: two history budgets (120,000 and 480,000 characters), six caching and screenshot policies, and four models, each combination tested three times. The task was to collect six fields for each of 32 books from a public demo catalog.

Can other teams expect the same 76x saving?

Not automatically. Costs are estimates, and the test used one task on a public demo catalog. The method transfers: find which request content is cached and which changes every step, then confirm any change with a small controlled experiment.