[BidClub_]
The a16z Show · · 59 分钟

为什么 AI 会写代码,却还无法让代码持续运行(目前)

Jad NaousMartin Casado

AI与软件技术企业经营
YouTube ↗
TL;DR
  • AI 编程已从自动补全迈入工业级杠杆阶段,但收益明显更多落在本就理解复杂系统的工程师身上。 Martin Casado 说,他独自用 10 天就交付了数据湖“自动提升”功能的生产代码,而过去大约需要 6 个月。Jad Naous 称这是“10 至 20 倍的提升”。但他也明确指出,团队规模很小,不能代表 100 人样本;“这并不是说一些糟糕的工程师突然就变成了好工程师。”
  • 瓶颈已从编写语法转向架构设计和行为验证。 Jad 同时运行 3 到 4 个 Claude Code 会话,让代理审阅设计文档和 PR 文档、并行实现,再由他亲自“逐点”整合成果。他说自己用 Windows 和 WSL,提到 Opus 4.5,之后又介绍了一个使用 Opus 5 的技巧。大型 PR 越来越容易生成,测试、基准测试、算法、职责边界和人工审查的重要性也随之上升。
  • 代码和运维所处的可学习分布,可能有着根本差异。 Martin 认为,语言和代码能把高维世界压缩成易于处理的表征;而生产系统面临罕见状态、不断变化的工作负载、隐藏上下文,以及“长尾、例外、幂律”。系统发展史也印证了这种难度:运维人员往往不追求完美预测,而是反复选择“超额配置”资源。
  • AI 运维需要信号和调查能力,而不只是原始日志或滞后的告警。 Martin 说,应该寻找环境变化和早期预警信号,而不是等指标飙升后再试图推断根因。Jad 随后介绍,他们每天扫描多达 1PB 的日志寻找新模式,再将异常信号交给 AI 代理;代理会检查代码、搜索历史、提出因果假设并运行实验。
  • 早期运维成效令人鼓舞,但距离自主管理集群仍有很大差距。 Martin 说,这套系统已在内部和少数客户环境中运行;有些团队忽视的信号,后来确实演变成生产事故。Jad 认为 AI “已经非常接近”取代人工查询优化,但被问到 AI 能否独立运行一个一旦故障就会拖垮公司的分布式集群时,他的回答是“还不行”。
  • 最清晰的商业切入口是可量化的成本节省,而不是抽象的 AI 可靠性承诺。 公司曾将基础设施成本的 5%–20% 用于可观测性,但可靠性提升的边际收益不断下降;Jad 说,Grepr 会先把遥测成本削减 90%,再利用提取出的信号排查问题。客户会先听可靠性方案,随后还是回到眼前的预算:“你说能帮我们省掉 Datadog 账单的 90%?……我想买的就是这个。”
  • AI 能否拓展到数字领域之外,取决于能否约束环境并找到经济上的平衡点。 Jad 认为,模型可以开展实验、应对现实世界的复杂性;Martin 则保持谨慎:自动驾驶用了 20 年、投入 1,700 亿美元,最后的“单位经济效益还不如 Uber”。Martin 认为未来几十年仍会创造大量价值,但运维 AI 必须证明,它能以足够低的成本驾驭现实工作流,才能真正部署。
摘要 · 为研究而整理的核心内容

1. 可观测性成本曲线先失控,AI 替代方案随后才出现

  • Jad 的公司最初面对的是 2023 年的成本问题:工程负责人想削减开支,而基础设施之后,可观测性总会被列为下一个成本目标。公司把基础设施成本的 5%–20% 花在遥测上,本质上买的是可靠性和成本可预测性。

  • 随着架构拆分为规模更小、垂直整合程度更高的微服务,这笔账越来越不划算。遥测覆盖了更多层,增长速度也超过了被监控的业务单元;“可观测性每多花 1 美元带来的可靠性增益,已经趋于停滞。”可观测性越来越像昂贵的噪声和保险。

  • Jad 的应对方式是在数据摄入时提取有效信号,而不是把所有内容都留到下游处理:将系统接入数据流,把遥测成本降低 90%,再把保留下来的信号送入 AI 层,用于诊断和补救。真正的战略资产不只是更便宜的存储,而是实时流动、对运维有意义的事件。

2. AI 放大的是系统判断力,而不只是打字速度

  • Jad 亲眼看到编程 AI 迅速从 Copilot 自动补全——“看,它把这些测试自动补出来了”——演进为一套工作流,教会有能力的工程师如何与 AI 协作。不同模型和工具保留上下文的方式不同,挑选代理的方式不同,所需的提示习惯也不同;如果不加约束,Claude Code 可能会为了普通调查“启动 20 个代理”。

  • 工程师之间的表现差距不但没有缩小,反而扩大了。根据 Jad 的有限经验,优秀工程师变得更强,弱一些的工程师却不会突然变成强者:“你的大脑能把握的复杂度越高,就越能把任务拆分并分配出去。”他明确说明,这个判断来自一个规模很小、从事分布式系统和算法开发的团队,并非针对 100 人进行的普遍性测试。

  • Jad 使用 Windows、WSL 和 Claude Code。他说自己用的是 Opus 4.5,之后又提到一个使用 Opus 5 的技巧。他通常同时使用 3 到 4 个会话窗口;会话更多反而适得其反,因为产出快到他来不及保留上下文。常驻命令行的代理可以担任实现者和技术负责人,互相质询、审查 PR,并围绕共享的设计文档反复迭代。

  • 人类的工作向前端和后端转移。Jad 会先审阅 PRD、设计、算法、职责边界和依赖关系图,再让代理动手;之后,他会“像人一样逐点”重组成果。现在的验证周期更强调测试、执行和基准测试变化,因为生成超大型 PR 已经很容易。

