๊ธฐ์ˆ 

Inside Notionโ€™s upgraded model router, Auto

์ž‘์„ฑ์ž Ghita Houir Alami

Notion Engineering Manager

The analyses in this article use data from customers who explicitly opted in to our data-sharing program.

At Notion, we take a rigorous approach to model evaluation. Real-life knowledge work is messy, and relying solely on one LLM to judge anotherโ€™s output doesnโ€™t reliably capture that complexity. When developing Auto, Notionโ€™s model router, our priority was to deliver high-quality results while making customersโ€™ AI credits go further. We built a suite of evaluation tools that helped us iterate quickly and improve Autoโ€™s performance across real-world tasks.

We cannot evaluate what we donโ€™t understand

Before attempting to create an evaluation dataset, we had to develop a deeper understanding of the knowledge-work tasks completed inside Notion, because the way we reward or penalize a model output depends entirely on the gap between what we think it should do and what it actually does. This requires a clear understanding of the task and what a good outcome looks like.

We started by creating clusters of common tasks performed inside Notion. The idea was to categorize how customers use Notion AI. We grouped common use cases into buckets of tasks such as โ€œMaintain CRM contacts, interactions, and follow-ups,โ€ โ€œTrack inventory, orders, and shipment records,โ€ and โ€œResolve customer support cases and draft replies.โ€ To create our evaluation dataset, we selected the 20 largest task clusters, then randomly sampled hundreds of real-world tasks from each one.

Five color block clusters of common tasks performed inside Notion

Notionโ€™s simulated environment

To evaluate how multiple models performed on these tasks, we had to create a simulated Notion environment, which we call Gymmy. We built Gymmy to run Notionโ€™s application code, databases, and search services in isolated sandboxes. Each Gymmy sandbox was loaded with a saved copy of a workspaceโ€™s data, so different models could attempt the same task using Notionโ€™s actual tools from the same starting state. This high-fidelity environment closely approximated how each of these models would perform on the selected tasks in a real customer environment. We replayed the tasks from our evaluation dataset in this simulated Notion environment using different models: GPT-6 Astra, Opus 5.5, GPT-6.1 Sol, and Notionโ€™s Auto.

Gymmy workspace

Evaluating model outputs

We needed a consistent way to compare models and to evaluate model performance. Simply asking an LLM to score the outputs was not reliable enough, even with a very descriptive evaluation rubric. Without proper calibration and even with extensive prompting, we got very noisy evaluations. For example, judges could favor their own model provider, or assign different values to the same score across evaluations.

The first step of our calibration process was to produce pairwise comparisons. First, we showed an ensemble of frontier models the outputs of two different models. Then, we asked the ensemble judges to pick their preferred model based on a custom rubric. The one selected by a majority of judges was considered the โ€œwinner.โ€

We repeated this process until we had sufficient pairwise preferences between the models we were evaluating. To determine the final score of each model from these pairwise preferences, we attributed Elo scores to them. An Elo score estimates a playerโ€™s skill based on how they do against other players after many one-versus-one competitions, similar to stack-ranking chess players. Itโ€™s a pretty common mathematical framework and rigorous way to produce rankings.

An example of a mean score of Task Completion and Overall Quality for several models
An example of a mean score of Task Completion and Overall Quality for several models

The scaling problem

Pairwise comparisons let us cross-calibrate scores and compare multiple models across real-world Notion tasks. But running enough comparisons to calculate Elo scores for every new benchmark would have been both too slow and too costly to scale. So we used the ranking produced by the Elo scores to calibrate a single LLM judge: a model prompted to score another modelโ€™s output.

We iterated on the model, judge prompt, and thinking level until the LLM judgeโ€™s rankings of individual outputs closely matched the Elo rankings. Scoring outputs independently then let us evaluate thousands of responses in parallel instead of having to rely on pairwise comparisons.

We used the ranking produced by the Elo scores to calibrate a single LLM judge

Pairwise and pointwise evaluations agreed more than 80% of the time, giving us confidence in the pointwise method.

Overall model quality

This was confirmed by plotting the positively correlated agreement between this LLM judge and the feedback provided by customers with โ€œthumbs upโ€ and โ€œthumbs downโ€ on Notion AIโ€™s output. Quality scores usually ranked thumbs-up responses higher and flagged thumbs-down responses as low-quality more often.

Thumb score comparison

Results

We used this methodology to create, evaluate, and improve our upgraded model router, Auto. The graphs and scores below are the result of evaluating thousands of simulated tasks across the most common knowledge-work use cases with our calibrated judge prompt.

Quality vs cost

On average, Auto delivers roughly 90% of the performance of frontier models, like GPT-6 Astra or Claude Opus 5.5, for about a 90% lower cost. For everyday work in Notion, this can help usersโ€™ credits go up to 10ร— further. The table below explores some common tasks performed inside Notion and compares the quality and cost to Auto with frontier models using our methodology.

Comparing credit consumption

Tasks

Auto
Estimated credits per task

Opus 5.5
Estimated credits per task

Simple

โ€ข Polish an email
โ€ข Find decisions in meeting notes
โ€ข Translate a message or document
โ€ข Explain technical requirements
โ€ข Draft a customer-support reply

5

50

Medium

โ€ข Track task progress
โ€ข Write a work report
โ€ข Find a document in your workspace
โ€ข Triage customer-support inquiries
โ€ข Transcribe and summarize a 1-hour meeting*

10

85

Complex

โ€ข Manage hiring and job applications
โ€ข Create and configure databases
โ€ข Draft a performance review
โ€ข Refine strategy document or quarterly plan
โ€ข Maintain CRM contacts and sales follow-ups

25

150

Evaluating models against actual knowledge work allows to keep improving Autoโ€™s balance between quality, speed, and cost. As new models are released, weโ€™ll keep testing them on real Notion tasksโ€”and upgrading our model router.

์ด ๊ฒŒ์‹œ๊ธ€ ๊ณต์œ ํ•˜๊ธฐ

*AI meeting notes uses Auto and will begin consuming monthly Standard credit allowance starting December 1. A one-hour meeting is estimated to use about 10 Standard credits.

๊ฐ€๊ฒฉ ๊ด€๋ จ ๋„์›€๋ง, ๋ฐ๋ชจ, ์‚ฌ์šฉ ์‚ฌ๋ก€ ๋“ฑ์„ ํ™•์ธํ•˜์„ธ์š”.

Powered by Fruition