Notion’s Token Town: 5 Rebuilds, 100+ Tools, MCP vs CLIs and the Software Factory Future — Simon Last & Sarah Sachs of Notion

Latent Space: The AI Engineer Podcast
15 April 2026 1h 17m
0:00 --:--
Episode Description
For all those who missed out on London, see you in Miami next week!Notion, the knowledge work decacorn, has been building AI tooling since before ChatGPT, with many hits from Q&A in 2023 and unified AI in 2024 and Meeting Notes in 2025. At the end of their last Make user conference, Ryan Nystrom teased Notion 3.0’s Custom Agents - and they are finally embracing the Agent Lab playbook!Sarah Sachs and Simon Last of Notion join us for a deep dive into how Notion built Custom Agents, why it took yea

Summary

Notion's Simon Last and Sarah Sachs discuss the evolution and future of AI tooling at Notion, detailing five rebuilds of their agent system since 2022. They highlight the challenges of early model limitations, the shift from few-shot prompting to goal-driven tool definitions, and their strategic approach to building a "software factory" where agents can bootstrap and maintain their own capabilities. The conversation also covers Notion's unique culture of rapid prototyping, low-ego development, and a nuanced perspective on model evaluation, pricing, and the changing role of software engineers in an AI-first world.

Chapters

Initial Thoughts on CLIs vs. MCPsSimon Last introduces his views on Command Line Interfaces (CLIs) and Multi-Component Protocols (MCPs) for agents, emphasizing MCPs for narrow, permissioned agents.
Notion's Custom Agents LaunchAlessio and Squeaks welcome Simon and Sarah from Notion, discussing the recent launch of Custom Agents and the journey of building AI tools since 2022.
The Five Rebuilds of Notion's AgentsSimon details the multiple iterations of Notion's agent system, from early attempts with custom tool calling frameworks to the breakthrough with more capable models and the focus on reliability and permissions for custom agents.
AGI-Pilled Projects & Software FactorySimon discusses Notion's "AGI-pilled" projects, including coding agents as the kernel of AGI and the concept of a "software factory" for automated code development and maintenance.
Notion's Approach to Frontier CapabilitiesSarah explains Notion's two crucial skills: quickly discerning model limitations versus infrastructure issues, and building ahead for future product readiness.
AgentLab Thesis & Notion's ExpertiseSarah elaborates on the AgentLab thesis, comparing Notion to Datadog in its expertise on user collaboration, regardless of underlying tools.
Balancing Horizontal Product & User JourneysSimon and Sarah discuss balancing Notion's horizontal platform with specific user journeys, emphasizing the importance of focusing on user needs over "cool tools."
Engineering Leadership & CultureSarah shares her leadership philosophy, focusing on clear objectives, empowering prototypes, and fostering a low-ego culture comfortable with deleting code.
Prototyping, Hackathons & Activation EnergySimon and Sarah discuss internal prototyping, company-wide hackathons for skill-building, and activating engineers' curiosity as a daily process.
Notion AI Team Structure & Agent-FirstSarah outlines the Notion AI team structure, emphasizing that all product engineering teams build for both human and agent users, expecting agents to become the majority of traffic.
Demos Over Memos & Prototype BarDiscussion on Notion's "demos over memos" culture, the lowered bar for prototypes, and the importance of strong product conviction to avoid building flat hills.
Evals & Model Behavior EngineeringSarah details Notion's comprehensive evaluation system, including unit tests, launch quality evals, and "frontier" evals, introducing the role of Model Behavior Engineers (MBEs).
The Future of Software EngineeringSimon and Sarah discuss the evolving role of software engineers, moving up the abstraction ladder to observing and maintaining agent systems, potentially leading to a "software factory."
Custom Agent Demo & ComposabilityAlessio demonstrates a custom agent for Kernel Labs, and Simon explains how agents can be composed using data primitives or direct invocation, including a "manager agent" concept.
Notion Mail & Agent-Built ServicesDiscussion on Notion Mail and Calendar, emphasizing that Notion's internal services are increasingly designed to be agent-built and automated.
CLIs vs. MCPs Deep DiveSimon and Sarah provide a detailed comparison of CLIs and MCPs, highlighting CLIs for bootstrapping and debugging, and MCPs for narrow, permissioned, and cost-effective tasks.
Quality Control & Tool AbstractionsDiscussion on when Notion chooses native integrations over MCPs for critical quality control, and the internal abstractions for tools and agents.
Brief History of Notion's Agent RebuildsSimon recounts the five major rebuilds of Notion's agent framework, from early JavaScript coding agents to XML formats, markdown, SQLite for databases, and progressive tool disclosure.
Scaling Tool Ownership & Progressive DisclosureSarah explains the shift from few-shot prompting to goal-driven tool definitions, enabling distributed tool ownership and the importance of progressive disclosure for managing many tools.
Teaching at the Top of the Class & InterpretabilityDiscussion on Notion's philosophy of building for power users, emphasizing interpretability and allowing operators to interrogate the system.
Custom Agent Setup & Self-HealingSimon and Sarah explain the "flippy" UI for custom agents, allowing users to chat with the agent to set it up, debug, and even "fix" itself in an admin-supervised mode.
Pricing & Value Alignment for AgentsSarah details Notion's credit-based pricing for agents, abstracting beyond raw token usage to account for various costs and ensuring value alignment for customers.
Model Choice & Market GapsSarah discusses Notion's strategy for model selection, prioritizing the "right tool for the job" (e.g., "Auto" models for simpler tasks) and addressing market gaps in the intelligence-price-latency triangle.
Training Models & Fine-TuningDiscussion on Notion's approach to model training, focusing on context-specific fine-tuning for enterprises rather than large foundational models, and the challenges of frequent tool changes.
Outer Loop Optimization & RetrievalSimon emphasizes optimizing the "outer loop" of agent interaction and tool robustness over constant model training. Sarah discusses investment in retrieval models for agent-driven search traffic.
Meeting Notes & Data CaptureSarah highlights Meeting Notes as a major growth lever and powerful data capture mechanism, driving Notion's data flywheel and enabling agent-driven workflows like pre-reads and task filing.
Wearables & System of RecordDiscussion on potential partnerships with wearable tech for data capture, reiterating Notion's core mission to be the best system of record for collaboration.

Topics

AI tooling developmentCustom agentsModel limitationsFunction callingProduct roadmapCoding agentsSoftware factoryFrontier capabilitiesUser collaborationHorizontal SaaSEngineering culturePrototypingHackathonsAI team structureModel evaluationModel behavior engineeringRole of software engineersAgent composabilityAgent memoryCLIs vs MCPsTool abstractionsProgressive disclosureAgent pricingModel selectionFine-tuning modelsRetrieval modelsMeeting notesData captureWearable technology

People

Simon Last (guest) Sarah Sachs (guest) Alessio (host) Squeaks (host) Ivan (mentioned) Jimmy (mentioned) Brian Levin (mentioned) Kidney (mentioned) John (mentioned) Zach (mentioned)
Key Concepts (20)
CLIs (Command Line Interfaces) — A type of agent interface, favored for its power in terminal environments, progressive disclosure, and inherent bootstrappability for self-debugging and fixing.
MCPs (Multi-Component Protocols) — A simpler, tightly permissioned agent interface, good for narrow, lightweight agents where a full coding agent runtime isn't needed.
Custom Agents — Notion's recently launched AI feature allowing users to create personalized agents that run in the background, automate tasks, and interact with Notion's tools and data.
AGI-Pilled Projects — Forward-looking projects at Notion that anticipate future AI capabilities, such as coding agents as the "kernel of AGI" and the "software factory."
Software Factory — A concept for highly automated workflows for developing, debugging, merging, reviewing, and maintaining codebases, with multiple agents collaborating.
Swimming Upstream — An intuition skill at Notion to quickly discern if development efforts are fighting against current model limitations or if the infrastructure/information setup is incorrect.
AgentLab Thesis — A framework or philosophy that guides Notion's AI development, emphasizing building beyond simple wrappers to create deep, integrated AI capabilities.
Implicit vs. Explicit Expertise — A discussion contrasting Datadog's combined market and engineering expertise with Notion's horizontal platform, highlighting how expertise is embedded in product design.
Demos Over Memos — A cultural concept at Notion, prioritizing working prototypes and demos over written documentation to facilitate communication and decision-making.
Model Behavior Engineer (MBE) — A unique role at Notion, evolving from data specialists, responsible for understanding model performance, building agents to write evals, and defining "headroom" for future capabilities.
Self-Verification Loop — A critical component of the software factory concept, involving robust testing layers to ensure agents can verify their own work and maintain desired invariances.
Manager Agent — An abstraction layer where one agent oversees and manages multiple other custom agents, reducing notification overload and helping debug issues.
Memory as Pages and Databases — Notion's approach to agent memory, where agents are given access to specific Notion pages or databases to store and retrieve information, allowing for human and agent editing.
Progressive Disclosure (Tools) — A design principle for agent interfaces where not all tools are shown at once, but rather revealed contextually, improving efficiency and preventing models from being "nerfed" by too many options.
Usage-Based Pricing — Notion's credit-based pricing model for custom agents, abstracting beyond raw token usage to account for various costs (GPUs, web search, sandboxes) and ensuring value alignment.
Notion's Last Exam (MLE) — An internal initiative at Notion to define comprehensive, challenging evaluations (frontier evals) that models currently pass at a low rate (e.g., 30%), pushing the boundaries of AI capabilities for enterprise work.
Flippy UI — A design approach for custom agents where the main view is the chat interface, and settings are a side panel, allowing users to interact with and configure the agent primarily through conversation.
Outer Loop Optimization — A strategy for improving agent systems by focusing on the overall interaction loop (model + harness + system) and fixing bugs in tools rather than solely on model training.
Agentic Find — Notion's re-investment into rethinking search and retrieval for agents, optimizing for different query structures, ranking, and indexing needs compared to human search.
Data Capture Problem (Meeting Notes) — Reframing meeting notes as a fundamental data capture mechanism, providing a rich source of signal for agents and driving Notion's data flywheel.
References (25)
GPT-4 model
Frontier Labs company
Fireworks company
Anthropic company
OpenAI company
Sonnet 3.6/3.7 model
AWS company
Datadog company
CloudWatch product
Cloud Code tool
Robinhood company
Gemini model
GitHub tool
Verkada product
Gmail product
Chromium API API
Jira product
Slack product
Linear product
SQLite database
Postgres database
Opus model
Haiku model
MiniMax model
Elasticsearch tool
Transcript (120 segments)
Speaker 1

