Loading summary
A
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 a insights. You can learn more at PracticalAI FM. Now onto the show.
B
Welcome to another episode of the Practical AI Podcast. This is Daniel Whitenack. I am 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 Zen ML and they have a new product, a new project out Kateru 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's Fair, right?
C
Yeah, I am. It's like 7,000 people, all of our crowd gathered in one small like big hallway. So it's just fantastic to be in San Francisco when the energy is so high.
B
Yeah, that's awesome. Always inspiring and really cool to see. Also growth in that from SWIX and others who've really built up an amazing community over time. Friends of the show. So if you haven't checked it out, go ahead and check out what they're doing over there. But yeah, excited to dig in today Hamza. Maybe just to set the stage. I know you're a co founder of ZenML is kind of some background with that project and product around ML Ops. Now you're getting into agent agentic things. I 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 in our world? Moving, moving forward from your perspective.
C
Awesome. That's I think a great one to start with and thank you for, for like inviting me on the show. Appreciate the opportunity. I so I Co founded ZenML about five 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 productionalize AI and machine learning workloads. And I had done four or five years of that in my previous job where I was co founding another company trying to deploy ML models in disparate, you know, compute backends and all over, especially out of Germany where I'm based. So that led me to having a framework internally that we used that you could write workflows and DAX 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 productionizing 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 happy to chat deeper. If you're interested in a particular.
B
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 I remember having Jeffrey from Noose Research on this show and he's like, well, with like their Hermes agent or, or whatever, it's like, well, 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 are reinvented in a new way? Because like at the end of the day there is some flow of things being executed, right?
C
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, pre process your data, train your model, evaluate your model. So we sort of knew the steps ahead of time and that lended itself to a graph structure. And 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 where we had to reinvent ourselves as well. So back in like 2023, four users started hacking our pipeline engine to run agents like dynamic steps, conditional branching state through artifact store workarounds. And then we were like, okay, they're starting to fight our abstraction. And so we introduced a new dynamic mode. And I think the key difference here is really, as you said, everything is a workflow, everything is an agent, in my opinion is just an unrolled draft. 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, how those things work and replays and those are the things I've been working on in the last two years.
B
Yeah, I, I would be curious to know maybe. But as we get into to those things Maybe just some of the, I guess some of the, the stories or types of failures that you see 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. They're fragile. Right. So, so what are the. I, I guess 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.
C
Yeah. So I think in order to, in order to do 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 Moscone center, they, they think that agents are these local cloud code instances or you know, the, you know, or like Hermes or something.
B
Yeah.
C
And I think that because we come from this revolution of local, local processes that run on your computer and you're token maxing your, you know, at 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. 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 like loading skills.
B
And would this be like to kind of go off of your point? This would be certainly people are running cloud code or whatever on their local machine 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 will be this digital workforce, however you want to think about it, agents that are operating and actually taking action within your enterprise infrastructure that aren't tied to someone's laptop and they maybe then eventually are not just acting, you know, in, 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.
C
Yeah, these fleets or swarms or you know, the multi agent architectures that, that, that, that keep coming up, 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 be. I, 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, and I guess that's what we, we can spend a bit of time talking about.
B
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 cloud code or open code or open claw or what, whatever we're talking about. Could you give us some examples of kind of the, the, the other type of type of agent? Like what, what are they built on top of? Like what, what 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'm just trying to get like a, a bit of a vision for people of like, what these things might be.
C
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 I like, maybe we should spend a little bit of time talking about what the harness is.
B
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.
A
Right.
C
It's very ephemeral anyway because what used to be an agent is now a harness. So the definition I cling onto in July 2026 is basically we had this notion of an LLM model. The LLM model is 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 three 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 five tools and you say, hey, you have getweather or you have like Binghamsa or like Pingdan 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 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 three years ago, it was like you literally have the, literally do a 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 three 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.
B
Indexing, memory.
C
Yeah, indexing and memory. So that, that software program is called the harness. So it's basically the thing that gives your brain a 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.
A
Right.
C
So that's how I think about it. I will obviously be very embarrassed in a year when I'm listening back to this.
B
And for what it's worth, I mentioned Jeffrey and Noose. Like he gave the same us a very similar metaphor of like brain and body. So at least we're in. Yeah, we're, we're in safe. Safe.
C
We're in safe territory for now until the industry decides to flip this. So obviously the most famous harnesses being like some, 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. Given the model stays static and, and then they started a weird RL loop. So what they, what they did was they like Claude code for instance, has a very, you know, Claude code is the harness and underlying it is Opus4.8. And Opus4.8 by now, unlike Opus 3.5, understands what cloud code itself is. So it's self aware in the way it's, that it's running inside Claude code. So when it calls a tool like Edit File it, it actually uses certain parameters and the tool calling is very accurate. If you, if you drop GPT5.5 into Claude code, the harness that would not be as accurate. It wouldn't perform as good as. 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 on the same time there has been this renaissance of open harnesses, right? So we had PI, we have frameworks like langgraph or Pedantic 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 an open harness will win which standardizes those things. But on the other side, I mean, you know better than most people that, I mean cloud code works, right? So why would I use anything else? So that's another thing.
B
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 the value is in 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, you know, web app, which you, you can't swap out. To your point, you can't swap out the, you know, in many cases, you can't swap out the underlying endpoint to change out the brain to, to, to your point.
C
Yeah, yeah. Because the brain ultimately is commoditized. It's like electricity. So what, what else are you going to make the next whatever a 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 works. Right. Excuse me for the language. And then it's like, okay, so what has started working? 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 or we changed the harness so the somehow like 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.
B
Yeah, yeah. Super, super interesting. Sometimes the gap between AI generated ideas and 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 found 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 maybe there's even people listening to this podcast that have envisioned products that have agents in them. They're maybe building agents that they intend to sell into, selling to 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 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.
C
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 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 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 processy, 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 ML platform was the reason Uber won the taxi game, but it 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.
B
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 I need to be thinking about, I guess.
C
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 Pedantic AI or something like that. Then you need to deploy it onto some compute target. Um, 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, I'm more of a Python guy, so I'm going to give Python analogies. So let's, let's say you have a fast API application, you have a post rest call that kicks off an agent and obviously the, the, 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 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 does it ask you? 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, you know, a very simple task you would be. So imagine you have, you have an API and you just directly from the API you spin up a worker that you know, like a salary worker. Well, you don't want to 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 maybe the pod didn't exist at that point because somebody was using your underlying compute 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 fast API server, which is the entry point, puts events on a bus and then these events are durably persistent. And then you have workers that can spin up and down and you can do an intensive task like an agent loop inside that worker. From there you have this problem that oh, this system is very hard to update. You have to ensure things like edim potency 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 fast API 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 dagger orchestration thing work with my harness and how do I make things like in flight updates like what if my agent. 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 in the 31st day? Should I use the latest code or should I use the old code that's version to that agent system. And you know what happens in. 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 it's. 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, you don't want your developers to be writing defensive code. You want them on the offense writing use cases.
B
Yeah, and what about, I guess the, and I really liked how you Framed this when I was looking through the Kitaroo pages and docs is like there's a lot of questions that you could, could be asking like what if the tool calls time out? 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. Certainly related to some of those things. Like the supp 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. There's so many possibilities of how you could update your agent, harness it. It's very much. 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, having a background in physics, I, I was like, it's hey, we wouldn't know a lot about the universe if we weren't able to test things that were non deterministic. Right.
C
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.
B
Yeah.
C
So you have some notion of state, then you have some multi layered problem.
B
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?
C
Yeah, yeah. I'll give you a good example. I mean imagine you have a coding factory, like this is the buzzword for AIE 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, what if the file system that you're editing the code, you fail before you can commit the code? Like how do you, 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.
B
Yeah.
C
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. 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 two calls and start again.
B
So yeah, it's. 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 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 how to do these, these things in this vertical that operate better because I'm infusing actual opinions into the harness, right?
C
Yeah. Actually that is the biggest unsolved problem, right, Dan? 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.
B
Yeah.
C
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 an enterprise in flight, right. And suddenly you have to task the poor agent developer to crock 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 try to run some of these experiments, it's like you need to have some sort of a simulated I keep saying the physics words entropy. It's just simulations.
B
So yeah, and that's some of what you're doing with the kid Roo. 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.
C
So yeah, kyteru comes from this concept of um, you know, so it, it still uses ZenML. So ZenML is our open source product that's been running in production for enterprises for five years now. So we've really, we sort of know how to do workflow orchestration now. So we. 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 Kitaro is, 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 Kyotaru 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 a blob storage. And once we have that state then we have all sorts of interesting questions like, you know, like, 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 cloud 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, in place of that.
B
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 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 bot neck. 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 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.
C
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 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 Gitaroo, 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 go from there. But obviously my goal is not that humans do this. Our, you know, we, we shipped an MCP CLI Day 1 of Kitaru 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, like a companion, a nurse agent, trainer or.
B
Yeah, it's a loaded term, but yeah, exactly.
C
I mean, something like a trainer that's, you know, that's constant. 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, this is a dream. Because then, you know, your agent builders can start from a really 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.
B
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, excites you of like, hey, things are going in this direction. And I, I'm really happy about that. And this is maybe what we could expect. And then maybe something like you said, oh, if, if we could solve this, if we could move this big rock, like that would open up a lot of, a lot of opportunities. Any, any thoughts?
C
So I, I start with the, the thing I'm less optimistic about for now as an industry because, 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 four or five problems. So I think we're at this fever pitch of like we have, we're in MLOPS in 2021 when Chiphew and like maybe we can drop that article in the, in the show notes. It's a very good, it's, it's, 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, you know, it was just extremely confusing to figure out the modern MLOps stack or 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 for other vendors to be interoperable, although there are some good signs sometimes, but it's just they're pushed into the harness and when you're pushed into the hardness, 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 Minimax or take the Kimi models or take something like GLM coming out of China right now, but hopefully also the US and Europe with Bistral that have made it very economically viable to start. The enterprises have started to really take it seriously to replace 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. And I'm very encouraged by the fact that we have now performing models that are just this is like two weeks old, right? The GLM is as basically 95% of Opus 4.8, which is just phenomenal. Like 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 open code 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.
B
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 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.
C
Thank you for having me.
A
All right, that's our show for the 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 Prediction Guard for providing operational support for the show. Check them out@prictionsguard.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.
In this episode, Practical AI host Daniel Whitenack welcomes Hamza Tahir, co-founder of ZenML, to dive deep into the evolving world of AI agents and the challenges of building agents that are durable, reliable, and ready for enterprise-scale deployment. Hamza shares insights from his MLOps background and introduces ZenML’s new project, Kyteru, which aims to make agent development and operation more robust. The conversation covers everything from the evolution of AI agent frameworks to the practical realities of making agents work reliably in production, especially as organizations scale up from personal to enterprise applications.
(02:48–06:01) Hamza discusses how lessons from the early MLOps movement—focused on productionizing traditional ML pipelines—are being rediscovered in the new age of AI agents. Durable software engineering principles like safe execution and retry mechanisms remain vital, even as paradigms shift.
(06:01–08:14) The shift from deterministic pipeline “DAG” workflows to dynamic, agent-driven workflows is explored, noting how the cycle-heavy, non-deterministic loops in agents challenge traditional abstractions.
(08:59–10:59) As agents transition from local code to cloud-based, enterprise-ready systems (fleets and "digital workforces"), new fragility arises: managing state, handling failures, and scaling to thousands of concurrent agents.
Examples of Fragility:
(13:00–18:32) The discussion defines “harnesses”: the controlling software that translates LLM token streams (the “brain”) into actionable steps (“body”), manages memory, tool calls, compaction, and more.
Industry Tension: Proprietary harnesses (deeply integrated with commercial models) vs. open frameworks (langgraph, Pedantic AI, etc.). The interplay between model providers and harness designers impacts both interoperability and reliability.
(23:01–25:34) Adapting to different agent use cases (chatbots vs. research agents vs. business process agents) requires distinct infrastructural approaches.
(25:34–29:28) Critical architectural choices:
(29:28–32:43) Developer-side complexities:
If you’re building, scaling, or operating AI agents:
For further resources: Check out ZenML, Kyteru, and linked open-source harnesses via ZenML’s website.
Guests:
[All conversational and technical content strictly summarized; advertisements and unrelated intros/outros omitted.]