3. 10 天完成开发,不代表代码与实际行为之间的差距消失

  • Martin 最有说服力的效率案例,是数据湖“自动提升”功能的生产代码:把半结构化日志中的任意字段转成可独立筛选的列,格式包括 Parquet 或 Iceberg。工作涉及元数据处理、提交语义,以及协调不同作者。Martin 说他独自用了约 10 天完成;按他的估算,以前大约需要 6 个月。Jad 称这是 10 至 20 倍的提升。

  • Martin 指出,生成出来的语法并不能决定代码运行时的表现。可用性、正确性、一致性、缓存、锁和性能,都取决于负载、访问模式、模式、配置和实时数据。Jad 举了自己开发的 Gaussian-splat 分布式渲染器为例:AI 生成的结果“简直一塌糊涂”,因为数百万个 splat 如何加载、卸载和流式传输,取决于具体系统。

  • Martin 发现,只要能把行为转化为可衡量的反馈,模型就很有效。在查询优化中,模型一开始看不出重复的合取条件有什么问题,生成的代码也很差;但当它拿到具体查询数据、用户工作负载和性能指标后,就能提出假设并改进实现。可如果只问“我应该分配多少内存?”,没有真实实验的话,“它完全不知道”。

4. 有效的 AI-SRE 将异常检测与因果推理拆开

  • Martin 描述了一种不同于许多 AI-SRE 产品的做法。那些产品从滞后指标入手——比如指标飙升或告警触发——再试图在复杂系统中推断根因。他认为这就是它们效果不佳的原因:事后追溯根因很棘手。相反,他主张寻找环境变化和早期信号,再倒查这些信号是否预示着真实问题。

  • Jad 随后介绍,他们每天会扫描 1PB 日志,寻找新模式。预测模型检测到异常后,会把信号交给 AI 代理;代理可以检查产生相关消息的代码、搜索过去是否出现过类似情况、测试假设,并决定下一步行动。目标不是让代理预测未来,而是给它一个“有变化发生了”的信号。

  • Martin 说,这套系统已在内部和少数客户环境中运行;有些情况下,团队忽视的信号后来演变成了生产事故。

5. 状态空间可能极其庞大,排查流程却仍可控

  • Martin 怀疑运维问题是否也像代码一样,存在易于处理的分布。程序每增加 1 bit,可能的运行状态就翻一倍;数量很快便会超过“宇宙中的原子数”。罕见故障、幂律长尾、不断变化的工作负载和隐藏状态——可能只是因为“茶水间有同事提了一句”才有人知道某次部署——使长期运行的集群离不开人工介入。

  • 系统发展史也让他保持谨慎。设计者曾反复尝试实现智能虚拟内存管理、拥塞控制和自适应路由,但生产实践最终往往选择预留更多容量:“我们一直都在超额配置”(“We overprovision all the time”)。一旦发生磁盘交换,电脑就等于瘫痪;运维人员宁愿多买 RAM,也不追求完美预测需求。

  • Jad 认同运维“难得多”,因为它涉及外部负载、未提前通知的部署、连续发生的故障状态、多人协作和分散的信息。但他认为,大多数事故都发生在某次变更之后;只要遥测足够完整,即使训练数据中从未出现过最终的故障状态,系统也能观测到导致变化的那次变更。

  • 两人的部分共识是,故障空间可能近乎无限,但调查流程的维度要低得多。AI 不必记住每一种坏状态;它可以提出假设、索要证据、编写实验,并模拟那些无法省略的步骤。Martin 认为,模型或许能走到一个“事件视界”,解决所有无需实际执行的部分。

6. 现实世界中的 AI,最终考验的是经济性

  • 安全问题会进一步增加难度,因为罕见状态并非偶然出现:对手会主动寻找防御者无法预料的行为。Jad 仍然沿用同一套流程——检测统计或行为上的扰动,让 AI 提出可能的因果结构,再测试哪种结构最符合观测数据——而不是指望某个模型从原始日志中直觉判断出攻击。

  • Martin 预计,在解决方案与训练数据分布重叠的领域,进展会最快,比如代码、图像和其他边界明确的数字领域。现实世界系统需要更长时间,成本也更高。他用自动驾驶作为警示:从 Stanford 的 DARPA Grand Challenge 点燃乐观预期,到真正部署花了 20 年、投入 1,700 亿美元,结果“单位经济效益还不如 Uber”(“worse unit economics than Uber”)。

  • Jad 反驳说,人们可以改变环境来适应自动化,就像仓库那样,而不是逼 AI 掌握一个不受约束的世界。Martin 认同,约束系统会改变经济平衡:只要投入足够多的算力和资金,几乎任何问题都可能解决,但只有一部分方案能实现有吸引力的单位经济效益。

  • 买家已经表明了这种平衡点在哪里。Jad 推销主动式可靠性方案,客户却会打断他,追问能省多少钱:“你说能帮我们省掉 Datadog 账单的 90%?”(“You said you could save 90% of our Datadog bill?”)编程工具容易卖,因为开发者效率直接对应一个主要成本中心;运维 AI 仍处于早期,价值更难衡量,商业上最有力的切入点仍是立竿见影的预算削减。

完整逐字稿
Martin Casado

The world that artificial intelligence lives in is entirely digital, and there’s also the real world. These things aren’t necessarily the same. When we started using AI for programming, it was autocomplete. No one really knew how much AI could do to create complex software, but it has actually exceeded expectations as we’ve been able to model increasingly complex systems. I’m just not sure if operations are restricted in the same way.

Where can you get the data to learn how to build a system that understands all these operations?

Jad Naous

I assume we have all the data. The question, I think, is complexity, and the extent to which you can take the operational things you describe and turn them into something AI can understand. That’s the main secret to the long-term management of a distributed cluster with only human effort.

Martin Casado

Do you think we’re at the point where we can use AI to launch one of these services?

Jad Naous

I think we have enough of everything to—

1. From Stanford to founding Grepr

Martin Casado

So, Jad, thank you for joining me on the podcast. For those who don’t know, Jad is the CEO of Grepr, and we were in the same graduate school group together. When we first met, you were a new student. I went into the office, and there was a motorcycle helmet and a pack of Marlboros. I thought, “This guy must be incredibly cool.” So my first question is: Where did all your coolness go?

2. How AI is changing engineering

Maybe, for context, give us a brief overview of your experience. For those listening, Jad is one of the best systems thinkers I know. I love talking to him. We’ll delve into engineering from a systems perspective and discuss how AI impacts us, particularly when it comes to operational issues. But first, let’s talk a little about your background.

Jad Naous

Of course. You met me at one of the peaks of my coolness.

Martin Casado

Yes, you were very cool. Motorcycle and Marlboro cigarettes. I remember thinking, “Wow, are cigarettes even legal?” It was so unusual.