Broadly speaking, I'm really bullish on CLIs. I'm still bullish on MCPs in a certain environment. I think it'd be really great for when you want, like, a narrow lightweight agent.

I think there's definitely a lot of use cases where you don't want, like, a full coding agent with the compute runtime. And, also, you want it to be, like, more tightly permissioned. MCP inherently has a really strong permission model.

Like, all you can do is call the tools. MCP is just, like, the dumb simple thing that works, and it that is pretty good. Notion is dedicated to being the best system of record for where people do their enterprise work.

So we will always support our MCP insofar as other people are using MCPs.

Speaker 3

we've put a lot of effort into our MCP, and we have a fantastic team that we're building.

Speaker 2

Hey, everyone. Welcome to the Alethia in Space podcast. This is Alessio, founder of And I'm joined by Squeaks, editor of Alayd in Space.

Hello. Hello. We're back in the beautiful studio that Alessio has set up for us with Simon and Sarah from Notion.

Welcome. Thanks for having us. Thanks for having us.

Yeah. Congrats on the launch recently. Custom agents, finally, it's here.

Speaker 3

How's it feel? We ship things slowly. So it had been in alpha for a little bit.

And at the point at which is it's in alpha, there's a group of people that are making sure it's ready for prod. And then there's a group of people working on the next thing. So sometimes some of these launches are a bit delayed satisfaction.

So it's quite nice to remind yourself all the work he did because we do have a habit of being two or three milestones ahead just because you have to be. You can't get complacent. But it's been great that people understood how this is helpful.

And I think that's just easier in general building AI tools today than it was two, three years ago. People get it. And so that user education, there's just it was our most successful launch in terms of free trials and converting people and things like that.

It was really successful. So yeah. But there's a lot to build.

Making it free for three months helps.

Speaker 1

You know? Yep. It was definitely super exciting for me because it's probably the fourth or fifth time that we rebuilt that.

Yes. And You've been building this since 2022. Yeah.

It was even right when we got access to G P G 4 in late twenty twenty two. Okay. Let's make an agent that I mean, I would use the word assistant at the time.

That wasn't my third agent yet. But, oh, we'll give it access to all the tools that Notion can do, and then it will run-in the background. Do work for us.

And then we just tried that many times, and it just was too early. I need to force you to, like, double click on that. What is too early?

What didn't work?

Speaker 3

with the Frontier Labs and with Fireworks, like a function calling model on Notion functions. This is right when I joined. I joined because we needed a manager.

Simon was needed to be able to go on vacation. That's around when I joined, you so can speak much more to it. Yeah.

Speaker 1

the when we first tried, there wasn't even a concept of, like, tools yet. We designed our own, like, tool calling framework, and then we tried to fine tune the models to to use it over multiple turns. And because it didn't work well out of the box.

I think yeah, the models are just too dumb and the context, like, was also way too short. Yeah. And, yeah, we just banged our head against it for a long time.

Unfortunately, it was always, like, there was always like glimmers that it was working, but it never felt quite robust enough to be like a useful, delightful thing until I would say the big unlock was probably like Sonic 3.6 or seven early last year. And that's when we started working on our agent, which we shipped last year.

Speaker 3

kind of a similar capability. And that one just took longer because we just wanted to get the reliability up a lot higher because it's actually running in the background. And the product interface of, like, permissions and understanding this custom agent is shared in a Slack channel with x group of people and has access to documents that are surfaced to y group of people.

And the intersect of x versus y might not be whole. And so how do you build the product around making sure administrators understand that permissioning took multiple swings.

Speaker 4

Everything is hard back at the end of the day. Yeah. I'm curious, like, when the models are not working, how do you inform the product road map of, okay, we should probably build expecting the models to be better at some reasonable pace, but at the same time, we need to you had a lot of customers in 2022.

Speaker 1

It's not like you were a new company with no user base. Yeah. I mean, I think there's always the balance of, like, you wanna be AGI pilled and thinking ahead and building for where things are going.

But also, you wanna be, like, shipping useful things. And so we always try to, like, keep a balance there. We try to take, like, a portfolio approach.

Speaker 4

working well and make them really good. And then we wanna always have a few projects that are a little bit crazy. And what are the AGI appeal projects that you have today?

I'm curious what you don't have to share exactly what you're working on, but I'm curious what are things today that maybe in eighteen months people will be like, oh, obviously, this was gonna work. Eighteen months?

Speaker 1

Yeah. Eighteen months is. It's a long time.

Yeah. Yeah. There's a number of things happening.

I think one thing that's becoming more clear is I think the coding agents are the kernel of EGI. Everything is a coding agent. I think that's one one direction.

And then, yeah, the exciting thing about that is your agent can bootstrap its own software and capabilities and actually debug and maintain them. And so, yep, we're thinking a lot about that. And then, yeah, like, another category of things that I'm really excited about is what we call the software factory.

Lots of people are using this this sort of word.

Speaker 3

and maintaining a code base of a service where there's a bunch of agents working together inside? And, like, how does that work? If you think back to your initial question, like, why did this take so long?

I think something Notion's I didn't say that. But, yes. Okay.

Go ahead. What changed over the three a years of trying? Because most people always say it didn't work yet, then reasoning models came, then it worked.

I was like, okay. Let's go a little bit. I mean, that's part of it.

But I think the other part of it that I actually think is really what will set Notion apart for every new capability is we have two skills that are crucial when it comes to frontier capabilities. One is not letting yourself swim upstream. So like quickly realizing if you're just pressing against model capabilities versus not exposing the model to the right information, not having the right infrastructure set up, that in of itself is a skill of intuition.

And the second is to see, okay, you're not swimming upstream. Which direction is the river flowing? And what is like how do we think ahead about the product and start building it even if it's not great yet so that when it is there, we're ready for it.

And like those can sometimes feel like counterintuitive things. Like we can be trying to fine tune a tool calling model when they don't exist yet. And the trick is to not do that for too long, but realize that there was something there.

And we've had a lot of things which like we're just like not swimming in the right direction with the streams. I think we had multiple versions of transcription before we got meeting notes. Right?

Oh my god. I talk about that. Yeah.

Yeah. I I think that like, we we really closely partner with the Frontier Labs on capabilities. And we also have to have strong conviction on as those capabilities move.

Notion is about being the best place for you to collaborate and do your work. And how does that narrative change if the way that we work changes? Yeah.

Yeah. You told me you're a fan of the AgentLab thesis. And this is I show that thesis to so many candidates.

Like, I have it as my Chrome autofill at this point. Like, it's one of my most visited Is this the here's why you should work in Notion and not Here's what's different about it. Yeah.

And here's why it's not just a wrapper. I actually think more and more people understand it's not just a wrapper. And by the way, like, in the beginning, parts of what we build are wrappers on functionality that works well.

That's not really the most I would say that's not the product that that drives revenue, and that's not necessarily always what users need.

Speaker 2

Notion is the AWS wrapper. But like the wrapper is very beautiful and like very well polished.

Speaker 3

that I've been coming back to is Datadog and AWS. Yeah. Datadog could not exist without cloud storage.

That it's fundamental that works. And AWS has a CloudWatch product. But Datadog is an expert on understanding how people want observability on the products they launch.

And we're experts in understanding how people wanna collaborate. And that's really where our expertise lies Totally. Regardless of the tools that we use.

I'm curious how you think about implicit versus explicit expertise.

Speaker 4

I feel like Datadog is half and half implicit and explicit. It's like they understand across markets and industries where engineering teams usually look for. With Notion, it's almost like more of the expertise is at the edge because you as a platform, you're, like, so horizontal that the end user is not really the same.

But, like, the end user is always Yeah. An engineering lead, a kinda, like, SRE related person. With Notion, it can be anything.

Speaker 1

So I'm curious how you put that expertise into a product versus, obviously, AWS cannot build Notion. It's that doesn't quite work in this case. It's a little bit differently shaped.

I think a classic vertical SaaS, like, the data is kinda like that. They understand their individual customer very deeply. It's kind of a narrow slice.

Notion has always been super horizontal, and our task has always been to balance these two somewhat opposing forces. We're listening to our customers and what they want us to build. It's a broad slice.

And then also, we're thinking about, okay, how do we decompose what they want into a nice primitives that are really nice to use and will get us, like, as much bang for the buck as possible, And then maintain the whole system, make it all like super clean and nice to use. We still have easier journeys.

Speaker 3

I actually think the failure of our team is when we focus too much on what are cools that are what are tools that are cool tools. I actually think that's when we make have the least velocity. Because you still need some sort of focus on a user journey.

So, like, for instance, we'll all sit down every Friday and look at the p 99 of the most token exhaustive custom agent transcript and just look at why it didn't do well and cut a bunch of tasks. Like, we still focus on this has like, this should work. Email triaging should work.

Right? And similarly, like, when we're talking about before building chatting before we started filming about, okay, how can I do PDF export? That's functionality that then merits maybe we should build a tool that has access to a computer sandbox and a file system and the ability to write code.

But it's because we're thinking about the fact that our users to do their daily work need to export PDFs not because we're like, I think a computer tool could be cool. Let's just see what happens. Like, we we have to focus on some user journeys.

Otherwise, we just don't have enough strategy to to prioritize.

Speaker 2

I think there's a lot of, like, really strong opinions that you've had. Did you have, like, like, a towel of Sarah Sachs? Like, what how do you run your team?

Like, I feel like you just have accumulated all these strong opinions. Obviously, part of this is your token town thing.

Speaker 3

I think the Taoist working with Sarah Sachs is it have to it depends if you ask. I think it depends if you're on my team or a partner or a vendor. Yeah.

The other people want to run their teams the way that you're you're you're, like, running these things. But then also similarly, Simon, when you did the custom agents demo, you had we've been using custom agents and here's the super long list of everything that we do. No humans ever read it.

That's what you said. I was like Yeah. So I think for me, something that I learned very quickly and became very comfortable with was that my job was not to be the ideas person or the technical expert.

My job was to make it so that everybody understood the objective, had a resource to help prioritize what they should work on, and had an avenue to prioritize what they thought was important. And I think it's true with all leadership. But I think especially on the AI team, almost all of our best ideas come from prototypes, from people that have a cool idea because they saw a user problem.

