简报·YT
← 返回视频简报
a16z 已完成

Why AI Can Write Code But Can’t Keep It Running (Yet)

2026-10-16 14:30 · 时长 58分57秒 · 👁 109 · 原视频 ↗
#AI编程 #智能运维 #可观测性

Why AI Can Write Code But Can’t Keep It Running (Yet)

一句话核心:AI 已能高效写代码,但还难以可靠“运维”真实系统;运维状态空间巨大、重尾且依赖真实实验,不过可通过异常检测 + AI 工作流推理逐步改善。

要点

▸ 原始转写文字稿(59799 字符)
The world that the AI lives in is all digital, and there's the actual world, and those things are not necessarily the same. When we started doing AI for coding, it was autocomplete. Nobody really knew to what extent you can actually build complex software using AI. And then it basically broke through the expectations because we were able to model more and more complexity in the systems. I just don't know if operations is constrained in the same way. Where's even the data to learn how to build a system that understands all of the operations? My assumption is that we have all the data. The question, I think, is maybe about complexity. And to what extent can you take the things that you've described that are operational and convert them into something that an AI can reason about? The dirty secret for the longest time of running a distributed cluster was just human beings managing it. Do you think we're at a spot where you could use AI to run one of these services? I think that there's enough to be able to... All right, Jed, thanks for joining me on the podcast. For those of you who don't know, Jed is the CEO of Grepper, but also we went to grad school in the same group. And when I first met you, we had a new student. I walked into the office and there was a motorcycle helmet and a pack of Marlboros. I'm like, this guy must be unbelievably cool. So my question is, what happened to all your coolness? Question number one. Maybe just for context, maybe give a quick overview of your background. So just for those that are listening, Jed is one of the best systems thinkers I know. I love talking to him. We're going to go kind of to a deep dive of like engineering from a systems perspective and how AI is impacting us. We're going to kind of, especially when it comes to things like operations. But just to ground it, maybe a bit about your background. Sure. So you met me at one of the peaks in my coolness. Yeah, you're pretty cool. Motorcycle and Marlboro cigarettes. I remember thinking, I'm like, wow, are cigarettes even legal? It was like so discordant. I remember Nick seeing me one day smoking outside of Gates and looking at me and going like, Nick McKeown is our advisor. Gates was the building, yeah. Actually, one of my favorite things, do you remember Balaji Prabhakar, the professor? Of course. My favorite thing about him was that he smoked. I was like the only professor. I just thought it was like, great. Just to be clear, I don't smoke anymore. No, too old, too middle-aged for that now. But let's see. So, you know, I went to Stanford with you. You were always the guy I had to look into, to look up to. And you were like, hey, this is the guy I want to be when I grow up. I started four years before you did. So you were four years ahead of me. You graduated a while ahead of me. You went and started Nysera. I stayed and stuck around, worked more on OpenFlow, helped build a bunch of stuff on the hardware side from a security perspective. Actually, one of the most fun projects that I worked on there was I built the first set of SHA-3 implementations that people were considering using. And I built them in hardware to kind of show whether they work or not and whatever for one of my projects for my thesis. That was fun. Yeah, yeah, cool. And then I decided after a while that I actually don't like networking because it's just about moving bits from one place and putting them in another place. How hard can that be? You have to either be philosophically aligned that it's deep or not. Most people assume it's not. I think it's very deep. I mean, there's something interesting about it. But ultimately, to me, that's like, it's not. Yeah, it doesn't do it for you. Yeah. And then I actually went and did a postdoc at MIT with Nikolai Zeldovich, who's also amazingly deep and super smart. Yeah, he's phenomenal. I did some application security work at the time, started a company based off some of the research I had worked on with Ramesh Chandra over there, who was a PhD student at the time. And ultimately, the technology was too early. What was it? So what we did was, well, you know, ultimately, a lot of the work was actually really Ramesh's. And his PhD was on, well, hey, if you get attacked and you get exploited, can you recover from that by rolling back the state of the whole world that's related to that application and then roll it over on top of a patched version of the application to remove the exploit? Yeah. And so we started doing that in the real world. And we're like, that sounds really hard. It's actually kind of relevant to what we're talking about, which is like, to what extent can you actually bound the state for, like, operational systems, which I would argue is very hard. Yeah. We almost got it working. Almost. I feel like for all long tail disciplines, this is why people get in, like, the fly track for smart people. It's like, you see a bit of progress, but you're asymptoting. But anyways, I digress. Yes, yes. Let's keep going. Let's keep going with your. So then I joined AppDynamics. I was there for about three and a half years. They went from about 200 people to 2,000 people, got acquired by Cisco. I was a Cisco employee for one day. And I said, and then you're like, Jad, you come work with me. Come do this VC thing with me. Yeah. I'm like, what the? Yeah. What is VC? What? I'm an architect. I do, like, engineering stuff. Yeah. He's like, great. Yeah. The less you know, the better. Yeah. Literally what you said. That's true. And then the first day I started here, you said, slow down. It's actually people that move from, like, from, like, actually an operating role to VC. It requires a lot of reworking the brain. Yeah. Yeah. Just like going from a PhD to operating, by the way. You have to, like, undo the brain damage. Like, this is my experience. This is what real world is like. I know. And then I stayed here for a couple of years, did a bunch of work with you. It was a really fun time. Worked with a lot of great people like Jennifer, Mark, and Ben. Satish. Satish. Matt was here when I first, almost towards the end when I was leaving. Yeah. And then joined Impli as their chief product officer, helped them build their engineering product teams, kind of scaled from about, like, 15 people to over 90 across product engineering, infosec, and design. And after about three years, I kind of had a head for each one of these pieces that I owned. And I kind of was sitting around just coordinating and doing meetings all day and wanted to go do something else. So, left and then started talking to a lot of engineering leaders about the problems that they're facing and what they're trying to do. Everybody at the time, this was in 23, everybody was saying, hey, we're trying to really spend. And asked them, what are you spending money on? Everybody would say, observability. And, you know, well, first, actually, it was infrastructure and then observability. And so, I started looking at that problem, trying to understand, like, why do people think it's too expensive? It turns out there's a few things. First, people were spending somewhere between 5% and 20% of what they spend on infrastructure, on observability. But ultimately, what they were really trying to spend it on was reliability. They wanted to buy reliability. Of spend? Like, predictability of spend? Reliability of their infrastructure and applications. I see, I see, I see. Right? And so, they were putting money into observability as a proxy for reliability. And for the longest time, the more money you spend, the more reliability you got out. But as architectures changed and turned into microservices that are much smaller, that are much more vertically integrated, the volume of data that's being collected at every layer expanded, there was much deeper market penetration for observability. And kind of the volume of data that you're collecting and the cost of observability was actually starting to grow faster than the units of function that you're outputting. And the marginal rate or, like, the marginal increase in reliability for every additional dollar you were spending on observability was just flattening out. And so, that's why people thought it was expensive. But people were still willing to pay 5% to 20% on reliability. And so, the question was, like, can we actually solve that problem and bring back that increase in reliability, that marginal increase in reliability, not necessarily by spending more money on observability, but some other way. And so, the thinking was, like, okay, great, if we can figure out what is the signal, what is the noise, can we actually turn the observability data that you're collecting that's mostly fluff and mostly insurance at this point, and do that kind of extraction of information upstream, do whatever you need upstream, and be able to ultimately massively reduce the cost of observability downstream. And if you can extract that signal in real time upstream, then you can, one, reduce the cost, but two, you can now feed it into other systems and use it for driving reliability operations afterwards. And the distance at the time, there was something that was called AI coming into the picture, and we're like, well, great. So, if we are in the data stream, and we're extracting the signal, then we are in a strategic position to feed that to whatever is going to come in the future, because that's going to be necessary. And so, that's what we built. And so, Grepper helps companies, you know, we started with helping them reduce their spend on telemetry massively. And so, you put us in the data stream, plug and play, pass the data through, reduce your cost by 90%. And now we're building out that second layer where we're feeding those signals into the AI layer that's now going and troubleshooting and figuring out when things are going wrong and fixing them. I'd love to just talk through kind of your experience on how AI is changing dev generally, which is like a lot of people could ask this question, a lot of people answer, but I just feel like you're kind of like the engineer's engineer. Like, you've been an architect, you've run product, you've run engineering teams, like, you know, like, actually, how big is your company now? How many people? We're 10. Yeah. So, you know, you've got to, I mean, you're building a lot of software with a relatively efficient team. So, maybe just a high level sketch on like, you know, if you're a senior engineer like you, you know, that has architectural experience, like, what sort of gains do you think people are seeing? Maybe talk through like how you use AI, what gains you're actually seeing, what is the stack, what is your process, how you think about it? So, maybe I can give you like a historical view of like what's been happening, kind of like running a team and so on. And so, you know, when we first started AR, we're still kind of autocomplete. I remember like at the time we were using Copilot and IntelliJ and we're like, oh my God, look, it autocompleted these tests. We're like, yeah, but it's just autocomplete. Right. And very rapidly, things started evolving. And what I've noticed is that really good engineers are able to somehow put it into their workflows in a way where they, the AI starts training them. Oh, interesting. In terms of like how to talk to it, how to get the best out of it. And what I noticed. By the way, as an aside, do you think that's model specific? Like, is it, do you learn how to use AI, you know, writ large or do you get efficient at a given model? I think there's like some nuances that different models bring. I'm sure looking at your tweets, you've. There's like nuances, but there is a way to work with AI. And like, I think that there's also a way to work with different harnesses. And I think like, you know, we tried, for example, using open code or like different harnesses or like using codecs versus Claude, like Claude code, like different ones have different ways of managing context or thinking through problems or when to spin up the right sub agents and what to tell it, like the kind of prompts. Like, for example, with Claude code, I find that if I don't tell it, don't spin up, you know, 20 Fable agents to do basic research, it'll go and spin up 20 Fable agents to do research and burn all your tokens. And so like a lot of these things kind of you start learning about the harness and the models and like how they interact with each other and then how they can interact with the rest of the world. So, but I digress, like I'm just gonna, in my mind, like this is kind of what I started noticing is that like some people were adapting and learning and kind of doing it that way and others weren't as adaptive. And then as we started hiring more people into the team, that disparity between, you know, okay engineers and really good engineers just multiplied 10x. Can you predict who will, could you predict who would be good? Was it like good engineers got better and bad engineers didn't or was it really okay? Yeah. So like if you're a good engineer, you're just a better good engineer. It's not like there's some like bad engineers all of a sudden became good engineers. No. Okay. No, no. It always ends up being like, you have to really understand ultimately the setup because the more complexity that your brain can handle, the more you can break down the tasks and kind of assign them. I think this might actually be like non-consensus opinion that like, I mean, I do hear it sometimes, but the idea that like the better engineers like are much better and those are less. And you found this to be pretty universally true? I mean, look, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean, I mean the animal that actually walks in four legs and barks, and the syntax is the fact that it's just a three-letter word, and it has three different letters, the shape of the word is different, and that shape can be different between different words, but different words can actually also mean the same thing. And so they might have the same semantics, but they might have a different syntax. So a dog and a puppy might be slightly different semantics. They refer to the same. But they're still called a dog. So the way that, and just for like computer science, the way that I describe it very simply is syntax, you know, it's like the characters you type, and semantics is what the machine actually does, right? And so it's like the actual runtime properties of the system. So you did computer science. I did electrical engineering. You became a computer scientist, and I became a VC. That's the problem. I see. Yeah. Anyways, I just want, for people that are listening, I just want to understand, like, there's the actual syntax, which is writing the code, you know, and then when you're talking about syntax, you're just talking about the code itself. And then when you talk about semantics, you're literally talking about you have a machine that interprets that code. Whether it's compiled or not, and that machine does something, and semantics is what the machine actually does. And these things are, you know, clearly very different, right? Like, so, for example, some semantics you can't even derive by looking at the syntax. Like, you don't know what the machine is going to do because whatever. You kind of have to test it. You have to test it, you know? Like, and it can go all sorts of different ways when you test it. And, like, a very classic version of this is SQL, for example. Like, you can write, you know, some SQL query, but, like, how it actually performs, how long it performs depends entirely on, like, let's say what the schema looks like or what the data looks like in the database, et cetera. But that's, I would not call that semantics, though. I would call that performance characteristics. Like, I would say, like, the semantics part of that would be, like, depending on, like, what the shape of data is or, like, what the configuration, you might end up with different semantics because, like you said, you want null to be treated as false. And you won't know that unless, like, you also know the configuration of the system and so on. Okay. Okay. So, for the purpose of this conversation, I think we should just say that there's, like, the actual code you write and there's how the system behaves. And we'll call the second one semantics just so we can have the conversation. There's a... Well, what do you want to call it? We need to dive into the semantics of this and make sure they're clear. That's right. Because there's a lot of... I know. Okay, okay. Well, we'll keep it at a high level. Okay, so, sorry, so let's go back. So, you know, actually, before we started the podcast, you and I were just shooting the shit. And you were talking about, like, how you can do projects now that take a week where in the past would take a team and months. Can you maybe walk this through a little bit about, like, how you personally kind of do projects and then kind of the gains that you see? So, like, a little bit about, like, your stack and your process. So, I use Cloud Code. I'm going to say something that's actually pretty funny, but I use Windows. What? Was that created by this company, Microsoft? And I use WSL. So, I use Linux for everything, like, development and so on. There's no, like, X or UI for it. I just use the command prompt. But... How do you use Windows? Because I just never really wanted to learn the keyboard shortcuts. Are you a gamer? It's like you tab over to Counter-Strike or whatever. Like, why else? I'm not hitting on Windows. I mean, you know, like, I used it in the 90s. Really, like, the only reason is I never wanted to learn the shortcuts. I hate the one-button mouse. I hate the one-button stuff. I hate the number of modifiers you have to type for shortcuts and stuff. Like, I just never... I'm like, why? Why? Why waste time? Okay. So, I'm like, yeah, I'll install Linux. Use Windows, yeah. And so, WSL, I use Cloud Code. What is WSL? That's Windows Subsystem for Linux. Great. So, they actually run the Linux kernel within Windows in a hypervisor and provide you access to it. It's great. They've done a great job. Great. Windows, WSL. So, and Cloud Code. And Cloud Code. And, like, my latest, the latest thing that I do is I use Opus 5.5. I tell it... Which is a really good model. It's an amazing model. Really good. And it's, I've shipped in the last two weeks these massive 20 PR things that I just dump on my team to go and review. And they're like, oh. I'm like, don't worry about it. Sounds horrible. It's like the new reporting structure. Like, the people below review the PR. The PR is for the CEO. Is that where we become? No, everybody's, like, writing the same thing. Oh, everybody. So, you review other people's PRs, too. Yeah, I review my people's PRs. And, like, everybody's, like, just PRs flying around. Founding in PRs. Yes. But, like, the thing that has changed a lot in the review cycle is that, like, we started much more focused on, to focus much more on, like, the tests. Sure. And, like, doing things like golden expectations and, like, are they shifting in different ways and so on. But, like, Opus 5 and, like, the trick that I've recently learned about is that you, instead of using sub-agents, you basically tell Claude to spin up command line sub-agents because those maintain their persistent session over time. And so, you can have it spin up these agents separately. You can actually run them from other sessions and so on. And that allows you to be much more efficient from a context perspective. How many agents do you run? How many? How many? How many what? Agents. Agents. Typically, I work on, like, three or four session windows at the same time because I found that more than that, I just start losing context between the different things because, like, they start finishing faster and then they wait. And do they interact via the PR? Is that how it works? The sub-agents? Yeah. Like, together? Yeah. No, they interact directly through the command line. Oh, wow. Okay. Yeah. So, like, I asked, like, the main thing that does the implementation to have a tech lead reviewer and, like, they basically ask it questions. Does this make sense? Does this not make sense? Review my PR, et cetera. And so, they iterate on these PRs together. And then they have a PR doc that basically they work on with a design doc and everything in it. Like, the first thing that I do is I ask that agent to do it, ask the tech leads to review the PR doc. I go through the PRD. I go through the design doc, make sure it makes sense, go through each piece in, like, detail, make sure that all the algorithms work and, like, all the pieces work, the division of labor works, the division between PRs and their relationships work. And then I tell it, just go start doing it. Figure out if there's, like, parallelization that you can do and then spin up other agents to actually go do them. But, ultimately, you have to kind of put it all back in one stack and be able to go through it as a human one by one because, otherwise, it just gets messy and bushy and you can't really tackle it. Yeah. So, how much time – so, can you give a sense of, like, a project you do now versus, I don't know, six years ago, like, time differences? So, the latest project that I shipped was something like – By the way, this is, like, to be clear, this is production code. Yeah, this is production code. This is, like, demo, mockups, whatever. So, like, the statement you're about to make is the gains that you get for, like, shipping production. So, I'll give you the example of the last – there's – the last PR that I worked on or, like, the last set of PRs was what we call auto-promotion in a data lake. So, in a data lake, you store all the data, and typically the data is column-oriented, parquet files, an iceberg, and so on. And when you get data from logs, they're semi-structured, they're arbitrary columns, and so on. So, in order for it to have the best layout of the data and to be able to query it efficiently and fast, you kind of – the ideal situation is that every field in the log event becomes a column that you can filter on independently of the rest of the rows. And so, we call that auto-promotion or shredding. And doing something like that is incredibly complicated, right? Like, you have to go and figure out how does the metadata system work, how do the commits of the metadata system work, how do you coordinate across different writers, and so on. And that took maybe about 10 days. In previous days, that would have taken maybe about six months for a single person. Wow. And was this just you? That was just me. It is insane. Yeah, sort of like factor of 10, factor of 20 improvement. Yeah. For production code for new products. Yes. You know, one question I always have is, like, I can very much understand, you know, that these models are trained on all the code ever written, let's call it, right? So, I can understand why they're able to generate code, which is the syntax piece. But then, like, for, you know, you're doing core infrastructure. Let's say you're doing distributed algorithms. Like, the properties, like, how it handles itself when it's running is very, very different. Like, often you just can't even look at the syntax to know what's going to happen, right? Like, let's say you're, I don't know, let's say you're writing some distributed system. And then, like, the way that it, like, it will perform, the availability, the correctness even is going to be dependent on what the workload looks like. You know, like, what are the access patterns? What is the traffic? Are you talking about, like, the performance aspects of it, though? Or are you talking about, like, the semantic? Well, I'm thinking, like, availability, like, you may have to lock things so it's not available for a period of time. Sure. I'm talking about correctness. Like, maybe you've decided to do eventual consistency. And so, like, if you do a read, it's not going to be consistent because there isn't a lock. Right. And then performance, like, you know, maybe you cache, maybe you don't cache. So, these are all kind of tradeoffs in the design space, right? Yeah. And, like, unless you know, like, the access patterns, you won't know how it's going to perform in these things, right? And so, I just think to myself, okay, I've got an AI. I can understand how it will write, you know, like, code for a generic distributed data store, for example. What I don't understand is how it will know to, like, make the tradeoffs needed because it doesn't even know what the access patterns are. And it's not like these things can, like, like, where's even the data to learn how to, like, build a system that understands, like, all of the operations, right? Like, today, we rely on human beings to, like, manage clusters and to, like, you know, optimize databases, et cetera. And so, can you maybe talk about how you think of, like, I get the writing the code, but, like, you have these deep operational systems. Like, how do you apply AI to that problem? And, like, A, have we made any progress at all or is this still an outstanding problem? The question, I think, is maybe about complexity. And, like, to what extent can you take the things that you've described that are operational and, like, that happen in production and convert them into something that an AI can reason about? Exactly. Like, how can an AI reason about this system? Well, A, first off, like, to what extent do you see that it writing in the code that it can actually predict what's going to happen? Like, how good of a job does it do at that? And the second one is, like, okay, now how do we make it reason about this? So, let's ask the first one. Like, if I use your method, the JAD method of writing code and I built some big distributed system, like… How often does it actually get it from performance correctness and stuff like that? How often is it, like, actually operationally, like, pretty sensible? And, by the way, I work on this distributed Gaussian splat render and I would say it's shit. Like, it's horrible. Like, because, like, you know, you've got millions of Gaussian splats that you've got to page in and out and stream. And, like, it just totally depends on, like, the running system. And so, like, none of the models do a good job. So, in our world, what I've found is that we've defined basically really well what performance benchmarks look like and how the system should run and what the constraints of actually building within, like, our stream processor look like to get the right performance. But every once in a while, it'll do, like, my latest project has been all about query optimization and query performance. And so, I was like, hey… It's a classic example of something. I was like, we are basically generating code that corresponds to SQL and we want to run it in a pipeline. And we're like, okay, well, you're generating shit code. Fix it. Yeah. And it started basically going through and what it didn't realize was that it wasn't actually doing initially any optimization on the code. It's like, oh, it's fine. It looks like, what's the problem? And I said, well, look, there's these conjuncts over here. You're doing and, and, like, this particular term is repeated and it should have been taken away. And then it's like, ah, okay, let me figure this out and so on. And then, like, it basically went on a thread to try to figure out what are all, like, it built a bunch of hypotheses around, like, what are all the things that it can go and optimize to make this better. Yeah. Um, but ultimately it was able, because it was able to ground that in performance benchmarks. And I was like, look, here's, here's a data set of the queries and, like, what the users are asking and so on. Go work on it. Um, and so it can basically do a relatively good job that way. But when it comes to saying something around, like, how much memory should I give the system? Yeah. It has no idea. And that has to come from actual experiments that run in production. And so what I think actually these systems seem to be doing well at this point in terms of operational stuff is that it knows that, hey, I probably won't be able to answer this question. Let me run an experiment somehow and come up with that information. But, of course, when it comes to operations, like, production systems don't behave the way that you expect. And ultimately that's why incidents happen. So have you found, are you doing any of, like, the AISRE stuff where you actually have a running system that has logs and you feed it to an AI and that kind of helps you, like, tweak it? Yes. And how well does that work? So we're just... Because anecdotally, my experience with other people doing this has not been that great. Like, the reports I've been getting anecdotally have not been great. So a couple of things. The first one is we're doing that for both operational pieces and for security. But the way that we're tackling it is not the way that other people are doing it from an AISRE perspective. A lot of those systems basically start from a lagging indicator, like, hey, this metric spiked or, like, this alert happened. Go back through a very complex system and try to determine why that happened. Right. Like... Yeah, sure. It's, you know, that's why those don't work. Because, like, backtracking into a root cause is actually very problematic. And so instead, what we're doing is doing it the other way around, which is, can we actually start by figuring out if there's something different in your environment that has changed? Like, can we do a large-scale clustering, a large-scale kind of figure out a needle in a haystack, something that is different? Oh, so you're assuming that it was working fine before and now it's not, so something happened. But it could be just, like, a change in, like, normal traffic patterns, right? That's fine, too. That's fine, too. And so the thing that we're looking at is, like, when things go wrong, usually the system will tell you something went wrong somehow. Yeah. Right? If it's working fine and scaling as normal, nothing will happen. But sometimes you'll see some, like, message which says error connections ran out or memory exceeded or resource buffers emptied or, like, some kind of indication, like, some kind of really early warning, like, something happened. And that's the one message that we want to capture and then go from there and see, is that an actual problem that we need to investigate and deal with? So how does it do? So far, it's doing pretty well. I mean, we're running it internally in our systems. We ran it in a couple of our customers' environments. And in the cases where – there was a couple of cases where we ignored it. Yeah. And those turned into production incidents. Really? Oh, wow. You know, it's kind of – just from an intuitive perspective, like, I can understand how these models understand syntax because, again, like I said, they're trained on all of the code ever written. And it just turns out that it covers a lot of useful cases. It's hard for me to actually even think of a bound on the actual operations of software, right? I mean, it feels like – you know, this is a ridiculous statement, but it's actually kind of true. It's like every time you add a bit to a program, the state space of, like, what it can do operationally increases by a factor of two. So you very quickly get to, like, you know, like more states than atoms in the universe. And arguably, this is why – this is why, like, product approaches to operations have never really worked, right? Like, the chaos engineering stuff never really worked. And we've always kind of relied – you know, actually, the dirty secret for the longest time of running, like, a distributed cluster was just human beings managing it. And so I'm just wondering – and then, you know, in order to, like, even train an AI to do it, you have to have, like, enough data and enough configurations. And so, like, I'm just kind of curious, like, do you think we're at a spot where you could, like, use AI to run a distributed cluster or run one of these services? Or do you think that's still on the come? I think that there's enough to be able to have it start that loop, right? Like, I mean, ultimately, like, I think that – I agree with you. Like, there's infinite space. There's a lot of different things. But ultimately, humans also operate on runbooks. And, like, sure, there's a lot of things that happen in production that you ultimately need some human to go and, like, hey, this is too complex. There's, like, some state that's hidden that I know of because I talked to this other guy, like, at the water fountain the other day. And he told me about this thing he deployed. Like, there's a lot of stuff that potentially isn't visible in the state of the system. But I'll argue that, like, the goal of what we need to be able to do is to, like, get to have enough telemetry and enough understanding to, like, make everything really visible from a, hey, here's what the system looks like. Here's how it's working. Here's, like, whatever. And then I think ultimately most of the issues that end up really showing up in operations, assuming you have the system previously running okay, is due to some kind of change. And if you're able to just focus on the goal of figuring out what the change was and, like, what – and kind of going through – Sorry, can I just ask a stupid question on this, which is I never think of these generative models that are good at predicting stuff. And it sounds like you're talking a lot about predictive modeling. Like, you predict a change or you baseline and you detect an anomaly. Like, am I thinking about this wrong? I – no, you're not. Okay. Because the goal is not actually having the agent try to predict but have it get a signal that something changed deterministically. That's something – I see. I see. Yeah. Wait, wait. So there – sorry. So there is a separate model that does the predictive stuff and then that will alert the AI? Yes. Okay. Yes. That makes sense. Yeah. So, like, what we do – like, what we do is we basically – you give us your petabyte of logs per day. Yeah. And we scan all of them. And we, like, every time we see a new kind of pattern emerge in your logs, a new thing that we haven't seen before, we lift it up to the AI. I see. So that's a predictive model that actually does, like, does what predictive models are good at, which is determining out-of-norm things or whatever, whatever. Exactly. And it's, like, the – and it goes to the AI. The AI kind of uses that to figure out what to do. Exactly. So the AI basically can then reason and drive that down. So it can say, oh, this message, let me actually look at the code and figure out where it comes from and understand what the code does. Let me see if it's actually happened before. Let me see. So it basically runs all these hypotheses and heuristics to try to understand, does it make sense? Does it need meaningful in some kind of way? And then it can determine what to do with it. So how far away do you think we are for – let's just go back to query optimization, not, like, logs or something like that. So how far away do you think we are from having an AI basically do the job that a human used to do when it comes to query optimization? I think very close. Really? Yes. Wow. I think – Running a distributed cluster. I mean, I just think of, like, okay, you've got, like, James Cowling, PhD from MIT, who runs a distributed cluster. And, like, if the cluster's down, like, the company doesn't work. And then if it's up, it's running. I don't know. Like, are we at the point where you would say that an AI can do that? No, not yet. Oh, okay. I think it's – I think – I mean, I think, like, very, very simply, when we started doing, like, AI for coding, it was autocomplete. Yeah. And nobody really knew to what extent you can actually build complex software using AI. Yeah, yeah, yeah. And, like, when we were looking at it, we were like, ah, like, AI is never going to be able to build X or Y or Z or whatever. And then it basically broke through the expectations because we were able to model, like, more and more complexity in the systems. I just feel like, like, I'm a very simple thinker on this stuff. And to me, these models are distribution in, distribution out. And it turns out, like, you can actually train on all the code ever created. And it's actually, like, that manifold is pretty manageable. And I just don't know if operations is constrained in the same way. That feels to me more, like, kind of like the universe, like, heavy-tailed and exception-based and power laws and all the tough stuff for these models to learn. But I don't know. I mean, you're the one that's in the field. So maybe that's not the case. Maybe they're manageable. But I will tell you, the history of systems, as you know, is you always want to build a smart algorithm that does the efficient thing. The smart virtual memory management, the smart congestion control, the smart routing. And what do we do instead every single time? We build a more complex thing. No, we over-provision every time. No, literally. Every single time. Like, remember, like, swap memory where you, like, swap to disk? Dude, if you did that, you were fucked. Like, that's it. Your computer was dead. So, like, we literally over-provisioned RAM. And, like, routing. You know how many, like, adaptive routing algorithms there are? Like, we will respond to traffic. But you have oscillations. Like, fuck it. We over-provision. We just use ECMP. You know, so I just feel like the history of systems is that you don't predict stuff, you over-provision because you can't. And I feel like, I mean, you know, so I feel like in the operations side, so either we build this, you know, we will build the systems up front that are over-provision so you don't have to, like, do kind of complex operational stuff. Or maybe AI can do it the way that a human being. But I think it's very different than code because you're dealing with, like, exceptions. There's not a lot of data, et cetera. I just feel like a different domain. But I don't know. I'm a VC. I'm just, like, you know, I kind of, like, the reason that I'm more optimistic here is because I live in the world where, like, what we do is actually deal with the observable world. Like, I was going to say, you're the literal expert on it. So it's silly for me to even, like, ask you these questions. No, not at all. Because, like, in my world, we, like, my assumption is that we have all the data. Is that, like, we know exactly when, like, a new thing happens or, like, an exception emerges or, like, a workload changes or, like, whatever. Like, in my world, all of that has already been collected and streamed through. Yeah, but the model that is not trained on a grounded source for that stuff. No, no. You're not. That would be really hard. Right, but the story here isn't, like, hey, Mr. Claude, here's a bunch of logs. Is something going on, right? Yeah. And it has to be much more able to run experiments and kind of dive in and see, like, what are the different shapes of possible causal chains that actually fit in the environment that exists. I see. So, yeah, this is what you said before. Now I see what you're saying. You're saying that, like, the universe is heavy-tailed, the number of bad things that can happen is probably an exception thing. But, like, the set of steps used to debug it is a manageable thing. Exactly. That's what you can teach one of these models. Exactly. And therefore, if you give it the right signals, it can go through a number of steps to actually constrain this problem. Exactly. Interesting. Exactly. And so it really is taking the role of the human. Because remember the whole chaos engineering wave? Yes. And the reason it didn't go anywhere is, like, you're very quickly, like, trying to, like, you know, reduce, like, a state space that was atoms in the universe, like, super quickly, like, and actually make that manageable. And it was, like, the human being that would go through a step step that would do that on the actual debugging. And this is what you're saying the AA would do. Yes. Right. So the goal isn't to, like, have the model just be, like, this is what happens. It's, hey, run through this workflow to determine what happened. And, like, we're trying that also on the security side, for example, where, like, hey, in security, you have something different changed in your, like, statistics. Like, some behavioral difference in terms of what entities exist, the cardinalities of various things that exist. And so that becomes a perturbation in the, whatever, the universe. And so we take that signal and we feed it into an AI and we're like, hey, AI, come up with a bunch of possible causal chains that exist. And then go through and verify if any of those fit the pattern of the data that we actually see. And so that becomes a much more, like, hey, here's, like, a, I don't know, like, fit this square into find the peg or, like, find the hole that fits this peg. I mean, that seems even harder to me because the operations one, the argument is the system can get in states, into broken states that are kind of, like, very rare. And there's a lot of those rare states. Yeah. And so it's just not something that you can, you know, train a model on just because there's so many rare states it can get into that are bad. And so maybe you can reduce that by doing the steps. The security one seems even harder because this isn't just, like, the natural order of rare states. You actually have an adversary that is trying to, like, intentionally find rare states and intentionally find stuff that you can't do. And so it may be the case that, like, code becomes solved. It takes a little while, you know, longer to do operations than it takes a lot longer to do. Yeah, but, like, also, like, think about, I mean, I don't know. To me, like, the whole world is sort of quantized to a certain next step. The plank length. Is that what the physicists say? I don't know. I'm not a physicist. I think there's, like, actually, I literally don't know what I'm talking about right now. But I literally actually think that, like, space-time is discretized into a plank length. But, yes, I mean, I agree. Like, to a certain extent, what you just said, but for operations and systems in general. Yeah. Like, there is a discretization of, like, the possible states and the path through them that are possible. Yeah. Right. I just think when you're dealing with... There might be a ton of them. There might be a ton of them. I'm going to tell you, remember Sundar, who was in our grad school group? Ear? Sundar Ear? Oh, yeah, yeah, yeah. So, I remember he came to me once, and he was looking very sad. He's like, Martin, I just had this really sad realization that, you know, if you take any MP3. Remember MP3? He's like, the music for us. Yes. He said MP3s have a finite, let's say, you know, four minutes. It's like four megabytes, you know? And that means there's a finite number of songs in the universe. That can... No, because, you know, because it's all made of bits, right? And it's four megabytes. And that means you can just enumerate every one of those constants. So, I'm so sad in this notion of, like, the finite-ness of music, right? And literally, this is like, we were walking on the dish when he had this conversation. And I'm like, motherfucker, dude, you know how quickly you've, like, overcome, like, the atoms in the universe? You haven't even gotten to a K, right? It's like, two to the two to the two to the two. Like, what are you talking about here, man? Be happy. Two to the two to the two, four megabytes. Four megabytes. What are you talking? Like, there's so much to say. Like, be happy. That's effectively infinite, right? It's like, what are we talking about here? So, I do think at some level, like, we do underestimate, like, the number of states that, like, you know, systems can get into. And, like, maybe... I will tell you, from the perspective of a VC that looks at these companies, the ones that are trying to tackle operations are having a tough go at it. It seems much, much tougher than those that are tackling the code, because I think it's a much tougher problem. I 100%. I agree. It is a much tougher problem. And it's not just because, like, the systems themselves are, you know, there's, like, external loads that are random that kind of happen to you or that, you know, somebody just shipped a new thing and rolled it out into production and didn't tell anybody. Or, like, there's some state that actually happens when, like, this thing happens and this thing happens and then you end up in a deadlock. It's also because it involves humans a lot more and not just, like, one human who's the coder. It actually also involves... Oh, right. The pools of knowledge are distributed, too. Exactly. And, like, the interactions between, like, what it takes to, like, connect the pieces and put them together. Like, but ultimately, I mean, I think about, like, where AI is and, like, what are the possible futures and, like, the depth and the forward-looking capacity of all the things. Like, I think code is just, to me, it's a microcosm of, like, maybe I'm just too fatalistic. Maybe I'm just, like, too pessimistic about how the world works and I think of everything as, like, following some kind of probabilistic path. And so, to me, like, if we can make it work in code, we can continue expanding that level of complexity bit by bit and kind of adding layers and layers and layers until we can handle those problems of operations. It's not fatalistic, it's the opposite. It's very optimistic, is what people would say. For me, I don't think the universe gives up its secrets that easily, but, like, we'll see. I mean, like, this is kind of the big question. And I would say, as yet, it's not an answered question. No. Yeah. No. But, I don't know, a lot of things that, as humans, we think of as being random or impossible to tackle. Well, yes. And that's what we saw with coding. Like, you know, initially, like, people thought, like, the possible world of all these things that you can implement in code are kind of limited and you can't really get a system to potentially understand the full complexity of a human brain that's required. I think over time it'll all... It's so funny that I'm actually telling you this and you're, like, the VC who's looking into the future and being like, no, well, I mean, I'll tell you my view. My view is, like, the study of these models are you train on data and either that... So you train on data and that represents a distribution and that distribution is useful or not. And so, like, when you train on language, the fact that it's useful, that to me says that humans are so remarkable because they've looked at the universe, which is a very high-dimensional system. And then they've reduced it to a manifold that's actually useful for a model, right? Yes. Right? But that's different than the universe. Like, there's a reduction from this high-dimensionality to the language is less dimensional. And I think that code is a reduction of all the operational states of a machine into, like, the structures that make it run. And so, to me, there's still a disconnect between, like, the instructions or the description and the actual, like, the actual running of the universe and the actual running of the system. I think we can make gains toward it. But what I will say is, like, you're kind of converging on simulation. Like, there are things that are computationally irreducible. Like, you kind of have to run it to get the answer. You can't just, like, you know, predict it. And so, like, maybe we just are at an event horizon where, like, models will solve anything that you don't have to actually simulate to get the answer from. But why? Why do you have to, like, just think about it in terms of, hey, it'll have to answer the question, like, now as opposed to being able to simulate and, sorry, being able to plan its own execution to gain the information that it needs in order to be able to. No, maybe that's where we're going. That's kind of what I'm. Fair enough. Yeah. And I think, like. There is a lower dimensional space, which is, like, these steps that you would take that we can reduce a whole bunch with AI. And then whatever steps that you need that that can't do, it can create the code to do or it can simulate to do it. And the point that you're making, though, is that, like, hey, look, the model can't actually go and figure out the additional dimensions of the world that we need to go and find to, like, model the universe into its world. Like, that's probably, I mean, that's probably true. But can it actually simulate a scientist sufficiently to be able to get to that point? Like, maybe. Maybe. Cool. Can I ask you a question? How much of the VC work do you think is something that an AI can drive? So my model for VC is it's very relationship driven. It's I think. So it's OK. So I just have a belief that markets are actually pretty efficient, you know. And so it's not about, like, finding the company that nobody else finds. I think people all find, like, the right company. I think they're efficient. And then I also have the model of VC that, you know, tech is positive and I'm kind of optimistic about all tech and I don't worry about TAM. And so I think the key is access. It's, like, raising money. It's access. It's ability to win deals. And it's ability to add value after that happens. And a lot of that is, like, stuff that startups just can't naturally do. Like, you know, recruit, you know, big execs or help with that. And so the way that I think about venture, you kind of have to be a human being to do it's, like, you know, because that's the actual job. So for that, I don't think, like, an AI can ever. If you gave an AI a simulated universe where it could, like, you know, like, whatever reward hack, like, building trust relationships, fine. But I think that that would have to be to be. That said, I will say I have seen analysis done by AI that are as good or better than any, you know, genius I've ever worked with. Like, so for the analysis piece, they're great. But I think this is more of an indictment on VCs' ability to, like, analyze than it is, like, how powerful, you know, the models are. I just think it's all a kabuki show and bullshit. I just think the right VCs are, like, you know, you know, tech is net positive. You know, tech waves always add value. Like, let's find the best company and invest in it. The markets are very, very efficient. And so I just feel like the answer to this question is almost kind of a technicality. Like, my answer is almost a technicality. So how, like, you know, one of the things, you know, I came here, I wanted to ask you this real, this question, which is, like, you know, we started talking specifically about ops. Yeah. But to me, like, there's this world of AI writing code, which is kind of like this abstract simulation world that it lives in. Yeah. And then there's the rest of the world. Yeah, exactly. And the entire discussion is this. It's, like, there's, like, there's, like, the AI, the world that the AI lives in, which is all digital and, like, whatever it is, the training data, the in-distribution world, and there's the actual world. And, like, those things are not necessarily the same. Right. They're quite often not. And so the question is, like, to what extent do you need to train an AI to be able to survive in a world? And, like, what are the things that it actually, I don't want to answer that question, like, what do you need to train? But, like, I'm curious about the open spaces. So we talked a little bit about operations. You said, oh, I don't know if it's going to be solved or not. I'm like, yeah, Martina, it's going to be solved. Yeah. And in my mind, like, there's so many other things. Like, for example, self-driving cars. Like, for a long time, we thought that that's not going to happen. But it's clear that it's actually going to be done. And it's going to happen. It's just taking time because of a lot of different things. And so what are, like, what are the other next stages, the next areas that you think are kind of, like, lined up right after code? I mean, my sense is, you know, AI is going to continue to take off in a wildfire for a constrained domain where the solution space is in a constrained domain, right? Where the distribution of the solution space is the same as the distribution of the training set. The distribution of the syntax for code is the same as the distribution of the training set. The distribution of the generated images is the same as the distribution of the training set. In those, you know, areas, I think it's going to continue to take off as a wildfire. The domains where, like, the distribution of the solution is the natural world, I think it's going to, you know, have, you know, it's going to be much harder to take longer. And I think the economic equivalency is going to be much more difficult. Self-driving is a great example. I remember when Sebastian Thrun won the DARPA Grand Challenge when I was at Stanford. Remember that? And we're like, hooray, you know, self-driving cars is around the corner. Seriously. And it took 20 years and $170 billion of investment to get to a worse unit economics than Uber, right? So that's, you know, so I think that, like, solving, like, solving real problems where you have to deal with the distribution of the real universe is just much, much harder. And so I view AI as this general tool. It's a very effective tool. It's one where, like, you have, you know, a distribution of data, and then hopefully you can apply that to, like, you know, some problems. And we're going to apply it to a bunch of stuff. And I think economic equilibrium is going to determine what works and what doesn't work. Because I think it's a very, very general tool. It's like a universal function approximator. And wherever that nets out, I mean, again. You know, one of the things that I said earlier was, like, how AI was training humans to, like, use it. Yeah. And I very often think about, like, you know, some of the problems that seem intractable is because the world is kind of that way. Yeah. And then we're trying to fit AI or the tools that we're building to manage the world as it is. Yeah. But in some situations, we actually tend to change the world to fit to what we can actually do. Oh, 100%. Of course. I think this is the story of robotics. Yeah, exactly. It's literally the story of robotics. Yeah. The automated data warehouse. And so the question, like, that always comes to my mind, like, when we were looking at these data warehouses and whatever. And, like, the only one that worked was the one where it was like, you know what? Just automate the whole fucking thing. Yeah, yeah, yeah, yeah. And I wonder to, like, what extent as we kind of improve or change how we – or kind of expand the domain of what we want to solve with AI tools and so on, that we actually start modeling the world or changing the world and the things that can actually happen to fit what AI needs it to look like. Yeah, I mean, listen, I think that right now a lot of AI just operates in the digital world. Yeah. And for that, it's – like, literally, the solution set is the same distribution as a training set. Yeah. In a sense. And so that's fine. And I think that, again, like, in the case of equilibrium, like, I think, like, when you're dealing with the real world, like, you can solve any problem you want. It's just a matter of, like, compute and money. And that the equilibrium point is going to be an economic one. Yeah. And I think one way you can impact that function that you're doing equilibrium over is to constrain the system. The environment is to constrain the system. And so I think that we're going to – like, we're now in this meta-economic equilibrium flywheel where we're kind of optimizing this super general but very inefficient process with a solution set that people value. And I think, you know, we've got 30 years of this and a lot of value is going to be created. You know, one – you want to hear a funny story? Yeah. So, you know, we built this AI thing and we're, like, talking to people. We're, like, reaching out to customers. We're, like, hey, we built this AI thing. You know, we're helping customers become more reliable. Here's, like, what we're doing. They're, like, great. We want to talk to you. And we go on the call and we're, like, hey, here's what we do. You know, we built this system. Helps you optimize your data. It helps you reduce your costs. And then it helps you become more reliable because now we can find these problems and solve them before they hit your incident. They're, like, wait, wait, wait, wait, wait. Roll back. Like, you said you can save 90% of our Datadog bills? Yeah. Like, that's what I want to buy. But the AI thing, they're, like, no, no, no, no. That's what we want to buy right now. Yeah, yeah, yeah. And it's interesting, like, a lot of these – like, for code – you know, I always think about it. It's, like, oh, for code, people just get it. They're, like, oh, shit, it just works. Yeah, yeah, yeah, yeah. And on the op side or, like, anything that's beyond that – Yeah, it's very tough to understand the actual value and put a dollar value to it and pay out the door. No, 100%. So – and I also think from a coding standpoint, literally, it's engineering productivity, which is one of the highest line items on these things. So it's just very straightforward. Exactly. But you can also think about it, although it's SRE productivity or it's, like, your business going down, maybe you can save an incident and what the cost is. I don't know. It's weird. But I think, like, how people think about it outside of the – Yeah, I also just think, like, this code was so magical because it was so good and nobody thought that could happen. And I think the operations stuff now, it's still, like – Pretty early. It's still pretty early. So, yeah. All right. Good. Well, listen, it's great to chat. Thanks, Chad, that you're coming in. Thanks. Thanks. Thanks. Thanks. Thanks. Thanks. Thanks. Thanks. Thanks. Thanks. Thanks. Thanks. Thanks. Thanks. Thanks. Thanks. Thanks. Thanks. Thanks. Thanks. Thanks. Thanks.