Jad Naous

I remember Nick McKeown seeing me one day smoking outside the Gates building and looking at me. Nick McKeown was our scientific director; Gates is the building.

Martin Casado

Yes. In fact, one of my favorite things—do you remember Professor Balaji Prabhakar?

Jad Naous

Of course.

Martin Casado

The thing I liked most about him was that he smoked. He was like the only professor who did, and I thought, “That’s cool.”

Jad Naous

Just to be clear, I don’t smoke anymore. I’m too old, too middle-aged for that. I went to Stanford with you guys, and you were always the one I looked up to and thought, “Oh, this is who I want to be when I grow up.” I guess I started four years before you. So I was ahead and you were four years ahead of me. You graduated a little earlier than me. You went and founded Nicira. I stayed and lingered, working more on OpenFlow.

I helped build a bunch of things on the hardware side from a security perspective. One of the most interesting projects I worked on was creating the first set of SHA-3 implementations that people were considering for use. I built them at the hardware level to show whether they worked, for one of my thesis projects. It was fun.

Martin Casado

Yes. Class.

Jad Naous

Then I decided after a while that I didn’t really like networks, because they were just moving bits from one place to another. How difficult can it be?

Martin Casado

I think you either have to philosophically agree that it’s profound, or you don’t. Most people think not.

Jad Naous

I think that’s very profound. I mean, there’s something interesting about it, but ultimately, it’s not for me.

Martin Casado

It doesn’t bother you?

Jad Naous

Yes. Then I went to do a postdoc at MIT with Nikolai Zeldovich, who is also incredibly deep and very smart. He’s phenomenal. At the time, I was working in application security, starting a company based on research I was doing with Ramesh Chandra, who was a graduate student at the time. But the technology turned out to be too early.

Martin Casado

What was that?

Jad Naous

A lot of the work was actually Ramesh’s, and his thesis was about this: If you were attacked and hacked, could you recover by rolling back the state of the entire world associated with that application, and then rolling it forward with an updated version of the application to remove the exploit?

We started doing it in the real world and thought, “Oh, that sounds really complicated.” This is really about what we’re talking about: to what extent can you constrain state for operating systems, which I think is very difficult. I’ve almost made it work, almost. I feel like, for all niche disciplines, this is the reason people fall into the smart-ass trap: you see a little bit of progress, but… Anyway, I digress. Let’s continue with your—

Then I joined AppDynamics and was there for about 3 and a half years. The company grew from about 200 to 2,000 employees and was acquired by Cisco. I was a Cisco employee for a day.

And then you’re like, “Jad, I know. I love you. Come work with me. Come do this venture business with me.” I’m like, “What the…? What is a venture? I’m an architect. I do engineering stuff. What are you—”

Martin Casado

He’s like, “Great.” The less you know, the better. That’s literally what you said.

Jad Naous

This is true. The first day I started here, you said, “Slow down. People who move from operations to venture capital need to do a lot of brain rewiring.”

Martin Casado

Yes. By the way, it’s just like the transition from a PhD to operational activities. You have to sort of repair the “damage” to your brain.

Jad Naous

This is my experience. This is what the real world looks like.

Martin Casado

I know.

Jad Naous

I stayed here for a few years and did a lot of work with you. It was a truly wonderful time. I worked with many great people like Jennifer, Mark, Ben, and Satish.

Martin Casado

Satish. Matt was here when I first—well, almost toward the end when I was leaving.

Jad Naous

Yes. Then I joined Apptio as a product director. I helped build their engineering and product teams, scaling the team from approximately 15 engineers to over 90 across product, engineering, information security, and design. After about 3 years, I had a manager for each of the areas I was managing, and I was just sitting there coordinating and having meetings all day, so I wanted to do something else.

I started talking to a lot of engineering leaders about the challenges they were facing and what they were trying to do. Back in 2023, everyone was saying, “Hey, we’re trying to cut costs.” You’d ask them, “What do you spend your money on?” Everyone answered, “Observability.”

3. Why observability got so expensive

First it was infrastructure, and then observability. I started looking into this problem, trying to understand why people thought it was too expensive. It turned out there were several reasons. First, people spent 5% to 20% of what they spent on infrastructure on observability. But what they were really trying to spend that money on was reliability and predictability of costs, and the reliability of their infrastructure and applications.

Martin Casado

Of course. Of course. Of course.

Jad Naous

They invested in observability as an indicator of reliability. For a long time, the more money you spent, the more reliability you got. But architectures have been changing and evolving into microservices, which are much smaller and much more vertically integrated. The amount of data collected at each level has increased. Observability has penetrated deeper into the market, and the amount of data being collected, along with the cost of observability, has started to grow faster than the functional units you get.

The marginal increase in reliability for every additional dollar spent on observability just leveled off. That’s why people found it expensive, but they were still willing to pay 5% to 20% for reliability. So the question was: Can we actually solve this problem and get that marginal reliability gain back, not necessarily by spending more money on observability, but in some other way?

The thought was: If we can figure out what’s signal and what’s noise, can we transform the observability data you collect, which is currently mostly noise and insurance, and do this information extraction early on? Can we do everything that’s needed on the input, and ultimately significantly reduce the cost of observability on the output?

If you can extract this signal in real time at the input, then you can reduce costs and feed it into other systems to use it to ensure reliability down the road. By that time, something called AI had come along and was starting to come into play. We thought, “Great, if we’re in the data stream and we’re extracting a signal, then we’re in a strategic position to feed it into whatever comes up in the future, because it’s going to be needed.”

Martin Casado

Yes.

Jad Naous

That’s exactly what we built. Grepr helps companies massively reduce their telemetry costs. You put us in the data stream, connect, run the data through us, and cut costs by 90%. Now we’re building this second layer where we feed those signals into the AI layer, which does the troubleshooting: figuring out when something’s going wrong and fixing it.

Martin Casado

I’d like to talk about your experience with how AI is changing development in general, because this is a question a lot of people are asked, and a lot of people are answering. But I feel like you, as an engineer for engineers, have been an architect, managed product, and managed engineering teams. How big is your company now? How many people?

4. Jad's AI stack and workflow

You build a lot of software with a relatively efficient team, so maybe give us a general outline. If you were a senior engineer with an architectural background, what kind of deliverables do you think people would expect? Maybe tell us how you use AI, what benefits you actually see, what your stack and process are, and how you think about it.