And it's a huge disservice if all of those ideas have to pass like the sniff test of what me and a product partner or Simon and Ivan decided were the direction. Right? Because a lot of what we're doing is leaning into capabilities.

So I think that's the first thing is I don't really view like the role of engineering leadership as hierarchical, nor has it ever been. But especially now, like very willing to change direction based on like proof is in the pudding. And I think we have rebuilt our harness three or four times.

And when you do that, then the second rule of engineering leadership is like, need to build a team that's comfortable deleting their own code. And is very low ego and is driven by what's best for the company and doesn't write design docs because they think it's their promotion packet. And that's a culture that Notion had long before I joined.

But, like, our willingness to just swarm on different problems and redo things that we've built before because something has changed, there's a lot of friction that can happen at companies when you do that. And it doesn't happen at Notion. And because it doesn't happen when new people join, like, don't wanna be the ones that are saying we shouldn't do this.

I wrote that code. So then it's you create a culture that everyone adopts. And that culture comes directly, I think, from Simon and Ivan, though, because they're very open minded.

Speaker 1

Anything you'd add? I'm not a manager like Sarah is. A lot of my role is really to try to think a little bit ahead, make sure that we're building on the right capabilities, and then the prototyping stuff.

And, yeah, it's really critical to always just be starting again. It's okay. This is a new thing.

What does this mean? What if we just rethought everything, rewrote everything?

Speaker 3

Hence, obviously, just doing that in a loop every six months. Yeah. Do you believe in internal hackathons for this stuff?

I think there's two different versions. So one is we just have a solid bench of senior engineers that come and go on what we call the Simon Vortex and productionizing what we built. Right?

Because when you're in the Simon Vortex, the velocity is super high. The direction changes daily. And it's meant to be like the equivalent of a Skuckworks lab.

We don't need to do hackathons for that. We need to have senior engineers that we trust to come in and out of those projects. For instance, like, management boundaries are really loose.

Like, you report to him, but you work for her right now. Like, that's something that when we hire managers, it's important they don't care about because we tend to form work structures. Yeah.

Don't be too territorial. We form work structures after we ship things, not before, just historically. The second thing is we do have company wide hackathons.

Actually, we just had our demos day for the hackathon we had last week this morning. That's more for people that aren't directly working on the project, feeling like they have the time to pause and learn how to make themselves more productive or how they would use Notion custom agents to build something. Or part of the hackathon was actually encouraging everyone across the company to build their own agentic tool loop calling from scratch.

Following like in every blog post on how to do it, I think. Because we want Is that the compound engineering one? Yeah.

We want everyone to use Cloud Code in the company or whatever the coding agent they please and understand that fundamental. So we set aside a day and a half where all leadership encourage everyone on their teams across the company to do it. So we have hackathons like that.

I would say, like, facetiously. Like, everything we build is a little bit like a hackathon until it graduates and puts on big boy pants and as a product ops rollout later and has assigned data scientists and stuff like Security review, enterprise stuff. Actually, security review is one of the things that we bring in first because it just slows us down way more and causes a lot of tension, and they build better product if they're involved early.

That is probably the first person to get involved in something. PR approved answer. No.

No. But it's not just PR approved. It's like It's real.

It's actually real. It's I'm just saying dark tissue. Yeah.

Because my background's also I worked at Robinhood for a number of years. So compliance and things like that are a little bit more you learn the hard way when it doesn't come naturally. Yeah.

Speaker 1

is really important for uplifting the general population. But if that's the only way you can build new things, you're toast. It has to be, like, the daily processes of building these new things.

And it has to be about I think I think in the AI era, a lot more leverage accumulates to the most curious and excited people. And so it's like, we're all about just, like, activating that energy. If someone's prototyping something on the weekend that they're excited about, and it's important, that should be the main thing that we're doing.

Yeah. It's not a hackathon that we schedule once a quarter. It's just daily process.

It's part of the culture. That's how we shift image generation in Notion now.

Speaker 3

where that was necessarily aligned in product priorities. It'd be a lot of work. And we had someone on the database collections team, Jimmy, who was like, I really wanna do image generation for cover photos and inside Notion.

And we're like, if you wanna build it, like it's do it, please. Like, we encourage you. We gave him all the resources of working directly with Gemini and being able to track the token usage and it got working through our endpoints.

We gave him eval support, everything. And then it became a full project. Yeah.

That's why you can't have, like, ego as a leader. That's how we work. What's the size of the team today, both engineering and overall?

I manage the team that's what we'll call, like, core AI capabilities and infrastructure. That's about 50 people. But then we have I partner teams that do packaging.

So how it shows up in the corner chat versus custom agents versus meeting notes, that's another thirty, forty people. And then every team that has a product service at Notion that a user can interface with owns the tool that the agent interfaces with. The editor team.

The team that did CRDT for offline mode is the same team that handles how two agents edit competing blocks. It's the same problem. The team that built the underlying SQL engine is the same team that owns how the agent asked it to run a SQL query and it does it performantly.

And so from that regard, anyone working on product engineering is tasked with making them work for customers that are humans and agents. Because over time, a majority of our traffic will be coming from agents using our interface, not humans. And our objective is to make it so that the whole product org is building for agents.

Yeah. How does it change internally?

Speaker 4

The activation bar is lowered a lot. Like, anybody can create a prototype very somewhat easily, especially if you're, like, in an existing code base.

Speaker 1

Have you raised the bar on what type of prototype people need to bring forward to gonna be taking not, like, seriously, but I think the bar is lowered in many ways. Like, one thing of our our team build that is really cool is our our design team made a whole separate GitHub repo called the design playground, and it's basically just they create a bunch of, like, helper components and you for quickly I threw in the other UIs, and it's become, like, actually quite sophisticated. Like, has agent in there, and that's pretty fun.

So we pretty much they don't do mocks. They just make, like, full prototypes. Period days, it works.

They give you, like, a URL. They're like, okay. So we have to make the, like, the real production version of that.

Speaker 3

a prototype looks like just making it a feature flag that actually works. That's a bar. So the thing to understand that's really unique about Notion, one of the reasons I joined, we're super lucky, is no one uses Notion in their job as much as people that work at Notion.

Of course. So I think there's very few companies. Maybe if you worked on Chrome, I guess.

But like everything that we ship internally first and get a lot of really quick feedback. And also sometimes our dev instance is totally borked and you have to change a bunch of flags to get things done. And that's everyone.

So people that do IT ticketing, people that do supply chain procurement recruiting, everyone is using the same instance of Notion with a lot of flags on for these prototypes people build. I mean, so we have this Brian Levin, one of the designers on our team, I think evangelized this concept of demos over memos. Oh.

Too good. Which has been very good for building demos. And I think it's put a big pressure point on us to have really strong product conviction.

Because if anything can be demoed, you really need a strong filter of making sure that if you're doing x amount of work, you're making the you're focusing on one tower. You're not just building a really flat hill. That's actually where I think there has to be more conviction from our PMs and our designers, the company really to have conviction of what journey we're going on.

But overall, feel like it works pretty well.

Speaker 1

almost all the engineers have good enough taste to realize that this prototype doesn't actually make sense in the product, or it does. So it's not that common that I would see a prototype. It's like, oh, this makes no sense.

It's people are doing reasonable things, and then it's just a matter of which things we build first, and then often just figuring out how to turn it on and off. There's, like, part in the in our, like, experimental chat UI, there's this there's probably, like, a 100 check boxes in there. Kills me.

There's reason you could turn it on and off.

Speaker 3

But I think that okay. So that is true, Simon. But, like, being the person that manages the evals team, like, there is a level of intensity that it adds to the platform team.

But if we're gonna do image generation in Notion, all of sudden, the way that we do attachments and the way that we our LLM completion, like Cortex talks and expects tokens back, and now it's getting images back. There's a lot of platform work that we do need to solidify a little bit. So sometimes it'll be in dev for a couple weeks before it makes it to prod just because we still have to, like, make it robust, make it HIPAA compliant, ZDR compliant, figure out the right contracting with the vendor, whatever it is.

And we need to eval it because we want the team to still maintain what they build. That's the one thing. If we have a bunch of prototypes, it can't just be like a small group of people that then maintain whatever in prototypes.

So we have invested a lot of people in an eval and model behavior understanding teams that we call it agent dev velocity. So your dev velocity building agents can be faster if we invest in that platform. And so we have a whole org dedicated to Asian platform velocity so that you can build your own eval and then maintain it once you ship it.

So if a new model release comes out and we Every team maintains their own eval? We maintain the eval framework. Every team owns their own evals.

And a lot of them we've integrated to opt into CI or we run them nightly. And we have a team, a custom agent that triggers to a team to look at the major failures. That's really critical because if we have all these different services now, a lot of it's on the same agent harness.

So it's easier to maintain. It's just packaging of different agent harnesses. But new functionality of the agent let's say that, like, we wanna update, like, they deprecated Sonnet four or whatever it is.

And we need to auto update already?

Speaker 2

That's so okay. Yeah. Level three.

Wasn't that long ago? They were just 35. 35.

Speaker 3

37 just got deprecated. 37. I think it's a 52.

Or yeah. No. It's not 5.

2. It's not 5.2.

Yeah. Yeah. Yeah.

Five four is 40% more expensive than five two.

Speaker 2

would hear from me about that one. But another conversation I have. I have a cheeky evals question for you.

Have you noticed any secret degradation from any of the major model providers? Secret degradation? During the walkway when it's high traffic, it suddenly gets Yeah.

Speaker 3

we definitely noticed flickiness. We've definitely noticed particularly for some providers that things are slower during working hours and There's a latency argument, not a quality argument. No.

I think the quality difference that's interesting is even though companies that say they're selling the same it's really into like quantize quantization. But like, companies that say they're selling the same model through different vendors, whether it be through First Party or BetterOc, Azure, etcetera, we do see different qualities sometimes. And that's not necessarily what's advertised.

Speaker 2

Yeah.

Speaker 3

that's Yeah. Embarrassing. We hire subprocessors to figure that out for us.

So we just wanna understand where it's regressing or where it's optimized. And sometimes we're okay with regressions that optimize latency if they're the appropriate regressions. Our job is to make sure we have the evals to understand the changes that are important to us.

And even like when we're partnering with labs on prereleases of models, they'll send us multiple snapshots. And this is less about quantization, but more just regressions. Like, they have shipped models that were not the snapshots that we wanted.

