AI Engineer Summit
November 11, 2026Main stage3 min read

The Rise of the Agent Workforce: Rethinking Agent Infrastructure

A broken data pipeline invites several plausible explanations. Perhaps an upstream job changed. Perhaps the data no longer matches an assumption. An agent can suggest each theory, but testing it against production may be the very thing an engineer cannot safely let it do.

Ankit MathurDatabricksMember of Technical Staff

Day 1 livestream · 2:46:35–3:03:11 on YouTube. The player starts and stops at this session’s boundaries.

Introduction

A broken data pipeline invites several plausible explanations. Perhaps an upstream job changed. Perhaps the data no longer matches an assumption. An agent can suggest each theory, but testing it against production may be the very thing an engineer cannot safely let it do.

Ankit Mathur's infrastructure proposal is to give the agent a copy of the relevant world. Branch the data and working state, let several investigations run, and bring back tested findings rather than a paragraph of possibilities.

2:50:41 ↗

Exploration needs somewhere realistic to happen

Mathur starts with chess as an example of computers exploring possible decisions effectively. The broader analogy is search: hard engineering problems often have several paths, and progress comes from trying them, evaluating results, and continuing from what works.

Running several coding sessions gives an engineer more parallelism, but it does not automatically provide a faithful environment for testing their ideas. A branch of the source code may be only a small part of the system. Data, service state, permissions, conversation history, and local files can all affect the result.

At 02:50:41, Mathur proposes investing in realistic simulations rather than relying entirely on a growing inventory of isolated tests. He also raises post-merge verification as increasingly important when changes land rapidly enough that an early branch quickly becomes stale. Neither proposition makes pre-merge checks unnecessary; it identifies what those checks alone may fail to represent.

Branch the pipeline, not just the suggested fix

Databricks' pipeline example gives the proposal concrete stakes. A partially broken pipeline may already have made writes. Trying a repair directly on production can have consequences beyond whether the agent's code compiles.

Mathur describes branching tables, compute, and governance so an agent can investigate changes in an isolated environment. One branch can test an upstream hypothesis while another tries a different explanation. Each gets a place to rerun work and examine the result.

The change in output is important. Previously, an LLM might hand a person a theory, leaving the risky experiment to the person. With a faithful branch, the agent can return evidence from the experiment. The safety and usefulness of that evidence depend on which parts of reality the branch actually reproduces.

2:58:30 ↗

Conversation, memory, and files all need isolation

The platform starts with a branchable database. An agent branch may inherit the conversation that led to the investigation, but a new reply in that branch should not silently alter the original agent's conversation.

Memory creates a related problem. Agents accumulate notes from conversations and from explicitly saved findings. Those notes can conflict, become stale, or reflect only one branch's assumptions. Mathur describes offline consolidation that identifies conflicts and distills shared knowledge. Branching lets a proposed memory remain local while it is still being explored, rather than immediately teaching every other agent an untested conclusion.

The database mechanism he outlines separates compute from storage and uses copy-on-write branching. Branches share history while isolating subsequent writes. That saves the need to eagerly duplicate the entire past for every new direction.

But database state is not the whole workspace. Agents also write plans, scripts, and notes to local files. A fresh sandbox without those files loses part of the investigation even if it receives the conversation.

A local investigation folder branches into A and B; A changes notes and adds findings while B retains its own copy.

The 2:58:30 source slide makes the isolation concrete: both branches inherit notes.md and plan.md, while A can add findings without rewriting B's workspace.

Mathur describes syncing between local and remote storage to preserve normal file performance while supporting branches. The goal is the entire working state: enough continuity that a new agent can proceed immediately, with enough isolation that a speculative change does not contaminate another investigation.

3:00:00 ↗

Security investigations are a parallel-search workload

The closing example concerns unexpected outbound network traffic. An initial agent assembles an incident timeline. From there, separate agents can investigate whether a recent deployment introduced an integration or whether a compromised identity is accessing data.

Both begin from the same evidence. Each can gather new evidence and test a theory without mixing its tentative conclusions into the other's workspace. Where the actual service can also be branched, the agent can investigate behavior in a more faithful copy.