Jad Naous

I can give you a historical perspective on what was going on with team management. When we first started, AI was still kind of autocomplete. I remember we were using Copilot in IntelliJ, and we were like, “Oh my God, look, it autocompleted these tests.” We were also like, “Yeah, but it’s just autocomplete.” Very quickly, things started to evolve, and I noticed that really good engineers were able to work AI into their workflows in a way that let the AI teach them.

Martin Casado

Oh, interesting. In terms of how to talk to it and get the best out of it, do you think it depends on the model? Do you learn to use AI broadly, or do you become effective with a specific model?

Jad Naous

I think there are certain nuances inherent to different models. There’s a way to work with AI, and I think there’s also a way to work with different tools. We’ve tried, for example, using OpenCode or different environments, or Codex versus Claude Code. Different tools have different ways of managing context, thinking about tasks, deciding when to run agents, and determining what to tell them and what queries to use.

With Claude Code, I’ve noticed that if I don’t tell it not to run 20 agents for a normal task, it’ll launch 20 agents to explore and burn all your tokens. You start to learn the environment and the models, how they interact with each other, and how they interact with the rest of the world. But I digress. I started to notice that some people adapted and learned to work this way, while others weren’t as flexible. When we started hiring more people on the team, the difference between good engineers and really good engineers multiplied tenfold.

Martin Casado

Was it possible to predict who would be a good specialist? Did good engineers become better and bad ones not, or what was it really like?

Jad Naous

If you’re a good engineer, you become a better good engineer. It’s not like some bad engineers suddenly became good engineers. In the end, it always comes down to really understanding the setup. The more complexity your brain can grasp, the better you can divide up tasks and distribute them.

Martin Casado

I think that might be a non-consensus opinion. I hear it sometimes, but the idea that better engineers become much better is less obvious. Do you think that’s really a universal truth?

Jad Naous

My team is still small; we haven’t tested it on 100 people. But in my experience, for what we do, that’s exactly what happens, because we’re building distributed systems and algorithms, and your brain has to deal with complexity. AI doesn’t do that, right?

Martin Casado

Yes.

Jad Naous

For the tasks we solve, no model can really think through what we do. For example, we have a query translation layer. We just talked about query optimization. You need to really understand the semantics of the query, how to get to those semantics, and then explain that to the model so it can create, say, a translation layer.

Martin Casado

For those of you listening who may not be very computer science savvy, what do you mean by semantics?

Jad Naous

Semantics is the meaning of things. For example, the semantics of the word “dog” is an animal that walks on four legs and barks. Syntax is that it’s just a three-letter word, made up of three different letters. The form of a word is different, and words can vary, but different words can mean the same thing. They can have the same semantics but different syntax. “Dog” and “puppy” may have slightly different semantics; they point to the same thing, but they’re still both dogs.

In computer science, I describe it very simply: syntax is the characters you type, and semantics is what the machine actually does. Those are the actual properties of the system at runtime.

Martin Casado

So you studied computer science, I studied electrical engineering, you became a programmer, and I became a venture capitalist. That’s the problem. Got it. Anyway, I just wanted people listening to understand that syntax is writing code—the code itself. When you talk about semantics, you mean that a machine interprets the code, whether it’s compiled or not, and does something. Semantics are what the machine actually does.

Those things are clearly very different. Some semantics can’t even be deduced by looking at the syntax. You don’t know what the machine will do until it’s tested, and during testing things can go completely differently. A classic example is SQL: you can write a query, but how it actually executes and how long it runs depends on things like the schema and what data is in the database. I wouldn’t call that semantics; I’d call those performance characteristics.

Jad Naous

Oh, of course. I’d say the semantic part is that, depending on the form of the data or the configuration, you can get different semantics. As you said, you might want null to be treated as false.

Martin Casado

Okay. For the purposes of this conversation, let’s just say there’s the actual code you write, and there’s how the system behaves. We’ll call the second one semantics so we can have a conversation.

Jad Naous

Well, what do you want to call them? We need to delve into the semantics of this and make sure she understands.

Martin Casado

That’s right. Because I know a lot here. Okay, let’s stick to the general features. I apologize. Let’s go back. Before we started the podcast, we were chatting, and you were talking about how you can now implement projects in a week that used to take the entire team months of work. Can you tell us a little about how you personally carry out projects and what results you get? Tell us a little about your stack and process.

Jad Naous

I use Claude Code. I’m going to say something pretty funny: I use Windows.

Martin Casado

What? Was this created by Microsoft?

Jad Naous

I use WSL, so I use Linux for everything—development and so on. There’s no X or graphical interface; I just use the command line.

Martin Casado

How do you use Windows? I never really wanted to learn keyboard shortcuts. Are you a gamer?

Jad Naous

It’s like switching tabs in Counter-Strike or something.

Martin Casado

Well, why else?

Jad Naous

I don’t hate Windows. I used it in the ’90s. That’s really the only reason: I never wanted to learn these abbreviations. I hate the one-button mouse. I hate these one-button things. I hate the number of modifier keys for shortcuts. I just never… I’m like, why waste time?

Martin Casado

Okay.

Jad Naous

So yes, I use Windows and WSL. I use Claude Code.

Martin Casado

What is WSL?

Jad Naous

It’s Windows Subsystem for Linux. They actually run the Linux kernel on Windows through a hypervisor and give you access to it.

Martin Casado

This is great. They did a great job.

Jad Naous

Windows, WSL, and Claude Code. The last thing I’m doing is using Opus 4.5. I’ll tell you, it’s a very good model. It’s an amazing model.

In the last 2 weeks, I’ve released these huge 20-point PRs that I just dump for my team to review. They’re like, “What?” and I’m like, “Don’t worry about it.” It’s like a new reporting structure where subordinates check PRs for the CEO.

Martin Casado

Have we gotten to this point?

Jad Naous

No, everyone writes the same PRs too.

Martin Casado

I check my people’s PRs, and everyone’s just—PRs are flying everywhere.

Jad Naous

What’s changed a lot in the validation cycle is that we’ve started to focus much more on tests and execution: benchmark expectations, whether they change in different ways, and so on. With Opus 5, a trick I recently learned is that instead of using subagents, you tell Claude to run command-line subagents, because they maintain their persistent sessions over time. You can run them separately from other sessions, and that lets you be much more effective with context.

