0:00
The model of Git is that you basically
0:02
download the entire repository onto your
0:03
machine before you can start doing work.
0:05
But that's not really how agents work.
0:07
The agent might just be looking at parts
0:08
of a repository, and it might want to do
0:10
minutes or [music] even seconds of work
0:12
at a time. And so, if you've got to pay
0:14
like a 30-second or 1-minute penalty to
0:16
download a Git repository to do like a
0:17
Git clone before your agent can start
0:19
working, you're wasting a whole bunch of
0:24
>> Ben's co-founder and CTO of Mesa. Mesa's
0:27
a versioned file system built for AI
0:29
agents. They integrate with major AI
0:31
frameworks and sandbox infra. It works
0:33
with Mostra today, kind of working on a
0:35
first-class Mostra workspace integration
0:37
as well. And I'm originally Ben, I saw
0:40
your co-founder launch tweet, and it
0:42
just went pretty viral. It did It did
0:44
really well. And so, that's how I first
0:45
heard about Mesa. So, love to learn a
0:47
little bit more, but maybe if Did I miss
0:49
anything from the intro? What else can
0:51
you tell us about Mesa?
0:52
>> No, that was perfect. Well, I'm stoked
0:54
to be honest. Good to see you guys.
0:55
Yeah, we're I'm a co-founder of a
0:57
company called Mesa. We build a
0:59
versioned file system for AI agents. We
1:01
play really nicely with a lot of AI
1:03
frameworks, including Mostra. And so,
1:04
yeah, I'm stoked to talk more about it.
1:05
>> For those of you that have been
1:07
watching, you've probably seen a lot of
1:09
different types of commentary and and
1:11
really like thought pieces around how
1:14
agents should be using file systems, why
1:16
a specific file system for agents is
1:17
important. We've seen a few others
1:19
reimagine how how this works. But can
1:21
you tell me a little bit about how does
1:23
Mesa work? Why is, you know, having a
1:24
specific file system for agents
1:26
important? How does it, you know, under
1:27
the hood? Tell us a little bit how how
1:30
>> I think the first observation that we
1:31
started with is that file systems have
1:34
been a really important primitive of
1:35
computing for at least 50 years now. And
1:37
basically every operating system that
1:39
you use is built around the idea that
1:40
you've got this file system, which has
1:42
got folders and files. And it's a It's a
1:44
very kind of a simple notion that lets
1:46
you represent like a lot of different
1:48
data types. And most programs today are
1:50
built around the idea that they've got
1:51
access to some kind of a file system.
1:53
And so, I think that's one of the
1:54
reasons why most of the harnesses that
1:56
you see today work really well with bash
1:59
and with the file system. And uh more
2:02
and more the AI model providers, whether
2:04
that's Anthropic or OpenAI, have been
2:06
RL'ing their models to work really well
2:08
with bash and with the file system. So,
2:09
I think that's kind of like the first
2:11
observation that we started with. It
2:12
turns out like file systems are just a
2:14
really good primitive and they work
2:15
really well with AI agents. But some of
2:17
the limitations that we noticed were
2:18
that more and more people were running
2:20
their AI agents in environments where
2:22
you didn't necessarily have access to
2:24
the kind of persistent file system that
2:26
you would expect. So, on your laptop
2:28
you've got basically a hard drive and
2:30
that hard drive is what um you kind of
2:32
persist all of your data. But when
2:34
you're running an agent in the cloud,
2:35
often times you're running that in like
2:36
a multi-tenant back end or you might be
2:38
running that in a sandbox. And so, you
2:40
don't have access to the same kind of
2:41
persistent disk every time your agent
2:43
spins up. And suddenly if you've got a
2:45
bunch of infinite agents running, you've
2:46
got to worry about kind of like
2:47
permissioning. So, which agent has got
2:49
access to which data? And if you've got
2:51
multiple parallel agents running on the
2:52
same data, then you might have to think
2:53
about versioning. So, how do you make
2:54
sure that it's I've got two agents that
2:56
are both working on the same project
2:58
that they don't override one another and
3:00
they're not constantly kind of
3:01
conflicting. These are some of the
3:03
problems that we set out to solve when
3:04
we built Mesa. And uh and so,
3:06
essentially what we've built is
3:07
something that we think of as being a
3:08
little bit like GitHub for all of
3:10
knowledge work. We basically got like a
3:12
version control system that allows you
3:14
to branch so you can do drafts and
3:15
approvals, but it feels just like a
3:17
folder that you can connect to any
3:20
>> Nice. So, so you're saying it's like
3:21
completely version controlled
3:23
essentially, but it's like a file
3:24
system. All the agents can write to it,
3:27
read from it with a permissioning model
3:28
of course, and that way you can just
3:30
basically build a base of knowledge and
3:32
it it all lives in a accessible place.
3:35
>> I've seen other people try to use Git
3:38
and other types of version control
3:40
systems for this. Is there reasons why
3:42
traditional Git doesn't you know, fit
3:44
the bill? Like what are the reasons why
3:45
it's not as good? And what are some of
3:47
the benefits of this approach versus
3:49
trying to use trying trying your agents
3:50
just to read and write from Git?
3:51
>> Yeah, there're a few problems with Git.
3:53
I mean, I think first and foremost, Git
3:55
was just not designed for agents. And
3:56
so, the kind of like API surface is
3:59
complex. But, I think there are a number
4:00
of other limitations that Git's got. So,
4:02
one of them is that Git doesn't work
4:03
very well with large files. You know,
4:04
you may have experienced this if you'd
4:06
ever tried to check in like an image or
4:07
something like that to a Git repository.
4:09
Git will tell you, "I actually can't
4:10
accept large files." Um because it
4:12
wasn't built to to work with those. And
4:14
so, there are kind of like happy side
4:16
band solutions that people use for this.
4:18
One of the other problems with Git is
4:19
that conflicts are not first class. So,
4:21
if you ever um have had to deal with a
4:23
conflict in Git, one thing that you
4:25
realize is that it can be a real pain in
4:26
the butt if you've got to like, let's
4:28
say, do a rebase through a whole bunch
4:29
of commits. You as a human have got to
4:31
look at every one of those commits.
4:32
You've got to resolve all of those
4:33
locally. And only then can you make
4:35
progress in your branch. And then maybe
4:37
the most important thing that we've seen
4:39
lately is that the kind of model of Git
4:41
is that you basically download the
4:43
entire repository onto your machine
4:44
before you can start doing work. But,
4:46
that's not really how agents work. So,
4:48
if, for example, you're running an agent
4:50
in a multi-tenant back end or in a
4:52
sandbox, the agent might just be looking
4:53
at parts of a repository. And it might
4:55
want to do like, you know, minutes or
4:57
even seconds of work at a time. And so,
5:00
if you've got to pay like a 30-second or
5:02
1-minute penalty to download a Git
5:04
repository to do like a Git clone before
5:05
your agent can start working, you're
5:06
wasting a whole bunch of cycles.
5:08
>> But, y'all y'all sync back to those
5:10
version control systems, right? Like, do
5:12
you handle the workload on your end and
5:14
then you sync to the GitHubs, GitLabs,
5:15
or whatever? Is that how Cuz everyone's
5:17
using these other products like How how
5:21
>> Yeah, so that's one of the choices that
5:22
you've got. So, Mesa kind of uh
5:24
kind of owns the storage layer for you.
5:26
So, if you've got a product that doesn't
5:28
need to be synced back to GitHub, you
5:29
can just use Mesa as your storage layer.
5:31
So, in other words, you can create
5:33
repositories which are, you know,
5:35
basically the same as repositories in
5:36
GitHub in the sense that they're just
5:37
version directories. You can create
5:38
those in Mesa. You can use Mesa on its
5:40
own. But, let's say you've got a coding
5:43
agent use case. And your customers, you
5:45
know, want your branches synced back to
5:46
GitHub so that they can they can see PRs
5:48
on GitHub. Um we've got kind of a
5:50
background sync engine that'll sync to
5:52
>> That's awesome, dude. You've evolved
5:54
into this idea. I would love to
5:55
understand the story of like before
5:57
Mesa, there was something else and like
6:00
how did that pivot happen?
6:01
>> Yeah, there there is a little bit of a
6:02
backstory here. The backstory is that
6:04
when we started Mesa, my co-founder and
6:06
I started the company with the idea that
6:08
GitHub was not built for the kind of
6:10
coming age of agents. And there were a
6:12
bunch of different respects in which we
6:13
thought this was true. You know, the
6:14
first thing that I think a lot of people
6:16
have come to believe recently is that
6:18
GitHub wasn't engineered for scale and
6:19
so you can see GitHub's having all sorts
6:21
of trouble with with uptime these days.
6:23
But I think like also we could see the
6:25
GitHub UI was not really designed for
6:28
the kind of super high volume agent
6:30
driven workflows that people are dealing
6:31
with now. So, you know, it's not very
6:32
good at rendering really large pull
6:34
requests. It's got more AI features
6:36
built in now, but they're not very good.
6:38
Like GitHub's code reviewer has got a
6:39
bunch of problems. It doesn't help you
6:41
to to like really understand a large
6:43
diff quickly. And so, we tried a couple
6:45
of different angles of attack on this
6:46
problem where we said, "Well, if you
6:48
were going to rethink GitHub from the
6:49
ground up, like what would be the best
6:50
place to start?" And so, actually like
6:52
early on in the company we built a
6:54
replacement UI that used GitHub's back
6:56
end. And then we went and built a whole
6:57
bunch of agents that sat on top of
6:59
GitHub. So, we built a code review agent
7:01
for example. Um it had a decent amount
7:03
of of traction building that, but like
7:05
in the process of building those
7:06
products, one of the things that we
7:07
discovered is that actually like the
7:09
GitHub back end was thing that was
7:11
holding us back the most. And even when
7:13
we tried to go and build code review
7:14
agents, the fact that we were forced to
7:16
use the Git model before the fact that
7:17
we were forced to sit on top of Git as
7:19
the kind of version control primitive
7:21
created a bunch of difficulties for us.
7:22
And so, we realized like maybe there was
7:24
even a bigger opportunity in rethinking
7:26
what that storage layer looked like and,
7:29
you know, even going down to the level
7:30
of like rethinking whether we should be
7:32
using Git as the underlying kind of
7:34
version control mechanism.
7:35
>> Yeah, dude. I remember, you know, we've
7:36
had many beers talking about this. Yeah,
7:38
it's so cool to see the evolution uh cuz
7:40
I think this is the right problem to
7:42
solve in the grand scheme of destroying
7:44
Git, like I think this is the one that
7:46
both resonates with agents, but also
7:48
resonates with a bunch of people who are
7:50
now experiencing where GitHub is failing
7:53
us. And I don't think people will truly
7:55
realize it until their agents realize
7:57
it, cuz we're in that era where agents
7:59
are kind of leading humans in these
8:02
technological things. So, I mean, super
8:04
sick, and I'm I'm really glad that we
8:07
Um I heard you have a demo.
8:08
>> I have got a demo. Hopefully, this gives
8:10
you a sense of why we think Mesa is an
8:12
important primitive and what kinds of
8:13
things you can do with Mesa that you
8:15
can't typically do. So, I built a little
8:18
demo app here the other day, and what I
8:21
want to show you is kind of like an AI
8:22
financial analyst, what I call the CFO
8:24
command center. So, maybe you're
8:26
building an agent for your finance team
8:28
or for your CFO, and your CFO's got some
8:31
big data room with a whole bunch of
8:33
documents. And those documents might be
8:34
a combination of like PDFs, so these
8:36
could be like contracts, they could be
8:38
customer case studies, a whole bunch of
8:40
different things. And you probably also
8:42
got some like Word docs, you got some
8:43
Excel docs, and you've got some CSVs.
8:46
And so, these are the kinds of
8:47
workspaces or data rooms that like
8:49
non-technical people on your team are
8:51
dealing with every day.
8:52
And so, you might want to give them an
8:53
agent to help them do their job. And so,
8:55
like the first thing that I want to show
8:57
you is just the way that you can connect
8:58
a typical agent to a repository, or in
9:01
other words, like just a version folder
9:04
So, we've all, you know, probably seen
9:05
these kind of chat UIs, and so, I've got
9:08
a CSV in here that's like a list of
9:10
kind of imaginary vendor contracts.
9:13
And so, you know, I might want to ask my
9:16
optimize our vendor spend. And you can
9:18
see as my agent works through this
9:19
problem, it's just going to be using
9:22
Bash. And it's, you know, simply making
9:24
calls like ls to list the results of a
9:27
of a directory, like a like cat to see
9:29
the contents of a file. It can use all
9:31
of the kind of standard Bash commands.
9:33
And what's cool is when you're using
9:34
Mesa, you could either mount Mesa as
9:36
like a POSIX file system in a sandbox.
9:38
And so, in other words, it's like a
9:40
fully native directory, or you can run
9:42
Mesa in process. And in this case, I'm
9:43
running Mesa in process, and so you've
9:45
kind of got a choice depending on
9:46
whether or not you need a full sandbox
9:47
environment. But I I think we've all
9:49
seen flows like this. This is relatively
9:51
straightforward, and you can do this
9:52
with a lot of different backing file
9:54
systems. I think where Mesa gets really
9:55
interesting is with some of our version
9:57
control primitives. Uh you know, one
9:58
thing that we've heard from a lot of
9:59
people is that more and more people want
10:00
to run agents in parallel. And so, there
10:02
are different reasons you might want to
10:03
do this. One reason is that you've got
10:05
agents working on different tasks, and
10:06
you want them but those tasks might
10:07
involve the same documents. Another
10:09
reason is that you might want to explore
10:10
a bunch of different paths and then
10:12
accept one and discard some of the
10:13
others. And so, I'll just show you a
10:14
really simple version of this. So, you
10:16
might have noticed that in these mock
10:18
vendor contracts, we had our SOC 2
10:20
compliance done with Delve. Uh and so,
10:23
we realized uh we actually need to
10:25
replace Delve with Vanta. And so, I'm
10:27
going to ask my agent to go ahead and do
10:29
that replacement. But in this case,
10:30
instead of just launching one agent, I'm
10:31
going to launch three parallel agents to
10:34
all work on the same problem. And we'll
10:36
see which one gives us the best result.
10:37
And so, under the hood, what's going on
10:39
is Mesa has got Git-like branching
10:41
primitives. And so, in essence, we're
10:43
going to kind of fork our file system
10:44
three different ways. Each agent's going
10:46
to get its own isolated copy of the file
10:47
system, and it's going to, you know, be
10:49
free to like modify documents, look at
10:51
whatever documents it wants to, and of
10:53
course, it can use standard bash
10:54
commands. And again, in this case, this
10:56
is running all in process, but if you
10:57
wanted to, you could mount Mesa in a
11:00
I think my three different agents here
11:01
are just different Claude models. So,
11:03
I've got Haiku, Sonnet, and Opus. And
11:05
when these guys finish working, I'll be
11:07
able to see the kind of before and
11:08
after. So, I'll see the diff.
11:11
And you can imagine rendering this in in
11:13
a richer way. In this case, I just went
11:14
for kind of a simple line level diff,
11:16
but it would be pretty easy to render
11:17
kind of like, you know, a rich table if
11:19
I wanted to and show the differences.
11:21
And we can see like the cheaper, faster
11:23
agent, it gave me a diff. It did replace
11:25
Delve with Vanta, but it looks like it
11:26
it made some kind of formatting changes
11:27
that maybe I didn't want.
11:30
I Sonnet agent got a pretty good diff,
11:32
and so did my office agent. And so it
11:34
looks like these two guys ended up with
11:35
about the same thing. And when I'm done
11:37
and I'm happy with with the changes that
11:38
my agents made, I can now basically go
11:41
from draft mode into kind of like an
11:43
approved final state and do a merge much
11:45
the same way that I would do in Git. And
11:47
if I go ahead and refresh my vendor
11:49
contracts, you can see that we've
11:51
replaced Dell with Vanta. And so this is
11:53
kind of an example of of some of the
11:54
flows that you can get into with Mesa
11:56
that you wouldn't be able to do with a
11:57
traditional file system.
11:58
>> That's really cool. Now for like a
12:00
coding agent example, let's say I'm not
12:02
using Git anymore. I'm not using GitHub,
12:04
I'm not using Git, I'm just using Mesa.
12:06
I have my code base in Mesa and let's
12:10
say me, my and my co-workers are all
12:13
tackling maybe the same file but
12:15
different parts of it in our own work
12:17
and stuff. And our agents are writing
12:20
but they're branching before they write.
12:22
How does this like merge process work in
12:24
this world where like we do want to
12:26
merge all of our changes but like is
12:28
there this whole rebase concept or like,
12:31
you know, how does how's that going on?
12:32
>> Yeah, so I I think you can you can think
12:35
of Mesa's versioning model as being like
12:37
very similar to Git's in the sense that
12:39
you've got like kind of chain. So in
12:41
other words, you've got like snapshots
12:44
of your of your folder that we build up
12:46
over time and we're storing it in an
12:47
efficient way. But at any time, you
12:49
know, you don't have to have just a
12:50
linear history. You can do these kind of
12:52
like forks. Every one of those forks is
12:54
like a kind of a valid candidate but
12:56
probably you know, you've got kind of
12:58
like one main line set of changes that
13:00
represents the canonical state of of
13:02
your documents. And so you know, the
13:04
workflow is very similar to what you
13:06
might do with Git and GitHub. I think
13:08
what's really interesting and different
13:09
here is that, you know, first of all,
13:12
Mesa's optimized for programmatic use.
13:14
And so if you want to like not just use
13:15
your own coding agents but build an
13:17
agentic application, Mesa's really well
13:19
set up to do that. The second thing
13:20
that's really interesting is that you
13:21
don't have to do a full clone before you
13:23
mount a Mesa repository. So in other
13:25
words, we kind of have this lazy
13:27
materialization. So, you could imagine
13:28
you might have like a really large
13:30
workspace or a massive mono repo that
13:32
could take a really long time to clone.
13:34
I was working on the master repo today
13:35
and I mean like the master repo is
13:37
pretty significant. So, even that takes
13:38
maybe 30 seconds or a minute to clone.
13:40
>> And so, if you imagine an agent like
13:42
your Code Rabbit agent reviewing pull
13:45
requests in Mastra, you know, probably
13:47
it's got to spend before it reviews a
13:48
pull request, if it's looking at the
13:49
entire repository, it's got to spend the
13:51
first minute before reviewing any of
13:53
your code just cloning the repository.
13:55
And so, that's one of the problems that
13:56
we solve. There are a few other
13:58
interesting things that we can do. So, I
13:59
can talk about some of these things, but
14:01
we've got kind of like real-time
14:02
features. So, in other words, you know,
14:04
sometimes you want to be able to observe
14:05
an agent session real time. But, I think
14:07
broadly like the focus here is just on
14:09
solving the problem of how you can run
14:11
massively parallel agents.
14:12
>> Okay. So, for example, everyone's using
14:15
work trees now, right? But, work trees
14:16
are just like honestly, they're like
14:18
clones and if you're working in a big
14:21
repo, that work tree is expensive and
14:23
now you have 10 work trees and now
14:25
you're running out of disk space because
14:27
you're just work treeing everything. And
14:29
so, in Mesa, this is not a work tree.
14:31
This is a snapshot of something you
14:33
touch. Walk me through like what that
14:35
would look like in Mesa instead of using
14:37
like a Git work tree.
14:38
>> Well, I think the first thing to say is
14:39
that today Mesa's really optimized for
14:41
uses like infrastructure. So, we're not
14:43
we're not even necessarily telling
14:44
people like to go and replace GitHub
14:47
with Mesa. Like if you're using GitHub
14:48
for, you know, your own software
14:50
development, I think maybe eventually
14:51
we'll go there, but but today the real
14:53
focus is on like the kind of
14:54
infrastructure use case. But, yeah, like
14:56
the Mesa model of the world would be
14:57
that instead of having to think about
14:59
work trees, you would just say like I
15:01
want to create a copy of this directory.
15:03
You could give it some other kind of
15:04
like a name much the way that you would
15:06
have a work tree, but it's a lot lighter
15:07
weight because work trees, while they
15:09
don't store a full copy of your version
15:12
history, they do still store like a full
15:13
copy of your documents and so, they can
15:15
be pretty expensive. And the Mesa model
15:17
here is that we want to be really smart
15:19
about what data you fetch. And so, like
15:20
in the same way that when you iCloud or
15:22
you use Dropbox, you might have like a
15:24
massive amount of data in that kind of
15:26
drive. So like your iCloud, your
15:28
Dropbox, your Google Drive could have
15:29
like a terabyte of data in it. And not
15:31
all of that data is going to be pulled
15:32
onto your laptop, but it feels like it's
15:34
just a regular folder on your laptop.
15:36
You can do the same thing in Mesa. So
15:37
we're doing this kind of like smart
15:39
partial materialization that's mostly
15:41
transparent to you as a user.
15:42
>> And agents can materialize as they
15:44
discover. Like if they decide they need
15:46
a folder, they can materialize it and
15:49
>> Exactly. And the agent doesn't even have
15:50
to tell you that like it wants that
15:51
folder. It can just say it can just say
15:53
list the folder. And I mean and this is
15:55
kind of the beauty of an actual virtual
15:57
file system, not just a CLI. Like if we
15:59
were a CLI just like Git, your agent
16:01
would have to, you know, check to see if
16:03
the folder exists, then maybe like query
16:05
an API and say I want to pull this down.
16:07
But because we're sitting at the like
16:08
file system layer, because we're, you
16:10
know, we're talking directly with the
16:11
kernel, all you have to do is ask for a
16:13
file like list a repository. We've
16:15
already fetched all the metadata and
16:16
then kind of like just in time if we
16:18
haven't already cached the data for that
16:20
file or folder, we can pull that down
16:22
>> That's awesome. All right, we are
16:23
talking with Ben Warren so from
16:25
mesa.dev. Go check it out if you are
16:28
curious about file systems for AI
16:30
agents. Is the best place to follow you
16:37
I think that's right. You go to
16:40
>> All right. Any final words before we
16:43
>> I'm super excited for the for the kind
16:45
of like first-class integration that
16:46
we're about to launch with Modtra. You
16:48
can use Mesa with Modtra today. I think
16:50
it's a really awesome pairing, but I
16:51
think it's going to be even better when
16:53
we've got like a really tight
16:54
integration with Modtra workspace. So I
16:56
think there's a lot of cool stuff coming
16:57
down the pipe and yeah, obviously sign
16:59
up for the waitlist if you want to get
17:00
early access. Follow me on X.
17:03
Yeah, had a great time chatting.
17:04
>> Yeah. Awesome, dude. This is awesome.
17:06
We're going to play with it, too.
17:07
>> Yeah, thanks for coming on the show.
17:08
>> Sick. Have fun, guys.
17:10
>> Would you like to be a guest on the
17:11
show? Visit modtra.ai/guest.
17:15
Do you have a hot take, a problem you
17:17
cracked, a cool product for a demo worth
17:19
watching? Share them right here on Agent