This is not a claim that copying an agent makes arbitrary actions harmless. An external system that remains shared can still be changed. Mathur's strongest version depends on branching the parts of the environment the experiment will touch.

The final architectural question is therefore specific: what must be copied for an agent to explore freely without changing the system it is diagnosing? A source-code branch is a start. Conversation, memory, files, data, and services determine whether the branch is a realistic place to work.

Full transcript 477 timestamped passages

Machine-generated source transcript; recognition errors remain. Timestamps and subtitles use the selected source recording’s clock, not clip-relative time. Section links use cited source moments; sections without a verified moment return to the talk start.

2:46:35All right. Uh well, super excited to be

2:46:38here. My name is Ankit. I'm from Data

2:46:40Bricks. Uh I work on AI infrastructure

2:46:42there. And today I'm going to talk about

2:46:44>> [music]

2:46:44>> uh the rise of the agent workforce and

2:46:46how we're building our agent

2:46:48infrastructure to support what we think

2:46:50is the next generation of agents.

2:46:52I wanted to start by taking a step back

2:46:54and and thinking about how we help

2:46:57computers become good at other things uh

2:47:00better even than humans. And one of the

2:47:02games I grew up playing a lot was chess.

2:47:04Uh it's one of the great examples of

2:47:06something where computers became way

2:47:07better than humans a long time ago. But

2:47:10I think it's important to think about

2:47:12why that happened and how we can apply

2:47:14those lessons today. One of the biggest,

2:47:16you know, to summarize at a high level,

2:47:18a lot of work went into it. The biggest

2:47:20thing that agents were able to do, that

2:47:22computers were able to do was explore

2:47:24the space of decisions much more

2:47:26effectively than humans. For most

2:47:29complex problems, there's actually a

2:47:30bunch of different ways you can solve

2:47:32the problem. And at each turn, you can

2:47:34kind of think of three more decisions

2:47:37that you can make. And really, it's the

2:47:38exploration of that space that all of us

2:47:40are engaged in. All of us who solve hard

2:47:42problems are engaged in the search space

2:47:44for what's an amazing product, what's

2:47:46the right solution to this math problem,

2:47:48and etc., right? uh and I think we've

2:47:50seen some really exciting progress from

2:47:53the labs like Enthropic, OpenAI and

2:47:54Google on solving problems that are

2:47:57wellformed. So, you know, if you think

2:47:59about chess, it can be modeled

2:48:00effectively. You can evaluate your

2:48:02position. Uh you can actually play

2:48:05simulate it. You can try different moves

2:48:07and safely think about all the different

2:48:09alternatives. Similarly, with math

2:48:11problems, often the ones that agents are

2:48:13really good at solving, they you can

2:48:15actually verify if you got the result

2:48:17right. uh and how do we then take that

2:48:20mindset and apply it to the problems

2:48:22that we actually face day-to-day.

2:48:25I think like let's a lot everyone here

2:48:27is an engineer. So let's take it to

2:48:29engineering for a bit. Uh I think you

2:48:31know if you take it to the preai days uh

2:48:34most people think about solving a single

2:48:37problem and they're kind of

2:48:38singlethreaded on that problem for the

2:48:39time that they're writing code on it. uh

2:48:41and you know as a company if or a

2:48:43product if you wanted to solve more

2:48:44problems you brought in more people and

2:48:46the very basic version of agents just

2:48:49helps create leverage for that engineer.

2:48:51Now you can be singlethreaded on three

2:48:53things at the same time and ultimately

2:48:55that helps you explore new product

2:48:57ideas, ship faster, iterate faster and

2:49:00that's obviously very exciting. But it's

2:49:02it's not actually close to what we

2:49:04needed to do to win at chess or any of

2:49:06these other problems. What we're seeing

2:49:08at the absolute frontier are these teams

2:49:11of agents that are able to make

2:49:12significant progress by exploring the

2:49:14decision space more effectively. So how

2:49:16do we move towards that world where we

2:49:18actually have these teams of agents that

2:49:20are coherently attempting to solve