Martin Casado

How many agents are you running?

Jad Naous

I usually work in 3 or 4 session windows at a time, because I’ve noticed that with more, I start to lose context between different things. They start to complete faster, and then they wait.

Martin Casado

And they interact through PRs? Does that work?

Jad Naous

Together? No, they interact directly through the command line.

Martin Casado

Oh.

Jad Naous

Of course. For example, I ask the main agent doing the implementation to have a technical lead reviewer, and they actually ask it questions: “Does this make sense? Does that make sense? Check out my PR,” and so on. They iterate on these PRs together, and they also have a PR document they’re working on, with a design doc and everything.

The first thing I do is ask the agent to do that. I ask the tech leads to review the PR document. I review the PRD. I review the design doc. I make sure everything makes sense. I go through each part in detail and make sure all the algorithms work, all the parts work, the division of responsibilities works, and the division between PRs and their relationships works. Then I tell it, “Just start doing it. Figure out if something can be parallelized, and then launch other agents to do it.”

5. A six-month project in ten days

Jad Naous

But eventually you have to put everything back together and go through it like a human, point by point. Otherwise, it gets confusing and you just can’t handle it. How long does a project you’re doing now take compared with, say, 6 years ago? What’s the difference in time?

Martin Casado

The last project I released—just to be clear, this is industrial code. These aren’t demos or anything like that.

Jad Naous

So you’re talking about the benefits you get when you release it into production?

Martin Casado

Yes. I’ll give you an example: the last PR I worked on, or the last set of PRs. This is what we call auto-promotion in DataFusion. In a data lake, you store all the data, usually in columnar files like Parquet or Iceberg. When you get data from logs, it’s semi-structured and has arbitrary columns.

To get the best data structure and query it efficiently, ideally each field in a log event becomes a separate column that can be filtered independently of the other rows. We call this auto-promotion, or splitting. Doing something like that is incredibly difficult. You need to figure out how the metadata system and commits work, how to coordinate the work of different authors, and so on. This took about 10 days. Previously, it would have taken about 6 months.

Jad Naous

Wow. For one person. Was it just you, or—

Martin Casado

It was just me.

Jad Naous

Madness. That’s a 10- to 20-fold improvement.

Jad Naous

Yeah, for production code in new products.

6. Can AI reason about operations?

Martin Casado

One question that always comes to mind: I can understand that these models are trained on all the code that’s ever been written, so I understand why they can generate code syntactically. But when you work on the underlying infrastructure, say, distributed algorithms, the properties of how the system behaves in operation are very different. Often, you can’t just look at the syntax to understand what’s going to happen.

If you’re writing a distributed system, how it works—its availability and even its correctness—depends on what the load looks like. What are the access patterns? What’s the traffic like? What trade-offs are needed if the model doesn’t know what the access patterns will be? Where does it get the data to learn how to build a system that understands all the operations? Today, we rely on people to manage clusters and optimize databases. How do you apply AI to that problem? Have we made progress, or is it still an open question?

Martin Casado

Are you talking about the performance aspects, or do you mean—

Jad Naous

I mean availability, for example. Maybe you have to block certain things, so they’re unavailable for a certain amount of time. I’m also talking about correctness: maybe you decide to use eventual consistency, so when you read the data it won’t be consistent because there’s no locking. And then there’s performance: maybe you use a cache, maybe you don’t. Those are all trade-offs in the design space, and until you know the access patterns, you won’t know how it’s all going to work.

I can understand how AI would write code for a typical distributed data store. What I don’t understand is how it will know what trade-offs are needed if it doesn’t know the access patterns. These things can’t just be inferred from the code. How do you look at this? I understand writing code, but there are complex operational systems. How do you apply AI to this problem, and have we made progress, or is it still an open question?

Martin Casado

I guess the question might be about complexity: to what extent can you take the things you described that are operational and happen in production and turn them into something AI can infer? How can AI draw conclusions about such a system?

Jad Naous

Well, first of all, to what extent do you see that, when writing code, it can actually predict what will happen? How well does it handle that? And second, how do we get it to draw conclusions about this? So let’s ask the first question: if I use your method—the Jad method for writing code—and build a large distributed system, how often does it hit the target in terms of performance? How often is it relevant from an operational point of view?

By the way, I’m working on this Gaussian splat distributed renderer, and I’d say it’s complete crap. It’s terrible because you have millions of Gaussian splats that need to be constantly loaded, unloaded, and streamed, and it’s completely system-dependent. No one model does a good job.

Martin Casado

In our world, we have very well-defined performance tests, how the system should work, and the build constraints within our stream processor to get proper performance. My last project was all about query optimization and query performance. I said, “Here’s a classic example: we’re generating code that conforms to SQL, and we want to run it in a pipeline. But you’re generating crappy code. Fix it.”

It started checking, and what it didn’t realize was that it wasn’t doing any code optimization in the first place. It was like, “Oh, it’s fine. What seems to be the problem?” I said, “Look, there are these conjunctions here. You use them, and this particular term is repeated. It should have been removed.”

It said, “Oh, okay, let me figure it out,” and started trying to work through the options. It built a bunch of hypotheses about what could be optimized to make it better. Because it was able to justify the changes with performance metrics, I said, “Here’s the query dataset and what users are asking for. Work on it.” It can handle that pretty well.

But when it comes to questions like, “How much memory should I allocate to this system?” it has no idea. That has to be based on real experiments in a working environment. I think these systems are doing pretty well with operational tasks right now because they understand, “Hey, I probably can’t answer this question. Let me do an experiment and get that information.”

7. How Grepr catches incidents early

Jad Naous

But production systems don’t behave the way you expect them to, and that’s ultimately why incidents happen. Have you found—do you do something like AI SRE, where you have a running system with logs that you feed into the AI, and it helps you tune it?

Martin Casado

Yes.

Jad Naous

How well does that work? Anecdotally, my experience with other people doing this hasn’t been that great. The reports I’ve been getting haven’t been very encouraging.

Martin Casado

A couple of points. We do this for both operations and security, but our approach is different from what others do from an AI SRE perspective. A lot of these systems are based on lagging indicators, like, “Hey, this metric jumped,” or, “An alert went off.” They look back through a very complex system and try to figure out why it happened. Of course, that’s why they don’t work: tracing the root cause is very problematic.

