Latent Space: The AI Engineer Podcast - The Age of Async Agents — Cognition's Walden Yan & OpenInspect's Cole Murray
Episode Date: May 28, 2026The new AIEWF website is live! CFPs close in 2 days and we will run our first New Engineer Orientation this weekend, get your tickets booked ASAP as they -will- sell out. Take the AI Engineering Surve...y and get >$2k in credits and free AIE WF tickets!One of the central tensions in the agents industry is that even while there are major decacorn agent labs like Sierra, Decagon, Notion and Cursor being built up, it is also true that it has never been easier to DIY agents, with a plethora of agent frameworks like LangGraph and Pydantic and Flue, and managed agents from Anthropic and Gemini and Amazon. There has been a wave of companies building their own background agents from Shopify to Stripe to Paradigm to Razorpay, and even Cognition’s friends Ramp have built their own coding agent with other friend Modal.You’d think Cognition might feel a bit threatened, but they’re not - even after all this, they were way oversubscribed for the $1B Series D they just announced:Walden Yan, coiner of context engineering and Chief Product Officer/Cofounder of Cognition, invited OpenInspect’s Cole Murray to talk about why the Devin is in the Details.Full conversation live on the pod today: In retrospect, async agents were the most AGI pilled bet you could make in 2024 - the models weren’t good enough yet to vibecode, and people didn’t trust AI enough to let it rip, nobody (including early Cognition) was sure about the form factors. Now it is obvious:* The first wave of AI coding tools made the developer faster but remain heavily in the loop. Copilor and Cursor’s tab autocomplete are prime examples However, the workflow was still heavily centered around and bottlenecked by the developer’s local workflow: a developer in an IDE, watching the model, accepting or rejecting changes, and pushing code one interaction at a time.* The second wave was local agents: Claude Code, Windsurf, Cursor’s agents pane: first one and increasingly many terminals all running concurrently.* The current Age of Async Agents points to a different future focused more on agent orchestration which drives end-to-end development.According to previous guest Steve Yegge, there are finer-grained 8 levels to agent adoption, but we have collapsed it into three.As Cursor’s Michael Truell put it in The third era of AI software development:Cursor is no longer primarily about writing code. It is about helping developers build the factory that creates their software. This factory is made up of fleets of agents that they interact with as teammates: providing initial direction, equipping them with the tools to work independently, and reviewing their work.The agent should not sit solely inside the developer’s flow. It should be setup to work in the background so that you can give it a task, a repo, a machine, a shell, a browser, tests, memory, and review loops to go do the work somewhere else.In less than a year, the sentiment has shifted from avoiding multi-agent systems:to suggesting approaches that actually work:From coining “context engineering” to building the infrastructure behind Devin’s 7x PR growth and jump from 16% to 80% of commits across Cognition repos, Walden Yan has had a front-row seat to the background-agent shift. In this episode, Cognition co-founder and CPO Walden Yan joins swyx alongside Cole Murray, creator of OpenInspect, to unpack why everyone is building their own Devin, what changed after the December 2025 model inflection, and why “spec to pull request” is now becoming a real production workflow.We go deep on the architecture of background agents: harness-in-the-box vs out-of-the-box, why Devin separates the “brain” from the machine, why repo setup is still one of the hardest problems, why Docker is not always enough, and how full VMs, snapshots, scoped secrets, GitHub bots, Slack integrations, and video-based testing all fit together. Walden and Cole also dig into memory, MCP limitations, multi-agent orchestration, AI code review, SRE auto-triage, PMs shipping code from Slack, Windsurf 2.0, hybrid frontier/sub-frontier systems, and the real failure mode of uncontrolled vibe coding: your codebase regressing to your worst engineer.And as agents eat software… and software eats the world… you can draw the conclusion on what is next:We discuss:* Why the engineering world is waking up to background agents and cloud agents* The December 2025 model inflection that made spec-to-PR workflows practical* Devin’s 7x merged PR growth and rise from 16% to 80% of commits* Why Cole built OpenInspect as an open-source background-agent system* The economics of $20/seat agent products and why monetization is tricky* What Cognition actually sells beyond Devin: infra, onboarding, integrations, and adoption* Harness in the box vs out of the box, and why architecture matters* Why Devin separates the brain from the machine for security and permissions* Repo setup, scoped secrets, Docker Compose, and agent-ready dev environments* Why full VMs matter when agents need to run real applications and test them* Android, macOS, Windows, nested virtualization, and machine-specific agent work* Why testing is much harder than “computer use”* Screenshots, video verification, and the “I know it works” merge moment* GitHub UX, Devin Review, AI reviewers, and agents responding to PR comments* Why MCP alone is not enough for first-class Slack and enterprise integrations* Memory, Knowledge, skills, Claude.md, and why retrieval is still unsolved* Devin’s auto-generated memories and the challenge of memory pruning* Always-on agents as permanent PMs for issues, tickets, and product areas* Sub-agents, meta-Devin management, and what multi-agent systems actually add* Why pure auto-merge vibe coding breaks down after about two weeks* AI code smells, lint rules, reward hacking, and Semgrep for agent-written code* GitAI, inline context, and preserving the “why” behind code changes* Local testing, mock servers, older codebases, and preparing companies for agents* Windsurf 2.0 and the handoff between local foreground agents and cloud background agents* SRE auto-triage, support workflows, and agents as first responders* PMs, marketing, and non-engineers creating pull requests from Slack* AI agent budgets, $1k-$5k per engineer spend, and hybrid frontier/sub-frontier systems* The rise of autonomous coding factories and who Cognition is hiringWalden Yan* X: https://x.com/walden_yan* LinkedIn: https://www.linkedin.com/in/waldenyan/Cole Murray* X: https://x.com/_colemurray* LinkedIn: https://www.linkedin.com/in/colemurray/* OpenInspect / Background Agents: https://github.com/ColeMurray/background-agentsTimestamps00:00:00 Introduction00:00:43 Why Everyone Is Building Their Own Devin00:01:57 Devin’s 2025 Ramp: 7x PR Growth and 80% of Commits00:03:49 OpenInspect and the Rise of Open-Source Background Agents00:07:59 What Cognition Actually Sells Beyond Devin00:09:56 Background Agent Architecture: Harness In vs Out of the Box00:12:08 Separating the Brain from the Machine00:14:07 Repo Setup, Secrets, Docker, and Full VMs00:19:13 Why Testing Is Harder Than Computer Use00:22:40 Video Verification and the “I Know It Works” Merge Moment00:23:19 GitHub UX, Devin Review, and AI Code Review00:25:42 MCP, Slack, and Enterprise Agent Integrations00:28:59 Memory, Knowledge, and Always-On Agents00:36:16 Sub-Agents, Multi-Agent Orchestration, and Meta-Devin00:43:55 Vibe Coding, Auto-Merge, and Codebase Decay00:48:38 Agent Infra, VPCs, Cloud Providers, and Fast VM Restore00:52:25 AI Code Smells, Reward Hacking, and Code Review Systems00:56:10 Making Codebases Agent-Ready00:58:30 Windsurf 2.0 and the Local-to-Cloud Agent Handoff01:01:15 SRE Auto-Triage, PMs Shipping Code, and Agent Use Cases01:04:32 Agent Budgets, Hybrid Models, and Autonomous Coding Factories01:06:51 Hiring at Cognition and OpenInspect Consulting01:07:45 OutroTranscriptIntroduction: Walden Yan, Cole Murray, and Context EngineeringSwyx [00:00:00]: All right, we’re in the studio with Walden Yan, co-founder of Cognition, CPO.Walden [00:00:08]: Happy to be here.Swyx [00:00:09]: Which is a cool title. And coiner of context engineering.Walden [00:00:15]: Although I think there are many people who’d used the terms in various ways beforehand, but I did find that people, both internally and externally, enjoyed the upgrade from prompt engineering or model wrapping into maybe a more thoughtful way to build agents.Swyx [00:00:33]: For those who haven’t caught up on that, I have on screen the Don’t Build Multi-Agents post, which you should go read on and we might refer to, and Cole Murray, who created OpenInspect.Cole [00:00:43]: Great to be here.Swyx [00:00:43]: So let’s talk about it. Everyone is building their own Devins. What’s going on?The December Shift: From Handholding Models to Autonomous PRsCole [00:00:51]: So I think the engineering world is waking up to this idea of background agents, cloud agents, whatever you’d like to call it. And I think we saw a shift around the December timeframe of 2025, where the models Opus 4.5 and GPT 5.2, they reached a capability where we moved away from handholding the model and being able to actually more or less autonomously drive the model. And what I mean by that is that we could pretty much go from a specification to a completed pull request, assuming the spec was good enough, with very little friction. And that paradigm alone, I think, changed a lot of how we interact with agents, and opened this world where background agents became more practical.Swyx [00:01:41]: I think for Cole, everyone experienced this in December, but I feel like there was just this increasing ramp, right? There was this moment which was, I think, Sonnet 3.7, where, You guys rewrote Devin in one night or something. So describe 2025 or how it felt from your side.Walden [00:02:01]: In retrospect, we always thought it was ramping up, but then even now, over the last three, four months from today, it’s been ramping up even faster. So it’s almost funny to be talking about how, big of a leap Sonnet 3.7 was, and honestly, a lot of it was stripping out parts of Devin that were no longer needed with that jump in of intelligence. But I also just think that a lot of the recent leaps, especially, you look at, models like Opus and the latest GPT models, they are reaching levels of autonomy where people are actually finding that they actually can just be hands-off. And people who were once debating, “Oh, do I need to be in the weeds with my model in the IDE? Can I just completely move it off into the cloud?” That’s a more serious conversation, and we’ve seen that in all of our growth charts. Internally there’s this funny graph where our usage has, of PRs, our merged PRs, has grown 7X since I forget what it was called.Swyx [00:02:57]: I think Dev, maybe tweeted that. Yes.Walden [00:03:01]: it grew like 7X over, the last, I think it was, two months, three months, something like that. And then you see our engineering headcount growth. It’s, gone up by, 10% or something.Swyx [00:03:11]: We were, we were afraid To release this. So this is Devin commit percentages on all Devin repos, was 16% in January and now 80% in March.Walden [00:03:25]: It’s a big shift right now. And so it makes sense that a lot of people are now thinking about, buying Devin, but also maybe, trying to build their own and there’s Lots of I have a lot of fun building Devin, so I can see why other people would want to build their own cloud agents as well. Matt, well, maybe it’s good to hear, what initially inspired you to try to build OpenInspect?OpenInspect: Ramp, Cloud Agents, and Open SourceCole [00:03:49]: OpenInspect came about, through primarily my clients observing how they were using tools like Claude, OpenAI’s Codex at the time, and seeing some of the friction that they were having with it. Primarily the Claude was being used through Slack, and a big issue they ran into was that the sessions that were launched were specific to whoever called it via Slack. And so if a PM was the one who invoked the session and they would then go to pass context to engineering can’t see the session. And that in itself was a deal breaker because the PM, “Hey, engineering, can you jump in?” But there’s nothing to jump in on unless they’re copy-pasting out or the single response that came back. And so seeing some of these problems, I had built a similar architecture internally, just to experiment with, test out different ideas as this trend of moving off of localhost was starting to become, And as Ramp released their blog post, I had a lot of the pieces for this already in place, and just thought it would be funny to, see what Claude could do just purely from the blog post. And on my X account, there’s actually a thread of where I live tweeted, going through thisCole [00:05:14]: comparing GPT and Claude as both of them are going through it.Swyx [00:05:17]: On the announcement thing or something else?Cole [00:05:19]: right after it got released. We can put it in the show notes. Yeah, it was helpful that I had already knew how to verify the system. I knew what I was looking for. I think Ramp did a great job of really illustrating, the technical aspects of how to build something. It was much more than just like, “Hey, we built a great system.” It was, “And here’s how you can build it too.” And so, I resonated a lot with that, just with the problems that I was already seeing, and I thought that, looking around, I didn’t really see anything in the open source community that, met this type of system. I think there’s a lot that run, in localhost like Superset, Conductor, and many others.But nothing that was actually running in the cloud. And so, I built it, and I thought it was interesting to just open source it and allow anyone to then have a foundation that they can mix and match on top of.The Business of Background Agents: Open Source vs. DevinSwyx [00:06:16]: So literally after Devin was launched was, there was OpenDevin Which became All Hands. I don’t know if you tried that orWalden [00:06:22]: I was going to say, one of the things that interested me a lot with OpenInspect was, you didn’t try to go make it then something you monetize. There are a lot of, I think, these open source projects would then go and really try to, raise VSwyx [00:06:36]: That’s why no OpenDevin. Yeah.Walden [00:06:38]: yeah, and how did you think about that? I thought that was very interesting.Cole [00:06:44]: I thought, and just what I had seen across my clients, was that having a background agent system is going to become a critical infrastructure within their company. And so because of that, I think that I wanted to open source it so that they could fork it and put in whatever customization they wanted. To that question though, I get asked all, “Oh, are you going to raise? Are you going to turn this into a service?”Walden [00:07:08]: I’m sure you’ve gotten offers.Cole [00:07:09]: but primarily I don’t want to do that for a few reasons. One, I think that I don’t want to compete for, $20 a seat. I think that is just a really difficult business. I think it’s very easy to copy the main pieces of it. Again, I built this fairly quickly. And I think because you are not owning, I guess, the entire stack, it’s hard to monetize. You have money being made at the sandbox layer with Daytona, E2b, many other players. You have money being made at the model layer. And you sit in this weird in-between gray area where what are you actually selling? You’re selling, I guess, the infrastructure. You’re selling, the integrations maybe.Swyx [00:07:55]: let’s ask the guy. What are you What are you selling?Walden [00:07:59]: Well, yeah, there’s multiple layers to this in practice, and actually it’s funny you mentioned the infrastructure, ‘cause when we got started building Devin as well, we had to go figure out how to make the infrastructure as well because,Swyx [00:08:10]: You had to build this two years before everyone else,?Swyx [00:08:15]: Including, the model sideWalden [00:08:17]: It was not, it was not very polished at the start, when we just built it off of raw VMs from cloud providers like EC2, the boot up time was so slow, I think, And especially then, turning off the machines, saving them, and then to be able to bring them back up again when the, when you want Devin to wake up again later. It would just be out cold for like 10 minutes because that’s just how long these systems took. They were not built for this repeated down and up usage. And so we actually had to go do all of that. And as a result now, one thing we offer when we go and sell Devin to people is, you don’t have to worry about all the compute side of things. We’ll make it work. We’ll make it work in your cloud if you want it to. But aside from the product, and I want to go into the agents and the tuning of the intelligence part later, but I think a big part of what we do at Cognition as well is to just make sure that your company learns and uses and adopts these coding agents. ‘Cause I think for especially the largest enterprises in the world, you find that there is a lot of people who want to move over to using AI for their day-to-day workloads. But because of the way projects are planned, because, not everyone is literate in using AI in these ways, having a team of engineers who can actually go in and onboard you, set up all the integrations you need, the automations you need to really get to that level of, leverage with AI, is super helpful. And so We do that. We show thought partners to the customers that we work with as well.Swyx [00:09:56]: So let’s talk about, architectural stuff. I think that’s always, that is something that was the topic of conversation between the two of you. Is this, the mental model that you want to start with or something else? I’ll just leave the floor open to you guys.Agent Architecture: Harness in the Box vs. Out of the BoxCole [00:10:11]: I think, maybe we can start here as just a general what are the pieces of a background agent system. And then maybe we can go into some of the nuances of, Decisions that you can make.Swyx [00:10:22]: But I guess I also Like, what, maybe what Walden is saying is the agent is like in this open code box, I guess. Right? This is infra, and then there’s, that’s the agent. And you had this discussion about whether you put the agent in here or in Out externally. Can you tease that out?Cole [00:10:39]: In a background agent systems, you have a decision to make of where the agent is actually going to run. This is typically described as the harness in the box or out of the box. With running the agent in the box, you’re making some trade-offs by doing that. The negative trade-off you’re making is primarily security. Because the agent is running in that box, unless you otherwise design it, all of your secrets need to go into that box as well. And given the nature of AI, it can be unpredictable, and you could very easily end up accidentally exfilling your secrets, or other unintended behavior. Now, the out of the box is the idea that we are going to have the actual agent running not directly in the sandbox, and we will have, quote-unquote, the brain of the agent running in some type of worker, control plane. That sandbox then is going to serve as the hands where the brain is basically operating and making tool calls into that environment to manipulate it. I guess other trade-off that you’re making between the two systems is that, in my opinion, running it out of the box is much more complex because, you have state that has to be managed, whereas if you’re running it in the box, all of the state of that agent is actually in the box, and yes, it’s you could persist it elsewhere, but it’s all localized and you have less concerns to worry about.Walden [00:12:08]: I think a lot of that, what you mentioned, is why we actually from the start built Devin to what we called separate the brain from the machine. The other thing that this allows you to do is reuse any existing infrastructure you have for dev boxes Perhaps. And so you don’t have to worry as much about making a new type of dev box that has all the dependencies the brain needs, as you mentioned, the secrets the brain needs as well. One thing that we’ve seen some customers run into is, you have a GitHub app and you want Devin, your agent, whatever, be able to interact with GitHub through this application, but then you have different users with different actual permissions. If they are all interacting through the same GitHub app and there’s no actual, separation between the system that decides, what it does and the actual secrets on the machine, then you run into an issue where, okay, it’s hard to do the separation. But in practice, with Devin, it’s much easier because we just say whatever you put on the machine, that is, the scope of basically what the user is free to do, what the agent is free to do. So only put the most scoped secrets on that machine, and then the brain is fully not accessible from the machine. So you don’t have to worry about messing with the, any of the most secure parts of the brain if the user is free to do whatever they want with the machine.Swyx [00:13:31]: I was going to just bring, I have this, chart from OpenAI, where I don’t know if this is, in the box, out of the box. That is something that they do use to describe it. And then also recently Anthropic did, managed agentsSwyx [00:13:44]: Which is, this is their thing. I don’t know. It’s all, it’s all variations of the same pattern, right?Cole [00:13:49]: So this would be out of the box.Swyx [00:13:51]: Which, is preferable for them because it’s less work?Cole [00:13:56]: I would say it’s more work.Swyx [00:13:58]: It’s more work?Cole [00:13:58]: But it, in my opinion, it is the better architecture of the two. It’s just, you’re taking on a bit of complexity by doing that.Repo Setup, Docker, and VM-Based Development EnvironmentsWalden [00:14:07]: One thing I’ve not seen a lot of other players do well is how do you manage what’s actually on the box? And this can be complex for many reasons. Let’s say you have a big repository that’s changing and updating a lot with changing dependencies. How do you make sure that the working environment of the agent actually stays up to date, has all the credentials it needs to, let’s say, run the app and test it, and all the things you want your autonomousSwyx [00:14:34]: So a repo setup.Walden [00:14:35]: Exactly. So in, internally At Cognition, we call this repo setup.Cole [00:14:39]: The hardest part ofWalden [00:14:40]: It’s been a perennial problem since the start of the company, of how do we help people get this set up? Because not everyone just has, working cloud environments working out of the box. And do you find this to be a common problem withSwyx [00:14:53]: How do you solve it?Walden [00:14:53]: Your clients?Cole [00:14:54]: This is a very common problem, and through my consulting, this is a lot of what I help teams do. A lot of teams don’t really have great developer environment setups, if any. A lot of the times it’s, “Go talk to Bob and get the secrets,” and that obviously doesn’t work when the agent needs to actually set this up. And so a lot of that, most teams are using Docker Compose or some type of microservices. And so for theSwyx [00:15:19]: Even in prod?Cole [00:15:20]: Not in prod. With the OpenInspect, you are using this primarily to interact, and make code changes. There is other use cases, but you can hook, whether through CLI, MCPs, other tools, you can then hook that into your production systems primarily for, SRE type use cases. But you are not, necessarily, trying to test your prod internal microservice through the system.Walden [00:15:48]: And you mentioned Docker Compose. I think one direction we saw some of our friends take early on was, using Docker containers as the level of abstraction for their models. There’s lots of reasons, I think, why Docker containers are not great. One thing is, Docker container’s not really a true security boundary, for one. But the other is, if you are running real applications, a lot of times those applications use Docker, and then you have to think about Docker in Docker, which is, really weird. And so I think part of, the really hard challenge of getting VMs to work, why did we do that? Well, it was because we realized that you actually needed, full VMs to be able to do these types of things. And especially nowadays where there’s actually value in running the application and clicking around and sending you screen recordings of these things. The value just, keeps adding on top of that. But it is a decision I see people run into when they try to build their own systems, is, “Oh, do we, in addition to this, do we put the agent in the machine or out of the machine? Do we use Docker? Do we use something else?” What do you recommend people nowadays?Cole [00:16:57]: I think Docker is a good solution for maybe not running the agent, but running your infrastructure, because that is more or less the same setup your engineers are probably already using. If they’re not, then I don’t know what they’re using. But they’re probably already using Docker Compose.Swyx [00:17:14]: I’ve always had a small candle for web containers. I don’t know if you guys have tried them before.Swyx [00:17:19]: To me, they were, supposed to be like Docker Light.Cole [00:17:22]: Is it?Swyx [00:17:22]: I don’t know.Cole [00:17:22]: No, I haven’t tried it. But yeah, I think any environment that you’ve set up that is a good experience for your developer naturally lends itself to being easy to set up for the agent. And once you figure out that local developer story, you’ve more or less solved the agent in a sandbox, environment setup. OpenInspect does have hooks as well, where you can, run a setup SH script that will pre-install everything. You can then pre-snapshot that build so it starts instantly, and then there is a second hook to actually then, restore the state of the sandbox when it comes back. And so you can already have all of those microservices running and basically get the same experience that you would on your machine within the sandbox.Testing Agents: Computer Use, Screenshots, and Real App WorkflowsWalden [00:18:08]: Another thing that we’ve been thinking a lot about is like Different VM service offerings. Have you had customers where they needed like macOS specific VMs or like Windows specificWalden [00:18:20]: VMs?Walden [00:18:22]: There are like many technologies in the world that only work on specific types of machines, right? If you’re building a.NET application that has to run on Windows or like, maybe more commonly if you want to build iOS or macOS Does that workSwyx [00:18:32]: Does Commission supportSwyx [00:18:33]: Choices like that?Walden [00:18:35]: The fundamental architecture we do, because we do the separation, it does support, but the actual work in progress is happening right now on these. Another thing that we’ve actually recently added support now for, it’s in beta, is doing Android development. To do that, we needed to support, I think, nested virtualization within our machines because the VM itself is like a, is a virtualized Firecracker instance, and then you had to then run another Android emulator inside. And there’s like weird performance issues that like, it, which is why it’s like still in beta. We have to think through these problems, but it unlocks a lot for anyone who wants to do Android development.Swyx [00:19:13]: I was trying to find like a reference video for the testing thing. I couldn’t find it, but I think you worked on the testing, capability. Why call it testing and not like computer use or I don’t know, it’s, what’s the general Category of problem?Walden [00:19:26]: I think that when people think about the ability of an AI to run your app and test it, I think they actually over-index on the computer use part of it because computer use in my mind is the literal, okay, you want what button you want to click. Can you emit the right coordinates to go click that button? I think testing is actually a really interesting likeWalden [00:19:48]: Problem-solving, challenge for these AIs because if you wanted to do arbitrary testing, imagine you make a change that spans the frontend and the backend, maybe, even some other like even more deeply nested service. To actually test that change, we have to reason through what-- how do you first run these applications to orchestrate with each other with the right version of the code? Then, okay, how do I trigger the feature or how do I make the thing actually happen? And this can get arbitrarily hard, maybe you have to be an admin. Maybe a certain thing has to be feature flagged on. Maybe, you have to like run two sessions and then send us a very specific word into one of them to trigger a specific behavior. And figuring out how do you do that requires a lot of code base context, requires, a lot of orchestration that we’ve specifically done. And in some cases, we found that you actually, no one frontier model can actually do this full end-to-end task itself.Walden [00:20:42]: We’ve seen cases where we actually had to orchestrate different frontier models together to solve this problem together. That is where we spend most of our time when we think about this testing problem, not so much the computer use part. Computer use for what it’s worth has gotten a lot better with recent models and it’s made that part of the job certainly easier.Swyx [00:20:58]: Especially with like even 4.7, that they released yesterday, apparently like way better in terms of the vision stuff, which is going to be encompassing computer use.Walden [00:21:08]: Having evals for all these as well is something that like takes a while to build up. And having the evals be right is tricky as well. Do you ever see like, clients who are building their own agents have to start standing up evals to make sure things don’t regress?Swyx [00:21:25]: Not so much evals in the traditional sense, but specific to the testing part that has just gone in. I just added support for screenshots And in theory you can also do video. I need to put in a plugin to do that. But they do show up natively, and it was a very heavily requested feature, especially after Cursor’s recording came out. I think that was very enlightening for everyone of like, “Oh, this is a very good feature to actually have.”, I think with Devin you guys have had this for a while.Swyx [00:21:57]: Oh, yeah. See how screenshots work. Yeah, I don’t know if there’s anything, super and not obvious. It’s like once what feature to build, you can just prompt it and it Will mostly work.Walden [00:22:09]: I think to Walden’s point, though, the computer use is a subset of the larger testing problem, and I think that’s very specific to the code base that you’re working and it’s not something that, out of the box that you could just solve it. The-- you do need the code base context to actually know how to test it. And I think in the case of a background agent system, you fortunately do have that code base locally that what is changing and could then inspect it and use that to drive the model.Swyx [00:22:40]: For those who haven’t seen it before, this is an example of how it works. You, after the PR is done, you click testing approved, and then it sends you back a video. What I really like is that it labels, It’s very small here, but it actually labels what it’s testing. And then it-- and then you actually see the cursor and everything. So I don’t know, yeah, the engineering in this, just Whatever you want to show. ‘cause this is like, this is one of those like, oh, few of the AGI moments, right? ‘cause Once I look at this, I actually don’t I wish I can just merge inside Of Slack instead of going to GitHub ‘cause I don’t need to see the code. I know it works.Walden [00:23:19]: Maybe a new feature in Cursor. Yeah, the annotations at the bottom was also a big difference for me when I, when I added those.Swyx [00:23:27]: It’s just like, what am I looking at? What are you trying to demonstrate?Walden [00:23:30]: Exactly. There’s a surprisingly long tail of small details that ends up making a big difference for this end metric of like how fast do you actually merge the code in. One experience that we spent a lot of time tuning early on was what is the right experience on GitHub for these tools. Because I think, most tools out there when you build the agent, you’ll think about, oh, it’ll create the PR for you. We try to take that a step further and say, “Oh, what if we actually made sure you could interact Devin, with direct Devin directly on GitHub?” And so we made sure that you can comment on GitHub, and Devin would actually receive those comments and address them back. But there’s actually quite a bit of tuning you have to do here because you can imagine that actually like-We recently have Devin Review, for example. Devin Review will post comments on his own PR And then Devin has to then goGitHub Workflows: Devin Review, Comments, and PR AutomationSwyx [00:24:23]: He answers his own comments, which is Really loopy. So like, yeah, I like that it just updates here that it’s, that I have commented But usually it’s just me saying like, “Hey, merged, fix any merge conflicts.”Walden [00:24:37]: The, so when Devin fixes his own comments, you might be scared that, oh, maybe I’ll infinite loop. But we’ve put a lot of work into making sure it doesn’t, both by making sure that the comments are high signal, but also that the agent is thoughtful about what comments it immediately goes and tries to fix, and what comments it’s like, “Wait a second, I think you’re wrong.” Actually, that’s one of my favorite moments is when Devin tells me that I’m wrong, when I try to get it to do something different. But tuning that behavior, actually makes a big difference in terms of how useful the actual GitHub experience is.Cole [00:25:06]: I think to touch on that as well, I think having the AI reviewer integrated into the system is a critical part of this background system. OpenInspect does have that. It has a GitHub code reviewer that you can control the prompt. It does do comments as well. It doesn’t do them automatically yet. The capability is there, but it’s not fully used.Swyx [00:25:27]: So you have to ask for it?Cole [00:25:28]: you do, yeah. You can tag it on GitHub, and then whatever you named your, GitHub bot, it will then follow up on it. It will then, if you have merge conflicts or whatever you have asked it to resolve, it will then resolve it, but it doesn’t do it automatically yet.Integrations: Slack, MCP, and First-Party Agent InterfacesWalden [00:25:42]: Well, I’m curious, what is, the most common thing that people end up requesting, that they still need on top of OpenInspect when you help them go implement it?Cole [00:25:52]: I think a lot of it comes down to actually integrating it into the company. It’s one thing to have the background agent system set up, but if it isn’t actually integrated into your larger ecosystem, it isn’t that useful. It is useful to be able to kick off sessions, but what we really want to be able to do is hook it into all of our other systems, whether that is the production database with read-only credentials, the logs, a Confluence or internal knowledge-based system. I think that is where I see the huge leap for companies, and that can be a challenge for companies as well who are maybe not familiar with exactly how to approach it, especially if they’re in environments that have more compliance type things where, access control can be pretty big and how do you deliberately think about these problems, I find to be, one of the problems that comes with a system like this.Walden [00:26:46]: The thing we found is So, MCPs, obviously it has been like this, really big explosion of, oh, you can go, integrate it with all these different things. But to actually get the integration right and the and get the right experience, oftentimes we found that we had to go build our own ad hoc things. I think Slack is a great example of this. You could give your agent a Slack MCP and okay, it can post messages back to you on Slack. But we actually use Devin like a coworker in Slack, and that’s how it’s been built from the ground up. But to do that, you actually need to, support webhooks that come back, right? And then Devin has to respond in a natural way and then hopefully don’t spam your threads too much and annoy the people in your company. So you got to tune that experience just right. Especially when there’s a lot of back and forths, we find that we actually have to go beyond the simple MCP integrations in these places.Swyx [00:27:39]: I just pulled up the MCP marketplace. I know this is a Fair amount of work. Is the answer to eventually take first party control of all the top MCPs? Is that theWalden [00:27:48]: I would love a world where you could have something that’s more expressive than MCP. That, goes both ways, not just a set of tools, but a proper system that interacts back and lets it Have the right experience with all these interfaces.Swyx [00:28:03]: So there actually is sampling in the MCP spec, but nobody Uses it, right?Walden [00:28:07]: And so I think that’s the other part is, actually we found that when the MCP spec starts to get too complicated, it starts to lose its original promise of Being like a simple one-step connect. Now then we have to go figure out how to support all these different variations of things and It starts to look a lot like just building the first party integrations in a lot of these cases now.Cole [00:28:29]: I think it matters, too, how critical it is to your company, right? If this is something that nearly every session is going through, it probably makes sense to own it so that you can make optimizations on top of it Versus just whatever is off the shelf.Swyx [00:28:43]: Awesome. Other than MCPs, what else, sorry, well, I don’t know if that’s Narrowing in too much on, integrations. But what else? What other elements of building OpenInspect or Devin that you guys really sink on?Memory and Knowledge: What Agents Should RememberCole [00:28:59]: I think, a problem that comes up very frequently is this idea of memories or knowledge base.Swyx [00:29:05]: Oh, boy. How do you solve it?Cole [00:29:08]: so not solved yet, is the short answer.Cole [00:29:11]: it’s something, there’s a open issue for it, someone asking about it.Swyx [00:29:16]: There’s, I, D Wiki hasn’t indexed anything about memory yet.Cole [00:29:20]: how I’m seeing it solved across my clients is primarily through skills. I find that skills can be a good gap within that or updating Claude MD, but I think memory as a whole is a pretty unsolved problem, and it is why I’ve been hesitant to add it. I think there is parts of memory and that can be addressed, but I think as a whole it’s a very difficult retrieval problem.Swyx [00:29:44]: Oh my God. RAMP didn’t write anything about memory? I see zero search results.Walden [00:29:50]: No. Memory can be quite tricky to get right because it’s the retrieval, but also the generation of the memories that can be really tricky. You don’t want it to just like Remember very specific details.Swyx [00:29:59]: Walk us through the Devin memory journey because I know there’s been a journey.Walden [00:30:03]: the first version of memory that like stuck around for a while was A system we have called Knowledge. And the idea was we wanted it to pick up things over time and not need the user to be proactive about teaching Devin things. So, okay, any time you remind Devin, “Wait, no, that’s not quite the way you’re supposed to use Git”Like, we actually want Devin to say, “Hey, do you want me to actually just remember this for the future?” And for you to just basically quickly approve or reject and for it to build up over time. ‘Cause I find that, 95%, I think, or some crazy stat like that of the memories that Devin has are all through these auto-generated things. Very few people actually just want to sit down and write big docs on Here’s how you’re supposed to work with the technology, et cetera. The generation and the retrieval has been something that we’ve been trying to tune a lot over the years. Generation, you don’t want it to remember something like, if you asked one time to like, “Oh, please open as a draft PR,” you don’t want to be like, “Oh, everyone forever now should get their PRs as draft PRs.” But you do want some, conveyor. Maybe you want to say like, “Oh, Cole generally likes, things to be created as draft PRs.” Same with retrieval, if you have thousands of these memories, how do you actually make sure they’re retrieved at the right time? And that can be quite tricky to do right without exploding the context with a bunch of useful yeah, useless information. Surprising amount of just, eval work to just make sure that, memory is, remains a reliable system as new models come and go.Cole [00:31:31]: Do you have anything that you could share on, memory pruning? And like the temporal aspect of memory?Swyx [00:31:36]: Deleting and forgetting?Walden [00:31:39]: The, today, the, So the things they could do is it could edit memories. And so if your memory used to say like, “Oh, Cole likes to open everything as like a draft PR,” then you can imagine, “No, don’t do that.” And then it’ll say, “Oh, do you want me to update the memory to be Cole now want everything as, open PRs?” I think that at the same time we don’t know if this is going to be the final version of the system. Whatever we have here will probably, translate into the new system that we’ll be coming up with. But I think one big difference between two years ago and today is these agents are really good at using anything that resembles a file system natively. And so part of us are, is thinking, “Oh, should we rebuild memories to feel more like a file system that we let the agent navigate on its own?” That’s been an interesting exploration. Also similar ideas in the scale space.Swyx [00:32:35]: I am pulling up OpenClaude’s memory thing right now. So memory, OpenClaude has like this like daily memory journal thing, right? And you can I mean, that is a file system you can grep through and is a source of truth. I don’t know if it’s the best. It’s probably super noisy, but at least, if you lose something you can discover it or you can apply some, forgetting algorithm to, more ancient memories that don’t get recalled again or something. I don’t know.Walden [00:33:01]: One thing we’ve been trying to do to push the boundaries of how you use agents at your company is letting an agent basically have a very similar file, a memory.md or something, and just like be your permanent PM for a specific set of issues maybe. So we have like some Slack channels internally, maybe a Slack channel dedicated to, a specific product like DeepWiki maybe. And you can imagine that, or you want a Devin that never stops, it’s just always awake, but it has this like memory dock that it can just maintain for itself about, okay, what are like the number one priorities of what we have to fix and prioritize? Who is responsible for some upcoming work? Maybe they’ll even Devin will even tag you on some recurring basis. And so it’s been an interesting move to see, okay, how can we actually use Devin for more than just engineering? Can we actually upstream above the engineering process and maybe it’s just Devin creating tickets, which then maybe some humans do, but then maybe other Devins do.Swyx [00:34:00]: One of my more fun automations is go research competitors and just suggest stuff to me on a weekly basis. That’s the automation. I can’t find it right now, but basically it just like, “Look at competitors and suggest things.” “And here are three things that you’ve suggested that I don’t want any more of,” and you just stick that in the prompts. But like I wish actually So for like when I, for example, when I reject a PR, I wish that it updated memory so that I can then just not have to go up, go back and update the scheduled, sync, but anyway, feature request.Walden [00:34:31]: what? We might change it soon. I guess OpenInspect, in the time you’ve been around, has there been anything you tried to implement but then you had to like undo and like do a different way?OpenInspect Architecture: Webhooks, Control Planes, and Agent StateCole [00:34:41]: Nothing yet, but something that is on my mind. The initial way that I built it was that each of the integrations lives as its own package. And so you have The Slack bot, which is what’s handling the webhooks, and then is basically interacting with the control plane. As I’m seeing the system starting to be more integrated, specifically with the GitHub bot integration, I’m considering bringing that all into the central control plane because especially now I want to start, And a request that I’m getting is the ability to monitor, the actual, pull requests being merged, as well as just tracking ofSwyx [00:35:19]: What do I have open?Cole [00:35:21]: What do I have open? How many of these are getting merged? How many comments are showing up? To just understand the health of the system. And so in the case of a GitHub app, you only have one webhook. And so then it’s a question of do I put that webhook in that GitHub bot package? That’s weird. It doesn’t really make sense to live there because that package is more for like the code reviewer. Or do I like centralize it? So that’s something that’s on my mind of, making that decision. I think the other one we touched on earlier is the harness in the box versus out of the box. I think long term the architecture will eventually come back out of the box. Some of the newer tools that I’ve added are calling back into the control plane so that you don’t have the secrets in the sandbox. And so I think long term I probably will pull the actual, agent out of the box, but I think for now it’s fine.Subagents and Multi-Agent Systems: When Parallelism Helps or HurtsSwyx [00:36:16]: Just, a quick question on pulling the agent out of the box. I’m One thing I’m very bullish on this year is agents calling other agents or spawning sub-agents or Whatever you want to call it. Does that make it harder or easier? I can’t tell. Because if the harness is in the box, you can just spin up more boxes. If the harness is outside the box, then you’re, it’s less easy because you are, you have a unicorn pet of a, of a harness that’s, living outside the box.Cole [00:36:45]: In theory it would be the same way, right? Whether, one agent has launched many, sub-sessions within it, OpenInspect, for example, can launch sub-sessions and actually create other environments and then monitor them. In the case where it is out of the box, that would basically just be an additional session that’s running. And so that session is also running outside of the box. It’s running in your worker plane, wherever you’re running this. And then you really just have to think about how does your top level agent then interact with it. I do think it can be more complex, just ‘cause again, you have now a more difficult architecture. But I think if you figured it out once, it’s probably fine.Swyx [00:37:26]: Well, then I’m just, throwing it open to you in terms of, I call this like meta Devin management. Which is like the, Devin’s calling Devins or Devin scheduling Devins or querying trajectories or anything like that. What have you built or unshipped, anything?Cole [00:37:46]: I think one of the surprising things we’ve seen is that a lot of the ways that, these, separate agents work with each other, and you want them to, parallelize their work, has still mostly followed the same manager sub-agents regime. And a lot of people I think are excited about this world where you have swarms of agents that, talk with each other all over the place. We’ve actually given Devin an MCP so they can just go arbitrarily message other Devins And create new Devins, et cetera. But I guess, it somehow creates, a really chaotic world in that sense. And so we’ve still found that most practical use on a day-to-day basis has been one single Devin.Cole [00:38:33]: Figuring out how to segregate the work and get, have other Devins work on it in, a relatively isolated sense, each with their own boxes Not sharing machines, so there’s, a very little room for conflict is the regime that you have to create today.Swyx [00:38:50]: I’ll call out, the experiments from Cursor, right? This is Wilson Lin’s work on Single agent to multi-agent, and you’re obviously famously on the side of don’t build multi-agent. But they went through the whole thing, only to arrive at, this Which is exactly what Devin has, I think.Cole [00:39:08]: I think there will be a revision to that post at some point AboutSwyx [00:39:12]: Tell us about itCole [00:39:12]: I think multi-agents were very much not at all possible a year ago. You do see more multi-agent experiments today, but you can argue, are they really multi-agents, or are they just just, tool calls,? There are people who, will create sub-agents to go look for XYZ file, XYZ implementation. Has really nice context management benefits because all of the tool calls and tokens that it spends then get collapsed back to just the answer for the main agent. There’s a lot of benefits to doing this. We basically have Devin do this with Deep Bookie, make a call out to Deep Bookie, give you back the results, but that feels like a tool call,? It’s not like these, two collaborators actually talking back with each, back and forth with each other. But I think the thing that gives me the most bullishness that multi-agents might actually be possible is actually what I said earlier about Devin will actually sometimes tell me I’m wrong and push back, and I think that demonstrates a level of maturity and communication today that makes a multi-agent world possible. One, can two agents who have seen different information come back to each other and actually figure out who is right, what is the correct implementation? They’re not just, yes men. Claude, I guess is like, used to just say, what is it? “You’re right,” or,Swyx [00:40:25]: “You’re absolutely right.”Cole [00:40:26]: “You’re absolutely right.” Yeah.Swyx [00:40:28]: The Have you seen, did you seeCole [00:40:29]: The age is overSwyx [00:40:30]: The Codex app troll in Topic? This is the Codex app. Inside of Settings, there’s a little, there’s a little Easter egg, right? So if you go to, the Themes or Appearance, right? There’s all these, color codes, and the top is absolutely, and it’s the Topic’s colors. Which is such a troll. Anyway.Model Behavior: Pushback, Adversarial Prompts, and Agent SkepticismCole [00:40:53]: I love that Easter egg. Did you discover that yourself?Swyx [00:40:54]: No, it was, someone was, tweeting about it And I was like, I was like, “Is this true?” Because, sometimes people just tweet stuff to, get a rise out of you. But yeah, there you go, in Topic colors.Cole [00:41:06]: Yeah. So yeah, we’re out of this regime where, it just says you’re absolutely right, and they can have real conversations and real back and forths.Swyx [00:41:13]: You can prompt it as well to be more adversarial or whatever. Yeah. Okay. Yeah, that, I mean, to me, that is more intelligence, right? That is not just something that’s, a dumb tool, it’s actually pushing back on you I think. Yeah.Cole [00:41:24]: when you mentioned, of course, the blog posts. There was one blog they had where they fed a swarm of agents together and built a browser.Swyx [00:41:34]: That was I think that was the one.Cole [00:41:36]: You can have, likeSwyx [00:41:37]: I think it’s the same oneCole [00:41:37]: Creation of it. We found a surprising success of, don’t do a swarm or anything, just have one Devin, it does its own context management. Just let it keep running for a while and give it some crazy tasks. I think we asked it to, rebuild, a Windows OS system. And it managed to do it just like, going on for long enough. It’sSwyx [00:41:55]: Was this Andrew’s thing?Cole [00:41:58]: there were lots of demos that we ended up not posting, ‘cause at some point we’d just be posting way too much a bunch of, Demos. But I love that because it shows that I think the multi-agent thing still has, a bit of exciting sexiness to it, which is maybe still beyond still, the actual delta it adds to the capabilities of these systems. But it’s absolutely the future. I think we’re heading in that direction and we can see the progress being made there already.Swyx [00:42:25]: If I were to, make one super minor pushback because I don’t feel that confident about it yetCole [00:42:33]: Go for itSwyx [00:42:33]: But I’ve had Ryan Lopopolo from OpenAI on the pod And he’s a super slop cannon, right? Oh my God, that’s my coding agent being done. I downloaded this, Peon Ping. I don’t know if you guys have heard this. It takes like-, sound packs from popular games like, Command and Conquer and Warcraft, and then it plays it whenever it’s done. And so it’s like, “Work,” or whatever, “At your command,” or something. Anyway, what I got from the Cursor code base and from Ryan’s thing was that there’s a slop cannon approach where you try to loosen the single agent’s, bottleneck, and I feel like that is, probably an, a very important thing to try to figure out. I don’t think anyone’s, really solved it. Because then you just have more reviewer slop on top of the agent slop To try to wrangle it all. Ryan will probably very strongly object that I say that he hasn’t solved it, but he thinks he’s He thinks he’s completely solved it. But I think it’s still I think it’s, very important, ‘cause, that is a bottleneck, right? I feel Devin is slow sometimes Because I’m like, well, yeah, this is very readable and very sensible, but also it is slower than it could be if I just, I want a button to just say, “Just ramp this up 1,000 next parallel, in parallel and just, see what happens,”? And I don’t know if that’s, feasible at some point in the future.Code Review, Entropy, and AI SlopWalden [00:43:55]: I And we’ve also run experiments internally where we’ve basically tried to build entire products, true products that we knew we would eventually ship, but for now, let’s try to see if we can do it just by purely, vibe coding on top of each other, auto merge, no code review at all. And then there’s this benchmark of how many weeks can you go onto this for Before you say, “We have the trashiest code base.”Walden [00:44:18]: “Let’s actually rewrite it from scratch.”Swyx [00:44:19]: Start a new factory, yeah. What’d you find?Walden [00:44:21]: I think we found that the state-of-the-art in December was you can probably, run this for about two weeks. By the end of those two weeks, you’d find that, hey, you want to, change the color of a button. Well, it turns out this button is implemented in, 10 different places, and they, have All these different variations, and oh, you forgot one of them, and actually it’s a slightly different color in one spot. And you’re like, “Okay, this is too much to work with. Let’s actually try to do code review at the same time.” And make sure that we’re on top of our software, actually cleaning it up a bit And making sure it’s done in a scalable way.Cole [00:44:54]: I think building on that, the idea of, you don’t have to look at code, I think is generally a bad idea. And the meme that I have for thatWalden [00:45:03]: What timeline, all right, is Do you think that statement will be true on?Cole [00:45:06]: I think probably for a while it’ll be true that you should continue to look at your code. A problem that I see a lot of teams run into that I work with who are embracing AI native, AI first coding, is The meme that I have is that your code base regresses to your worst engineer, because that engineer who is, very gung-ho about AI and is not auditing their code, their pattern starts cementing into the code, and now the AI is referencing their patterns. And so now their if/else block that, is 20 if/elses back and forth, the AI is seeing that as the pattern of how things are done and starts to then exponentially grow this slop. And I find to your point, a pretty good approach to that is having scheduled cleanup, whether by humans or through systems, that are looking for duplication. They then address that. You’ll end up with like 12 helpers for how to format a date. And you need to address that, because otherwise it will continue to sprawl.Swyx [00:46:09]: Within balance, I think it’s fine to have some duplication, and then sometimes To have garbage collection, right? Yeah. The What I’ve been, talking about with a lot of engineering leaders is that you want to be very strict about the boundaries between modules, and it’s your job as an architect, as a CTO, whatever, to say like, “Okay, here’s the hard contract between you guys and you guys. Whatever you do inside this black box is your business. You do whatever. But between these guys, let’s be, really damn clear, and any movement must be signed off by a human or me,” or. Then, and like that’s that. I don’t know if you have any other modifications or advice.Walden [00:46:44]: Well, I guess generally on the topic of, where humans can be useful, I found that ‘cause, some of these, really deep infra problems, sometimes just having a human that just has, really deep expertise can make a big difference. I’ve actually seen this come into play when actually building agents. So we’ve had a few friends now, try building their own coding agents, and I think one same problem that I recurringly heard a lot of them run into was this problem of like, “Oh, Grep is really slow on our agents’ machines.” And so a lot of them, I assume because they’re using AI and they themselves don’t have, super deep infra background knowledge, say, “Okay, we’re going to go build our own custom Grep index. It’s going to be really fast,” and use that as a way around this problem. When we ran into this problem About like, maybe like a year and a half ago when we were, in the early days of building Devin, we obviously didn’t have AI then. We just asked our, how to, how to do this. You can just swap out a new Grep index, so.Infrastructure Details: Grep, File Systems, and SandboxesSwyx [00:47:45]: What do you mean you hand-coded Devin? What?Walden [00:47:48]: It’s like, can you believe we hand-wrote this code? And we had, our infra people who are really amazing, they were looking into it and they’re like, “Oh, what? We realized that actually the root cause of this problem is actually super simple, but like fine-grain detail,” which is that a lot of these virtual machines actually underlying them don’t use real file systems. They use these, network file systems where things are actually cached over the network actually in S3. So when you’re Grepping, you’re actually making network calls Every time you’re doing these things, and that’s why Grep is extremely slow on these machines. And so again, goes back to, what is all of the crazy infra work that we had to do to actually get these machines working. If you try to do this yourself, there are tons of small details like this, and so we had to eventually go swap out that network file system. ButSwyx [00:48:35]: I think there’s a write-up about it, right? Silas did one about the virtual file system.Walden [00:48:38]: Oh, that was a whole other thing. TheSwyx [00:48:39]: Oh, that’s a different thingWalden [00:48:40]: The BlockDev file storage formatSwyx [00:48:42]: I’ll bring it upWalden [00:48:42]: Which is, a file system format that we built so that the VMs could be spun up and down very quickly. Basically, the intuition behind this is-Imagine you have, a terabyte of disk, and your agent only, wrote, a hundred lines of code on top of that disk. How long does it, say, take to, save and re-bring up that disk? And most systems, because you’re not optimizing for this case, it’s just, on the order of a terabyte of work because you have to Save all of that and bring it back up. In our system, we try to build a file system that incrementally builds on top of each other. So every time you save and bring the machine back up, you’re only doing work that is proportional to effectively the diff in the file system. And so this, shaves off a lot of time in the boot-up process of Devin. I think we This is actually now outdated. We have a newer system inside of Devin. But yeah, there’s a lot of tiny details you have to get right here to actually get the day-to-day experience of Devin to be good.Swyx [00:49:39]: It’s, not technically agents, but it is agent infra, and when you sell an agent as a company, you sell agent plus agent infra.Walden [00:49:46]: At least the way we do it be And the other The nice thing about having the agent infra being done together is, you We get to deploy Devin in whatever environment we want now. We don’t need to wait for some underlying infra provider to also go and support VPC or on-prem or FedGovCloud, for instance. So we can actually go and figure out, okay, since we own the infrastructure, how can we get that set up for you?Cloud Providers: Modal, Daytona, and Enterprise SandboxesSwyx [00:50:12]: Whereas you’re Cloudflare dependent.Cole [00:50:15]: so Cloudflare runs the control plane. The sandboxes, Modal is supported. A contributor just added Daytona. E2B is on the roadmap, and I think there’s an abstraction in place that if any contributor wants to add a new provider, they can add that in.Walden [00:50:32]: Well, what are, How are the customers you work with Do they generally try to then go set up a contract with another one of these third-party providers? Do they try to do the VMs in-house?Cole [00:50:44]: most of them I see using Modal. I think Modal has a greatWalden [00:50:48]: Shout out Modal.Swyx [00:50:48]: Shout out Modal.Cole [00:50:50]: I think Modal has a great offering. It captures all of the sandbox pieces you need, snapshots being a pretty big piece of that, and given that they also offer GPUs, I think it’s a pretty nice offering as a whole.Swyx [00:51:04]: no debate there.Walden [00:51:07]: Modal is great, especially, I think their container offering is, the most natural, and so especially if you are willing to, forego, the full VM requirements Modal is, a really vast place you can spin something up on.Swyx [00:51:20]: Is there a point So Modal’s very Python, and I feel like most workload, has really shifted to JavaScript. I don’t know if you guys Get the same feeling. So, okay, when I started Landspace and IE and all these things, I was like 50/50 Python and JS, right? That’s roughly. I think that’s wrong now. I think JS has won. I don’t know if you guys Like, I Maybe I’m overstating it, and maybe for cognition, there’s, C# and Java and what have you. But for, new greenfield apps, do you feel that Do you get that sense? Does it matter?Cole [00:51:52]: I think that most of the libraries that I see in this space are Python native first, especially in theCole [00:51:58]: Observability space. That said, I think that there is a pretty big appeal of having your entire system in one language. Especially when you have both your frontend and backend communicating, you can have one central type Which is very nice.Swyx [00:52:11]: That’s my case against Modal, which is Then you have to run JS. You can run JS inside Modal. It’s just, one extra step That, isn’t native to the runtime. I don’t know ifWalden [00:52:22]: I don’t knowSwyx [00:52:23]: Reviews. Do you have numbers? I don’t know.Walden [00:52:25]: the one thing I don’t like about Python is whenever AI, whenever it writes Python, it always does, the weirdest patterns, andSwyx [00:52:32]: Oh, because it’s, mixing two and three or what?Walden [00:52:34]: I think it’s something mixing two and three, yeah. The I don’t know if you see this. It always tries to do, has attribute on objects as likeCole [00:52:41]: Oh, my God.Walden [00:52:41]: But it’s like But that you shouldn’t be doing that. It should error if there wasSwyx [00:52:45]: Because it’s training on library code?Cole [00:52:47]: I think it’s more of, likeCole [00:52:48]: From what I’ve seen, it’s more of, a reward hacking mechanism where it doesn’t want to basicallyWalden [00:52:54]: It’ll never error.Cole [00:52:54]: It doesn’t want the code to fail. And so it Even when it knows it has the attribute, it’ll call getattr on a, and for a lot of my clients who have moved towards more autonomous coding, we’ve put that in as a lint rule That if you do getattr, your pull request is going to fail.Slop Signatures: Comments, Backwards Compatibility, and TypesSwyx [00:53:12]: Ooh, this is a fun topic. Can you tell me more about this? What else is a sign of AI coding that you have to put guards in?Walden [00:53:21]: So we were talking just before this about Opus 4.7. One of the things this new model likes to do is it writes lots of comments. Not like, it’ll, comment every line, but it’ll write, paragraph, PRDs, on top of every function. But I will say, to its credit, these aren’t slop, descriptions like they were before. “Oh, here’s what this function does.” It’s like, “Oh, here’s actually the reasoning and why we chose this approach and what the alternatives were and why we shouldn’t do those alternatives.” Still too much information, but I wonder if this actually might be directionally correct if you want systems that can self-maintain themselves in the long run.Swyx [00:54:04]: Oh, they write the specs inline.Walden [00:54:05]: Have all the context In the code as well. Yeah.Swyx [00:54:07]: So you approve?Walden [00:54:09]: I But at the same time, it’s this tricky problem. Maybe we’ll just give our users, a setting or something, for, how verbose you want it to be. I haven’t loved it. Honestly, I just I like the comment, but please, get rid of it. But I could, I could see a world where maybe something of the sort becomes reality. I don’t know If you guys know about GitAI. SoSwyx [00:54:32]: We’ve talked about it, yeah.Walden [00:54:33]: GitAI, the idea behind it isSwyx [00:54:34]: I’ll bring it upWalden [00:54:35]: That if you run an agent, the actual prompts you send to the agent should be stored alongside the code inside the Git metadata so that future agents can reference it, maybe code review bots can reference it. And it’s ideal world where, your context for why decisions were made constantly lives aside, beside your code. And so it’s, maybe a more hidden version of this, write massive PRDs for every comment approach.Swyx [00:55:01]: I’m waiting for the real bull case where we just get rid of Git altogether. We’re not I’m not, I’m not there yet, but I’m looking for it because that would be a big shift.Cole [00:55:11]: On the topic of, visible slop, a pattern that I see a lot of across GPT models specifically is backwards compatibility, at all costsCole [00:55:21]: Where it’s doing these weird import exports so that it doesn’t have to modify, the names of where the modules were. And I’ve seen Claude 4.6 starting to do this as well.Cole [00:55:33]: And again, I think it is this, reward hacking behavior where it doesn’t want failure to occur, and you can address that through, Semgrep or other tools where that behavior is pretty easy to identify. But it’s something that you only learn through the trade of just seeing code patterns. Untyped tuples are a really big problem of just, again, just throw any in there, dict string any. And again, you can address those through linting.Local Testing, Mock Servers, and AI-Ready CodebasesSwyx [00:56:01]: Awesome. Yeah. Any other So, linting, any other tools? Devin Review, of course. Not so, not so free now, but still use it.Walden [00:56:10]: Well, the one thing that I think we try to recommend teams as they use more AI agents, it goes back to this, local testing thing. In the end of the day, you want your agent to be able to do the full thing, not just write the code, but actually run it and test it. And a lot of code bases were not necessarily built for this from the start. For example, you probably do want a local DB setup, a local Docker Compose and Postgres in order to have it so that you don’t need to give your agent any crazy product credentials to actually run and test its code. We’ve also internally done a big shift to make a lot of our core, components of code testable as purely local dev without needing to actually, integrate with, any live services for this reason. And honestly, the older the company, the more you have to change to shift in this direction. But you can use AI to help you perform this migration nowadays.Swyx [00:57:02]: The older, the older the company, the more you have to change in order to do local dev?Walden [00:57:05]: I think so.Swyx [00:57:06]: Or am I misunderstanding? So you’re sayingWalden [00:57:08]: Or often timesSwyx [00:57:08]: Most people just build with full integration to all their stuff, and there’s no code path to switch it to local.Walden [00:57:14]: Especially in, when there’s, lots of different services and you have, microservice architecture, making that shift, the larger the code base, the harder it is. I guess if you did build it correctly from the very start, I think it’d be possible. But also, a lot There are a lot of companies in the world that got started before Docker was a thing, and so You’re forced to make a migration at some point.Swyx [00:57:35]: Well, Devin’s good, very good at making mock servers. Right? So, And no, the Well, one of the projects that I really want to It’s like, it’s like Little Snitch. I don’t know if you guys have heard of this.Cole [00:57:44]: I run Little Snitch on my computer.Swyx [00:57:46]: It’s just like There’s, a man in the middle, but it, shows you all the traffic going back and forth. But then from there you can reconstruct the server, right? And then, and then, create local mocks so you can local mock everything if you just observe traffic for a little bit.Cole [00:57:58]: That’s an interesting idea.Swyx [00:58:01]: cool. I don’t know if this will get anywhere, but I wanted to maybe talk a little bit about the CloudCode, leak because usually if I have an Anthropic person on, I can’t talk about the CloudCode leak. Did you guys learn anything from CloudCode? IWalden [00:58:19]: So if I sayCole [00:58:19]: This is the first time I’ve seen itWalden [00:58:19]: I was not that, interested in the Leak. We didn’t spend that much time on itWalden [00:58:24]: If I was to say, butSwyx [00:58:25]: I’m just, I’m just, fishing forCole [00:58:28]: no, I didn’t really,Cole [00:58:29]: Research too much into it.Windsurf, Local Agents, and Cloud AgentsSwyx [00:58:30]: Fair enough. Okay, one more last thing before we go. Windsurf 2.0, you guys shipped another thing. So The meta context is you use background agents enough, sometimes you’re going to want to bring them to foreground. And that little, hands-off from local to cloud is hard to work on. And then And Devin has Or Cognition has just done it.Walden [00:58:50]: I think for me the biggest, gap this is trying to close is, again, how do you make the testing process as fast as possible? When it can test on its own and send you a video, it’s freaking magical. Sometimes there are just really difficult things you can that you do just need to, pull down locally. And we just want Windsurf to just be your, local command center of all your agents, your background ones, your local ones, and you can imagine, “Oh, okay, this agent needs me to review something. I’ll pull that down, move my other agents to the background, go test it. Okay, boom, done. On to the next one,” right? You have some issue you got to fix in the background, just click, approve. Okay, set up, start a background agent to go fix it. I’d love a world where I don’t have to leave this window. Then maybe the other window I got to figure out how to stop spending so much time into Slack, but maybe, someday We’ll want to get those tools all.Swyx [00:59:38]: And does that require the binaries to be exactly the same for local versus cloud?Walden [00:59:46]: So the funny thing here is that the behavior between local agents and cloud agents, I think is actually a bit different In their ideal state. I think local agents, you want them to be a bit more fast and let the user make the call on things. Actually don’t try to autonomously go test things. The background agent mode where you go start it off, I think the agent should just assume the next message I send a user should just have everything that the user needs from me and not run and stop Keep running and don’t stop until you have the testing Until you have full report.Swyx [01:00:19]: So that’s a, that’s just a slightly different prompt.Walden [01:00:20]: But for many reasons, because of all the work we do to make sure that Devin works with different Git providers, that it works with different, OS’s and VM’s, we want as much of that logic to be shared as possible. So for our own practical purposes, we try to share as much of it as possible.Swyx [01:00:36]: Yeah. I mean, I can’t imagine how much work it is to, transition back and forth, so congrats on shipping this.Swyx [01:00:45]: okay. Anything else that we should cover before we, wrap? Just whatever you guys were talking about in your lunch.Walden [01:00:52]: maybe, use cases. What are your, do you find to be, the biggest things that your clients are trying to do with their cloud agents today?Cole [01:00:59]: Do you want to just ask it again so we can get, a clean cut?Swyx [01:01:02]: Because he was drinking his water. Yeah.Walden [01:01:04]: The thing I wanted to talk about was use cases. What do you think are the main things that your clients come to you today about, “Hey, this is why we want to go set up cloud agents”?Cole [01:01:15]: I think the easiest and most common use case I see across everyone is SRE use cases. The idea that whether we have our alerts in Slack or Datadog or wherever they’re going, we want the agent to be the first responder on that. And that doesn’t necessarily mean that the agent is actually resolving the issue, but just being able to collect that context ahead of time is huge. Because again, that agent is integrated into the production logs, the database. It has full visibility, and over time, playbooks as well for how to address certain issues. And so that’s a huge win for teams because instantly you can have a full trajectory of what is going on within the system, and oftentimes actually a pull request directly from that, which is a pretty neat flow to actually experience of, error pull request done. OpenInspect does support a trigger for that as well, so that could happen completely autonomously.Swyx [01:02:09]: From Datadog specifically, or justUse Cases: PMs, Support, Security, and SRECole [01:02:11]: it supports Sentry, it supports a generic webhook, and if someone wants to add Datadog, they can. The other use cases that I see, are for non-builder use cases, whether that’s the PM or the marketing team. I’m seeing a lot of, teams where the idea of who’s actually contributing code is starting to change. And in a lot of cases, the PM, if there’s just a quick bug fix, the PM is not creating an issue anymore. The PM is just prompting through Slack, and the pull request is then being created. And so I think that’s a huge win. I think that trend will continue, where we’re seeing, code modifications happening outside of engineering. The last common use case that I see is customer support. And so where they’re experiencing an issue with a customer, they’re not entirely sure why this behavior is happening. Previously that world was, “Hey, there’s a bug when they tried to use this feature. We don’t know what’s going on.” Well, they’re now tagging that in Slack. Again, that entire full context is ready. They can then just tag in engineering and have a complete understanding of that issue and completely bypass the previous pain points of like, “Oh, can you get more information from them?”Walden [01:03:24]: The only things I’d add on top of that I think I’ve seen is, continual security scanning Continual security review Is a very big one as well. The SRE use case, internally we think about it as auto triage Because we just want every message that comes in, and that’s an alert, that’s a bug report, to have Devin just start triaging it before anything else. And we’ve leaned into this use case so much though that we’ve basically tried to make it so that you don’t ever have to leave Slack to interact with this. So again, making the interactions with Devin super fluid from the moment the report comes in to it responds to a report and be able to ask it questions right there with full code-based context about all the issues. Very related to customer support as well, I think one thing that we found is CLIs can sometimes be, very difficult for people who aren’t technical to go and use. But an online chat interface that anyone can go and ask questions and is super intuitive and doesn’t assume you have any technical knowledge but does have access to all parts of your code base, super useful For support, for salespeople, anyone who might need to have their questions answered about the code base. So yeah, great callout.Swyx [01:04:32]: This might potentially be, a very expensive, use case. Is there like a rule, sense, a rule of thumb on, how much people should spend on this? ‘Cause, you have unlimited budget, but not other people don’t,? I don’t know if this is an answerable question because obviously it depends on, a lot of factors. But I guess, likeCole [01:04:51]: I think it depends really on, how people are using it. I think If people are using it responsibly and they’re getting value from it, then, you can kinda determine the budget. Common numbers that I hear are anywhere from 1,000 an engineer up to 5,000 an engineer. I have not heard anywhere in the realm of, 50,000 an engineer for a frame of reference.Model Costs, Smart Routing, and Frontier TradeoffsSwyx [01:05:12]: We’ll get there.Walden [01:05:13]: I’ve seen, I’ve seen numbers go that high for sure. I think that this is also I think going to be a big theme of the coming year, is we’re going to see very expensive, very smart frontier models, And we’re also going to see people who say, “ what? I don’t need the frontier anymore for a lot of the work I do,” because some frontier models actually are good enough For a lot of the work.Swyx [01:05:36]: Also shout-out you pioneered Smartfind Which is a mix.Walden [01:05:39]: I’m really interested in a world where you basically have hybrid frontier and subfrontier systems Where you use the subfrontier part to be really fast, really efficient, and call out to the frontier part of the system so that you can still get frontier performance for the most part.Swyx [01:05:54]: I’m trying to search, but Twitter search is, completely broken. I, it’s, the from field is just completely gone. It’s very sad, Because I really want toWalden [01:06:04]: No worries. I might have to make a new post at some point about the return of Smartfind.Swyx [01:06:10]: Anthropic has now officially adopted it. Okay, cool. I think that’s it. It’s really great discussion and good, great having you guys on. Background agents are a thing now, and everyone’s building them. We, but we talked a lot about, the production concerns and like, well, why you would want to offer one architecture over the other. Yeah, lots to look forward to.Walden [01:06:35]: There’s a real zeitgeist in the space right now I think, for companies to want to turn themselves into these autonomous coding factories. And yeah, we’re doing a lot to try to support that. And so, any listeners are welcome to come chat to us about that, whether using Devin or working with us.Wrap-Up: Hiring, Consulting, and Agent AdoptionSwyx [01:06:51]: Hiring?Swyx [01:06:53]: what, specifically, just like give like one profile that’s, very interesting.Walden [01:06:58]: I think people underestimate the role of, really high-taste product engineers In this space right now.Swyx [01:07:05]: And the test is, what have you shipped end to end that is A tasteful product.Walden [01:07:10]: If you’ve shipped stuff that you think is tasteful and you’re, and you’re proud of, you should, you should come talk to us.Cole [01:07:15]: For me, any businesses that are looking to further their engineering org, a lot of the consulting I do is around that. Teams who are maybe starting their AI journey, whether that’s with Cursor or Claude Code, but they’re looking for someone to help navigate them through the state-of-the-art and beyond just that initial deployment. As mentioned, there’s a lot of lift from you’ve deployed the background agent to how do we actually get this fully integrated into the company and really realizing the true value of that.Swyx [01:07:45]: Okay. Well, thanks you guys for coming on.Walden [01:07:47]: Thanks for having us. This is a public episode. If you'd like to discuss this with other subscribers or get access to bonus episodes, visit www.latent.space/subscribe
Transcript
Discussion (0)
All right, we're in the studio with Walden Yan, co-founder recognition, CPO.
Yeah, I'm here.
Cool title.
Yes, and a coiner of context engineering?
Yes.
Although I think there are many people who use the terms of various ways beforehand,
but I did find that people, both internally and externally,
enjoyed the upgrade from front engineering or model wrapping into maybe a more thoughtful way to build agents.
Yeah, for those who haven't caught up on that,
I have on screen the Don't Build Multi-Agen's Post,
which you should read on and we might refer to.
And Cole Murray, who created Open Inspect.
Great a beer.
Okay, so let's talk about it.
Everyone is building their own devins.
What's going on?
Yeah, so I think the engineering world is kind of waking up to this idea
of background agents, cloud agents, whatever you'd like to call it.
and I think we saw a shift around the December time frame of 2025,
where the models Opus 4.5 and GPT 5.2,
they reached a capability where we moved away from kind of hand-holding the model
and being able to actually more or less autonomously drive the model.
And what I mean by that is that we could pretty much go from a specification
to a completed pull request,
assuming the spec was good enough, with very little for example.
And that paradigm alone, I think, changed a lot of how we interact with agents and kind of
opened to this world where background agents became more practical.
I think for call, everyone experienced this in December, but I feel like there was just
increasing ramp, right?
Like there was this moment, which was, I think, Sonnet 3-7, where like you guys rewrote Devin
in one night or something.
Yes.
Yeah, yeah.
So describe 2025 or, you know, how it felt for me.
your side. In retrospect, we always thought it was ramping up, but then even now, over the last
three, four months from today, we, it's been ramping up even faster. So it's almost funny to be
talking about how big of a leap on it 3.7 was. And we, honestly, a lot of it was stripping out
parts of Devon that were no longer needed with that jump in of intelligence. But I also just think
that a lot of the recent leaps, especially, you know, you look at models like Opus and late GBT
models, they are reaching levels of autonomy where people are actually finding that they actually
can't just be hands-off and people who were once debating, oh, you know, do I need to be in the
weeds, that's my model, in the IDE, can I just completely move it off into the cloud? That's a more
serious conversation. And we've seen that in all of our growth charts. Internally, there's this
funny graph where our usage has, of PRs, or emerged PRs, has grown 7X since I forget what
I think div maybe tweeted that.
Yeah.
Yes.
It grew like 7X over like the last, I think it was like two months, three months,
something like that.
And then you see our engineering headcount growth.
It's like gone up by like 10% or something.
Like we were afraid to release this.
So this is Devin commit percentages on all Devin repos was 16% in January and now 80% in March.
Yeah.
It's like it's a big shift right now.
And so it makes sense that a lot of people are now thinking about, you know, buying Devon,
but also maybe like, you're trying to build their own.
And there's lots of, I have a lot of fun building Devon,
so I can see why other people want to build their own cloud agents as well.
Yeah.
Well, maybe it's good to hear, like, what industry inspired you to try to build Open Inspect?
Yeah.
Open Inspect came about through primarily my clients observing how they were using tools like Cloud Web,
OpenAI's Codex at the time,
and seeing some of the friction that they were having with it.
Primarily, the Cloud Web was being used through Slack,
and a big issue they ran into
was that the sessions that were launched
were specific to whoever called it via Slack.
And so if a PM was the one who invoked the session,
and they would then go to past context to engineering,
engineering can't see the session.
And that in itself was kind of a deal breaker,
because the PMs, hey, engineering, can you jump in?
But there's nothing to jump in on unless they're copy-pasting out or, you know, the single response that came back.
And so, kind of seeing some of these problems, I had built a similar kind of architecture internally just to experiment with, kind of test out different ideas as this trend of moving off of local host was starting to kind of become.
and as Ramp released their blog post,
I had a lot of the pieces for this RDM place
and just thought it would be kind of funny
to see what Claude could do
just purely from the blog post.
And on my X account,
there's actually kind of a thread
of where I live tweeted like going through this.
Oh, wow.
Comparing GPT and Claude
as both of them are going through it.
Like on the announcement thing or something else?
Right after it got released.
Okay.
We can put it in the show notes.
Okay, all right.
Yeah, it was helpful that I had already kind of knew how to verify the system.
I knew what I was looking for.
I think Graham did a great job of really illustrating the technical aspects of how to build something.
It was much more than just kind of like, hey, we built a great system.
It was, and here's how you can build it too.
And so I resonated a lot with that, just with the problems that I was already seeing.
And I thought that looking around, I didn't really see anything in the open source community that kind of met this type of system.
I think there's a lot that run in local hosts, like Superset, Conductor, and many others.
But nothing that was actually running in the cloud.
And so I built it, and I thought it was interesting to just open source it and allow anyone to then have a foundation that they can mix and match on top of.
So literally after Devon was launched, there was Open Deben, which became all hands.
I don't know if you tried that.
Yeah, I was going to say one of the things that interested me a lot with Open Inspect was like you didn't try to go make it then something.
You monetize.
There are a lot of, I think, these open source projects would then go really try to like raise V-S.
That's why I'm not in open Devon.
Yeah, and how did you think about that?
I thought that was very interesting.
I thought, and kind of just what I had seen across my clients, was that having a background agent system is going to become a critical infrastructure within their company.
And so because of that, I think that I wanted to open source it so that they could fork it and put in whatever customization they wanted.
To that question, though, I get asked all like, oh, you're going to raise, are you going to turn this into a service?
I'm sure you've got offers.
But primarily, I don't want to do that first.
a few reasons. One, I think that I don't want to compete for like $20 a seat. I think that that
is just a really difficult business. I think it's very easy to copy the main pieces of it. I mean,
again, like I built this fairly quickly. And I think because you are not owning, I guess,
the entire stack, it's hard to monetize. You have money being made at the sandbox layer with
Daytona, E2B, many other players. You have money being made at the model layer.
And you kind of sit in this weird in-between gray area where what are you actually selling?
You're selling, I guess, the infrastructure.
You're selling the integrations, maybe.
Let's ask the guy.
What are you?
Well, yeah, there's multiple layers to this in practice.
And actually, it's funny you mentioned the infrastructure because when we got started building Devon as well, we had to go figure out how to make the infrastructure as well because...
You had to build this two years before everyone else, you know?
Yeah, yeah.
Exactly.
Including the morning side.
It was not very polished at the start.
When we just built it off of raw VMs from cloud providers like EC2,
the boot-up time was so slow, I think.
And especially then like turning off the machines, saving them,
and then to be able to bring them back up again when you want Devin to wake up again later,
it would just be out cold for like 10 minutes because that's just how long these systems took.
They were not built for this repeated down-and-up.
up usage. And so we actually had to go do all of that. And as a result, now, one thing we offer
when we go and sell dev in the people is, you know, you don't have to worry about all the
compute set of things. We'll make it work. We'll make it work in your cloud if you wanted to.
But aside from the product, and I want to go into the agents and the tuning of the intelligence
part later. But I think a big part of what we do, cognition as well, is to just make sure that
your company learns and uses and adopts these coding agents.
Because I think for especially the largest enterprises in the world,
you find that there is a lot of people who want to move over to using AI
for the day-to-day workloads.
But because of the way projects are planned,
because not everyone is literate in using AI in these ways,
having a team of engineers who can actually go in and onboard use,
set up all the integrations you need, the automations you need to really get to that level of,
you know, leverage with AI is super helpful. And so we do that. We show up as thought partners to
the customers that we work with as well. So let's talk about like architectural stuff. I think that's always
something that was the topic of the conversation between the two of you. Is this sort of like
the mental model that you want to start with or something else? I, you know, I'll just kind of leave the
floor open to you guys.
Yeah, I think maybe we can start here is just kind of a general, what are the pieces of a background agent system?
Yeah.
And then maybe we can go into some of the nuances of decisions that you can make.
But I guess also, like, maybe what Walden is saying is the agent is kind of like in this open code box, I guess, right?
Like this is infra, and then there's, that's the agent.
And you had this discussion about whether you put the agent in here or externally.
Can you sort of tease that out?
Yeah.
In a background agent systems, you have a decision to make of where the agent is actually going to run.
This is typically described as the harness in the box or out of the box.
With running the agent in the box, you're making some trade-offs by doing none.
The negative trade-off you're making is primarily security.
Because the agent is running in that box, unless you otherwise design it,
all of your secrets need to go into that box as well.
And given the nature of AI, it can be unpredictable, and you could very easily end up accidentally exfilling your secrets or, you know, other kind of unintended behavior.
Now, the out-of-the-box is the idea that we are going to have the actual agent running not directly in the sandbox, and we'll have, quote-unquote, the brain of the agent running in some type of worker control plane.
that sandbox then is going to serve as the hands,
where the brain is basically operating
and making tool calls into that environment to manipulate it.
I guess other trade-off that you're making between the two systems
is that, in my opinion, running it out of the box
is much more complex,
because you have state that has to be managed,
whereas if you're running it in the box,
all of the state of that agent is actually in the box,
and yes, you could persist it.
elsewhere, but it's all kind of localized and you have less concerns to worry about.
I think a lot of that, what you mentioned is why we actually, from the start build Devin,
to what we call it separate the brain from the machine.
The other thing that this allows you to do is reuse any existing infrastructure you have
for dev boxes, perhaps.
And so you don't have to worry as much about making a new type of dev box that
has all the dependencies the brain needs as,
you mentioned the secrets the brain needs as well.
Like one thing that we've seen some customers run into is like you have a GitHub app
and you want devin, your agent, whatever, be able to interact with GitHub through this application.
But then you have different users with different actual permissions.
If they are all interacting through the same GitHub app and there's no actual like separation
between the system that decides what it does and the actual secrets on the machine,
then you kind of run into an issue where, okay, it's hard to do the separation.
But in practice, the Devon is much easier because we just say,
whatever you put on the machine, that is like kind of the scope of basically what the user is free to do,
what the agent is free to do.
So only put the most scope secrets on that machine.
And then the brain is fully not accessible from the machine.
So you don't have to worry about messing with any of the most secure parts of the brain
if the user is free to do whatever they want with the machine.
I was going to just bring out.
I have this chart from Open AI where I don't know if this is like in the box, out of the box.
That is something that they do use to describe it.
And then also recently Anthropic did like manage agents, which is this is their thing.
I don't know.
It's all variations of the same pattern, right?
Yeah.
So this would be out of the box.
Yeah.
Which like is is preferable for them because it's less work?
I would say it's more work.
But it, in my opinion, it is the better architecture of the two.
Okay.
It's just you're taking on a bit of complexity by doing that.
One thing I've not seen a lot of other players do well is how do you manage what's actually on the box.
And this can be complex for many reasons.
Like, let's see, have a big repository that's changing and updating a lot with changing dependencies.
How do you make sure that the working environment of the agent actually stays up to date,
has all the credentials it needs to, let's say, run.
the app and tested and all the things you want your
autonomous. So is repo setup?
Yeah, exactly. So internally, at cognition,
we call this repo setup. The hardest
part of, it's been a perennial problem
is the start of the company of how
do we help people get the setup?
Because not everyone just has, you know,
working cloud environments, working out of the box.
And do you find this to be
a common problem with your clients?
Yeah, this is a very common problem.
And through my consulting, this is
a lot of what I help teams do.
A lot of teams don't
really have great developer environment setups, if any.
A lot of the times it's go talk to Bob and get the secrets,
and that obviously doesn't work when the agent needs to actually set this up.
And so a lot of that, most teams are using Docker Compose or some type of microservices.
And so...
Even in prod?
Not in prod.
Like, with the Open Inspect, you are using this primarily to interact and make code changes.
There is other use cases, but you can...
can hook weather through CLI, MCPs, other tools.
You can then hook that into your production systems, primarily for like SRE type use cases,
but you are not necessarily like trying to test your prod internal microservice through the system.
Yeah, and you mentioned Docker Compose.
I think one direction we saw some of our friends take early on was using Docker containers
as the level of abstraction for their models.
There's lots of reasons I think why Docker containers are not great.
One thing is like Docker containers not really a true security boundary for one.
But the other is like if you are running real applications,
a lot of times those applications use Docker.
And then you have to think about Docker and Docker, which is like really weird.
And so I think part of like the really hard challenge of getting VMs to work,
why did we do that?
Well, it was because we realized that you actually need like full VMs to be able to do these
types of things. And especially nowadays where there's actually value in running the application
and clicking around and sending you screen recordings of these things, like the value just
kind of like keeps adding on on top of that. But it is a decision I see people run into when
they try to build their own systems is, oh, like, do we, like in addition to this, do we put the
agent in the machine or out of the machine? Do we use Docker? Do we use something else? What do you
recommend people nowadays? I think Docker is a good solution.
for maybe not running the agent, but running your infrastructure, because that is more or less
the same setup your engineers are probably already using.
If they're not, then I don't know what they're using, but they're probably already using Docker Compose.
Yeah, I've always had a small candle for web containers.
I don't know if you guys have tried them before.
To me, they were supposed to be like Docker Light.
No, I haven't tried it.
But yeah, I think any environment that you've set up that is a good experience for your developer,
naturally lends itself to being easy to set up for the agent.
And once you figure out kind of that local developer story,
you've kind of more or less solved the agent in a sandbox environment setup.
Open Inspect does have hooks as well where you can run a setup SH script that will pre-install everything.
You can then pre-snapshot that build so it starts instantly.
And then there is a second hook to actually then restore the state of the sandbox
when it comes back.
And so you can already have all of those microservices running
and basically get the same experience
that you would on your machine within the sandbox.
Another thing that we've been thinking a lot about
is kind of like different VM service offerings.
Have you had customers where they needed like MacOS specific VMs
or like Windows specific VMs?
Not yet.
There are like many technologies in the world
that only work on specific types of machines, right?
If you're building a dot net application
that has to run on Windows,
Or like, you know, maybe more commonly if you want to build iOS or macOS.
Yeah.
Does commission support machines choices like that?
The fundamental architecture we do, because we do the separation, it does support.
But the actual work in progress is happening right now on these.
Another thing that we've actually recently added support now for, it's in beta, is doing Android development.
To do that, we needed to support, I think, nested virtualization within our machines.
Because the VM itself is like a virtualized Firecracker instance.
and then you have to then run another Android emulator inside.
And there's like weird performance issues that like, you know,
which is why it's like still in beta.
We have to think through these problems.
But it unlocks a lot for anyone who wants to do Android development.
I was trying to find that like a reference video for the testing thing.
I couldn't find it.
But I think you worked on the testing capability.
Why I call it testing and not like computer use or I don't know.
What's the general category of problem?
Yeah, I think that when people think,
think about the ability of an AI
to run your app and test it, I think
they actually overindex on the computer use part
of it, because computer use
in my mind is the literal
okay, you know a button
you want to click, can you emit the right cordoness
to go click that button?
I think testing is actually a really
interesting
problem solving
challenge for these AIs because
if you wanted to do arbitrary testing,
imagine you make a change that spans
the front end and the back end
maybe, you know, even some other, like, even more deeply nested service.
To actually test that change, we have to reason through what, how do you first run these
applications to all orchestra with each other with the right version of the code, then, okay,
how do I trigger the feature or how do I make the thing actually happen?
And this can kind of get arbitrarily hard.
Like maybe you have to be an admin.
Maybe a certain thing has to be feature flagged on.
Maybe you have to, like, run two sessions and then send us a very specific word into one
of them to trigger specific behavior and figure out how do you do that? Of course, a lot of code-based
context requires a lot of orchestration that we've specifically done. In some cases, we found that
you actually know one frontier model can actually do this full end-to-end task itself. We've seen cases
where we actually had to orchestrate different frontier models together to kind of solve this
problem together. That is where we spend most of our time when we think about this testing problem,
not so much the computer use part. Computer use for what it's worth has gone a lot better with recent
models and it's made that part of the job certainly easier.
Yeah, especially with like even 4-7 that they released yesterday, apparently like way better
in terms of the division stuff, which is going to be encompassing computer use.
Having e-vowals for all these as well is something that like takes a while to build up.
And having the evals be right is tricky as well.
Do you ever see like, you know, clients who are building their own agents have to start
standing up e-vowals to make sure things don't regress?
Not so much e-vals in the traditional sense, but specific to the testing part, that has just gone in.
I just added support for screenshots, and in theory you can also do video.
I need to put in a plug-in to do that, but they do kind of show up natively, and it was a very heavily requested feature, especially after cursor's recording came out.
I think that was very enlightening for everyone.
I think, oh, this is a very good feature to actually have.
I think with Devon, you guys have had this for a while.
Yeah, choose first.
Oh, yeah, see how screenshots work.
Yeah, I don't know if there's anything.
It's super not obvious.
It's kind of like, once you know what feature to build,
you can just kind of prompt it.
Yes, most work.
I think to Walden's point, though,
the computer use is kind of a subset of the larger testing problem.
And I think that that's very specific to the code base that you're working,
and it's not something that, you know,
out of the box that you could just solve it.
You do need the code-based context to actually know how to test it.
And I think in the case of a background agent system,
you fortunately do have that code-based locally that you know what is changing
and could then inspect it and use that to drive the model.
Yeah, yeah.
For those who haven't seen it before, this is an example of how it works.
Like you, after the PR is done, you click testing, approved,
and then it sends you back a video.
What I really like is that it labels, it's very small here, but it actually labels what it's testing.
And then you actually see the cursor and everything.
So I don't know, like, yeah, the engineering in this, they just whatever you want to show.
Because this is like, you know, this is one of those like, oh, few the AGI moments, right?
Because once I look at this, I actually don't need, I wish I can just merge inside of Slack instead of going to get out because I don't need to see the code.
I know it works.
Maybe any future it?
Yeah, the annotations at the bottom was also a big difference for me when I added those.
Yeah, it's just like, what am I looking at? What are you trying to demonstrate?
Exactly. There's a surprising long tale of small details that ends up making a big difference
for this kind of end metric of like how fast do you actually merge the code in.
One experience that we spent a lot of time tuning early on was what is the right experience on GitHub for these tools.
Sure.
Because I think most tools out there when you build the agent,
you'll think about, like, it will create the PR for you.
We try to take that a step further and say,
oh, like, what if we actually made sure you can interact Devon
with Devon directly on GitHub?
And so we made sure that you can comment on GitHub,
and Devin would actually receive those comments and address them back.
But there's actually quite a bit of tuning you have to do here
because you can imagine that actually, like,
we recently have Devin Review, for example.
Devon Review will post comments on his own PR
and then Devin has to then go through.
It answers his own comments, which is really loopy.
So, yeah, I like that it just updates here
that I have commented, but usually it's just me saying,
hey, fix any merge conflicts.
Yeah.
So when Damon fixes its own comments,
you might be scared that,
maybe I'll have infinite loop,
but we've put a lot of work into making sure it doesn't,
both by making sure that the comments are high signal,
but also that the agent is thoughtful about what comments that it really goes and tries to fix and what comments is like, wait a second, I think you're wrong.
Actually, that's one of my favorite moments is when Devin tells me that I'm wrong when I try to get it to do something different.
Yeah.
But tuning that behavior actually makes a big difference in terms of how you just will the actual GitHub experiences.
Yeah.
Yeah.
I think to touch on that as well, I think having the AI reviewer integrated into the system is a critical part of this background system.
Open Inspect does have that.
It has a GitHub code reviewer that you can
control the prompt. It does
do comments as well. It doesn't do
them automatically yet.
The capability is there, but it's not
fully used. So you have to ask for it?
You do, yeah. You can tag it on GitHub, and then whatever you
named your GitHub bot, it will
then follow up on it. It will then
if you have merged conflicts
or whatever you have asked it to resolve,
it will then resolve it. But it doesn't do it
automatically yet. Well, I'm curious,
what is the most
common thing that people end up requesting that they still need on top of OpenSpect when you help them go implement it?
I think a lot of it comes down to actually integrating it into the company.
It's one thing to kind of have the background agent system set up, but if it isn't actually integrated into your larger ecosystem,
it isn't that useful.
I mean, it is useful to be able to kick off sessions, but what we really want to be able to do is hook it into all of our other systems,
whether that is the production database with read-only credentials, the logs, a confluence or internal knowledge-based system.
I think that is where I see the huge leap for companies.
And that can be a challenge for companies as well who are maybe not familiar with exactly how to approach it,
especially if they're in environments that have more compliance-type things where access control can be pretty big.
And how do you deliberately think about these problems?
find to be kind of one of the problems that comes with a system like this.
Yeah, the thing we've found is, so like MCPs, obviously it has been like really big
explosion of, oh, you can go like integrate it with all these different things.
But to actually get the integration right and get the right experience, oftentimes we found
that we had to go build our own ad hoc things.
I think Slack is a great example of this.
Like you could give your agent Slack NCP and, okay, you can post messages,
back to you on Slack. But we actually use Devin, like a coworker in Slack, and that's how it's
been built from the ground up. But to do that, you actually need to support webhooks that come back,
right? And then Devin has to respond in a natural way, and then hopefully don't spam your threats
too much and annoy the people in your company, so you've got to tune that experience just right,
especially when there's a lot of back and forth. We find that we actually had go beyond the simple
MCP integrations in these places. I just pulled out the NCP marketplace. I know this is a fair amount of work.
I mean, is the answer to eventually take first-party control of all the top MCPs?
Like, is that the...
I would love a world where you could have something that's more expressive than MCP.
That kind of like goes both ways, like not just a set of tools, but like a proper system that interacts back and lets it have the right experience with all these interfaces.
So there actually is sampling in the MCP spec, but nobody uses it, right?
And so I think that's the other part is like actually we found that when the MCP spec starts,
get too complicated, it starts to lose its original promise of being like a simple one-step
connect. Then we have to go figure out how to support all these different variations of things.
And it starts to look a lot like just building in their first-party integrations in a lot of
these cases now.
Yeah, I think it matters to how critical it is to your company, right? If this is something
that nearly every session is going through, it probably makes sense to own it so that you
can make optimizations on top of it.
versus just whatever is off the shelf.
Yeah.
Awesome.
Other NCPs, what else?
Sorry, well, I don't know if that's narrowing in too much on integrations.
But what else?
Like what other elements of building Open Inspect or Devin that you guys really sync on?
Yeah.
I think a problem that comes up very frequently is this idea of memories or knowledge base.
Oh, boy.
Yes.
How do you solve it?
So not solved yet as a short answer.
It's something, there's a open issue for it, someone asking about it.
Okay, DeepWiki hasn't indexed anything about memory yet.
How I'm seeing it solved across my clients is primarily through skills.
I find that skills can be a good gap within that or updating Claude MD.
But I think memory as a whole is a pretty unsolved problem,
and it is why I've been kind of hesitant to add it.
I think there is parts of memory and that can be addressed.
but I think as a whole, it's a very difficult retrieval problem.
Oh my god. Ramp didn't write anything about memory.
I see zero search results.
Memory can be quite tricky to get right.
Because it's the retrieval, but also the generation of the memory is that can be really tricky.
Like you don't want it to just like, whatever very specific deal.
Walk us through the Devon memory journey.
Because I know there's been a journey.
The first version of memory that kind of like stuck around for a while was the system we have called knowledge.
Yeah.
And the idea was we wanted to,
wanted it to pick up things over time and not need the user to be proactive about teaching
Devon things.
So, okay, anytime you remind Devin, wait, no, that's not quite the way you're supposed
to use Git.
We actually want Devin to say, hey, do you want me to actually just remember this for the future
and for you to just basically, quickly approve or reject, and for it to build up over time?
Because I find that, like, 95%, I think some crazy style like that of the memories that
Devin has were all through these auto-generate things.
few people actually just want to sit down and write big docs on, okay, here's how you're supposed to work with, the technology, etc. The generation in the retrieval has been something that we've been trying to tune a lot over the years. Generation, like, you don't want it to remember something like, like, if you asked one time to like, oh, please open as a draft PR, you don't want to be like, oh, everyone forever now, you should get their PRs as draft PRs. But you do want some kind of like common bear. Maybe you want to say, like, oh, Cole generally likes things to be created as draft PRs.
Same with retrieval.
Like, you know, if you have thousands of these memories,
how do you actually make sure they're retrieved at the right time?
And that could be quite tricky to do right
without exploding the context of a bunch of useless information.
A surprising amount of just like e-val work
to just make sure that, like, memories remains a reliable system
as new models come and go.
Yeah.
Do you have anything that you could share around, like, memory pruning?
Yeah.
And then, like, kind of the temporal aspect of memory.
Yeah, exactly.
Yeah.
Yeah. Today, the, so the things they could do is it could edit memories.
I see.
And so if your memory used to say like, oh, Cole likes to open everything as like a draft PR, then you can imagine, no, don't do that?
And then it'll say, oh, do you want me to update the memory to be Cole?
Now want everything as, you know, open PRs.
I think that at the same time, we don't know if this is going to be the final version of the system.
whatever we have here
will probably translate
into the new system
that we'll be coming out with
but I think one big difference
between two years ago and today
is these agents are really good
at using anything that resembles a file
system natively
and so part of us
is thinking oh should we
rebuild memories to feel more like a file system
that we let the agent navigate
on its own
that's been interesting exploration
also similar ideas
in the scale space.
I'm pulling up OpenClaw's memory thing right now.
So memory, open claw has like this daily memory journal thing, right?
And you can, I mean, that is a false thing you can kind of grab through.
And is a source of truth?
I don't know if it's the best.
It's probably super noisy.
But at least if you lose something, you can discover it.
Or you can apply some kind of forgetting algorithm to like more ancient memories that don't get recalled again or something.
One thing we've been trying to do to push the boundary.
of how you use agents at your company
is letting an agent
basically have a very similar file
like a memory.md or something
and just kind of like be your permanent PM
for a specific set of issues maybe.
So we have like some Slack channels internally,
maybe a Slack channel dedicated to a specific product
like Deepakie maybe.
And you can imagine that you want a Devon
that never stops.
It's just always awake,
but it has this like memory.
that it can just maintain for itself
about, okay, what are like the number one priorities
of what we have to fix and prioritize?
Who is responsible for some upcoming work?
Maybe they'll even tag, Devon will even tag you
on some recurring basis.
And so it's been an interesting move to see,
okay, how can we actually use Devon for more than just engineering?
Can we actually upstream above an engineering process?
And maybe it's just Devin creating tickets,
which then maybe some humans do,
but then maybe other Devons do.
Yeah.
One of my more fun automations is Go research competitors,
and just suggest stuff to me on a weekly basis.
That's the automation.
I can't find it right now.
But basically, it just like look at competitors and suggest things.
Sure.
And here are three things that you've suggested that I don't want any more of,
and you just kind of stick that in a prompt.
But like, I wish actually, so like when I, for example, when I reject the PR,
I wish that it updated memory so that I can then just not have to go up,
go back and update the scheduled sync.
Yeah, feature request.
You know, what we might change it soon.
I guess Open Inspect, in the time you've been around, has it been anything you tried to implement it,
or then you had to undo and do a different way?
Nothing yet, but something that is on my mind.
The initial way that I built it was that each of the integrations kind of lives as its own package.
And so you have the SlackBot, which is what's handling the web hooks,
and then is basically interacting with the control plan.
As I'm seeing the system starting to be more integrated, specifically with the GitHub bot integration,
I'm considering bringing that all into the central control plane,
because especially now I want to start and a request that I'm getting,
is the ability to monitor the actual, like, pull requests being merged
as well as just kind of tracking of...
Like, what do I have open?
Yeah, what do I have open?
How many of these are getting merged?
How many comments are showing up?
Yeah, yeah.
To just kind of understand the health of the system.
And so in the case of a GitHub app, you only have one web hook.
And so then that's a question of,
Do I put that web hook in that GitHub bot package?
That's kind of weird.
It doesn't really make sense to live there because that package is more for like the code reviewer.
Or do I like centralize it?
So that's something that's on my mind of making that decision.
I think the other one we touched on earlier is kind of the harness in the box versus out of the box.
I think long term the architecture will eventually come back out of the box.
Some of the newer tools that have added are,
calling back into the control plane so that you don't have the secrets in the sandbox.
And so I think long term, I probably will pull the actual agent out of the box.
But I think for now it's fun.
Just a quick question on pulling the agent out of the box.
One thing I'm very bullish on this year is agents calling other agents or spawning subagents or whatever you want to call it.
Does that make it harder or easier?
I can't tell.
Because if the harness is in the box, you can spin up more boxes.
Yes.
The harness is outside the box, then it's less easy because you have a, you know, a unicorn pet of a harness that's like living outside the box.
I mean, in theory, it would be the same way, right? Whether one agent has launched many subsessions within it, Open Inspect, for example, can launch subsessions and actually create other environments and then monitor them.
In the case where it is out of the box, that would basically just be an additional session.
that's running. And so that session is also running outside of the box. It's running in your
worker plane, wherever you're running this. And then you really just have to think about how does
your top-level agent then interact with it. I do think it can be more complex just because, again,
you have now a more difficult architecture. But I think if you figured it out once, it's probably
fine. Yeah. Well, then, I'm just throwing it open to you in terms of like, I call this kind of like
meta devon management
which is like the
Devons calling Devins or Devon scheduling Devons
or querying
trajectories or anything like that
what have you
built or unshipped anything?
I think one of the
surprising things we've
seen is that
a lot of the ways that
these like separate agents
work with each other
and you want them to like paralyze their work
has still mostly
followed the same
manager subagents
regime. And a lot of
people, I think, are excited about this world
where you have swarms
of agents that kind of, you know,
talk with each other all over the place. We've actually given
Devin and MCP so they can just
go arbitrarily message other Devin's
and create new devins, etc.
But I guess
I guess somehow creates like a really chaotic
world in that sense.
And so we've still found
that most practical use on a day-to-day basis.
has been one single event.
Figure out how to segregate the work
and have other devons work on it
in a relatively isolated sense,
each with their own boxes,
not sharing machines.
There's very low room for conflict
is kind of the regime that you have to create today.
I'll call out the experiments from Cursor, right?
This is Wilson Lin's work on single agent to multi-agent.
And you're obviously famously on this item.
Don't build multi-agent,
but they went through the whole thing
only to arrive at this,
which is exactly what Devin has, I think.
I think there will be a revision to that post at some point.
Okay, tell us about it.
I think multi-agents were very much not at all possible a year ago.
You do see more multi-agent experiments today,
but you can kind of argue, are they really multi-agents
or are they just kind of just like tool calls?
You know, like there are people who will create sub-agents
to go look for XYZ file,
X-R-Z implementation.
Has really nice context management benefits
because all of the tool calls and tokens that it spends
then get collapsed back to just the answer for the main agent.
There's a lot of benefits of doing this.
We basically have Devin do this with Deepakie,
make a call out to Deepakie, give you back the results.
But that feels like a tool call.
It's not like these like two collaborators
actually talking back and forth to each other.
But I think the thing that gives me the most bullishness
that multi-agents might actually be possible
is actually what I said earlier about
Devon will actually sometimes tell me I'm wrong and push back.
And I think that demonstrates a level of maturity and communication today
that makes a multi-agent world possible.
Like, one can two agents who have seen different information
come back to each other and actually figure out who is right,
what is the correct implementation?
They're not just, you know, yes men.
Claude, I guess is like used to just say like, you know, what is it?
You're right or you're absolutely right.
Yeah, yeah.
Have you seen
Did you see that Codex app, troll, Entropic?
This is the Codex app.
Inside of settings,
there's a little Easter egg, right?
So if you go to their themes or appearance, right?
There's all these like color codes.
And the top is absolutely,
and it's in Topics colors.
Which is such a troll.
Anyway.
I love that Easter egg.
Did you discover that yourself?
No, it's like someone was tweeting about it.
I was like, is this true?
Because sometimes people just tweet stuff to get a rise out of you.
But yeah, there you go, empathic colors.
Yeah, we're out of this regime where, you know,
it just says you're absolutely right
and they can have real conversations and real back and forth.
Yeah, you can prompt it as well to be more adversarial or whatever.
Yeah.
Okay.
Yeah, to me, that is more intelligence, right?
Like, that is not just something that's like a dumb tool.
It's actually pushing back on you.
Yeah.
You mentioned, of course, the blog posts.
There was one blog they had where they
had a swarm of agents together and built a browser.
Yeah, yeah, I think that was the one.
I think it's the same one.
Yeah.
We found a surprising success of like,
don't do a swarm or anything.
Just have one devon, you know,
does his own context convention.
Just let it keep running for a while and give it some crazy task.
I think we asked it to like rebuild like a Windows OS system.
Yes.
And it managed to do it.
just like, you know, going on for long enough.
Was this Andrews thing?
Yeah, yeah.
Okay.
There are lots of demos that we ended up not posting
because at some point we'd just be posting way too much
a bunch of, like, kind of demos.
But I love that because it kind of shows that
I think the multi-agent thing still has like a bit of exciting sexiness to it,
which is maybe still beyond still like the actual delta it adds to the capabilities of these systems.
But it's absolutely the future.
I think we're heading that direction and we can see.
see the progress being made there already.
Yeah.
If I were to make one super minor pushback
because I don't feel that confident about it yet,
but I've had Ryan Lopopolo from Open the Eye on the Pod,
and he's a super slop cannon, right?
Oh my God, that's my coding agent being done.
I downloaded this like Pion Ping.
I don't know if you guys have heard this.
It takes like sound packs from popular games,
like Command and Conquer and, like, Warcraft,
and it plays it whenever it's done.
And so it's like work, work or whatever, like at your commands or something.
Anyway, what I got from the cursor code base and from Ryan's thing was that there's a slop cannon approach where you try to loosen the single agent's bottleneck.
And I feel like that is like probably a very important thing to try to figure out.
I don't think anyone's like really solved it because then you just have more reviewer stop on top of the agent's stuff.
to try to wrangle it all.
Ryan will probably strongly object that I say that he hasn't solved it.
He thinks he's completely solved it.
But like, I think it's like very important because like that is a bottleneck, right?
I feel deviant is slow sometimes because I'm like, well, yeah, this is very readable and very
sensible, but also it is slower than it could be if I just like, I want a button to just say like
ramp this up 1,000 X parallel and just like see what happens, you know?
And I don't know if that's feasible at some point in the future.
Yeah, we've also run experiments internally
where we've basically tried to build entire products.
Like true products that we knew we eventually ship.
But for now, let's try to see if we can do it
just by purely like vibe coding on top of each other,
auto merge, no code review at all.
And then there's this kind of benchmark of how many weeks
can you go onto this for before you say we have the trashes code?
Actually, reread it from Star Trek.
Yeah.
Yeah, what would you find?
I think we found that the state of the art in December was,
you can probably run this for about two weeks.
By the end of those two weeks, you'd find that, hey,
you want to, like, change a color of a button?
Well, it turns out this button is implemented in, like, 10 different places,
and they're like, yeah, yeah, yeah.
All these different variations.
I know you forgot one of them,
and actually it's a slightly different color in one spot.
I'm like, okay, this is too much to work with.
Let's actually try to do code review at the same time
and make sure that we're on top of our stuff,
we're actually cleaning it off a bit
and making sure it's done in a scalable way.
Yeah, I think building on that,
the idea of like you don't have to look at code,
I think is generally a bad idea.
And the meme that I have for the...
What timeline?
Do you think that statement will be true on?
I think probably for a while,
it'll be true that you should continue to look at your code.
A problem that I see a lot of teams run into
that I work with who are embracing kind of AI
native AI first coding,
is the meme
that I have is that your code base
regresses to your worst engineer.
Because that engineer who is
very gung-ho about AI
and is not auditing their code,
their patterns start cementing
into the code. And now the AI
is referencing their patterns.
And so now their if-else
block that, you know, is 20 if-else is back
and forth, the AI is seeing
that as the pattern of how things are
done and starts to then exponential
financially grow this slop. And I find to your point, a pretty good approach to that is having
scheduled cleanup, whether by humans or through systems that are looking for duplication,
they then address that. You'll end up with like 12 helpers for how to form out of date.
And you need to address that because otherwise it will continue to sprawl.
Within balance, I think it's fine to have some duplication and then sometimes they have a garbage
collection, right? Yeah, what I've been talking about with a lot of
engineering leaders is that you want to be very strict about the boundaries between modules.
And it's your job as an architect, as a CTO, whatever, to say like, okay, here's the hard contract
between you guys and you guys. Whatever you do inside this black box is your business,
you do whatever. But like, between these guys, that's be like really damn clear. And any
movement must be signed off by human or me. You know, and like, that's that. That's that. I don't know
if you have any other modifications or advice. Well, I guess generally on the topic of like where humans can
be useful. I found that some of these really deep info problems, sometimes just having a
human that just has like really deep expertise can make a big difference. I've actually seen
this coming to play when actually building agents. So we've had a few friends now try building
their own coding agents. And I think one same problem that I recurrently heard a lot of them run
into was this problem of like, oh, like, you know, grep is really slow on our agent's
machines. And so a lot of them, I assume because they're using AI and they themselves don't have
like super deep infra background knowledge, say, okay, we're going to go build our own custom
Grepindex. It's going to be really fast and use that as a way around this problem. When we ran
to this problem about like, you know, maybe like a year and a half ago when we were in the early
days of building Devin, we obviously didn't have AI that we just asked though like how to have
this. You could just slap up a new Grepan deck. So what do you mean you hand-coded David?
What?
Yeah, it's like, can you believe we hand wrote this code?
And we had an, our info people who are really amazing.
They were looking into it.
They're like, oh, you know what?
We realized that actually the root causes problem.
It's actually super simple, but like fine-grained detail,
which is that a lot of these virtual machines actually underlying them,
don't use real file systems.
They use these like network file systems where things are actually cached over the network,
actually in S3.
So when you're grepping, you're actually making network calls.
every time you're doing these things.
And that's why Grette is extremely slow on these machines.
And so, again, goes back to, you know,
what is all the crazy info work that we had to do
to actually get these machines working?
If you try to do this yourself, you know,
there are tons of small details like this.
And so we had to eventually go swap out that network file system.
Yeah, I think there's a right up about it, right?
So I listed.
One about the virtual system.
Oh, that's a whole other thing.
That's a different thing.
The block-diff file storage format,
which is a file system format that we built
so that the VMs could be,
spun up and down very quickly.
Basically, the intuition behind this is,
imagine you have, like, a terabyte of disk
and your agent only, like,
roll, like, 100 lines of code on top of that disk.
How long does this take to, like, save and re-bring up that disk?
And most systems, because you're not optimizing for this case,
it's just, like, on the order of a terabyte of work,
because, yeah, like, save all of that and bring you back up.
In our system, we try to build a file system
that incrementally builds on top of each other.
So every time you save and bring the machine back up,
you're only doing work that is proportional to effectively the diff in the file system.
And so this, you know, shaves off a lot of time in the boot-up process of Devon.
I think this is actually now outdated.
We have a newer system inside of Devon.
But, yeah, there's a lot of tiny details you have to get right here
to actually get the day-to-day experience of Devon to be good.
It's like not technically agents, but it is Agent Infra.
And when you sell an agent as a company, you sell Agent Plus Agent Infra.
Yeah.
At least the way we do it.
And the nice thing about having the agent in the agent of being done together is,
you know, you, we kind of get to deploy Devon in whatever environment we want now.
We don't need to wait for some underlying infram provider to also go and support VPC or on-prem or FedGovCloud, for instance.
So we can actually go and figure out, okay, since we're on the infrastructure,
how can we get that set up for you?
Yeah.
Where's your, you're a Cloudflare dependent?
So Cloudflare runs the control plan.
the sandboxes,
modal is supported.
A contributor just added Daytona.
E2B is on the roadmap,
and I think there's an abstraction in place
that if any contributor wants to add a new provider,
they can add that in.
Yeah, yeah. Amazing.
How are the customers you work with,
do they generally try to then go set up a contract
with another one of these third-party providers?
Do they try to do the VMs in-house?
Most of them I see using modal.
I think modal has a great...
Shout out modal.
I think modal has a great offering.
It kind of captures all of the sandbox pieces you need,
snapshots being a pretty big piece of that.
And given that they also offer GPUs,
I think it's a pretty nice offering as a whole.
Yeah.
No debate there.
Modal is great.
Especially, I think the container offering is like the most natural.
And so especially if you are willing to, you know,
forego like the full VM,
requirement as Modo is like a really vast place
you can kind of spin something up on.
Yeah. Is there a point?
So Modos vary Python.
And I feel like most workload
has really shifted to JavaScript.
I don't know if you guys get the same feeling.
Like so, okay, when I started Landspace and AIE
and all these things, I was like 50-50 Python and JS, right?
Like that's roughly.
I think that's wrong now.
I think JS has won.
I don't know if you guys, like maybe I'm overstating it.
And maybe for cognition, no, no,
there's like C-sharp and Java and what have you.
But like for like new greenfield apps, do you feel that, do you get that sense?
Does it matter?
I think that most of the libraries that I see in the space are Python native first,
especially in the observability space.
That said, I think that there is a pretty big appeal of having your entire system in one language.
Especially when you have both your front and then back end communicating,
you can have one central type, which is very nice.
Yeah, that's my case against modal.
Because then you have to run
I mean you can run JIS inside modal
It's just like one extra step
That like isn't native to the runtime
I don't know if yeah
I don't know reviews
Do you have numbers?
The one thing I don't like about Python is whenever
AI whenever it's Python
It always does like the weirdest patterns
Because it's like mixing two and three or what
I think it's something mixing two and three
Yeah like the I don't know if you see this
I always try to do like has attribute on objects
It's like yeah, it's like sure yeah
But you shouldn't be doing that.
Like, it should error.
Because it's training on library code?
I think it's more of like, from what I've seen,
it's more of like a reward hacking mechanism where it doesn't want to basically.
It doesn't want the code to fail.
And so it,
even when it knows it has the attribute,
it'll call get atcher on it.
And for a lot of my clients who have moved towards more kind of autonomous coding,
we've put that in as a lint rule.
Yeah.
That if you do get acher, your pull request is going to fail.
Oh, this is a fun topic. Can you tell me more like this? What else is AI? It's a good sign of AI coding that you have to put guards in.
So we were talking just before this about Opus 4.7. One of the things this new model likes to do is it writes lots of comments. Not like, you know, it'll like comment on every line, but it'll write like paragraph like PRDs on top of every function.
But I will say to its credit, these aren't slop, you know, just.
descriptions like they were before, like, oh, here's what this function does.
It's like, oh, here's actually the reasoning and why we chose this approach and what the alternatives were and why we shouldn't do those alternatives.
Like, still too much information.
But I wonder if this actually might be directionally correct if you want systems that can self-maintain themselves in the long run.
Oh, they write their specs in line.
Contacts in the code as well, yeah.
So you approve?
But it's the same time.
I mean, it's this tricky problem.
Like, maybe we'll just give our users, like, a setting or something for, like, how verbose
you want it to be.
I haven't loved it.
Like, I'll have to, I just, I like the comment, but please, like, get rid of it.
Yeah, yeah, yeah.
But I could see a world where maybe something of the sort becomes reality.
I don't know if you guys know about Git AI.
Yes.
Yeah, so.
We've talked about it, yeah.
Get AI, the idea behind it is that if you run an agent, the actual prompts he sent to the agent,
should be stored alongside the code
inside the Git metadata
so that future agents can reference it
maybe code review bots can reference it
and it's kind of an ideal world
where you know your context for why
decisions are made constantly lives
beside your code
and so it's like maybe a more hidden version
of this like right mass of PRD
for every comment sort of approach
yeah I'm waiting for the
real bull case where we just get rid of Git altogether
I'm not there yet
but I'm looking for it because that will be a big shift
kind of on the topic of
like visible slop a pattern
that I see a lot of cross GPT
model specifically is backwards
compatibility at all
cost where it's doing these
weird import exports so that it doesn't
have to modify
the names of where the modules were
and I've seen Claude
4.6 starting to do this as well
oh no and again I think it kind of
is this like reward hacking behavior
where it doesn't want
failure to occur and
you can address that through like SemGrap or other tools where that behavior is pretty easy to identify.
But it's something that you kind of only learn through the trade of just seeing code patterns.
Untyped tuples are a really big problem of just like, again, just throw any in there, like, dick, string any.
And again, you can address those through linting.
Awesome.
Yeah.
So like linting, any other tools, dev and review, of course.
Not so free now, but, you know, still use it.
One thing that I think we try to recommend teams as they use more AI agents, it goes back to
this local testing thing.
In the end of the day, you want your agent to build do the full thing, not just write the code
but actually run it and test it.
And a lot of code bases were not necessarily built for this from the start.
For example, you probably do want a local DB setup and local docket compose and Postgres
in order to have it so that you don't need to give your agent any crazy product credentials
to actually run and test its code.
We've also internally done a big shift
to make a lot of our core components of code
testable as purely local dev
without needing to integrate with any live services
for this reason.
And obviously, the older the company,
the more you have to change to shift in this direction,
but you know, you can use AI to help you perform this migration.
The older the company, the more you have to change
in order to do local dev?
I think so.
Or am I misunderstanding?
So you're saying most people just build with full integration to all their stuff and there's no code path to switch it to local.
Especially in like when there's like lots of different services and you have like microservice architecture,
making that shift the larger the code base, the harder it is.
I guess if you did build it correctly from the very start, think it could be possible.
But also like a lot of companies in the world that got started before Docker was the thing.
And so you're kind of forced to make a migration at some point.
Well, Devin's very good at making mock servers.
Yes.
And one of the projects
that I really want to,
it's like Little Snitch.
I don't know if you guys have heard of this.
I run Little Snitch.
I don't know.
It's like a man in the middle,
but it like shows you all the traffic going back and forth.
But then from there you can kind of reconstruct the server.
Right.
And then they create local mocks.
So you can local mock everything if you just observe traffic for a little bit.
Yeah.
That's an interesting idea.
Cool.
I don't know if this will get anywhere,
but I wanted to maybe talk a little bit about
the Cloud Code leak, because usually if I have an anthropic person on, I can't talk about the
Cloud Code. Did you guys learn anything from Cloud Code?
I'm not that interested in the league. We didn't spend that much time on it, surprisingly.
I'm just fishing for... No, I didn't really research too much into it. Fair enough. Okay,
one more last thing before we go. Windsor 2.0, you guys shipped another thing. So,
Yeah.
The sort of meta context is you use background agents enough.
Sometimes you're going to want to bring them to foreground.
And that little handoff from local to cloud is hard to work on.
And Devin has, or cognition has just done it.
Yeah.
I think for me, the biggest gap this is trying to close is, again, how do you make the testing process as fast as possible?
When it can test on its own and send you a video, it's freaking magical.
Sometimes there are just really difficult things that you do, just need.
need to like pull down locally. Yes. And, you know, we just want windsurf to just kind of be
your local command center of all your agents, like your background ones, your local ones. And
you imagine, oh, okay, this agent needs me to review something. I'll pull that down, move my other
agents to the background, go test it. Okay, boom, done. On to the next one, right? You have some
issue you got to fix in the background. Just click, like, approve. Okay, set or start a background agent
to go fix it. I'd love a world where I'd have to leave this window. You know, then maybe the other
window, I got to figure out how to stop spending so much time in Slack, but maybe, you know,
someday we'll want to get those two.
Yeah.
And like, does that require the binaries to be exactly the same for local versus cloud?
So the funny thing here is that the behavior between local agents and cloud agents, I think
that is actually a bit different in their ideal state.
I think local agents, you want them to be a bit more fast and let the user make the call on
things, actually don't try to autonomously go test things.
The background agent mode, where you go start it off,
I think the agent should just assume the next message I send a user
should just have everything that the user needs for me
and not run and keep running and don't stop until you have the testing.
So that's just a slightly different prompt.
Yes.
But for many reasons, because of all the work we do to make sure that Devin works
with different Git providers, that it works with different OSs and VMs,
like we want as much of that logic to be shared.
as possible. So for our own practical purposes, we try to share as much of it as possible.
Yeah, yeah. I mean, I can't imagine how much work it is to, you know, transition back and
forth. So congrats on shipping this. Okay, anything else that we should cover before we wrap,
just whatever you guys were talking about in your lunch. Maybe like use cases. What are you like,
do you find to be like the biggest things that your clients are trying to do with their
cloud agents today? Do you want to just ask it again so we can get like a clean cut?
Yeah, who's drinking his water, yeah.
Yeah, the thing I wanted to talk about was use cases.
What do you think are the main things that your clients come to you today about, hey, this is why we want to go set of cloud agents?
Yeah, I think the easiest and most common use case I see across everyone is SRE use cases.
The idea that whether we have our alerts in Slack or Datadog or wherever they're going, we want the agent to be the first responder on that.
and that doesn't necessarily mean that the agent is actually resolving the issue,
but just being able to collect that context ahead of time is huge.
Because again, that agent is integrated into the production logs, the database.
It has full visibility and overtime playbooks as well for how to address certain issues.
And so that's a huge win for teams because instantly you can have a full trajectory of what is going on within the system.
And oftentimes, actually, a pull request directly from that, which is a pretty neat.
flow to actually experience of like error pull request done. Open Inspect does support a trigger
for that as well so that could happen completely autonomously. From data dog specifically or just?
It supports Century, it supports a generic web hook and if someone wants to add data dog they can.
Yeah. The other use cases that I see are for kind of non-builder use cases, whether that's the
PM or the marketing team. I'm seeing a lot of teams where the idea of who is actually contributing
code is starting to change. And in a lot of cases, the PM, if there's just a quick bug fix,
the PM is not creating an issue anymore. The PM is just prompting through Slack and the
pull request is then being created. And so I think that that's a huge wind. I think that that trend
will continue where we're seeing code modifications happening outside of engineering. The last common
use case that I see is customer support. And so where they're experiencing an issue with a customer,
they're not entirely sure why this behavior is happening.
Previously, that world was,
hey, there's a bug when they tried to use this feature.
We don't know what's going on.
Well, they're now tagging that in Slack.
Again, that entire full context is ready.
They can then just tag in engineering
and have a complete understanding of that issue
and completely bypass kind of the previous pain points
of like, oh, can you get more information from them?
The only things I'd add on top of that,
I think I've seen is like continual security scanning
Continual Security Review is a very big one as well.
The SRE use case, internally, we think about it as auto triage
because we just want every message that comes in
and that's an alert, that's a bug report,
to have Devin to start triaging it before anything else.
And we've leaned into this use case so much, though,
that we've basically tried to make it
so that you don't ever have to leave Slack to interact with this.
So again, making the interactions with Devin superfluid
from the moment the report comes in to response to report
and be able to ask questions right there
with full code-based context about all the issues.
Very related to customer support as well.
I think one thing that we found is
CILIs can sometimes be very difficult
for people who aren't technical to go and use.
But, you know, an online chat interface
that anyone can go and ask questions
and is super intuitive
and doesn't assume you have any technical knowledge,
but does have access to all parts of your code base,
super useful for support, for salespeople,
anyone who might need to have their questions answered about the codebase.
Yeah, great call out.
This might potentially be like a very expensive use case.
Is there like a rule, sense, a rule of thumb on like how much people should spend on this?
Because you have unlimited budget, but like not other people don't.
You know, like, I don't know if this is an answerable question because obviously it depends on like a lot of factors.
But it's like, I think it depends really on how people are using it.
I think if people are using it.
it responsibly and they're getting value from it,
then you can kind of determine the budget.
Common numbers that I hear are anywhere from a thousand an engineer
up to 5,000 an engineer.
Yeah.
I have not heard anywhere in the realm of like 50,000 an engineer
for a frame of reference.
We'll get there.
Yeah, I've seen numbers go that high for sure.
I think that this is also, I think,
going to be a big theme of the coming year
is we're going to see very expensive,
very smart frontier models.
And we're also going to see people who say, you know what, I don't need the frontier anymore for a lot of the work I do.
Because the sub-frontier models actually are good enough for a lot of the work.
Also, shout out you'll pioneer smart friend, which is a mix.
I'm really interested in a world where you basically have hybrid frontier and sub-frontier systems,
where you use the sub-frontier part to be really, really fast, really efficient,
and call out to the frontier part of the system so that you can still get frontier performance for the most part.
Yeah.
I'm trying to search, but Twitter search is like completely broken.
Like it's like the from field is just completely gone.
It's very sad because I really are.
I might have to make a new post at some point about the return of smart friend.
Yeah, yeah.
I mean, Anthropic is not officially adopted it.
Yes.
Okay, cool.
I think that's it.
Like, it's really great discussion.
We're great having you guys on background agents are, I think, now.
Yeah.
Everyone's building them.
we talked a lot about
the production
concerns and why
you would want to offer
one architecture over the other
yeah,
lots to look forward to.
Yeah,
there's a real zeit guys
in the space right now,
I think for companies
to want to try to themselves
into these autonomous coding factories
and yeah,
we're doing a lot
to try to support that
and so, you know,
any listeners are welcome
to come chat to us
about that,
whether using Devon
or, you know,
working with us.
Yeah, hiring?
Yes, of course.
What specifically, you know, just like give like one profile that's like very interesting.
I think people underestimate the role of like really high taste product engineers in this space right now.
And the test is like what have you shipped end to end that is tasteful product?
If you ship stuff that you think is tasteful and you're proud of, you know, you should come talk to us.
Yeah, for me, any businesses that are looking to further their engineering org, a lot of the consulting I do is around that.
teams who are maybe starting their AI journey, whether that's with cursor or cloud code,
but they're looking for someone to kind of help navigate them through the state of the art
and beyond just that initial deployment. As mentioned, there's a lot of lift from you've deployed
the background agent to how do we actually get this fully integrated into the company
and really realizing the true value of that. Yeah. Okay. Well, thanks you guys coming on.
Cool. Thanks for having us. Thank you.