2:49:22problems? It's actually quite complex

2:49:24and we think it requires a little bit

2:49:26different type of infrastructure.

2:49:28Specifically, I think an important

2:49:30question to ask is how do we give agents

2:49:32a realistic world to explore? Because in

2:49:36other problems, we're able to help

2:49:37define that world very effectively. But

2:49:39even in software engineering, we

2:49:41actually really struggle to do that.

2:49:43Like just consider this movement towards

2:49:45software factories, right? Where you're

2:49:47away from the from the agents and you're

2:49:49actually operating a bunch of agents

2:49:50that are working on a problem. How do

2:49:53you validate that those agents are

2:49:54effective? Like before you had a branch

2:49:58uh you had main, you branched your PR

2:50:00off of that. Maybe you have an agent

2:50:01working on that PR and you have some

2:50:04reasonable assertion that this is kind

2:50:06of a sim, you know, you have some ass

2:50:08like some tests or something like that

2:50:10that help you guide your development.

2:50:12But if you're actually merging tens of

2:50:15PRs a minute or even more, right? Like

2:50:17if you play out the future of factories

2:50:20of agents building code and software,

2:50:23your PR is just out of date the moment

2:50:24you branched. The the moment you

2:50:26started, you're already out of date. So

2:50:28it demands a different mindset of

2:50:30thinking of how do we verify these

2:50:32things? You actually might want to move

2:50:33most of your verification to postmerge.

2:50:36And so that kind of brings me to this a

2:50:38little bit radical idea. I I don't think

2:50:41we should try to write hundreds or

2:50:43thousands of unit tests. Instead, I want

2:50:45to explore this idea of simulating

2:50:48reality. Can I give my agent a faithful

2:50:51reproduction of what's actually there in

2:50:53the real world in my production code in

2:50:55my production agent and let it work on

2:50:58that? And with when you can do that, you

2:51:01can actually do that at scale. If you

2:51:03find a way to simulate reality, then you

2:51:05can actually do that across lots of

2:51:07different explorations.

2:51:09At data bricks, one of the big things

2:51:10that people do on our platform is build

2:51:12data pipelines. We've got tens of

2:51:14thousands of data pipelines on data

2:51:16bricks. Uh and the biggest problem that

2:51:19happens with pipelines is that they

2:51:20break. Um and in this era of agents,

2:51:23what people want is they want to fix

2:51:25those broken pipelines with agents

2:51:28because these are serious business

2:51:29problems that they that are, you know,

2:51:31uh caused by a broken pipeline. If a

2:51:33pipeline breaks, that business can't

2:51:35operate that day. Uh and so this becomes

2:51:37a major emergency.

2:51:40But like how do you actually validate

2:51:41this with an agent? Do you trust it on

2:51:43your production data pipeline? It's

2:51:45pretty risky because writes might not be

2:51:47identy

2:51:54broken. It's just partially broken. One

2:51:56of the things we started doing was

2:51:58building on top of branchable

2:51:59infrastructure. And so what we did was

2:52:02we branched the entire data platform. We

2:52:05branched the tables, the compute, the

2:52:07governance and we gave the agents a

2:52:10place where they can actually play with

2:52:12the data platform and explore different

2:52:14hypotheses. And these hypotheses can be

2:52:16ambitious like can I investigate that

2:52:19the upstream pipeline is healthy? Maybe

2:52:21I can do that by changing the pipeline

2:52:22code and running it again. In any

2:52:24reasonable data platform, you wouldn't

2:52:27do that with an upstream pipeline unless

2:52:28you had a bunch of engineers take a look

2:52:30at it and make sure it was super safe.

2:52:32with our branched data platform. You can

2:52:34actually do that now. So it can

2:52:35investigate a bunch of different things.

2:52:37So we can investigate 10 ideas in

2:52:38parallel with our agents actually get to

2:52:41a faithful conclusion about whether it

2:52:43fixed the real data pipeline and then

2:52:46make that assumption made that assertion

2:52:48back either to a main agent or to a

2:52:50human. And what we saw before was

2:52:52happening was that people would just