Instead, we do the opposite. Can we start by figuring out if something has changed in your environment? For example, can we do scale-out clustering and find a needle in a haystack—something that’s different? You assume everything was working fine before and now it isn’t, so something happened. But it could just be a change in normal traffic patterns, which is also fine and normal.

What we’re looking at is that when something goes wrong, the system usually tells you something bad has happened. If everything is working fine and scaling as usual, nothing will happen. But sometimes you see a message like, “Error, connection timed out,” or an out-of-memory error, or that a resource buffer is empty. Some indication, some early warning that something has happened. We want to intercept that message, then work backward and see if it’s a real problem we need to investigate and solve.

Jad Naous

How’s it working so far?

Martin Casado

It’s working pretty well. We use this internally in our systems, and we’ve run it in a few of our customers’ environments. There have been cases where we ignored it, and those turned into production incidents.

Jad Naous

Really? Wow.

Martin Casado

Yeah.

Jad Naous

From an intuitive perspective, I can understand how these models understand syntax because, as I said, they’re trained on all the code that’s ever been written, and it turns out that covers a lot of useful cases. It’s hard for me to even imagine a limit to the actual operations of software. It sounds like a crazy statement, but it’s partially true. Every time you add a bit to a program, the state space of what it can do operationally doubles. Very quickly, you get to the point where there are more states than atoms in the universe.

That’s probably why product-based approaches to operations have never really worked. Chaos engineering has never worked properly, and we’ve always relied on humans, because the secret to running a distributed cluster for a long time has been human intervention. To train an AI to do that, you need enough data and configuration. I wonder if we’ve reached the point where you can use AI to run a distributed cluster or services, or if that’s still a future prospect.

Martin Casado

I think there’s enough data to start that cycle. Ultimately, I’d probably agree with you: there’s a lot of space and a lot of nuance, but people ultimately follow instructions too. Of course, there are a lot of things that happen in production that require human intervention: “Hey, this is too complicated.” There’s hidden state that I know about because I was talking to a colleague at the cooler, and he told me about something I recently deployed.

There are a lot of things that may not be reflected in the state of the system.

Jad Naous

Yes, but I’d argue that our goal is to get enough telemetry and insight to make everything visible: what the system looks like, how it works, and everything else. Most problems that arise during operation, if the system was working fine, are related to some kind of change. If you focus on detecting exactly what changed, then—

Martin Casado

Excuse me, can I ask a stupid question? I’ve never thought of generative models as being good at predicting, but you seem to be talking about predictive modeling: predicting change or defining a baseline to detect anomalies. Am I misunderstanding that?

Jad Naous

No, that’s right. The goal isn’t for the agent to try to predict, but to get a signal that something has changed.

Martin Casado

Oh, deterministic. Now I see. Got it. Wait, so there’s a separate model for predictions that then notifies the AI?

Jad Naous

Yeah. What we do is this: you give us a petabyte of logs a day.

Martin Casado

Yeah.

Jad Naous

We scan them all, and every time we see a new pattern in the logs that we haven’t seen before, we feed it to the AI.

Martin Casado

Sure.

Jad Naous

It’s a predictive model that does what these models are good at: it detects anomalies, and that data goes to the AI, which decides what to do next.

Martin Casado

That’s right. So the AI can reason and direct it.

Jad Naous

Sure. It can say, “Oh, this message—let me look at the code it’s coming from and figure out what the code is doing. Let me see if this has happened before.” It tests all these hypotheses and heuristics to see if they make sense, whether they’re meaningful in any way, and then determines what to do with it.

Martin Casado

How close are we—let’s go back to query optimization, not logs—to AI doing the work humans used to do in query optimization?

Jad Naous

I think we’re very close.

Martin Casado

Really?

Jad Naous

Yeah.

Martin Casado

Wow. I think about running a distributed cluster. Imagine this: James Cowling, a PhD from MIT, runs a distributed cluster. If the cluster is down, the company is down; if it’s up, everything’s fine. I don’t know if we’re at the point where we can say AI can do that.

Jad Naous

No, not yet. Look, it’s very simple: when we started using AI for coding, it was autocomplete.

Martin Casado

Yeah.

Jad Naous

Nobody knew how complex software could be built with AI.

Martin Casado

Yeah.

Jad Naous

When we looked at it, we thought, “AI will never be able to build X, Y, Z, or whatever.” Then it surpassed expectations, because we’ve been able to model more and more complexity in systems. I think about it quite simply: these models work on the principle of “distribution in, distribution out.” It turns out that you can learn from all the code that’s ever been written, and this manifold is actually quite manageable.

Martin Casado

I just don’t know if operations are constrained in the same way, or if they’re more like the universe, with heavy tails, exceptions, power laws, and all the things that are so hard for these models to learn. But I don’t know. You’re in this field, so maybe they’re manageable. I’ll tell you, though: the history of systems is that you always want to build a smart algorithm that works efficiently—smart virtual memory management, smart congestion control, smart routing. And what do we do instead? Every time we build, we overprovision resources. Literally, every time.

Remember swap memory, when data gets flushed to disk? If you did that, you were done for. Your computer was dead. So we overprovision RAM. And routing—how many adaptive routing algorithms are there? We react to traffic, but there are fluctuations, and we just overprovision. The history of systems is that when you don’t predict, you overprovision because you can’t. In operations, I feel like we either build systems that are overprovisioned from the start to avoid complex operations, or maybe AI can do it like a human. But I think it’s very different from code because you’re dealing with exceptions, data is scarce, and so on. It just feels like a different realm. But I don’t know. I’m a venture capitalist.

Jad Naous

I’m more optimistic here because I live in a world where we’re dealing with the real world, which is observable.

Martin Casado

I was going to say, you’re a real expert on this, so it’s pointless for me to even ask you questions like that.

Jad Naous

No, not at all. In my world, I assume we have all the data, and we know exactly when something new happens, an exception is thrown, the workload changes, or whatever. It’s all already been collected and streamed.

Martin Casado

But a model that isn’t trained on a solid source for things like this—

Jad Naous

