← Library

tools · youtube · 15 min

Exo: Recursive Self-Improving AI Agent Harness

Latent Space (swyx) · Aug 24, 2026

YouTube video: Exo: Harnesses should see their own code and logs — Alex Krentsel, UC Berekeley / Google Research Channel: Latent Space (swyx) Published: 2026-08-15 URL: https://www.youtube.com/watch?v=5lFD-34dhqE

Description: Exo is a systems approach to recursive self improvement. In short, it's a complete AI agent harness (supporting tools, tasks, integrations, etc. similar to OpenClaw, Pi or Hermes), with the crucial difference that it has full visibility into both its code and runtime logs. This allows Exo to incrementally improve every aspect of itself, clone itself, and even manage a lineage of clones.

While most agents can do some form of self improvement, such as updating memory or creating skills, Exo is fu

Transcript: Okay, we're here in the remote studio with Alex Cransel, I guess, of EXO, but also UC Berkeley. Welcome. >> Thank you so much. Happy to be here. >> The reason we're recording is because I had to when you showed up on on my timeline. I I didn't know that you had already showed up before. This is this goes to show you how much uh persistence there is on YouTube. But like I actually had watched your lecture and then didn't register your name on OpenClaw. >> That's cool. Yeah, maybe I probably should have said it a few more times or put it in the slides. I was so focused on just talking about the architecture. I didn't go to pitch myself. >> Yeah. But also like maybe like your face on there, but also you know just like other other work. But uh you know that's all that's all of a of a piece. Um most recently you you showed up uh working with two of our former guests on Leon Space uh Martin Casado and Anker Goya. When I actually talked with Martin on the podcast, he actually said that he was hacking away with you and he didn't like because I he was like, I want coding so much and I was trying to call out like you know this this VC pretending that he codes. I was like you know what are you doing man and he was working on this and now you've announced it. So I just wanted to give you the floor to talk about the exo story and then we can work our way back to whatever other background that you want to do. >> Yeah, for sure. Thank you. I mean, I'll start by saying, yeah, I I've been building this with with Martine and Encore. They're both really excellent systems thinkers. As you might know, Martine's background is in a PhD in computer science. Actually, advised by my adviser, my PhD adviser, Scott Anker, at Berkeley. So, that's kind of our shared lineage. >> Shared shared lineage. Yeah. He was my board member when I was working at Nellifi and I was working I was learning about uh you know, virtualized networks and all those things. >> Yeah. Yeah. We're kind of come from systems backgrounds. My background is fully in systems and I'll talk more about that later. But just briefly to introduce EXO so we're all on the same page. In a nutshell, Exo is an agent that's fully recursive. So it's able to safely edit all aspects of itself at runtime to kind of get better at the task that it's working on. And it's enabled by this very kind of minimal but opinionated harness architecture that splits out different pieces of what an agent is today into components that can be safely isolated from each other and thus safely evolved. We can talk much more about how it does this, but you should think about it as an agent that really does full recursive self-improvement. Um, and I think it's really enabled today by the fact that we're we're entering a new layer in the like ML stack in my mind where up until recently we've still been really focused on trying to make models better at what they do. And when we say models, we're talking about the weights. You are training the model. First it was large pre-training runs. Then it became find kind of applying fine-tuning to these models to get them good at a particular task in their thinking. I I think the shift over the last year to agents has made us much more aware of the power that lies in the harness, the tooling, the body that we provide to the brain of the LLM. And the shift that's happening now is we're really entering a space where we're starting to realize that as we tweak these harnesses, they're get really good at particular tasks, either better at doing them or more efficient. So doing them with less token calls, less usage, driving cost down. Costs are a huge concern right now because frontier models keep getting more and more expensive because they're larger, they're harder to serve, they require more GPUs, etc., etc. And so the project came from I've spent the last year or so of my research at Berkeley on discovery systems. So AIdriven discovery, right? This project come out of the sky lab at Berkeley called Sky Discover. And it was this outer loop that tries to optimize and improve in a system. And what I got really curious about was how do we take this to its extreme? You have some outer system that's optimizing some inner system. What if you want to optimize the way you're doing your optimizing then you need some outer outer loop and it's this infinite recursion out and the only way I think out of that is to collapse that loop down and make it so that the system itself is responsible for improving itself which I'm calling to collapse the loop. So it's very different than having an outer observer that's looking and trying to make changes to the other system as it's running. I want the system to be able to change itself at runtime. And this is the the kind of thesis for Exo. >> Yeah. And I'll maybe add a couple pieces of commentary here. Uh the first people to realize this was probably the PI openclaw people, right? Uh where they were like, well, the the harness should modify itself to to add whatever capability you need, but it is not fully self-reursive in the way that you envision it. Second of all, so so we can go into that and you've already done an open call lecture which which I'm going to link to in in description that people should see and we can cover a bit of that if if it's relevant to this conversation. Uh the second of all is I haven't followed this at all my for my stuff. So so uh for for my two companies I have an internal bot that does work and I have an external bot Devon that modifies the internal bot. It doesn't the internal bot has no ability to modify itself. And I kind of like that separation to be super honest of like okay well now this is like the pseudo do things and then there's do things and then pseudo do things right like um the the difference obviously is it is not magical. It it is like uh you you drive the car then you open the hood to to to modify the car if you need but most of most of the time the the hood is closed. Uh and so then the question the push back is like when do you need that AGI feeling of like wow it just modified itself without me asking. So those would be my two commentary pieces there. Wherever you want, >> they're great points. Let me touch on both. So OpenClaw came around and took off in really took off in February. And I think you're right. The thing that OpenClaw really discovered was how to make an agentic system that feels magical in that it kind of adapts to your workflow. It is adaptable. But I want to point something out. It's adaptable in a very particular narrow way. So if if we were to go and look at the architecture, there are particular places where the open cloud folks in the architecture have made it extensible. Those are one the one dynamic way super dynamic way is memory. And all of these agent systems have some sort of memory. Literally it is a memory MD file somewhere. There is a markdown file that things get written to. It gets injected in context every time the LM you know is constructs like we construct a call to the LM and we can edit that file. That's the main super dynamic way. Otherwise, OpenClaw exposes these places where you can extend it. You can add skills. You can ask the agent here, look, go look at this skill, please add it. You can add tools. And by the way, this is very often kind of driven by a human. A human will come in and say, hey, I want a skill for this. Let me go install this skill. And then ask OpenCloud to do this. And so it's it's absolutely selfimp it's absolutely improvement and extensibility. And memory is a form of self-improvement. But there's so much more going on inside of these agents. What is an agent? By the way, I think it's worth getting on the same page. Everyone has I'm sure your audience knows very well about agents, but having a shared definition is important. I think about an agent as an LM call that is wrapped in machinery that's used to construct context. It's really a big context construction machine and also it provides a way of executing actions. So part of the context is here are the things I can do and the LM can say please go execute this this tool or this action and the agent is responsible for actually taking that action and then reflecting it back. the machinery for constructing that context. All of that I call policy. And so what goes into policy? It could be how you assemble the actual LLM call. Do you take the last 10 messages in your history or do you take the last 100? That's going to be more expensive but provide more information. Or do you take the last 10 messages and then a summary of the previous 90 which is how we think about compaction etc etc. These are all policy decisions that are static that are defined for openclaw or for pi or for cloud code if you look at their source code. And so that is the kind of that is the policy of what an agent is, the tools it can use, the skills it has, how it includes them in its context, how it constructs context, anything about the actual agent's code, which is what Exo sets out to actually make fully recursively self-improving. It's not just certain points where you can insert additional skills. It has changed the very machinery of what skills are for your job. >> Yeah. And the policies that make it up. Uh I I was just wanted to if if actually we should have been screen sharing we might we might have used uh some charts that this might be appropriate time to pull up the a little architecture diagram. >> Totally. Let me actually bring that up. It'll be easier to talk through. So just in in here we can see and this is again from the my lecture on principles of autonomous system design which was really a deep tie on openclaw because deep dive on openclaw because it came out uh you know a couple months a month or so before I started working on exo but you can see in this architecture the core layer of this of what open is is this kind of gateway controller uh there's a bottom layer that has the actual context assembly and there's a top layer that has connectors which is how you interact with it. And I've marked here in red the parts that are plugins. There are places that make this customizable. Let's say for your particular task. If you want to manage memory in a different way, let's say that you're working on something that is you're doing some sort of development that's looking at a whole bunch of sets of different docs, you might want in your memory the docs for a bunch of different projects, but you probably you might want to run rag over them to fetch the most relevant ones to include in the context. And so this memory plugin allows you to say here's a different way of storing and indexing your memories. Great. A human comes along and sets that. Or there's tools and you can say here's an additional tool I want to give to my my open claw or skills. And there's all of the uh like clawhub uh sites that list out a bunch of tools or skills that you can install. This is all still a human coming in and modifying and you can come and say please install this this tool for me. But the shift that we're trying to make is all of the other things that are not read here, all of the connective arrows, all of the components, we believe all of that needs to be improvable by the agent, especially as the agents keep getting better because as they keep getting better, it's it's this bitter lesson. You don't want to over specialize because you don't want the human kind of deciding all these architecture bits. As the model gets better, it knows how to architect the agent in a way that's most optimal for the given task. So that's kind of the shift. If I were to put EXO's architecture next to this, I'd say I'd put red lines around all components here and say they are all changeable by the agent itself. >> Yes, this that's the most extreme version of what this does. What was the other question you wanted me to talk about? Do you want an explicit switch or an implicit switch is basically the question, right? Like implicit switch is the most like trusty AGI to figure everything out moment. And the explicit search is for people who don't trust machines to >> to figure things out. >> I will say and then I'll go to discuss the other architecture. But I do want to touch on this now while it's still still top of mind. I'll just point out you are still trusting a machine when you have an outer separate agent modifying the inner agent. It's still not you making the changes, right? You're maybe helping direct it, but you still have to have the same trust in the machine that's making the changes. The question is, do you have an external system that that inspects an internal system or do you let the running system itself inspect itself? And the cool thing that when I when you merge the two layers together, the cool thing is that the same thing the same system that is make deciding to make changes is also deciding what to run and also deciding what to inspect. And so your system itself can try things and look at how it does and how it's in in its own internals perform and make changes to itself as it runs. So you could say and I can give you a really good example. We've had Exo running playing playing Pokémon and while it's running the system itself decided to try inspecting the like RAM of the game and then went and mapped the RAM to and and people have reverse in the past people have reverse engineered this manually. They figured out what components in the memory map do different things in the game. So there's like in the memory there are certain places where you store the positions in the world, the Pokémon that's currently active, are you in a battle or not? Literally booleans in in the code in the memory. And the agent was able to modify Exo was able to modify its own integration with the game and feed this into the system message to better inform its decision-m as it progresses. An outer loop would have to kind of like think about that and potentially try a design, tell it, launch it, see how it does, reflect back. If the system itself is evolving, as it makes changes, it can inspect things and use that inspection, runtime inspection to inform its design process. So I think it's a more powerful way, a more fully expressive way of doing self self-improvement than an outer system. That's >> Yeah, fair enough. >> Okay, now maybe let me talk about I I'm happy to talk through the exo harness exo architecture if that's useful. >> Yeah, let's do it. >> Yeah, >> I we love we love a good architecture diagram in on this pod. Usually I'm the person drawing it on a scarlet draw. So this you actually saved me a bunch of uh work here >> by the way. So you know for context right I don't think I mentioned this earlier. I I'm a PhD at Berkeley advised by Sylvia Nasami. I work with Scott Shanker and Yan Stoka and I'm coming strictly from systems. I started my PhD before chat JPT really took off and I was a core networking person. So I'm a I have done my work kind of in core systems designing wider network architectures for SDN controllers um just how you decide what path your data takes through the internet and then I do formal verification for networks and I've kind of come from a

[transcript truncated]