2:52:53like LLM would give us text back some

2:52:55human would take a look at it and be

2:52:57like okay this might be an interesting

2:52:58theory. then they would go apply that

2:53:00theory in some way. And ultimately that

2:53:02became more of this like AI assisted

2:53:05version of fixing the data pipeline. But

2:53:07really where we want to go is is is

2:53:09hands-off full auto for this kind of

2:53:13problem. And we were we were struggling

2:53:15to do it without this branchable

2:53:16infrastructure. So how do we do it? I'm

2:53:19going to talk a little bit about that in

2:53:20this talk. Uh we built this on top of

2:53:23our Postgress native agent platform

2:53:25which started with the Neon database

2:53:27which is a branchable database that

2:53:29gives us a single place that we can

2:53:31actually use for our services and for

2:53:32our agents. And then we added in a bunch

2:53:35of really core agent primitives that

2:53:37allow us to build sophisticated

2:53:38different types of agents. Uh and those

2:53:40are ones that are probably familiar to

2:53:42all of you. Things like memory, things

2:53:43like sandboxes, file systems, and ways

2:53:46to host those agents. And these

2:53:48low-level primitives we can build we can

2:53:50build with them. But the key is that we

2:53:51made just all of them branchable. So you

2:53:53can branch the entire reality of stuff

2:53:56that's built on this platform for us for

2:53:57ourselves. Uh so how do we actually do

2:54:00that? Well, let me walk it through like

2:54:02kind of case by case. The first thing is

2:54:05just the database, right? And you know

2:54:06we can take an example of application

2:54:08services. But here I'm going to talk

2:54:09about just even storing the conversation

2:54:11state for for an agent. When you fork or

2:54:14branch an agent, you actually might want

2:54:16to inherit the history. And you might

2:54:18even if you have a team of agents give

2:54:20access to a given member of that team to

2:54:22what the other members of the team are

2:54:23doing. Uh and we found the database to

2:54:25be a convenient abstraction for this. Uh

2:54:28the key was that hey like when a new

2:54:30reply comes in on the on the branched

2:54:32agent it shouldn't necessarily change

2:54:34anything about the other one. Uh and

2:54:36this is possible because Neon has a

2:54:38branched database. But then we actually

2:54:40found that agents need more than just

2:54:42structured databases. Of course they

2:54:44need structured databases but they also

2:54:46like to do this you know write these

2:54:48things called memories and memories are

2:54:50you know at a very high level they

2:54:52compile down to an unstructured database

2:54:54for agents. There are two ways that

2:54:56memories get generated. The first is

2:54:58just by synthesizing the context and the

2:55:00conversations that someone's already had

2:55:02with them and the second by agents

2:55:04actually explicitly saving content to an

2:55:07unstructured place. The key thing here

2:55:10is that you actually want to consolidate

2:55:12and distill that information. there's a

2:55:13ton of information coming in through

2:55:15there and if you just give that you know

2:55:17if you just let it kind of go on its own

2:55:19you have problems of staleness you have

2:55:22conflicts in the information and all of

2:55:24those can be extremely damaging to teams

2:55:26so we have this thing that basically

2:55:28dreams overnight we use offline compute

2:55:32uh and it takes the conversations a

2:55:34different agent essentially highlights

2:55:35things that are conflicts and

2:55:38consolidates the ad hoc notes that were

2:55:40written by various members of the team

2:55:42and then all members of the team can

2:55:44actually recall from that memory

2:55:45database. And you can use this in a

2:55:47bunch of different ways. We use this

2:55:49within our Slack agents, but we also use

2:55:51this when we're launching a parallel set

2:55:53of agents to investigate a deep issue,

2:55:56for example, in the data platform. Now,

2:55:58how does branching come into this? Well,

2:56:01some of the agents like in many of the

2:56:02use cases, they propose memories and

2:56:05it's not clear whether those memories

2:56:06generalize to the actual broader set of

2:56:09agents or if that's a specific thing for

2:56:11just that agent. And so with the

2:56:13branchable database for memory which is

2:56:15built on top of this neon database, we