And they have changed the snapshots that they shipped based on the feedback that we give because our feedback tends to be more enterprise work focused and not coding agent focused. And definitely, those can be boomers. We know that this wasn't the version you wanted, but we'll help you make it work.

We always make it work, but that definitely happens. Yeah. Do you have failing evals that you're just hoping Oh.

That will have success eventually when a good model comes out? Yeah. So I think I could talk about this for sixty minutes, so I will limit myself.

I think it's a real issue when people say evals. And it's just like, that's quality. That's like unit it's like saying testing.

It's not just unit tests. So we have the equivalent of unit tests, regression tests. Those live in CI.

Those have to pass a certain percent within some stochastic error rate. Then we have, as you're building a product, evals of these aren't passing right now and this is launch quality. So we have a report card.

And we need to, on these categories, be at 80 or 90% of all of these user journeys to launch. And then what we have, what we call frontier or headroom evals, where we actively want to be at 30% pass rate. And that's actually been an effort that we took in partnership with Anthropic and OpenAI in the past maybe two or three months because we actually hit a point where our evals were saturated And we weren't able to really give insightful feedback other than it wasn't worse.

And not only is that not helpful for our partners, it's not helpful for us to understand where the stream is going, going back to that analogy. And so we spent a lot of time thinking about what Notion's last exam looks like. Right?

Not just humanity's last exam. MLE. Notion's last exam.

And there's a lot of dreams about what that would look like. I know we've talked a lot about benchmarking SWICS. But, yeah, Notion's last exam is a big thing inside the company, and we have people full time staff to it exclusively.

We have a data scientist, a model behavior engineer, and an full time evals engineer just dedicated to the evals that we pass 30% of the time. What you're hiring for? MBEs?

I am hiring. What is an MBE? A model behavior engineer.

Model behavior engineers started with a title data specialist before I joined when they were working with Simon on Google Sheets. And Simon just needed someone to look through Google Sheets and say, yes, no. This looks bad.

This looks good. And so we hired people with diverse linguistics background. We had a linguistics PhD dropout and a Stanford comp lit new grad.

And they're amazing. And they formed a new function, basically. And over time, we've built a whole team with a manager who's now reinventing what that role is with coding agents.

So they used to be manually inspecting code. Now they're primarily building agents that can write evals for themselves or LLM judges. There's a really funny day.

I can send you the picture where Simon, about a year and a half ago, was teaching them how to use GitHub. And they're on the whiteboard. And it was like, okay, I think it would be so much faster if our data specialists learned how to use GitHub and learned how to commit these things into code.

And that was then. And now I think coding has been a lot more accessible. But moving forward, it's this mix of like data science, test, PM, and prompt engineer.

Because there's craft in understanding, like, even what models can and can't do things. How do we define, like, that headroom? How do we define, like, what a good journey is?

Is this model better or not? Why is this failing? There's some qualitative work, but then there's also like a lot of instinct and taste to it.

Software engineering. And so we have like very firm conviction. And we have had for a number of years now that is its own career path.

Speaker 1

And we have always welcomed the misfits, so to speak. So we really firmly believe that you don't need an engineering background to be the best at this job. And that's what's quite unique about this particular role.

This is something that I've been pretty excited about recently is we made an effort basically to treat the eval system as, like, an agent harness. So if you think about it, you should be able to have an agent end to end, download a dataset, run an eval, iterate on a failure, debug, and then implement a fix. And ultimately, you should be able to drive the full end to end process with a human sort of observing the the outer system.

So, yeah, we went pretty hard on that. That that's worked extremely well so far. It's like, basically, just to turn it into a coding agent problem.

Speaker 2

Your coding agent or just whatever It it harness

Speaker 3

be totally general. Yeah. I think it it'll be a mistake to fix it on any particular coding agent.

At the end of the day, it's just like CLI tools. It's like the same way that you would have a coding agent write the unit test. You should have a coding agent write the eval.

Yeah. But there's a lot of supervision in that still. We just don't believe that supervision has to come from software engineers because a lot of it is UXRE and whatever.

And these are the people that also triage failures and tell us where we should be investing next. Yeah. I'm gonna go ahead and ask a spicy question.

Is there a day there are no software engineers at Notion?

Speaker 1

What does it mean to be a software engineer? Exactly. I think the way things are going is, like, we're on some continuum where if you look back three years ago, humans were typing all the code, and then we had autocomplete.

You're typing all code. Then we had, like, filling agents filling lines, and now we're getting into, like, agents doing longer range tasks where you can debug and implement a fix and then verify it works and get your PR even, like, merge and deployed. I think we're just moving up the abstraction ladder, and then the human role becomes more about observing and maintaining the outer system.

There's a string of agents flowing through merging PRs. What's going off the rails? What do need to approve?

Is there like a learning or memory mechanism that works? So it's a hard engineering problem. There's a there's a lot to do there.

I think we're just we're living up the stack. The same transition machine learning engineers have made. Like, I haven't looked at a PR curve in a while.

Speaker 2

Yeah. You used to do this stuff, and now auto research can do it. Right.

Speaker 3

it depends on what you define as a software engineer. Yes. That's changing for sure.

I think every software engineer at Notion this summer went through like this sheer one of our engineering leads at the company called it like, every software engineer is going through the identity crisis that every manager goes through, where all of a sudden they realize their ability to write code is less important than their ability to delegate and context switch. And I think that is a transition out of being a software engineer.

Speaker 1

But Yeah. There's a critical difference to being a manager, which is that it is actually very deeply technical. The problem humans are very, like, fuzzy, and you can't treat a team of humans like a rigorous system where PRs flow through and can be in, like, a blocked status.

And then what happens when they're blocked? With a set of agents, you actually can do that. Think it's actually there's a lot of interesting technical rigor that goes into that.

It's a it's a technical design problem, ultimately.

Speaker 4

What is the design of the software factory that you're building? Yeah.

Speaker 1

trying a lot of different things. Ultimately, you want to design a system that requires as little human intervention as possible, but, like, still maintaining the invariance that you care about. So, yeah, we're exploring a lot of different ideas there.

I think I talk about a few things I think are important there. One thing I think is really important is having some kind of, like, specification layer.

Speaker 2

You can just commit markdown files. That works pretty well, but It's nice to be Notion, man.

Speaker 1

the spec like, yeah, the natural home for specs is Notion. Yeah. It can be a database of pages.

Yeah. It needs to be something that is human readable and imbuable. And I think that's pretty key.

Another really key component is, like, the self verification loop. Yes. You need a really good testing layers, basically.

And that's a really deep problem about getting that. And then there's kinda like the workflow of what happens when there's a bug. How does it flow into the system?

Is it like a sub agent working on it? How does it make a PR? And how does that get reviewed and merged?

And then so there's, like, the flow of process.

Speaker 2

Yeah. Cool. One thing we did work out before you guys came in was this demo or this Agents.

Agent demo.

Speaker 4

every time we do an episode, we try the product. Right? I don't think there's ever been an episode that I haven't tried.

Try is a big word. Since day one, Lanespace has been on Notion, but this is the this is the new thing. Yes.

So this is for Kernel Labs, which is the space we're in. So next week, we're opening applications for tenants. So there's a web form.

Let me we have this form done here. Before, the workflow would be I get an email, then I look at the person. Was like, should I spend time talking to this person?

Then I respond. They respond back. So I build this.

So the name, it came up for on its own. Can you maybe how do how does it come up with its own name? Yeah.

That's a pretty apt name. It's it's just a random. It's a random name generator.

Oh, okay. That's funny. It just came The fact that it picked that is is hilarious.

Speaker 1

I'm

Speaker 4

pretty sure it's just Resilient Collector. I think I've never looked at the code for that. I've never second guessed it.

I think it's like a Mad Libs situation. Think it's Right. Yeah.

It's totally a a deterministic. I thought it was great. Yeah.

It's Although when the if you use the AI to set itself up, it can update its own name. Okay. How did you create it?

Did you just do class or did you okay. I did yeah. I'll say just check my inbox for applications for a coworking space, keep it available to people.

So it created a database for me, which I have here. And I guess database is like a Notion table because everything is Notion. And then whenever an email comes in, like here, it just creates a new role for the person, and then it uses web search to enrich the the profile.

So it, like, searches the web and is this is who this person is. This is when does they wanna move in and updates everything else. This is it's not AGI, but to me, I don't wanna do this work.

So it feels it took me maybe, like, fifteen minutes to set up the whole thing, and I really like that. Most of the information should live here. It's not like some other tool asking me Yeah.

To bring my stuff there. It's like, I would have probably already created an ocean thing.

Speaker 3

that extra layer of human involvement in the process to make it and, like, one of our biggest use cases is bug triaging. So if someone posts something in Slack, and you just have a custom agent that lives there that has its own routing constitution of what team this belongs to, creates a task in your task database, and then posts in that Slack channel? That's one of the first things that we built internally, I think.

And it's completely changed the way that Notion functions as a company. Nothing falls through. Most things don't fall through the crack.

We don't know what we don't know. But it's not replacing people. It's replacing processes.

Speaker 4

Yeah. And I'm curious how you think about composability of these things. So the other one I was working on is like a piece filler.

So whenever somebody signs up as a tenant, fills up the lease for them, there should probably be some agent that is, like, office manager agent that can handle the request, make the lease, and then give them a verkada access to the office and all of that. How do you think about that future? Yeah.

So there's two ways you can compose.

Speaker 1

One way is by using, like, the data primitives. So you can you you can give you have one agent be writing to the database, there's another agent that's watching the database. So that's one way that they can coordinate that.

It's, like, a little bit more decoupled and works really well. Or you can couple them. So I think it's actually not released yet.

Releasing it, like, next week is in the settings for an agent, you can get access to invoke any other agent. So you can have them just just talk directly. That's what you Was there a limit on number of recursions or just Probably.

Like, you can just get an infinite loop that way. There's some kind of yeah. Think it's I'm just like There is actually a number somewhere.

It's a lead. I'm just like, you're someone's gonna screw it up. You should just try it and see.

Yeah. Everything's gonna be paperclips. Oh, yeah.

Yeah. But but that's really useful. Yeah.

So we like, I just I helped someone internally the other day. They had built, like, over 30 custom agents for for our go to market team doing all kinds of different things. For example, like, researching like, filling information about about a customer or, like, triaging customer feedback or something like that.