No, it isn’t. That would be really hard, wouldn’t it? But the point isn’t to say, “Hey, Mr. Claude, here’s a bunch of logs. Is something happening?” It should be much more capable of running experiments, digging into the data, and seeing what possible causal relationships fit the given environment.

Martin Casado

I see. That’s what you were talking about earlier. You’re saying the universe has a heavy tail: the number of bad things that can happen is probably exceptional, but the set of steps to set them up is manageable. That’s why you can train one of these models. If you give it the right signals, it can go through a series of steps to constrain the problem.

Jad Naous

That’s right.

Martin Casado

Interesting. So it really takes on the role of a human. Remember that whole wave of chaos engineering? The reason it didn’t get anywhere is that you tried to shrink the state space—something like the atoms in the universe—really quickly and make it manageable. A human was going through the steps to debug, and that’s what you’re saying the AI will do.

Jad Naous

Yeah. The goal isn’t for the model just to say, “Here’s what happened.” It’s to say, “Run this workflow to determine what happened.” We try this in security as well. You might see something change in your statistics, like a behavioral difference in the entities or the cardinality of different things. That becomes a perturbation in the entire universe. We take that signal, feed it to the AI, and say, “Come up with a bunch of possible causal relationships, then see if any of them fit the structure of the data we’re actually seeing.” It becomes more like fitting a square peg into a hole, or finding a hole that fits the peg.

8. Why security is the harder problem

Martin Casado

That seems even more complicated to me. With operations, the argument is that the system can go into bad states that are quite rare, and there are a lot of such rare states. You can’t train a model on them because there are too many bad, rare states it can go into. Maybe you can reduce that by taking certain steps. With security, it seems even more complicated, because it’s not just the natural order of rare states. You have an adversary intentionally trying to find rare states and things you can’t do. The code can be broken. Operations can take a little longer, and sometimes a lot longer.

Jad Naous

Yeah, but think about this too: it seems to me that the whole world is quantized to some extent. The Planck length—is that what physicists say? I don’t know. I’m not a physicist, and I don’t really know what I’m talking about, but I think spacetime is discretized by the Planck length. I agree to some extent with what you just said, but for operations and systems in general, there’s a discretization of possible states and paths through them.

Martin Casado

Yeah. I just think that when you’re dealing with them, there could be a huge number of states. I want to tell you—remember Sundar, who was in our group in graduate school?

Jad Naous

Yeah.

Martin Casado

He came to me one day looking really sad. He said, “Martin, I’ve just come to this sad conclusion. Any MP3 has a finite size—say, 4 minutes, about 4 megabytes—and that means there’s a limited number of songs in the universe. It might not, because it’s all made up of bits, right? And it’s 4 megabytes, which means you could just list every single one of these concepts.” He was so upset about the idea of music being limited. We were walking around the Dish when we had this conversation, and I said, “Oh my God, dude. Do you know how fast you surpass the number of atoms in the universe? You don’t even get to 1,000. That’s like 2 to the power of 2 to the power of 2 to the power of 2. What are you even talking about, man? Four megabytes—what are you talking about? That’s so many states. It’s effectively infinity. What are we even talking about here?”

So I really think that at some level we’re underestimating the number of states systems can go into. Maybe I’ll tell you, from the perspective of a venture capitalist looking at these companies: those trying to do operations have a hard time. It seems much more difficult than working with code, because I think it’s a much harder problem.

Jad Naous

I agree 100%. It’s a much harder problem, and not just because the systems themselves face random external loads, or someone releases a new thing, puts it in production, and doesn’t tell anyone.

Martin Casado

Or there’s a certain state that occurs where one thing happens, then another, and you’re stuck. It’s also because it involves a lot more people, not just one programmer. It also involves distributed knowledge.

Jad Naous

That’s right. And the interactions involved in connecting the pieces and putting them together. But ultimately, I think about where AI is and the possible futures, the depth and foresight of all these things. To me, code is just a microcosm. Maybe I’m too fatalistic, maybe I’m too pessimistic about how the world works. I think everything happens in some probabilistic way, and if we can make this work in code, we can keep adding layer upon layer of complexity until we can solve a lot of people’s problems.

Martin Casado

That’s not fatalism. It’s the opposite. People would say that’s very optimistic.

Jad Naous

I don’t think the universe is giving up its secrets that easily, but we’ll see. It’s a big question, and I’d say there’s no answer to it yet.

Martin Casado

No.

Jad Naous

Yes.

Martin Casado

No. But I don’t know—a lot of things that we humans think are random or impossible to solve…

Jad Naous

Yes. And that’s what we’ve seen with coding. Initially, people thought the world of possibilities for what could be implemented in code was limited, and that you couldn’t build a system that could capture the full complexity of the human brain. But I think that, over time, that’s all—

Martin Casado

It’s so funny that I’m telling you this, and you’re a venture capitalist looking into the future and saying, “No, well, I’ll give you my take.” My take is that when you train these models on data, they represent a certain distribution. Is that distribution useful or not? When you train on language, the fact that it’s useful tells me that people are incredible. They’ve looked at the universe, which is this multidimensional system, and reduced it to a manifold that’s actually useful for a model.

Jad Naous

Yeah.

Martin Casado

Right. But it’s different from the universe. It’s a reduction from this high dimensionality to a language that’s much less dimensional. I think code is a reduction of all the operating states of a machine to the instructions that make it work. So, for me, there’s still a gap between the instructions or the description and the actual functioning—the actual operation of the system. I think we can make some progress in that direction. But I will say this: you are kind of getting closer to simulation. There are things that are computationally irreducible. You have to run the process to get the answer. You can’t just predict it. Maybe we’re at the event horizon where models will solve everything that doesn’t require a simulation to get the answer.

Jad Naous

But why should you only think about it in terms of having to answer the question right now, rather than being able to model and plan its own execution to get the information it needs?

Martin Casado

No, maybe that’s where we’re headed.

Jad Naous

Yeah. That’s kind of what I mean.

Martin Casado

Yeah. And I think there’s a lower-dimensional space—the steps you would take—and AI can reduce those steps a lot. For the steps it can’t do, it can code to do them or simulate them.

Jad Naous

But your idea is that the model can’t really go and figure out the extra dimensions of the world that we need to find in order to model the universe in its world.

Martin Casado

That’s probably true. But can it model a scientist well enough to get to that point? Maybe.

Jad Naous