2:56:17can actually just propose that memory

2:56:18somewhere in there and that branch can

2:56:21continue to iterate and at some point we

2:56:23can find a way to merge it back in if

2:56:24it's necessary. uh we found this to be a

2:56:27flex an important layer of flexibility

2:56:29because without the ability to

2:56:31completely branch the memory we found it

2:56:33was very hard to maintain the memory for

2:56:35a team of agents especially as we

2:56:38increase parallelism you can actually

2:56:39experience like significantly reduced

2:56:41quality if all the agents are pursuing

2:56:43different goals uh I I I like to think a

2:56:46little bit of it as as like kind of

2:56:48similar to dynamic programming right if

2:56:49you've explored a branch of exploration

2:56:51and then you have a different agent that

2:56:53happens upon that same pathway It's very

2:56:56damaging to like always revisit that but

2:56:58sometimes you want to and so the ability

2:57:00to propose a memory is extremely

2:57:02important to us.

2:57:04How is all of this kind of branchable

2:57:06database possible? Well, the way that

2:57:08Neon does is it is it separates compute

2:57:10from storage. Compute uh for Postgress

2:57:13is running in some separate place and

2:57:15then we actually have the shared history

2:57:17and the storage in a different layer and

2:57:19what that lets us do is copy on write

2:57:21for branching. So when we have a

2:57:23branched version of the database, you

2:57:25can actually have A's uh you know

2:57:26compute A's rights separated from

2:57:28compute B and that's the kind of the

2:57:30core layer of infrastructure that allows

2:57:32us to build these applications on top of

2:57:34that database.

2:57:37But then we found you know obviously

2:57:38agents are far more than storage and and

2:57:41branching storage wasn't enough.

2:57:43We also found that as they were running

2:57:45in sandboxes, agents like to take notes

2:57:47on stuff and write down scripts and use

2:57:50those to actually iterate on various

2:57:52kinds of problems. It it it's one of the

2:57:54most exciting things about agents that

2:57:56I've found that they are able to

2:57:58generalize this capability that's needed

2:58:00maybe for testing code and and things

2:58:02like that and solve other more broader

2:58:04general problems using that same con

2:58:06construct.

2:58:08But then when you branch it, you

2:58:10actually need to give the future agent a

2:58:12similar context. If you we found that

2:58:13when we started the branched agents

2:58:15without the same files that that agent

2:58:17had to begin with it just wasn't as

2:58:19effective. So when you're investigating

2:58:21an outage for example with an agent you

2:58:23might have notes and plans and a future

2:58:26branch of that agent might update those

2:58:27notes. It might find new things but we

2:58:30don't want that to go back because we're

2:58:32actually exploring 10 different pathways

2:58:34at the same time. Uh so building a

2:58:36branchable file system was extremely

2:58:37important and allowed us to build what

2:58:39we call a branchable sandbox because

2:58:42then what we can do is we can launch

2:58:44that sandbox compute and and that's a

2:58:46hard problem in and of itself. It's not

2:58:47one we're going to talk about today but

2:58:50that compute can be attached to storage

2:58:52and critically the agents actually

2:58:54really aggressively leverage files very

2:58:57often. Uh and so it can be very painful

2:58:59to make all your storage fully remote.

2:59:01Uh and so the really core piece of what

2:59:03we've been building here is a syncing

2:59:05process between what we call a local

2:59:07cache and the remote cache. Uh and then

2:59:10what that allows us to do is as we're

2:59:12able to make progress on that when we

2:59:14want to branch we can actually branch a

2:59:16second sandbox use that similar file

2:59:19system and it reduces our latency for

2:59:21for branching while also keeping

2:59:23performance of the regular agent

2:59:25reasonable.

2:59:27So what this allows us to do at a high

2:59:29level is branch the entire working

2:59:31state.

2:59:33And this gives us the platform layer to

2:59:35actually go do that. Now this isn't

2:59:38obviously sufficient. You're going to

2:59:39want to branch even more. If you're

2:59:41building on top of software, you want to

2:59:42find a way to branch that too. And so

2:59:44this is along the lines of how we're