Literally over 30 of them. And then he gave me, like, a database of all the agents. And then he was okay.

And now I'm getting 70 over 70 notifications per day with just the agents are blocked on various things. And then I was like, oh, okay. Cool.

The obvious thing to do there is to make a manager agent Right. That's gonna Blocks. Be another abstraction layer in between your 30 agents.

So, yeah, we set up with a manager agent, and then has access to invoke all the other agents, and it's, like, watching and observing them. And then it's it just creates a layer of abstraction. So instead of 70 notifications per day, it's, like, five.

And then the manager agent can help debug and fix any any problems with the This is a concept of an inbox or something like because you're you're basically saying that they can message each other. Yeah. Use a system of record, which is Notion.

Yeah. So we actually yeah. We didn't make any special concepts at all.

They're interested in the motion notifications that I would have got. They can just write a test to a database that the other agent's tasked to listening to, or they can actually call a webhook to the agent. Like, they can just add the agent.

Okay. Yeah. This is something that that we're still working on.

I think Yeah. We like, generally, the way we do these things is you first make it possible and maybe, like, sort of janky way. So I think the way I set them up is we created, a new database that was, like, issues that the customer agents were were experiencing, and then gave them all access to file an issue.

And then the manager has access to to read the issues. And that worked pretty well. Essentially, it gave it its own, like, internal issue tracker just for the agents.

And then if that becomes a concept that seems useful, generally, maybe we'll think about how to package it in. But generally, we try to just keep it to composing the primitives if we can. Another example of this is we have no built in memory concept.

Memory is just pages and databases. And so if you wanna give it memory, just give it a page and give it edit access to that page. And then human can edit it.

Agent can edit it. Yeah. And so that works that pattern works extremely well on it.

And depending on the use case, you can have it be just a page, or it could be an entire database with or I can have sub pages. It's pretty honest, so you can do that. So when I was setting this up, I connected my inbox, and it was like, do you wanna use Gmail or Notion Mail?

And I'm like, I don't wanna use either. I just want you to do it.

Speaker 4

Notion. Yeah. When, like, at the same time, you have the agents obstructing them away from you in a way.

How do you spend, like, the product calories, so to speak? Yeah.

Speaker 1

pretty important that you don't have to use Notion Mail to connect to the mail capability, so we can just connect to Gmail or whatever you want to use. And we're thinking of the mail service as being really great to the extent that it's really agent built. So maybe the mail app is just prepackaged agent that helps you automate your inbox.

Speaker 4

Yeah. The auto labeling is great.

Speaker 3

When we integrate with Gmail, for instance, we have a series of tools available that are available via MCP or API to Gmail. When we integrate with Notion Mail, we have the Notion Mail engineering team to build us the exact right tools that optimize latency, optimize performance and quality. They own that quality.

There's product leads there that are directly thinking about the user problems that happen in mail. So it tends to be when we build integrations and connections, we build natively first and then think about extending them generally just because it's also easier to build natively first. So that tends to be how we phase things out.

Talking about integrations, you prompted me, so I gotta ask MCP, CLI, what's going on? What's the Yeah. Opinion?

Speaker 1

bullish and excited about CLIs. I think there's a few really cool things about CLIs. So one really cool thing is is that it's in the terminal environment, so it gets a bunch of extra power.

So for example, I can, like, like, paginate and cursor through, like, long outputs. And it has progressive disclosure inherently. You don't see all the tools at once.

It's just you see the CLI wrapper, and you can use the help commands and read files. And then I think the most important thing that's super cool is that there it's also inherently bootstrapped. So if there's an issue, the agent can debug and fix itself within the same environment that it uses the tool.

Right? I think I saw a tweet this morning. Someone said, my agent didn't have a browser, so I asked it to make it a browser tool.

And within a 100 lines of code, it gave us a little browser, like, wrapping the Chromium API. That's pretty incredible. And then if there was a bug, it would just immediately try to fix it.

On the other hand, if you use an if you use, like, the Chrome DevTools MCP, I've had this issue where, like, sometimes the transport gets, like, messed up. If it gets messed up, the agent has no way to fix itself. It no longer has a browser.

It's not broken. I think that's pretty fundamental. But I would say, like, a lot of the bad things about it can be fixed.

So I think, like, the progressive disclosure, that can be fixed with the right harness. Like, it it obviously doesn't make sense to show it all the tools all the time. That's not really inherent to the MCP protocol.

It's just, like, how you wrap it and use it. There's many poorly implemented FCPs because we didn't know. Yeah.

I I mean, it was just early. Like, the obvious thing is, to start with, is to just show it all the tools. And it's okay.

Now we have a 100 tools. Yeah. And the tool calling actually works.

Let's The victim of your success. Give it a way to, like, filter to search the tools. Yeah.

I would say, like, broadly speaking, I'm really bullish on CLIs. I'm still bullish on MCPs in in a environment. I think, in particular, MCPs is really great for when you want, like, a narrow lightweight agent.

I think there's definitely a lot of use cases where you don't want, like, a full coding agent with the compute runtime. And also, you want it to be, like, more tightly permissioned. MCP inherently has a really strong permission model.

Like, all you can do is call the tools. A CLI is a little bit murkier. It's can I access the API token?

Are you, like, properly, like, re encrypting the token so it can exfiltrate it? It introduces a lot of, like, new issues, which are real and hard to solve. And MCP is just, like, the dumb simple thing that works, and it it is pretty good.

Speaker 3

not from it working well for Notion, but how Notion, like, commits to both platforms. Notion is dedicated to being the best system of record for where people do their enterprise work. So we will always support our MCP insofar as other people are using MCPs.

Right? So regardless of our perspective, we've put a lot of effort into our MCP, and we have a fantastic team that we're building to do more there. And the second thing I'll say, I think we all think a lot, but lately, I've been thinking a lot about making sure there's a value alignment and pricing with capability.

Speaker 2

Literally on this question.

Speaker 3

needing language to execute deterministic tasks feels wasteful. And requiring on a language model to interface with third party providers seems wasteful for tasks that don't require it. And particularly because our custom agents are using usage based pricing, we think of pricing as like the barrier of entry for use of our product.

And we're quite committed to making sure that it's not wasteful. Not just because it's a bad deal for our customers, but it's also bad business. We want as many buyers.

Like, there's a there's an elasticity of demand. And so if we can have our agents properly execute code that calls on CLI deterministically, it's a one time cost. Right?

Versus constantly having a language model integrate with an MCP over and over and paying those like repeated token fees. And if it's happening outside the cash window, then you're paying for it over and over. And it's just unnecessary and less deterministic when it doesn't have to be.

Yeah.

Speaker 4

I think the main thing is if I could write code to just call an API, I would never use an MCP. But then you need an MTP sometimes when you know what to call, but you don't want it to restart versus think the it built a browser from scratch. It's like it's great when you're doing it on your own, but if your customers were having your AI write a browser from scratch every time and you had to pay the token cost of that, Yeah.

You'd be like, no. The Chrome DevTools MTP is actually pretty great. Just use that.

I'm curious how do you make that decision? Should it be just straight API call, very narrow? Should it be an MTP?

Should it be super open ended? Do you mean for when we ship Notion capabilities or when we add capabilities to Notion AI? You might have a capability that the only way to do it is an open ended agent.

Like, an agent with a coding sandbox.

Speaker 3

Yeah. In Notion AI, though. Not explaining Yeah.

Notion AI. Ship an MCP Yeah. Yeah.

Yeah. In any AI. Yeah.

Internally. Okay. Is there ever a discussion on we're not gonna ship it because we're not able to tighten it down?

Or are you happy to just No. There are a lot of things where we choose not to use MCP because we wanna add more high touch to quality. I think search in Agentic Find is like the largest instance of that, where we have Slack and Linear and Jira search in Notion that is not using necessarily the Search MCP functionality that is provided by those companies.

And that's because it's quite critical, we think, to how our agent trajectories work is for us to have a little bit more control on the functionality of the search journey. And so it usually comes from quality. And there's a long tail of things.

And that's why we built an MCP client or an MCP server, excuse me, so that people can connect whatever they want. There is that long tail. Right?

But we for search particularly, I would say that's like the primary entry point. But there are other connections as well that it's a little bit of secret sauce about when we are okay with MCP functionality and user driven auth and when we actually wanna wanna carry along more ourselves. I think that there's not really a conflict here.

There's just like different layers of the stack and different abstractions.

Speaker 1

give you a way to it's a protocol for gaining access to tools. It's an open protocol, so you can easily get, like, a long tail many things. So if you open up our, like, in the tool settings Oh.

That's not the trigger. That's something that MSCP can't do. So if scroll down, and you and yeah.

The tools and access, so you're not a connection. Yeah. MCP is a really great way to gain access to tools.

It works really well. But you just looked at the trigger UI, for example, there's no trigger protocol. And so those are things we gotta build ourselves.

And then there's some integrations where we use MCP. So for example, I think the the Linear and the GitHub Mhmm. We use MCP.

But the Slack, mail and calendar, those are actually ones they built in house, and we spent a lot of time really fine tuning all the tools to make the rest really good, and also, like, building out the trigger. So it's just, like, different layers of the stack. Some things make sense sometimes, and then we just have to, like, like, harness the right tool at the right time.

I don't think there's an inherent strong conflict between these things. Do you have a canonical representation on these tools internally where, like, you wrap these things together, the MCP plus the custom built? Yeah.

Yeah.

Speaker 3

call. Yeah.

Speaker 2

archetype, whether it be from Teams or Slack. Yeah. It's like the only way to build with AI because everything's moving so quickly.

You would have to attract it so that you can swap things up. Yeah. There's always a dance.

Speaker 1

probably rebuilt our framework, like like I said, five different times. It's always a dance of, okay, how does this new thing work? What should the abstraction be?

Like, what is OpenAI giving us? What does Anthropy giving us? Like, we're trying to wrap over it.

I think I think we've been pretty successful with that. It's just a matter of, like, staying nimble Yeah.

Speaker 2

sure that you always have the simplest, dumbest obstruction you can, that that the maps are different things. Yeah. So we have a tool, integration abstraction, for example, and then MCP is like a type of integration.

Yeah. That's one of them. This might be a big ask, but I'm gonna try, which is you said you've said multiple times, you rebuild a few times, like five times.

I don't know if the what the right number is. Is there like a brief history of what was the each rebuild doing?

Speaker 1

