9 Jul 2026 · 47 min
Hamza Tahir, co-founder of ZenML, explains why today's AI agents fail in production: no state persistence, missing checkpoints, unpredictable tool failures. ZenML's new product Keteru adds checkpointing and replay to make agents durable. The shift from static pipelines to dynamic agent graphs at runtime demands robust infrastructure and model-agnostic harnesses.
Chapters
Welcome to the Practical AI Podcast, where we break down the real-world applications of artificial intelligence and how it's shaping the way we live, work, and create. Our goal is to help make AI technology practical, productive, and accessible to everyone. Whether you're a developer, business leader, or just curious about the tech behind the buzz, you're in the right place. Be sure to connect with us on LinkedIn, X, or Bluesky to stay up to date with episode drops, behind-the-scenes content, and AI insights. You can learn more at practicalai.fm. Now, onto the show.
Welcome to another episode of the Practical AI Podcast. This is Daniel Weitnack. I'm CEO at Prediction Guard and really excited for today's episode because it fits right in the theme of our show, which is practical AI focusing on some things that are actually useful and practical. Have with us today Hamza Tahir, who is co-founder at ZenML, and they have a new product, a new project out, Keteru, which is focused on agents and making agents durable, which is super interesting. And Hamza is joining us today. I think you are out at the AI Engineers World Fair, right?
Yeah, I am. It's like 7,000 people, all of our crowd gathered in one small like big hallway. So it's, it's just fantastic to be in San Francisco when the energy is so high.
Yeah, that's, that's awesome. Always, always inspiring and, and really cool to see also growth in that from Swyx and, and others who, who've really built up an amazing community over time. Friends of the, friends of the show. So if you haven't checked it out, go ahead and, and check out what they're doing over there. But yeah, excited to dig in today, uh, Hamza, maybe just, uh, to, to set the stage. I know you're co-founder of ZenML, there's kind of some background with that project and product around MLOps. Now you're getting into agent, agentic things. I'd love your perspective on maybe first off kind of the world that you have been inhabiting around ML and ML pipelines as now we're all thinking about agents and generative AI and all of these things. Like what, from your perspective, before we get into agents specifically, like what role does the more traditional ML models, training pipelines, et cetera, play in our world moving forward from your perspective?
Awesome. That's, I think, a great one to start with. And thank you for inviting me on the show. Appreciate the opportunity. I co-founded ZenML. About 5 years ago. So this was really almost at a point where MLOps was really reaching fever pitch on, you know, there was all sorts of chatter about how to productionize AI and machine learning workloads. And I had done 4 or 5 years of that in my previous job where I was co-founding another company trying to deploy ML models in disparate compute backends and all over especially out of Germany where I'm based. So, the, like that led me to, you know, like having a framework internally that we used that you could write workflows and DAGs and you could deploy them on these different backends. And that turned out to be ZenML. We open sourced it. We got a bit of traction at the beginning and a few projects and revenue and we raised and that's been the story so far. And smack dab in the middle of this from then, From then to today, we have— we had the agent renaissance and it felt like— it felt a bit funny because in MLOps it was like DevOps reinventing itself. And with agents, it's like MLOps reinventing itself. And at the end of the day, it comes down to these very basic principles of how to write good software engineering code that runs non-deterministic code in a way that's safe and reliable and retryable. So I think if anything, even if you throw away every other tool that we ever used in MLOps, The principles and the learnings that we took from productionalizing these applications at scale still translate and are being rediscovered even at the AIE World Sphere. I sometimes hear talks. I'm like, I seem to remember I've heard this talk before in the MLOps conferences. So yeah, I'm happy to chat deeper if you're interested in a particular—
it's interesting, like you're talking about the workflows, DAG pipelines, there was very much this phase, and at least this is how, how it occurred to me. I don't know if everyone had this perspective, but there was this phase with generative AI around like workflow automation, and there was this very much workflow focus for some time with things like N8N or whatever. And those tools still very useful, of course, but there is like this, this DAG focus. And now it seems like people have thought, well, and I remember, um, having Geoffrey from Nuce Research on this show and he's like, well, with like their Hermes agent or, or whatever, it's like, well, I, I don't want to impose my workflow into this, but there's still a, there's still a workflow under the hood. Like there's decisions made, there's a workflow executed. It's just like, you're not, not defining it. And so from the human perspective, you actually don't see that, that workflow in like a visualized DAG, but it, it sort of exists under there. Is that partially why you think like some of these principles carry, carry over or reinvented in a new way? Because like at the end of the day, there is some flow of things being executed, right?
Yeah.
I mean, a graph, like all software is essentially a graph, right? When you write code, you have if this, else that, execute this, execute that. That's like a sequence of steps you're doing. In a graph. I think the way we thought about workflows before were more deterministic, obviously. For example, I come from the world of machine learning pipelines, so it's like load your data, preprocess your data, train your model, evaluate your model. So, you know, we sort of knew the steps ahead of time and that lended itself to a graph structure. And, you know, graphs introduced order to the chaos of just willy-nilly scripting things. And then obviously DAGs are directed acyclic graphs, but they are graphs. So they're directed in one direction, they're acyclic, they don't have cycles, they don't loop back. So, in the world of agents, the acyclic part gets very tricky because it cycles all the way down, right? It's loops. So it's, so it's, it's, it's, it's where we had to reinvent ourselves as well. So back in like 2023, 4. Users started hacking our pipeline engine to run agents like dynamic steps, conditional branching, state to artifact store workarounds. And then, you know, we were like, okay, they're starting to fight our abstraction. And we, so we introduced a new dynamic mode. And I think the main, the key difference here is really, as you said, everything is a workflow. Everything is a, an agent in my opinion is just an unrolled graph. So it's like LLM call, tool call, LLM call, tool call. Sometimes you do the tool calls together, so you're just, it's like a tree structure. So the trace, I guess, is a graph and we just needed to make our system more capable of having graphs that are defined in real time versus statically compiled at the beginning. And we did that quite early and since then the same abstractions have worked. Except, yeah, and we can get into this. There's these whole new workload that we need to think about different things about like durability, state management, retries and how those things work and replays. And those are the things I've been working on in the last 2 years.
Yeah, I would be curious to know maybe, but as we get into those things, maybe just some of the, I guess some of the the stories or types of failures that you, that you see? There, there's like one, one piece, which is like how, how we handle those, how we instrument things, how we, to your point, make our agents more durable. But that's assuming like they need to be made more durable. They are currently not, not durable. Um, they're, they're fragile, right? So, so what are the, I, I guess, uh, help the audience understand some of those main categories. Of why agents in our world today are not durable or reliable or however you define that.
Yeah. So I think in order to follow that thread, we need to see where the world is going, right? So if you look at how agents— most people, when they think of agents, honestly, still outside of our little bubble of these 7,000 people in the Mosconi Center, they they think that agents are these local Claude code instances or, you know, the, you know, or like Hermes or something. And I think that because we come from this revolution of local processes that run on your computer and you're token maxing, you know, in your local machine, I think that it's very hard to then understand durability because that durability, I guess, and recovering from failure in your local machine is, is, turns out it's a simpler problem than when these things migrate out of your little machine and go into a sandbox or somewhere in your computer, in computers running in the cloud defined by, controlled by your company that are executing arbitrary code and doing all sorts of things like MCP calls and, and, and, you know, like loading skills.
And would this be like to, uh, to kind of go off of your point, this would be certainly people are running cloud code or whatever on their local machine, like, like you're talking about, but ultimately definitely, at least the way I've heard companies express this, is to really lean into this element of how the future is going to play out. There, there will be this, uh, uh, digital workforce, however you want to think about it. Uh, agents, uh, agents that are operating and actually taking, taking action within your enterprise infrastructure, right, that aren't tied to someone's laptop and they maybe then eventually are not just acting, you know, in a single agent type of way, but eventually there is, there are many of these agents that are operating, which I'm sure adds another level of complexity.
Yeah, these fleets or swarms or, you know, the multi-agent architectures that, that, that we, that keep coming up, I, I think they're getting very real now. So, I mean, the companies certainly that we work with are deploying these things and What ends up happening once you do that is there is no limit to the scale that you can reach technically, right? Disregarding token spend. And I mean, why would you not arbitrarily scale that to 100,000 agent executions per, I don't know, hour, if you could afford it? Once that you loosen the yoke of the laptop, right? So I have the feeling that, you know, as things, as infrastructure gets more and more mature and architectural practices get more mature, we can't really predict how much volume of agents would be running once they're not running locally. And that migration is well and truly underway, right, this year. And people who get there tend to just, it's like this sort of slow adoption and then suddenly boom, there's like a crazy increase. And then at that scale, of course, you have different sorts of problems with agents. Like, uh, and I guess that's what we, we can spend a bit of time, uh, talking about.
And, and these agents that would run in your, in your cloud environment, you know, disconnected from your local environment, you know, people might have some ideas of some of the local ones, like a Claude code or OpenCode or OpenClaw or whatever we're talking about. Could you give us some examples of kind of the, the, the other type of agent, like what, what are they built on top of? Like what, what, uh, are, are these, do you envision these as mostly kind of software vendors that are building vertical-focused agents and they're deploying, you know, into companies or companies building them themselves? I, I'm just trying to get like a, a bit of a, a vision for people of like what these things might be.
So I think this is a big battle in the industry right now, who owns that part of the stack. So, you know, you, let's start with the most easiest part of the stack. It's the harness, right? So the harness and the model providers have been for the last year tightly coupled. And, um, I like, maybe we should spend a little bit of time talking about what the harness is.
Yeah, yeah, go ahead, please. We've mentioned it on the show, but I think always it's like This is one of those concepts that has popped up and it is often very subtle for people, like what we're talking about, right?
It's very ephemeral anyway, because what used to be an agent is now a harness. So the definition I cling on to in July 2026 is basically, you know, we had this notion of an LLM model, right? The LLM model is a it's simply a token generator. So in itself, it doesn't do anything. It doesn't do action. So the way we did action was we started 3 years ago with structured outputs and tool calling. And suddenly, what is structured outputs and tool calling? That's simply imposing policies on what type of tokens can the model generate to predict the next action inside the environment in which it's playing. So it, you can ahead of time, you give it like 5 tools and you say, hey, you have getWeather or you have like ping Hamza or like ping Dan and like you have all these bunch of tools to send emails or do different things. And here's the definition of the parameters of these tools. And then whenever you want, you think that you need more information given that description, you can return me a bunch of tokens which I can parse and actually map that to my code and execute it. And that while loop like that's the agent, right? And suddenly we started having a program that runs on your machine at the beginning, which mapped those tokens back to the tool calls. And turns out that's harder than it looks. It's, I mean, it, I still remember when I did it the first time, like 3 years ago, it was like, you literally have the, literally do an exact, like an eval in Python, which converts the string into code and runs it. I guess that's still what's happening under the under the hood, but basically 3 years of software development later, we had things like Cloud Code, which started doing more things while having that while loop. So, you know, things like compaction when the context window gets too big or things like ensuring that the tool calls are, you know, have the right parameters.
Indexing memory.
Yeah, indexing in memory. So that, that software program is called the harness. So it's basically the thing that gives your brain hands, like a body. So your brain is just spewing out tokens and you're converting those tokens into actions. And the outcome that comes out of combining the harness and the model is the agent, right? So that's how I think about it. I will obviously be very embarrassed in a year when I'm listening back to this and the definitions—
For what it's worth, I mentioned Geoffrey Hinton and News, like he gave the same, a very similar metaphor of like brain and body.
So at least we're in, yeah, we're in safe territory for now until the industry decides to flip this. So obviously the most famous harnesses being like some interesting phenomena started to happen because what we ended up figuring out is that the models started to asymptote in performance and what the model providers quickly found out given their valuations. Is that if you just make this program better and you manage context better and you manage memory and all those things, general purpose tasks get easier to solve. And therefore you could just make a better program, right? The better program will win given the model stays static. And then this started a weird RL loop. So what they did was they, like Claude Code, for instance, has a very, you know, Claude Code is the harness and underlying it is Opus. 4.8 and Opus 4.8 by now, unlike Opus 3.5, understands what Claude Code itself is. So it's self-aware in the way that it's running inside Claude Code. So when it calls a tool like edit file, it actually uses certain parameters and the tool calling is very accurate. If you drop GPT-5.5 into Claude Code, the harness, that would not be as accurate. It wouldn't perform as good. Because simply the two things have coupled together. So the harness with the reinforcement learning loop that has gone on for the last year and a half has coupled deeply with the models. Now, at the same time, there has been this renaissance of open harnesses, right? So we had Pi, we have frameworks like LangGraph or Pydantic AI, and those harnesses are of the opposite opinion that we should have an open standard that shouldn't be tied to the model because we don't want to be tied to the model. I mean, if the US government decides to ban and unban models, that shouldn't affect our business outcomes. And that has been an underlying tension in the industry for the last year and hasn't resolved yet. So I wouldn't know whether, my intuition says that open harness will win, which standardizes those things. But on the other side, I mean, you know better than most people that I mean, Claude code works, right? So why would I use anything else? So that's another thing.
Yeah, I would guess that there's, there's going to be a mix for, for some time. You see this also with the, you know, existing software vendors who are trying to figure out how they show up within, within agents, like a NetSuite or a Salesforce or whatever. You see on, on the one side, them officially supporting MCP interaction with their platform because they, they see maybe, well, The value of our platform is how we manage this data, how we create functions on top of it, the ability to do actions within this environment and the interface through which people do that, like an agent, really, like, we're, we're, our, our, the value is in the, the platform and that data, not so much the web interface through which people interact with the product. But then on the other side, you see the same individuals, you know, the same companies creating proprietary agentic things in their web, uh, you know, web app, which you can't swap out to your point. You can't swap out the, uh, you know, in many cases you can't swap out the underlying endpoint to change out the brain to, to, to your point.
Yeah. Because the brain ultimately is commoditized. It's like electricity. So what else, what else are you going to make the next, whatever, like trillion dollars on? And that's the whole stack, right? And we haven't even gotten to the point where, so this is all local, right? So this revolution is happening December 2025. We come into this era of suddenly this shit works, right? Excuse me for the language. And then it's like, okay, so what has started working? Ah, so we have Pi and we have OpenClaw and the innovation is that it's running all the time and it has a heartbeat and it's like, it's managing memory somehow better. And okay, what did we actually change? Oh, we changed the harness. So we, so the, the. Somehow Peter Steinberger and Mario and Armin, like those guys, they had better ideas how to manage that program, which just caught fire. And yeah, and you know, we haven't even gotten to the point where let's get these things out of the computer and into a Kubernetes cluster or something.
Yeah. Yeah. Super, super interesting. Sometimes the gap between AI-generated ideas and production production-ready work can be really frustrating. Agents can produce things that aren't editable and don't live in your core workflows. That's why I really love what our partner Framer is doing with the way they're integrating agents into their website platform. Agents work in the same place where the real site is designed, managed, reviewed, and published. It lands on the canvas, stays editable, and can be published when the team is ready. Framer is a complete website platform, not just a builder, so teams can launch and keep improving their sites in one place. Learn how you can get more out of your website from a Framer specialist, or get started building for free today at framer.com/practicalai for 30% off a Framer Pro annual plan. That's framer.com practicalai for 30% off. framer.com/practicalai. Rules and restrictions may apply. Well, Hamza, it was really good intro to, I guess, just how to think about or categorize some of these things and the shifts that we're seeing in our mind. Let's go under the assumption that, you know, maybe there's even people listening to this podcast that have envisioned products that have agents in them. They're, they're maybe building agents that they intend to sell into, sell into the enterprise, or maybe it's part of people in a larger company that are building their own agents for operational efficiencies or internal tools. And they are picturing that, that future that you described, which is, hey, I actually want these things to run off my laptop. I want to be able to take my laptop, go into a meeting and not, you know, have to keep it up all the time for, for my agent. So in that sense, then assume we have some of those agents running in, in that type of environment. What are some of these, I guess, fragilities or, or points about agents in, in terms of how people are architecting them now, how they're building the agent harness piece that make them, that make them fragile, not, not durable?
Yeah. So. So I think first we have to understand the different types of like agent workloads that can run in the background. So if you're talking about a chatbot interface, which is, or a voice agent, that's largely different from a personal assistant that's running and, or a Deep Research or an Auto Research that's just doing a single loop and, you know, always on and, you know, achieving achieving some outcome. So I think that for all of those different types of use cases, there's different infrastructural pieces and different ways to think about it. So I would say that if it's a simple agent that's running, you know, online somewhere, I think that I would personally default to something which is very easy, whether that's using the model providers like Anthropic has Anthropic managed agents, they have inbuilt like routines and all those things inside the Harness now that you can deploy and they take care of all of that infrastructure for you. Now when it starts getting more complex where your workflows start looking a little bit more business process-y, meaning you have a workflow which is doing things like, okay, fetch an order here and do some processing with an LLM, which is an agentic loop here, and then do some post-processing there. So then it starts looking a bit more complicated. And if you do that at scale, then you might want to own that infrastructure. So the first thing you do is sort of have an agent platform internally as an enterprise. And this I highly encourage people who are scaling beyond single teams to really invest in, like similar to MLOps, where the people who build the best MLOps platforms like Uber, they won their markets. I'm not saying the manual platform was the reason Uber won the taxi game, but was a big reason that they made, you know, things like search pricing and, and, you know, they were the best product out there in the market for a while. And I think the best companies will be the ones that invest internally to build platforms that can run these things at scale, because simply the act of doing that informs you so much internally of what works and doesn't work for your particular business context.
Yeah. And in that, I guess the set of things that you need to have in place to support that's, let's say I did want to go down that path. I want to own it. Like what are some of the main sets of things that like need, I need to be thinking about, I guess.
Yeah. Yeah. So, so the first thing is you need to pick your harness or you need to give your teams the ability to create, you know, using an agentic framework, whatever, let's say you're using LangGraph or Pydantic AI or something like that. Then you need to deploy it onto some compute target. Let's say you picked something, probably you have other applications running. So probably you use the same thing, whether that's ECS on AWS or whether that's a Kubernetes cluster running somewhere. And now you have an API, so you have a REST API. So I'm more of a Python guy, so I'm going to give Python analogies. So let's say you have a FastAPI application, you have a POST REST call that kicks off an agent. And obviously the first failure mode that will happen is that you know, you can, these, these things are not quick requests, RESTful that just, you know, execute in milliseconds. These are very stateful processes that run for a long time. So they can't run in-process, right? This is, this is where you start to farm, farm out things architecturally to things like workers and task queues. And when you, when you start thinking infrastructurally like that, then you need to think about, okay, what is a task queue? How do I, is it a pull-based system? Is it a push-based system? So this is just, we're in the realm of how do we actually execute this so that at a certain scale it keeps working. Then obviously you have this, a very simple task queue would be, so imagine you have an API and you just directly from the API, you spin up a worker that, like a Celery worker. Well, you don't wanna be doing that because what if the worker goes down? Because at scale, the workers, can go down for a number of reasons, like network failures, or, or maybe the pod didn't exist at that point because somebody was using your underlying compute for, for something else. So a very normal 101 architecture is just putting a message queue, a message broker in the middle of that. So you have a bus and the FastAPI server, which is the entry point, puts events on a bus and then these events are durably persisted. And then you have, you have workers that can spin up and down. And you can do an intensive task like an agentic loop inside that worker. From there, you have this problem that, oh, this system is very hard to update. It's, you know, you have to ensure things like idempotency and you need to make that system more observable. So for example, if you're processing a file upload and suddenly you have a multi-workflow system, like your task consists of two steps rather than just one thing. Like maybe you're calling something at the beginning and then you're doing something else. So suddenly you have dependencies between the workers. So suddenly this complexity starts to explode from a very simple, oh, I just need to slap a queue in front of my FastAPI to, okay, I need a DAG, like a workflow execution thing, right? And then, and then you're like looking at it like, okay, how do I make this DAG orchestration thing work with my harness? And how do I make things like in-flight updates? Like what if my agent up— like what if there's a long-running task for 30 days, right? And you know, that's running for 30 days. I mean, most tasks are not running for 30 days, but they can very soon, right? And what if then the next person kicks off another 30-day task? But that's a different— you've updated the code. So what happens on the 31st day? Should I use the latest code or should I use the old code? That's versioned to that agent system. And you know, what happens within the 30 days, the LLM model gets banned by the US government. I'm going to keep saying that because I'm in the US now. So yeah, I mean, there's a whole plethora of problems that start happening from the infrastructure perspective to make things really reliable and that you don't just write defensive code all the time. Like you don't want your developers to be writing defensive code. You want them on the offense writing use cases.
Yeah. And what about, I guess the, and I really liked how you framed this when I was looking through the, uh, Kitteroo, um, uh, pages and docs is like, there's a lot of questions that you could, could be asking. Like, what if the tool calls timeout? Uh, what if I don't use a re-ranker? Can I use a cheaper model for— there's a lot of, I guess, developer side questions that come up, um, certainly related to some of those things like the supply supply chain thing you mentioned about, you know, a model being all of a sudden identified as a supply chain risk, which I think is a very, is a very real one. But there's all these other things that it, there's so many possibilities of how you could update your agent harness. It's very much, um, I, I mean, I remember just when I would teach workshops and just talking about ML models or single LLM calls, I would get pushback saying like, well, how do we test these things like rigorously, right? They're non-deterministic and they like, I, they could return anything. And, you know, I, uh, having a background in physics, I, I was like, it's, uh, hey, we wouldn't know a lot about the universe if we weren't able to test things that were, were not deterministic. Right.
So I look, look, this is, I mean, you're so right because I was lingering too much on the infrastructure side, probably like the developer side, the things that you're talking about is post-factum that once those things are running, so you have some notion of state, then you have some multi-layered problem.
Yeah. Yeah. There is the infrastructure and there it's like both interact in interesting ways, like in, in the way how long something takes or how it times out or whatever, certainly related to network and infrastructure, but then there's. All of these choices that you can make within the agent, right?
Yeah.
Yeah.
I'll give you a good example. I mean, imagine you have a coding factory, like this is the buzzword for AI right now, right? Coding factories. So we're going to automate software engineering and imagine that an agent is running in such a system that I described in workers and suddenly it obviously has to execute code, right? So it needs a sandbox. And this is why the sandbox providers like E2B, Daytona Model are so popular nowadays because you need a sandbox to execute arbitrary code. So that's another problem. Suddenly that appeared on the infrastructure side. And now what if the file system that you're editing the code, you fail before you can commit the code? Like, how do you get back to that state? When, you know, 20,000 tool calls in, Claude Code is almost about to finish the feature and it just suddenly fails. And are you mounting the file system into the pod? Because this is not your machine anymore, right? This— yeah, typically when pods die and then how do I like even if you get to the end and it finishes, like, what if somebody looks at that and says, this is a feature, like, this is not what I wanted. So how can I go back and evaluate? To your point, like, how can I go back and evaluate? Hey, could I have done this faster, cheaper, better if I had done an experiment of using GLM maybe instead of GPT? Or maybe I wanted a different tool call. Maybe I should have given it so many tool calls it got confused. Maybe just let's give it 2 calls and start again.
So, yeah, it's, uh, and I think that would be especially true if you are moving from this, like, this is my personal agent, which I can look at the output and then maybe provide, you know, I, I can actually commit to memory or skills or that sort of thing. Like, this is how I want it to go. This is how you should do things. This is, but it's another thing if these are more autonomous, they're operating in the enterprise environment. Or like, I'm a software vendor and I'm creating my own, you know, my own agent, which is my product, my IP. And this shouldn't just be like a general purpose agent, right? Like there should be an opinionated take on, on how to do these, these things in this vertical that operate better because I'm infusing actual opinions into the harness, right?
Yeah, actually that is the biggest unsolved problem, right? Then like. I mean, you've probably been building agents for years now, so I still am terrified updating my agent in production. I'm terrified because I have no idea. I have literally no idea given the entropy in that system.
Yeah.
How I can even adding a word to the system prompt, what would happen? And that terrifies me in a world where you have hundreds and hundreds of millions of these things running in enterprise in flight, right? And suddenly you have to, you have to task the poor agent developer to grok all of these context states. It's a very stateful application and try to make an educated guess as to how to update this system in a way that wouldn't break for all your customers. It's almost impossible, right? Without given the right observability, given the right ability to go back in time and introspect and, uh, you know, try to run some of these experiments. I, it's like you need to have some sort of a simulated I keep saying the physics words, entropy, it's just simulations.
So yeah. And that's some of what you're doing with the Keteru, right? Which is this, could you explain kind of, maybe just introduce a little bit of the idea behind that? And I know there's some really interesting things around replay, for example, but yeah, would love to hear more about that.
So yeah, Keteru comes from this concept of So it still uses XenML. So XenML is our open source product that's been running in production for enterprises for 5 years now. So we've really, we sort of know how to do workflow orchestration now. So our task this year was how do we convert that into using that engine in a way that's ergonomic to agent builders and sort of try to answer, try to take opinions on some of the things that we just spoke about. So Kitaru is built on top of XenML. It's a new SDK and a new a new UI that works almost from the harness backwards, because I think very important is the harness layer, because that's what most people are— is the entry point to agent building. And a lot of the opinions taken in that harness layer, actually, as we just talked about in this episode, it do matter a lot at the infrastructure layer. So our goal is to build an open runtime that allows you to take any harness, any, and deploy it in a way that you don't have to think about some of these problems. And then on top, it gives you all these goodies. Of Replay. And how we end up doing that is, turns out if you hook into the harnesses, there's certain checkpoints in state that you can snapshot and store while you're running it on, let's say, a Kubernetes cluster that will make life a lot easier once those inevitable failure modes do kick in. So the first order of business was how do we get the best world-class adapters for all the popular harnesses like Anthropic Agents SDK, OpenAI Agents SDK, that you can just drop Kitaru as a runtime in and it gets it from your laptop out to the production. And then once it's running, it makes it resilient to tool calls failing in the middle of an agentic loop by storing that state in an external database or blob storage. And once we have that state, then we have all sorts of interesting questions like, you know, like we already talked about, what if you want to mock a tool call or if you want to change the replay, like replay a different model and drop that in the middle of your trace. And this is a very interesting problem anyway, like from a scientific perspective, because if you change the model midway in a multi-turn conversation or a multi-turn situation, then what ends up happening is that you never really know that the model, that the agent would have ever gotten to that point if you had started with a different model anyway. So it's anyway a broken experiment. And also the problem is that when you replay from the middle, you have certain, like if you swap out GLM with Claude code, like the harness differences also make it just hard to just start again from that point anyway. So there's a lot of code that we have to write in order to make that experiment somewhat, you know, feasible. And again, it's not perfect and we're still working with our customers to make it good. But given that you're grounded in your production traces, production executions, and you have a big enough sample size, you could then, like we have seen early signs of where you could just say, oh, I should have just used an open source model or a smaller model, or I should have just swapped out some of the tool calls and made it a bit easier and I would have gotten a better and cheaper result. In place of that.
Yeah. Do you, do you view this as, what's the way to put this? So like, I think of, you know, taking it out of the AI agent world into like manufacturing. You have like a pipeline in your manufacturing or a line in your manufacturing plant. There's always going to be a bottleneck in there. Right. And so often what people recommend, right, is you find the bottleneck, you ignore the other things, you address that bottleneck, and then you have a new bottleneck. Bottleneck, right? So one way to approach this would be that, that way you could also approach this and look at, well, there's all these things happening, right? And it's really, yeah, it, there, there's of course all sorts of optimization theory on like how to optimize things, but like there's all sorts of things that are actually coupled together, right? If I optimize this, then that gets faster, but creates a different, you know, a different problem. So like, what have you noticed after actually having, which I think a big piece of this to your point is like actually getting visibility into, into what's happening, but then comes the next question of, well, uh, now, now what, right? Like what are, what are the best, and maybe it's a part of like, we don't know the best practices around addressing some of these things yet.
Yeah. Yeah. I mean, exactly like exactly how I imagine it as well. It's like playing a game of whack-a-mole and trying to sort things out. So when, when you fix one thing, another thing breaks, I, I think the first order of business, as I said, checkpoint everything. So that's the durability aspect, right? So, I mean, obviously there are latency concerns, you need to be efficient about it, but checkpoint everything so you can look back. And then I think it's almost humanly impossible to do all the experiments. So you've got to get agents doing that, right? So I think our goal really in the future is how can we close the loop from like once, because you sort of know the outcome, right? You want a cheaper, better, faster model agent at the end of the day. So we have the production executions, the traces, and the first thing I ask people to do when they're using Gitarru, I'm like, run it for a week. And then after a week, just filter for the most expensive traces, which were successful, voted by your customers, go through the checkpoints and see the bottlenecks, just like you said, and figure out the common failure modes and then, you know, go from there, but Obviously my goal is not that humans do this. Our, you know, we shipped an MCP CLI day one of Keteru because we know that eventually that problem needs to be solved by other agents that sort of are embedded in that loop. So my ultimate goal is you have, every time you launch an agent, you have a companion, like a companion, a nurse agent.
Trainer or yeah, it's a loaded term, but yeah, exactly.
I mean, something like a trainer that's, you know, that's constantly looking at Okay, what is this guy doing wrong? And then running experiments in the back, replaying things and constantly editing that thing. I mean, we're very far away. I mean, to be clear, this is a, this is a distro. This is a dream because then, you know, your agent builders can start from a really shitty state and get to a very efficient state very quickly. But I think we need more tooling and infrastructure to make that possible because that is eventually the future.
Yeah. And I guess that does get to, you know, a really good place for us to kind of start wrapping up the conversation, which is as you see the current state and you look to the future, maybe on both sides of this, like what's one area where you're really encouraged and, you know, it excites you of like, hey, things are going in this direction and I'm really happy about that. And this is maybe what we could expect. And then maybe something like you said, oh, if we could solve this, if we could move this big rock, like that would open up a lot of opportunities. Any thoughts?
So I'll start with the The thing I'm less optimistic about for now as an industry, because, and you know, I'm, you catch me at a very opportune time right after this, I'm going to go to the AIE conference, right? So I'm going to be at the World's Fair and walking around the expo. It strikes me how many people have different takes on solving the same 4 or 5 problems. So I think we're at this fever pitch of like we have, we're in MLOps in 2021 when Chip Ewan. Maybe we can drop that article in the show notes. It's a very good— it's a very good— yeah, like when we hit an explosion of tools, when we had these MLOps problems and investor money came in and then it was just extremely confusing to figure out the modern MLOps stack on top of the modern data stack. And I think that this is why, I mean, we're sort of contributing to that noise, right? By being, by taking opinions, but I feel like we are very early in deciding the canonical ways of separating things like the harness and the infrastructure and the deployment paradigms. And I'm less encouraged by that, by the model providers taking such aggressive stances on how to deploy things and how aggressively they make things hard to, for other vendors to, you know, be interoperable. Although there are some good signs sometimes, but, you know, it's just, they're pushed into the harness. And when you're pushed into the harness, you want everything running on your infra. And I think this is a slight negative economical impact. But on the other side, okay, here are things where I'm very optimistic. We have amazing open efforts with open source models. Take like Minimax or like take the QIIME models or take something like GLM coming out of like China right now, but hopefully also the US and Europe with Mistral that have made made it very economically viable to start experiment— like start, like the enterprises have started to really take it seriously to replace that, the bigger model providers with their own systems. And I think that's going to be eventually where, when they start thinking, okay, we need to have system engineers that think of that problem and start playing around with and fiddling with the other pieces like the harness and the durable runtime. I'm very encouraged by, by the fact that we have now performing models that are just, this is like 2 weeks old, right? The GLM is as basically 95% of Opus 4.8, which is just phenomenal. Like we, we are, we were at a trajectory that, that was very far away, but in a world where you can have sort of the same performance with open models, then I think you see more investment in creating internal platforms that can deploy those agents and then open harnesses will be a huge thing in my opinion. Because a thing like Pi or a thing like OpenCode or something like that, or even specific harnesses for law or for science or something will probably explode in growth. And suddenly you have this thing where people will start realizing that actually investing in internal infrastructure at the enterprise level is probably going to be the competitive differentiator in a world where the tokens regress down to the cost of electricity. And the models become commoditized. And this is— I'm extremely, extremely encouraged by the recent progresses around that.
Yeah, that's, I think, a great perspective. And I think it encourages people also that are listening to the show, please check out these open projects around open harnesses. A lot of them are even linked in the ZenML website and integrations that they have. I encourage you to check out the ZenML website, you know, try some things in your own environment. It's never been easier to spin up some of your own tools and infrastructure and try things and would encourage that. You'll find some links in the show notes. Thank you so much for joining us, Hamza. It's been great.
Thank you for having me.
All right, that's our show for this week. If you haven't checked out our website, head to practicalai.fm and be sure to connect with us on LinkedIn, X, or Bluesky. You'll see us posting insights related to the latest AI developments, and we would love for you to join the conversation. Thanks to our partner PredictionGuard for providing operational support for the show. Check them out at predictionguard.com. Also, thanks to Breakmaster Cylinder for the beats and to you for listening. That's all for for now, but you'll hear from us again next week.
More from LARRUZ


Ep 881: Faster AI Agents, Fewer Human Coworkers: The Overly Productive Future of Managing Agents? (Replay)


Ep 879: New: OpenAI Presence. Has The AI Customer Service Takeover Finally Arrived? (Replay)


Ep 878: What’s Coming Next: 5 AI Trends, Problems and Opportunities around the Corner (Replay)