2:59:46thinking, right? Like we the data

2:59:47platform was built on top of some of

2:59:49these things, but there's a lot more

2:59:50that we've been able to branch there as

2:59:52well. Uh but we're really excited about

2:59:54this layer for just even building

2:59:56agents. And just to like kind of

2:59:58separate a little bit even from software

3:00:00development like another thing a lot of

3:00:02us are spending a lot of time thinking

3:00:04about is security.

3:00:06Uh, I mean just taking a step back, I

3:00:09think this is probably the single most

3:00:11important thing for any product that

3:00:12anyone sells at this point because trust

3:00:15is kind of the most important thing that

3:00:16we're selling when we work with other

3:00:18people. And uh, with agents being the

3:00:21ones who generate the vulnerabilities,

3:00:24uh, it's kind of impossible to find a

3:00:27different solution than having agents be

3:00:28the ones who are monitoring for those

3:00:30exact vulnerabilities in your code. So

3:00:33you should be thinking about how you can

3:00:34build an agent factory that's detecting

3:00:36security issues in your codebase. Um and

3:00:39so this is something we spending a lot

3:00:40of time out spending a lot of time on.

3:00:43So typically what happens in a security

3:00:44incident? Well, let's say you suspect

3:00:47something. An agent might be always

3:00:48looking for it. Why why is there this

3:00:50like network traffic that's erressing

3:00:52all of a sudden from my control plane?

3:00:54Well, I can assemble an incident

3:00:56timeline and that's obviously the first

3:00:57step in an investigation. But anyone

3:00:59who's been a part of a serious security

3:01:01investig investigation knows that time

3:01:03is of the essence. It's a perfect

3:01:05problem for parallelism. And that's

3:01:06exactly what you do when a security

3:01:08incident happens. You bring everyone

3:01:09online so you can explore 10, 15, 20

3:01:12different theories at once because an

3:01:14hour earlier that you can you can detect

3:01:16the real issue is an hour that you're

3:01:18actually more safe. So okay, what if we

3:01:22did that with a branchable agent? Let's

3:01:24say there's two paths to investigate. Uh

3:01:27so you know the agents assembled the

3:01:28incident timeline and now you can ask

3:01:31two questions. Hey did a recent

3:01:32deployment in introduce some kind of new

3:01:34integration like maybe I can go look at

3:01:36the code or I can explore a totally

3:01:39different theory. Is a compromised

3:01:40identity accessing this data and the

3:01:43core thing that we are able to do here

3:01:44is we branch that whole original agent

3:01:46that was starting the investigation

3:01:50and then the new one is able to work in

3:01:51a completely isolated copy of the world.

3:01:54And in some cases when we're able to, we

3:01:56can even branch the actual service that

3:01:57we're investigating. Uh, and so when you

3:02:00have this isolated copy of conversation,

3:02:02memory, and storage, you can fully

3:02:04explore that security risk and and let

3:02:06the agent loop on its own. And that's

3:02:08kind of the key thing here. The way that

3:02:10these agents are good is that they're

3:02:12able to loop, verify, try new theories.

3:02:15I think Andre Karpathy said it really

3:02:17well. They're far more tenacious than

3:02:20any human probably in the history of

3:02:23software. And so they're able to just

3:02:25but like we keep getting in the way by

3:02:27inserting ourselves as an approval

3:02:29layer. Uh and so this is a solution that

3:02:31we think helps with that. Just like take

3:02:33away the consequences of making a

3:02:35mistake a little bit. Branch the entire

3:02:37state so that you're not actually you

3:02:40know worrying about that same risk. And

3:02:43then you we you we've been able to find

3:02:45this to actually uh come to a reasonable

3:02:47conclusion as well. So what does this

3:02:50all add up to for us? We think that your

3:02:53infrastructure needs to be branchable

3:02:55and that's what we're building with Neon

3:02:57with data bricks. Uh and we're super

3:02:59excited about that branchable future

3:03:01because we think that teams are going to

3:03:02be the next generation of agents both

3:03:05for software and the way that we

3:03:07actually build products. Thank you.