And yeah. I know it. I can try to do that.

Yeah. There's interesting You need to rag over Archaeology. Yeah.

The first version that we started building in, like, late twenty twenty two. Oh my gosh. There have been many versions, actually.

Okay. Writer. I hate the highlights.

Wow. The first version we built was actually a coding agent. Yeah.

So we're like, oh, instead of building tools, let's make everything be JavaScript. And then we'll just give it JavaScript APIs, we'll just write code, and that's how it speaks the tools. But at the time, it just sucked at writing code.

It wasn't that good. So then we moved to more of a tool calling obstruction. A tool calling didn't exist yet, so we we created this whole XML representation.

And a big learning in that version is we were catering way too much to what made sense for Notion and Notion's data model versus what the model wants. So Mhmm. As an example, we created this whole XML format that can losslessly map to Notion blocks, and the transformation between them is super easy to do.

And then we created this sort of, like, mutation operations to to edit pages. But it sucks because the model didn't know the XML format. And also the You had to prompt it in.

Yeah. Had prompt it in. And the tool is just more inconvenient.

And so yeah. We're like, okay. It has to be markdown.

The model's no markdown. But we did a whole project around basically creating a Notion flavored markdown, where the whole goal was, like, it has to be just simple markdown at the core, and then we can add some enhancements. And it doesn't have to be a full lossless conversion.

That was a big one. We did it and then we did a whole similar learning to the database layer, so to querying a database. In the Notion API, the way you query a database is there's a crazy JSON format.

And it's limiting, but it maps nicely to, like, how we represent things internally. We scrapped all that. We're like, okay.

Let's just make it SQLite. Everything is a SQLite database. You can query it just like a SQLite query.

And the models are super good at that. So Give the models what they want. That was another one.

Yeah. Yeah. Give us what they want.

That was I would say that was a big learning. It's just really to be savvy and really careful thinking about what the model wants in terms of its environment and cater around that and really try so hard not to expose it to any complexity about your system that that's unnecessary.

Speaker 2

Notion's underlying database is Postgres, and was like, so I don't know if there's any mismatch there.

Speaker 1

thing because we actually already had a big project going where so we have this when you query Notion database, it's actually querying this, like, cluster of SQLite databases. That's something that we'd already been working on even before the agents came around. Yeah.

You guys had a fantastic blog post about it. And, like, it's it's actually a really good database engineering knowledge to have that from you guys because where else will we get it? Yeah.

Yeah. It's a it's a crazy engineering problem when you wanna have, like, millions and billions of tiny databases or where some of them are tiny, but some of them are are very large and want everything to be very fast. Yeah.

And also not that hierarchical sometimes.

Speaker 2

Yep. So somewhat of a graph. I do like that history because I think that shows the evolution that you guys went through and the work that went into it.

He just ended you at a year and a half ago. Oh, okay. Okay.

Speaker 3

need to hit continue. If you're curious, we can keep going. I'm just saying, like, that's really That's another one.

Yeah. Mean, no. Because there was tool calling.

And then there was research mode, which wasn't a fully agentic tool calling. Then we moved away from few shot prompting entirely to tool definitions.

Speaker 1

And now we're thinking about Agent two point o. So no feature prompts ever. Okay.

No. No. You're gonna have that.

Never. But Yeah. That kind of went away.

It's an interesting thing. Right? Yeah.

These just instructions follow really well. I I would say there's been, like, a general arc where it's like you gradually strip away everything, and it it looks more AGI. And it it started out as it's a one shot, one prompt.

There's few shot examples, and it became, okay. Actually, let's give it let's give it tools, but it'll still have few shot examples. And then it became actually, let's just give it a whole bunch of tools.

One big shift that that we've been working on recently that's about to ship is what happens when you have a lot of tools? Yeah. Then Too much.

Yeah. So then progressive disclosure becomes really important. We were we hit a bottleneck where our agent worked really well.

We hit a bottleneck where it it became pretty hard to add new tools, and we became worried about it, like, breaking the model. It's okay. Someone Not just hard.

It was like saying hello was like thousands and thousands of tokens. It was really slow. I can see you're the efficiency person here.

Yeah. It's it was too many tokens, but also it's a quality issue. Because it meant that any engineer could introduce this new tool for some, like, niche feature, and it would nerf the overall model by causing it to call the tool too much, stuff like that.

And it yeah. So we we had an effort basically to to make our harness implement progressive disclosure in a nice way. That's a big shift.

You said earlier, like, everyone says reasoning models was the big shift. Like, what's more there?

Speaker 3

basically moving from a DAG to like a true system with feedback, that's when we could distribute tool ownership to the teams much better. Because when it was all a few shots, it was everyone truly editing one string. And things would would compete in like the order.

There were all these all these papers about, oh, not all context is created equal. The higher up it is in your examples, like, the more the model listens and we're trying really hard to fight against the order and the selection of the fuchsia. And that really had to be a center of excellence.

And it didn't scale with the number of people for the need the company had. It was really just five or six people that were allowed to even touch that or had to approve it rather in our code base. And then now we can actually, with the right eval setup, distribute so that everyone owns their tool and their tool definition.

And sometimes we have crazy things where, like, we write two tools that have the same title and the agent crashes and stuff like that. So there are issues. Actually, believe it or not, Anthropic couldn't take it.

Sonic couldn't handle two tools with the same name in OpenAI, GPT 5.2. Was like, I can figure this out.

So that was an interesting one that we learned by accident through a SEV.

Speaker 2

representation is that's a dict. Right? Like, that's a really, like, that's a safety key name.

Exactly. Exactly.

Speaker 3

But so that was like a big shift for the company and velocity. Not immediate because the AI team that was the center of excellence team that owned that one file of few shop prompts had to become a platform team overnight, and that wasn't natural. Yeah.

Speaker 1

tools and not have to all collaborate on one very select string of system prompt is truly, I would say, the biggest lever on how we've scaled. We're just fighting to keep the prompt as short as possible now. And then yeah.

It's in the latest version of the agent, I it's not in in custom agents yet, but it will be, like, next week, a week after or so. There's now, like, over a 100 tools just for all the crazy Notion stuff. So we're able to really go deep in.

Would you list those tools publicly? Is this, like, IP? Or No.

It's totally public. You can ask the You can find. Just ask.

You can just ask the agent, and it will tell you. So I find And we're gonna post a bench like You're post a bench. Right?

We don't think our system prompt is our secret sauce. Yeah. Mhmm.

Great. We don't try to hide the tools Yeah. At all.

I think it's I think it's kind of important, actually, as an operator. Yeah. But as a power user, I wanna be like, oh, I can do this?

Great. Yeah. Yeah.

One thing that one phrase we say internally a lot is to teach at the top of the class. Oh, you wanna build like, the customization is like a power tool. We try to make it as easy as possible to set up, but we want it to be pretty deep and sophisticated.

Speaker 3

the way the system works. And a big part of that is, what are the tools? How do they work?

Like, how should I prompt it to use the tools in the right way? I'd actually say we don't try to make it as easy as possible to use. Because the more we do that, the more we abstract away that interpretability that Simon's talking about that basically nerfs the model or nerfs the agent from being super capable.

So a huge, I would say, turning point. I can think about the week and a half that we all came together on this As we were building custom agents was that alignment that we're not trying to build for everyone here. We're not trying to build the model that or build the user experience that anyone can figure out how to use.

Because the more we do that, the more we just diminish its capabilities. And that was a big everyone in a couple Slack messages aligned on that actually made us all work faster again because we all were, like, more centralized on who we were building for.

Speaker 4

What does the MetaProm generator look like? So I looked in the system prompt that it generate for example, it uses emojis.

Speaker 1

That's not a obvious thing to be doing. Wait. Did you just ask it what's your system prompt?

Oh, this is how to generate prompts. The prompts to generate prompts. Setup, Jen?

It's a setup. Yeah. So this is actually just the agent.

So one we did that that I really like with with custom agents is it can set itself up. And so we that only gave it access to use the tools that has access to, send your emails or whatever, but it has more tools to set itself up and to debug itself.

Speaker 3

And so when you ask it to write system prompt, it's just your agent itself is doing that. So this is just the model preference. You're not really injecting And then into the model too much.

I was saying we make such a good custom agent and Yeah. And things like that.

Speaker 1

and then say, okay, update your instructions so it doesn't fail again. Obviously, we should build product of self healing. That's next on our roadmap.

But but actually, it creates a nice system. Yeah. We do essentially give it like a development guide.

Here's here's how to make a custom agent. Here's how to, like, help the user test it end to end to help them gain confidence that it works, stuff like that. Yeah.

The fixing thing worked. It wasn't automatic, but I miss set something up, and then there was, like, a fix button, and that just Yeah. Yeah.

One thing where access agent. It's it's interesting sort of permission problem. So the thing about custom agents that is that by default, it has no permission to do anything.

And then you have to explicitly grant it all of its permissions. And that's what lets you trust it can work in the background. Like, you can know, oh, it it can read my email but not send email.

Okay. I can adjust that. If you let it fix itself, you're breaking the definition there.

It's it's it's not allowed to edit its own permissions. But as in the current product, you can click a button to fix, but now you're entering sort of an admin mode or you're in a synchronous chat, and you can see what it's doing. Yeah.

And it and it confirms before it changes. The thing that I really like that most people don't do is the editing chat is the same thing as the using chat. Like, can message the agent to both edit it and use it versus a lot of other products that, like I think that's really key.

I think I a lot of designers will feel so happy you said that because we spent we called this flippy. Yeah. What is this?

What what do mean? Well video of Yeah. So if you if you close out and, like, open settings, you can see yeah.

This is we call it flippy because we started with the settings where the sort of the main page, and then you can test the agent. The AGI pill way to think about it is, oh, it's just the agent. Everything's the agent.

Right. It can set itself up. It can test itself, and they can run the workflow that they want to run.

So we flipped it. So the main view I was looking at is the chat. And then the settings is more just like a side panel.

It's previewing the changes that it's making so you can introspect on them, or you can also make changes manually if you'd like.

Speaker 3

any of the settings manually. You can just talk to it. And the inside baseball is like how this works was probably the launch blocking part of this.

Especially because we had a lot of early adopters that were used to the old way. And that's like the benefit of adopting in public, but then changing how people think about setting up custom agents when they already had this flow in and of itself was difficult.

Speaker 1

That's really fun because the we we ended up painfully delaying the launch by A month? A few week. Yeah.