Can I ask you a question? How much of the job of a venture capitalist do you think AI can do?

Martin Casado

My model of venture capital is based on relationships.

Jad Naous

I think so.

Martin Casado

Okay. I just believe that markets are actually quite efficient. It’s not about finding a company that nobody else is finding. I think everyone finds the right company. I also have a model of venture capital where technology is positive. I’m optimistic about all technologies, and I’m not concerned about the market size, or TAM. I think the key is access. It’s like fundraising: access, the ability to win deals, and the ability to add value after that. A lot of that is stuff startups just can’t do naturally, like hiring great executives or helping with that. To me, VC requires being human, because that’s what real work is. If you gave AI a simulated universe where it could break the reward system, like building trust, then fine. But I’ve seen analysis done by AI that’s as good as or better than any analyst I’ve ever worked with. On the analytical side, they’re great. But I think that’s more a testament to the limitations of VCs’ ability to analyze than to how powerful these models are. I just think it’s all a show and a bunch of nonsense. The right VCs understand that technology is a net positive. Technology waves always add value, so let’s find the best company and put money in it. Markets are very efficient, so I feel like the answer to that question is almost a technical formality.

Jad Naous

So, one of the things that got me here was wanting to ask you this question. We started talking specifically about operations.

Martin Casado

Yes.

Jad Naous

But to me, there’s the world of AI writing code, which is kind of an abstract simulation world that it lives in.

Martin Casado

Yes.

Jad Naous

And then there’s the rest of the world.

Martin Casado

Yes.

Jad Naous

Exactly. I think that’s what the whole discussion boils down to. There’s this world that AI lives in, which is completely digital, with training data and an internal distribution, and there’s the real world. Those things don’t necessarily match. Quite often, they don’t. So the question is to what extent AI needs to be trained to survive in that world, and what things actually… I don’t want to answer exactly what needs to be trained, but I’m interested in open spaces. We talked a little bit about operations. You said, “I don’t know if it’s going to happen.” And I say, “Yes, Martin, it’s going to happen.” There are so many other things, like self-driving cars. For a long time, we thought it wasn’t going to happen, but it’s clear that it’s going to happen. It’s just going to take time because of a lot of different factors. So what do you think are the next steps and areas that are coming up right after code?

9. What comes after code

Martin Casado

My feeling is that AI is going to continue to accelerate in limited areas, where the solution space is also limited, right? Where the distribution of the solution space matches the distribution of the training set, where the syntax of the code matches the training set, where the generated images match the training set—those are the areas I think are going to accelerate. In areas where the distribution of solutions depends on the real world, I think it’s going to be much more difficult, take longer, and be much harder to make cost-effective. Autopilot is a great example. I remember Sebastian Thrun won the DARPA Grand Challenge when I was at Stanford. Remember that? We were like, “Yay! Self-driving cars are just around the corner.” Seriously. And it took 20 years and $170 billion in investment to get worse unit economics than Uber, right? Solving real-world problems where you have to deal with the distribution of the entire real universe is just much harder. I think of AI as a universal tool. It’s a very effective tool: you have a distribution of data and hope to apply it to a specific problem. We’re going to apply it to a lot of things, and I think the economic equilibrium is going to determine what works and what doesn’t. It’s a very general tool, like a universal function approximator. Whatever that leads to, one of the things I was talking about earlier is how AI teaches people to use it.

Jad Naous

Yeah. I often think about the fact that some problems seem insurmountable because that’s the way the world is, and we’re trying to adapt AI or the tools we build to the way the world is. But in some situations, we tend to change the world to match what we can actually do.

Martin Casado

One hundred percent. Of course, I think that’s the history of robotics.

Jad Naous

Yeah. Automated warehouses. The question that always comes to mind when we look at these warehouses or things like that is: the only thing that’s worked is this approach—just automate the hell out of it. I’m wondering to what extent, as we improve or change how we work, or expand the scope of what we want to solve with AI tools, we actually start to model the world or change the world to match what it should look like for AI.

Martin Casado

Yeah. I mean, listen, I think a lot of AI right now is just working in the digital world. For it, literally, the solution set has the same distribution as the training set, in a sense. And that’s fine. In the context of equilibrium, when you’re dealing with the real world, you can solve any problem you want. It’s just a matter of computation and money, and the equilibrium point is going to be economic. One way to affect the function you’re looking for in that equilibrium is to constrain the environment, to constrain the system. I think we’re in this metaeconomic flywheel of equilibrium right now, where we’re optimizing this super-general but very inefficient process with a solution set that people value. We’ve got 30 years ahead of us, and there’s going to be a lot of value created. Want to hear a funny story?

Jad Naous

Yeah.

Martin Casado

We built this AI thing, and we’re talking to people. We go to the customers and say, “Hey, we built this AI. We help customers become more reliable. That’s what we do.” They say, “Great. We want to talk to you.” Then we get on the call and say, “Hey, here’s what we do.”

Jad Naous

You know, we built this system. It helps you optimize your data and reduce your costs. It also helps you become more reliable because now we can find these problems and fix them before they become an incident. They say, “Wait, wait, wait. Back up. You said you could save 90% of our Datadog bill?” We say, “Yeah.” They say, “That’s what I want to buy.” We say, “But what about AI?” And they’re like, “No, no, no. That’s what we want to buy right now.”

Martin Casado

Yeah. And it’s interesting: for code, I always think about it. People just get it. They’re like, “Oh, shit, it just works.”

Jad Naous

Yes, yes, yes.

Martin Casado

And from the operations side, or anything else, it’s very hard to understand the real value, to put a dollar value on it and to pay for it.

Jad Naous

One hundred percent.

Martin Casado

So I also think, from a coding perspective, it’s literally developer productivity, which is one of the highest cost items. So it’s very straightforward.

Jad Naous

Exactly. But you can also think of it as SRE productivity or, for example, business failure. Maybe you can prevent an incident and figure out what the cost is. I don’t know. It’s weird how people think about it outside of coding.

Martin Casado

I also just think that code was so magical because it was so good, and nobody thought that was possible. And I think the operations stuff is still pretty early on.

Jad Naous

It’s still pretty early.

Martin Casado

So, yeah. Okay. Well, listen, it’s been great chatting. Thanks, Jad.

Jad Naous

Thanks.