Definitely, like, a month or so. But the whole team was super enthusiastic about it though because it was just so much better. It was like, oh, yeah.

Obviously, you have to chat with Right. Yeah. To set itself up.

And everyone was super bullish on that.

Speaker 3

design, which I probably care about more than Simon. But the people that built this are three engineers from three different teams because we're like, we need to launch this and we to fix this. And then we've just built a company where then we just put people on it and no one complains.

The manager doesn't complain, and we were able to unblock and just ship it. Yeah.

Speaker 4

is amazing versus

Speaker 1

I gotta copy this and put in the settings chat. Do it. Is there anything, like, a trade off in there that we're trying to explore, which is we wanna be like a business enterprise safe agent where you can delegate something and trust that it's gonna work.

But also, we wanna get some of that sort of bootstrapping power that that you feel like when you're coding it, just making a browser, like, for itself. Right? There's something there.

I think that's really important. So it's we're trying to navigate that trade off and try to get you both. Now it's free.

Speaker 4

Yeah. It's amazing. I'm worried about when I have to start paying.

How do you think about so you have Notion credits as a payment for this, which is, like, separate from the usual tokens that the model generates.

Speaker 3

value based pricing based on the task and things like that? So they are the credits and payment structures associated with the token usage. Reason that we had to make it not just throughput of tokens is that it's not always priced that way.

Like, our fine tuned and open source models are served on GPUs. Web search is priced differently. If we were to host sandboxes, those are priced differently.

We had to think of an abstraction above tokens. And it's also not just tokens. It's the token model and serving tier trade off.

Right? Because we can have priority tier processing. We can have asynchronous processing.

The cash rate could be different depending on who uses it when. Right? And so we wanted to, from the get go, commit to making sure that customers were getting the fair deal.

Not necessarily that we were making a ton of money off of it, but that customers were paying for what was reasonable. That's the fundamental of where we started. And also, we're selling enterprise SaaS.

So if we sell credit packs, then you get discounts. If you're an enterprise and you buy a certain amount of credit packs and things like that. So it also just helped the sales motion work a little bit easier.

So that's the answer on the abstraction of credits to dollars.

Speaker 4

was the question how we decide how to price it? Or Yeah. I think there's all tokens are not made equal, but Yeah.

We obviously get charged mostly equal. Like, you can ask Codex to create you a dumb tool for I created one for a Starcraft two land for people to find the game, but then people create it to build features in, like, billion dollar companies, but the token price is the same. Yeah.

Like, for you, I can ask this to update my favorite recipes doc, and it'll do it. But I could ask it to respond to an email from an investor. And the value is, like, very different.

And you could charge more, but you're not necessarily doing it.

Speaker 3

if there was any discussion. That that's not where the market is right now, number one. The second reason that we're not doing that is it ended up being complicated to figure out what was complicated or not.

So we at first, we're like, let's just charge on agent runs. And, you know, you went through all the different versions that ultimately just brought you back to a lot of complexity that mapped directly to token throughput. And so it it's also just simpler.

It's quite difficult to build those pricing systems. And I actually think that one of the biggest reasons we want had usage based pricing for this capability is we've had our core agent for a while with a model picker. And there were certain models or certain functionality that we had margins to maintain.

And if we wanted to ship this functionality, we couldn't afford it. It would bankrupt the company if we let for instance, like autofill or the database autofill feature will soon be agentic. That will be associated with usage based pricing because if every single autofill action was an agent running on Opus, on every single database cell, it would be billions of dollars.

Right? And so we had to find a way for the customers that wanted to do more and wanted to give us their money and pay more to find the outlet for them to do it that we didn't have to apply to the lower end of the curve. And also not all knowledge work is equal.

There's different points. A lot of the agent workflows here really saturate model capabilities. Like, you don't need a complicated model for it.

And so charging based on token usage. We couldn't just decide for you that you wanted your email client to be dumb or not. We want you to decide.

If you want to have Opus auto triage all of your emails, we will actually give you nudges in the product to rethink if that's the right choice. Because also not every user Understand. You'd be surprised in user interviews.

People will like, oh, I didn't know that. So now we actually have a little hover that tells you, like, if it's expensive or not. Yeah.

It's also slower. So the thing that's interesting is, like, people don't care about speeding custom agents. And so the incentive of Haiku being faster, people don't care when it's asynchronous.

And so we want to only provide the service of extra benefit that people want. And the best way to do that is to incentivize them because it's their own money. Must be confusing for people that are not familiar.

It's like, why is there no 5.3?

Speaker 4

You have been listening and it's is there something missing? Not their fault.

Speaker 2

Yeah. I think That's just the world we live in now. Yeah.

I mean, I guess It's just randomly John's point too. It's like, Claude had that.

Speaker 3

was heavily I think what's actually been hard for us is to convince people that auto is not just our cheapest, dumbest model, but actually the model that's best for the task that you wanna do.

Speaker 4

I mean, Nice.

Speaker 3

And a lot of our job is actually figuring out auto because it's This is the agent lab. Every agent lab has an auto. Yeah.

And That's the job. Exactly. Because if you think about like I said, I come from Robinhood.

Like, you could spend a lot of time keeping up with the markets or you could have a auto investing. Right? And you can have an index fund Or you can have Robo advisors of fellow maker.

And so, like, at a certain point, we also can be robo advisors. And, like, we have a lot of people figuring out what model is best for the right task. And right now, we're not using auto as a margin maker.

We're just using it to reduce stress. It's not Opus. That's for sure.

Because a majority of the tasks people are doing aren't Opus level intelligence.

Speaker 1

The other thing I would say is the unlike a lab, we aren't fully incentivized just for you to use as many tokens as possible.

Speaker 3

We're actually really interested in giving you the right tool for the job. A lot of the time, the right tool for the job is actually just writing code and not even using agent at all. So that's something that we're investing in a lot is imagine your agent can actually automate itself out of a job.

We would love if that were true. I feel very strongly about this because I don't necessarily feel like that's the skews that Frontier Labs give you. I feel like they are just getting more and more capable and more and more expensive, which is fantastic for the use cases of when people wanna do really complicated things on Notion.

What's difficult is like that market that I think right now is no man's land of where reasoning models were six months ago that the nano, haikus, etcetera haven't caught up to. Because now we're just paying more for those for like extra capability that we didn't necessarily need and so are our customers. And labs aren't necessarily incentivized right now with how few players they are to be meeting the market everywhere.

They just need to be the cheapest. They don't need to be at value that the customer wants. If no one's cheaper than them, then they're the cheapest and that's good enough.

And so we're doing a lot to make sure that we have the right optionality to switch between models and also invest in open source. Because the open source models actually are getting to be the place where reasoning models were three, four months ago. And that's what's filling that gap right now.

So you'll see we offer mini max. And we're collaborating a lot with different open source labs to think about Notion's last exam and how they can do better on these types of tasks so that we can offer them for that intelligence to price to latency trade off. Because in that triangle of intelligence price intelligence price and latency, excuse me, users get to choose where they are.

But right now, there's not the whole triangle isn't filled with models. Right? And the more that different models fill that triangle capability Everyone's clustered or everyone's clustered Haiku is not that much cheaper.

No one's really in the middle. Like, people really tend to cluster around too. This is really capable and it's really fast, but it's really expensive or whatever.

And so we just wanna make sure that triangle's filled.

Speaker 2

not which one. All I'm hearing is that someday you're gonna train your model. You have lots of tokens.

Speaker 3

I don't know if what do you mean by train your model? We don't know if we have no money to train a fund You go raise it. Yeah.

You can raise it. You can raise it. That's your job, Simon.

No. I don't think that needs to be our core competency.

Speaker 2

This is usually the thought process that leads to no one else is doing it. We'll take a crack. Yeah.

Speaker 1

we do anything like training, the the area I'm actually most excited about is less of one big model for all users. But as it becomes more possible to do to make specific fine tuning that's like really knows your context of your company, the people that work your company, what's going on, I think that's pretty interesting. Because if you had a model that really knows your company, I think that would be like a huge quality uplift.

We actually have some enterprise vendors that kind of ask about this along with Bring Your Own Key.

Speaker 3

that we're training for all these reasons, these tend to be, like, quite large institutions thinking about how to let people bring their own models. But those models have to function with, like Right. Understanding how to call our tools.

And that's where, again, having more public system prompt is, like, beneficial to Notion. Right? We want all models to plug into Notion as as well as they can.

That being said, like, of course, there are certain aspects of Notion where we do fine tune and do reinforce and fine tuning on our own capabilities. But that's not necessarily trained on user data. You don't need that that much data in the first place.

Speaker 1

where the capability gap is, that's when we invest there. I personally burned a lot of time trying to train models. And It's tempting.

Right? It's so tempting. Training is so cool.

Retraining every day. I was doing crazy amount yeah. Was doing a lot of different things.

And it's I was the budget person that came in and and pushed out. I showed up and I heard that was happening. Time out.

It got a funny thing that because the sort of an arc that, like, looped on itself is back when I was doing tons of training stuff, it takes a long time to do it any kind of training run, you end up operating, like, twenty four seven around the clock. Like, it becomes very important that before you go to sleep, like, everything is Watch the TensorBoard. All the experiments are started.

And then as I stopped training, that kinda went away. But now the coding agents have totally brought this back. So now, every night before I go to bed, I'm like, okay, did I start enough agents to get them done?

I get everything done. So this it's a yeah. It's a different artist.

You have to try polyphasic sleep so you can wake up Yeah. Every two We yeah. I have not gotten there yet.

Speaker 3

and I'm confident that they won't be done by the time I wake up. Really? Eight hours.

There is a I won't say which coding frontier lab, but there is a point where he had outlived, like, the thread length and context length that that coding agent provided. And I DM you DM'd them being like, hey, I need more. And our account rep DM'd me directly, and they're like, is Simon trying to prove string theory?

What is he doing? Yeah. I I had a single coding agent thread going for, I think it was, like, seventeen days.

Speaker 1

Pretty much continuously. Don't don't they just compress? Yeah.

Yes. It it was actually just a bug. It was a harness bug.

Yeah. It had done compaction like a 100 times probably. Yeah.

Yeah.

Speaker 3

other thing that reminded me about fine tuning that I think you and I have aligned on is that our tools change really frequently. And right now, we spend a lot of time rethinking and building tools for capability. And fine tuning a model to understand your tool.

Like, we don't have legal expertise or coding expertise. So if we were to fine tune a model, it would either be expertise about the enterprise and we have ZDR, new data retention offerings for those enterprises. So we'd have to really rethink how we structure if an enterprise wanted to opt into that.

Or it would be fine tuning and better capability on navigating our tools. That doesn't match with the velocity with which we create new tools. And so it actually really slow us down to have a model that was fine tuned on our tools because we'd have to retrain it and cut a new model every time we did that.

And that's not how we're set up right now, particularly with the way that we're changing our I guess we could fine tune a model to, like, search for tools. It's just the amount of time it takes to do that, ship it, have the right system. You're basically making a bet against a frontier capability, not serving that in the time it takes you to build it.

And that timeline hasn't happened for us yet. It hasn't been Yeah. It's just the wrong trade off, I think.

Speaker 1

you want yeah. We literally change our tools every single day. And if we notice an issue, we'll we'll fix the problem.

I think a good way to think about it, think it's pretty fruitful, is don't focus too much on training. I would think of that as that's an implementation detail. Like, what's the outer loop?

Right? If the outer loop is you have a model and then some harness or system where it's interacting with the system, that needs to work. And if there's a problem, the way to solve the problem isn't necessarily to train a model.

It's all maybe there's just a bug in one of the tools. And actually, 99% of the time, it's a bug in one of tools. Right.

And so just fix the bug.

Speaker 3

making really good tools, making a good harness, like verifying it works? The one place that we do invest more in model training now necessarily though is actually in retrieval. Because we're at a point right now in our business and enterprise or AI enabled plans where the search load and the search traffic, a majority of it's coming from agents, not humans.

And so for every query that's hitting our Elasticsearch or vector indices, they're not coming from humans. And the queries are structured differently and what's returned has a different requirement. Positional ranking matters less, but top k retrieval mode matters more.

Isn't top k a form of position? Of course, is. But when you're trading on, like, click through rate, it's really Yeah.

It matters much less. Is very different Yeah. Than it needs to be in the top 100.

Like the slope is just Yeah. Higher. It's a different optimization function for a retrieval model.

Similarly, what snippet you include matters more or less. So we are rethinking a lot of that functionality to work with how the agents like to write queries and how they wanna receive information. So we are doing like another kind of reinvestment into rethinking not only search for how do agents do searches versus how humans do searches, but we're also investing in like indexing different things now.

Because how are how do you index the setup generator for Notion Agent? It breaks our block model entirely where all blocks are nested in each other. Same with meeting notes.

Speaker 2

And so we do we so we're hiring ranking engineers and model training engineers, but it's primarily on ranking. Yeah. Does ranking matter to REXSYS for you?

Does recommendation system Yeah. Yes. Okay.

Same this. I'm trying to promote REXSYS more in general because it's weirdly unpopular.

Speaker 3

I don't know why. Yeah. But the other thing is that I was just talking about this with a peer, like, how much is ranking important versus being able to do parallel exhaustive queries?

They're important? They're both important, but they're both two tools to the same user outcome or the same agent outcome. Mhmm.

Right? And that that's something that we're also rethinking a lot. Even on we just did an experiment on Notion ranking at this point.

For Notion retrieval, vector embeddings are less and less. Did you see that? Yeah.

Speaker 2

the night shift for you. Right? Look, we're not seeing any bugs.

I worked on this, like, parallel search thing where if you fan out to eight different queries. Right?

Speaker 3

so that you get Right. Mesmerized space. And so like the people that are working on ranking and retrieval are the same people working on what query generation is.

It's all one journey. We call it agentic find. And we're actually realizing, for instance, that it's less about selection.

Like, we don't spend a lot of time trying to optimize what vector embedding we use anymore. That was a period of time, but that's just not the right level of optimization.

Speaker 2

Okay. We've gone long. I have to talk about meet motion meeting minutes, and then we'll we can call it there.

Do you you you just have a lot of comments. Is I don't know where you wanna start. Is it the audio side?

Is it the Oh, the meeting notes. Summarization? Yeah.

What makes it work? Or No. Just anything interesting technically.

Like, I think you had some book points. I always call these, like, check marks along the way when the guest says something that will they wanna return to later. I just check mark it.

Yeah. I'm like, okay. We'll get back to it.

Speaker 3

Meeting notes was one of those things where at first we were nervous that we'd have to teach people a different way to work. And we were nervous that was a lot of user friction. I think one of the reasons why I mean, they're one of our biggest growth levers.

I think they're one of the most, like, in terms of virality of adoption and retention, quite strong. And so we've invested more and more as we did that. I think what's really powerful about it is, again, Notion is the system of record of where and how you work.

The way that I use meeting notes is every one on one meeting I have is meeting notes. When I do my performance review for myself, my self review, I say, primarily look at all my conversations with my manager and write up what I did this year. Right?

Because if I didn't talk about it in my one on one with my manager, it probably wasn't relevant for my performance review. So it also just adds a ton of signal on prioritization that's really helpful for a good system of record. That's really helpful for, like, our agent.

It's also caused a lot of scaling for search and for the agent. And it's just an explosion of content when you have transcripts like that. How we do compaction, a lot of that was triggered by meeting notes passed into context, things like that.

It's been a good impetus for us to think about longer form content when you think of it as like a priority primitive. But it's been one of the most powerful signals for our agent because it's Unsurprising. Right?

You're capturing a whole new thing. So it's like our own data like, we want users or they're creating their own data flywheel. Right?

Like, serves me to prefer Notion to put all my stuff because it has my other stuff. Totally. The way that, like, our teams run right now is there's a custom agent that does a pre read before stand up.

It looks through all of Slack and GitHub and just says it it creates a summary and it creates a meeting note. And it says, everyone do this preread. Then we just press play.

We have the meeting. We talk through the preread. We talk about what needs to happen next.

And then we have a custom agent integrated with our calendar and triggers that then files tasks for tomorrow or today based on what we spoke about and sends off Slack messages that we decided in the meeting needed to be follow ups. Like, our meetings are hands off keyboard.

Speaker 1

And we're focused on the root of the problem, not the bookkeeping around the problem. One thing that the Meet and Nest team added recently that was that have been blowing my mind is they we they made it so it actually when it makes the summary, we'll actually at mention the people that were referenced. And it's I now get notifications whenever someone talks about me in the meeting.

I feel like that one was It's like, oh, Simon is working on this. Okay. And then It's actually amazing how they said that.

I'm like, oh, okay. Cool. I'm gonna go talk to them about that.

What if they're two Simons? No. Wait.

So wait. It's powered by the agent. So it's doing agentic.

So if you look at it thinking I don't know if this is shipped yet.

Speaker 3

It will be. When you look at it thinking when it's doing the summarization, it's saying, figuring out who Simon is. Most probable Simon is.

Yeah. And we also have people to people similarity cache and stuff like that in the attendees. Like, here's a way to generate a profile for each person and and use that.

Of course, can get it wrong, but the goal is for it not to get it wrong. Meeting Huts is just like the agent primitive packaged on top of a transcription primitive. Yeah.

Yeah. And then a vertical team. It's probably one of the only teams at Notion that's completely a vertical team around quality and product, like UX design, because it's still a Tiger team with a fantastic manager, Zach, that joined recently from Embra.

But Zach Chattar. Yeah. Yeah.

I chatted with him when he was talking about when he was working in Embra. Yeah. So he's managing that team now and thinking about it as data capture.

That's what MIDI notes is data capture. Get all the Reframing where MIDI notes are valuable as a data capture problem. And then working inside like, the summarization used to not be agentic.

Yeah. Now it is. Because it does all the things like figure out who the right Simon is.

And one day you can have a custom agent directly integrated in it that knows like what task database the meeting is referring to. And as you're having the meeting, perhaps update the tasks and things like that. There's a lot of that experience of where we do our work in meetings that we want to invest in making more seamless.

Yeah. Opening eyes doing hardware. Would you ever ship one of these?

Yeah. Put me on. But what This is meeting notes in person.

Yeah. Yeah. But I'd be excited about I'm excited about the product category in general for sure.

Yeah. I think it's it's a mechanism, and it it one of those needs to work really well with Notion. We would partner with whoever is building one of those.

I think They would be bought by Amazon. I don't know. I can't refer you.

And there's there's some wild companies doing, like, really cool things that come to our partnerships team that I like to sit in on the demos of wearables. I always like to sit in on the demos because I think they're Oh, okay. Pretty cool.

And all of them want to make sure not just Notion, but, like, you can imagine the ones that talk to you being able to do search and build context. So if you're entering, a conference, being able to do look at your CRM and do things like that, then you can utilize the Notion agent to do that. So we are in like the very beginnings of those partnerships.

I think what's unique about that particular technology is it goes against what I talked about with custom agents right now, which is the more simple it is, the harder it is to have, like, advanced controls over its capabilities. And so that would be a great investment for data capture, but not necessarily like our agent who's workflows. It's something with a different slice of the problem.

That's gonna be deeply personal. Like, your company is not gonna force you to wear a wrist wristband. I think It's good to hear that from me, from you.

Yeah. It will yeah. The CEO is gonna force everyone to wear a wristband.

The slice of the problem that that we care about is can the company have all the context of what everyone said at every single meeting? And then use that to Yeah. To derive value for themselves.

That kind of reminds me. I remember once you very strongly reminded me, our job is to not make the best harness for agentic work. Our job is to be the best place where people collaborate.

It's like our job isn't to build the best wearable to capture meeting notes. Our job is to build the best place where meeting notes live. Yeah.

So basically, you're saying everyone else can just pipe to you and that that's fine. Right? Yeah.

That's a reasonable thing. All I will say is that peep there's people walking around with Notion tattoos on them. They'll they'll wear Notion anything.

So just, I don't know, do a limited run. No. We have such understated swag that the idea like, our swag has so few Notion labels on it.

The idea that people have Notion tattoos is pretty antithesis to our design principles, so that's pretty funny.

Speaker 2

Do you have one? Cool. No.

No. They're not. I do not have an ocean tattoo.

I've seen them. Yeah. Cool.

Thank you so much. This is such a great deep deep dive. Actually, the chemistry between you two is amazing.

I mean, I can't believe, like We work together a lot. Yeah.

Speaker 4

Different jobs work closely. Yeah. That's it.

Yeah. Thank you. Thank you.

Thank you.

Shared via Hopper