AI Engineer World's Fair 2026
The Missing Layer After Launch
About this talk
Raphael Kalandadze explains why launching an AI agent begins a distinct operational challenge: monitoring real customer conversations, detecting failures that conventional tests and logs can miss, and managing non-deterministic behavior. He describes an agent-operated loop that analyzes traces and logs, diagnoses root causes, drafts pull requests, subjects fixes to independent review agents, and escalates decisions to humans. Operational dashboards track analyzed sessions, costs, success rates, trends, and emerging patterns.
Chapters
- 0:00The missing operational layer after agents launch
- 1:59Why non-deterministic agents defeat conventional test coverage
- 6:50Trace-to-pull-request remediation and independent agent review
- 10:31Human approval, review throughput, and actionable pull requests
- 13:42Operational health dashboards and the case for internal agent operations
Talk transcript
- 0:00
All right. So you built an agent, you launched it, everything works pretty well in a demo, everyone is happy. But now let me ask you a few simple questions.
- 0:09
So how do you know if it's actually working out there? How do you watch across hundreds or thousands of real conversations every day? How do you feel or understand the health of the system?
- 0:20
How do you make it better? How do you find the holes that you don't know are there yet? And that's the thing, right? So most of the talks about the agents end at the moment when you ship.
- 0:29
So we build it, it work, the end. But I think the shipping is the moment when the real work begins. And somehow only a few peoples are talking about that, and I'm calling it the missing layer.
- 0:40
So let's dive into it. So that's the world we are living. So you can create the whole product. You can create a whole startup in a couple of days, in a couple of weeks.
- 0:49
You can write hundred thousands of lines of code. You can spend a lot of tokens. And to be honest, it's the easiest part today with the help of the latest models.
- 0:58
But I think the shipping is the moment when the real work begins because you need to close the loop as soon as possible. So after you launch, you need to have some control and understanding of the system.
- 1:09
And, uh, from my experience, the loop is, uh, at least as important as the product itself, sometimes even more, because the tight feedback is the one that helps you to make the product better every single day.
- 1:22
And that's the missing layer, and that's what the rest of this talk is all about. So what happens after you launch? And this is not something surprising. We had the same questions in the classical old software.
- 1:33
You need to monitor what is happening. You need to understand how it behaves. You need to have some logs to detect the problems and fix them. Uh, and for agentic systems, each one of those are even harder and sometimes, uh, they turn into something genuinely new.
- 1:50
So let's talk about why this is hard and why this is hard now. So the agent is on a normal software, right? You, you don't have a few features and several buttons.
- 1:59
You don't have a, uh, predefined flow that you can test before you go to the, to the live. Uh, and the coverage is endless. So think about like CloudCode or Codex.
- 2:10
They can do a giant range of stuff, whatever the user needs, and, uh, most of the agents do the same, right? So you give the instructions, and they can handle it.
- 2:18
And you cannot write all the conversations, uh, in advance. So th-this leads to the deepest part of the problem. The part that keeps me up all night, which is you lose the feel for your own system.
- 2:31
So after you, uh, build the product, you need to have some kind of understanding. Does it get better or worse? So you need to monitor, understand what is happening.
- 2:41
And the problem is that this normal-- the normal safety nets don't save you here. Uh, and believe me, we try, uh, a few stuff or we, we build a unit test.
- 2:52
We have some regex, some rule-based checks. We even create some scripts to simulate the customer conversation. Uh, and, uh, yeah, it helps in some ways. Uh, but at the end of the day, uh, it is like only a one slice of the whole problem
- 3:08
because, uh, customers always do something different. Uh, you cannot write it all down. They are too many, and they are all different. And the horizon for it in the same way.
- 3:20
So you don't know what your agent will do until it is in the production.
- 3:25
So why this is a new problem? So as you know, LLMs are not, uh, deterministic. Uh, the same input can have a different path. Even slight modification on the input can call a different trajectory, and the coverage is endless.
- 3:39
You cannot list it all down. You cannot pretest until you go into production.
- 3:44
The second and the scariest one is the failure hides itself. So let's think about what happens when the agent is running for a long time. It struggle in the middle of a task.
- 3:55
Uh, it has some problems, but it was lucky. Uh, it was recovered. It finds some workarounds, uh, try some other tool calls or wherever, and you did not get any red alerts, any problems on the dashboard.
- 4:08
Everything looks fine. But you know, this is a early warning for you. This is a problem that, uh, that is hidden, uh, and that lives in your code base.
- 4:18
And you need to fix it as soon as possible because if you're talking about the reliable agents, uh, each will be dependent on the luck, right? And, uh, also as Anthropic mentioned in the blog post, sometimes the agent loves to make-- mark the feature as complete, uh, without checking if they actually worked.
- 4:38
The next one is, uh, the tool calling, right? So the tool surface is huge. So long-running task needs a hundred of tools, even thousands of tools. Um, sometimes it have, uh, several summarization in the middle.
- 4:51
It use some sub-agent, writes a lot of code. It use a terminal for sure. It calls some other company services, third-party libraries, and, uh, they, they work with different way, uh, all the time.
- 5:04
So actually, you don't know what you're looking for. So sometimes finished does not mean it is helpful for the user. Maybe there wasn't any-- there wasn't any problems. So agent finished, everything looks good.
- 5:16
The answer was successful. But what happens, like for example, for our use case, sometimes, uh, user asks to build the itinerary, agent run the flow, it builds a trip, but it book a different service.
- 5:30
It made a lot of mistakes in calculating the price, so user is not happy. So technically is successful, but still fail in the task. And as I mentioned, the unit tests don't save you here and production is the place when you learn what you need to, uh, what you need to test on the first place.
- 5:47
All right, so what happens after you launch the product, right? So you need to monitor, you need to understand and improve the system. Uh, and what's the source of the truth, right?
- 5:57
This is the logs. Everyone has the logs. Everyone loves the logs. You have structured information. And, uh, you know, those machines are the best to understand and explore the logs much better than any human, much faster.
- 6:10
They can write some scripts to filter the giant of walls. Um, and this is the most obvious way that you can hand it to the agent. Uh, but as soon as you start working on that, maybe you build an agent or skill or whatever, you, you quickly understand this is not as easy as you imagine because it
- 6:30
needs a lot of reasoning. You need to understand the problem to, uh, differentiate if, if it's a real bug or a noise, to keep time in its phrase or trajectory, understand if it's a, a symptom or a root cause.
- 6:43
So actually, you'll find out that the operat-operating an agent itself is an agent problems.
- 6:50
So this is a loop like end-to-end. So you have a traces, you have trajectories, you give the agent to access the code base. It diagnose the problem, understand what was happening, and send the PR.
- 7:02
And then you can have a scale or sub-agent or, or wherever that controls the PR, uh, because you know, most of the agents are pretty eager to send the PR.
- 7:11
They love to fix the problems. We prefer to have a separate agent, which has a, like, fresh context. It try to check, um, mm-hmm, the PR on different angle, on different view, run the, um, uh, the focus test.
- 7:27
And, uh, it is not biased of the problem itself. It tries to criticize, score the PR, and, uh, sometimes it, uh, requires the changes. Maybe it close the PR directly and help us to, to filter those problems.
- 7:41
Uh, and, uh, mm, then you have the human-in-the-loop. Sometimes you don't. Uh, and we can talk about this later, but you know, this is the most obvious thing that you can hand it to the agent, which is-- which seems like, uh, pretty obvious for most of the people.
- 7:57
And, um, a lot of teams use the same practice, but I think people don't appreciate how important it is. And you need s-- you need to spend some time on that.
- 8:07
You need to calibrate. You need to make it reliable, to trust the loop. And this is the, the fastest loop that we ever had. So,
- 8:16
you know, after you build this simple, uh, simple system, you, uh, already have the feel and understanding how it behaves, what is happening. You detect the problems and local fixes as soon as possible.
- 8:30
And you can have the PR in-- PR ready in half an hour, and you can, uh, easily understand what is happening. So let me walk you through, uh, how I'm handling this.
- 8:40
Maybe this isn't optimal, but I think this, this will help you to, to get some point. So actually we have a two main flow. The first one is the, the fastest loop that helps you to, to detect and, uh, fix the problems as soon as possible.
- 8:56
And another one is like more on a zoom out that hel-- that helps you to have, uh, on a high-level understanding, and it helps you to have hand on the pulse.
- 9:07
So the first one is a log monitoring agent, the one that I already mentioned. So you have trajectories, you have logs, you have the access to a code base, and it runs every hour or, um, uh, every few, uh, fifteen minutes.
- 9:21
And it try to understand the problem. It deep dives in the, in the logs, uh, understand does the us-user end up stuck and, uh, send the PR or sometimes send the Slack alert.
- 9:33
And this is, this is pretty, uh, important because sometimes the problem is, uh, uh, so critical, so we need to, mm, fix them as soon as possible. And, uh, yeah, it works pretty well.
- 9:48
So this is the one example how the PR can look like. So you have a nice description, a short explanation what is happening. You have some metadata. You have nice diagrams, Mermaid or ASCII tables.
- 10:00
Maybe you will have some HTML artifact that helps you to give you a glance of the problem and quickly, mm, understand what is this PR for.
- 10:12
So this is an example how a stack notification can look like. It helps you to quickly, uh, give you a feedback, detect if there are some, uh, critical problems.
- 10:21
Sometimes it just, it is just like heads up, so you know there are some warnings, there are some problems, so you need to check them, uh, when you have some time.
- 10:31
And as I mentioned, the review agent is, uh, pretty critical because it try to check the problem in different angle. It always try to criticize the problem, score the problem, and, uh, as soon as it's ready, it send the PR to the human.
- 10:45
And sometimes people talk about that if you need to have the human in the loop because you know, still human in the bottleneck in this case. Uh, in our case, the, the, the PR agent and the review agent send ten times more PR than three of us, uh, every day.
- 11:01
So you need to have some clean system how we're gonna handle this to not be a bottleneck in this system. But from my experience, as I mentioned, this PR and the review agent helps me to have a n-nice description, uh, some artifacts that helps me to quickly understand the problem.
- 11:20
Uh, may-- and maybe I spend a few minutes to at least understand what is happening. So I think at this time it's okay, but maybe we will remove it in the future.
- 11:30
And yeah, people are talking about that. So you need to... You ne-- you don't need to be a bottleneck in this problem. Some of them prefer, uh, to remove the humans in this loop.
- 11:40
But you know the trend is that you need to close the loop first. So let's make the problem when you are the bottleneck, and then you can remove yourself pretty easily, I think.
- 11:52
So this is, uh, some examples how the review agent feedback can look like. As you know, uh, it requires some changes. You have some summary. You have some diagrams, explanation where there are some risks, some edge cases.
- 12:05
And sometimes, uh, after a few iterations or they go in loop, uh, where the k- where the kid is ready, so we don't no- we don't need to, uh, have any more changes.
- 12:16
So after that, the human will, uh, jump, uh, into the loop.
- 12:22
For the previous agent, as I mentioned, that is especially good when you want to fix some local problems. Uh, for our case, it runs every hour. It checks only a one-hour window of the logs, and, uh, it doesn't have any, uh, high-level understanding of the problem.
- 12:39
So we find-- found out that we need to have another system that helps us to, to get, uh, to get, uh, mm, like more on a high level explanation, some kind of a health of the system.
- 12:51
And, you know, visibility is the easiest piece. Um, before the agent view was impossible, so you cannot, uh, deep dive or summarize hundreds of conversations. But right now we can have a system that helps you, uh, to, to score every conversations, understand what is happening, and give you a high level zoom out of the system.
- 13:12
So this is the session analyzer, and the main goal is to just give me the score of the health of the system, right? So we try to check every, every conversation, run through a lot of sub-agents.
- 13:24
It spend a lot of tokens. Uh, but yeah, it helps us to detect some patterns, connecting the dots and, uh, try to understand some high-level patterns. And, uh, yeah, it also detects some, uh, mm, uh, like cluster problems.
- 13:42
What is the cause? Uh, how many tool calls are used? How many sub-agents? Uh, how many summary happened or wherever. But also it gives some AI insights, some entities, so we have an understanding of the problem.
- 13:55
So, right. As I mentioned, one of the main problem is that you lose the control after you launch the production. So you need to have the system that helps you to control at least to have some understanding what is happening, how it looks like, is it healthy or what or not.
- 14:10
So, um, [lip smack] actually let me, let me show you,
- 14:16
uh, one of the example how, how it looks like. So actually we build it ourselves. So there are a lot of other, um, companies and tools that provide the same kind of system, but [lip smack] I prefer to build it myself because I know what I'm interesting for, what I'm looking for.
- 14:33
So as you can h-- see, we have the health of the system, we have number of sessions that was analyzed, the cost, we have the average score, some success rate.
- 14:41
We have some trends, we have the AI insights, and this is the most important part. When the AI or when the agent try to connect the dots, find the patterns.
- 14:50
If there are some critical ones, you have a description for each of them. What is this? Why it matters? What are the root cause? All the sessions, uh, affected, and some recommendation fix.
- 15:02
So right now this is just, uh, anonymized data, but it comes from a, from a real conversations. So we have a score distribution. Uh, each company, um, number of sessions or the cost.
- 15:15
We have, uh, the sentiment analysis, some entities. We have analytics about tool calls, all the success rate, how many rejected and why. And you have, uh, detailed, uh, analysis of the each session.
- 15:28
So it ranks each one of them, scores, that is, um, how many times it was running, how many messages, how many tool calls, how many summary. And you have a detailed explanation for each of them.
- 15:40
What was the problem? It is something that you need to session and, uh, believe me, it helps a lot and it helps you to check and watch across hundreds of, uh, conversations.
- 15:52
So the, the main goal of this dashboard and the system is not to fix some, uh, um, uh, specific problems or bug. This is more on a high level that helps you to watch across hundreds or thousands of real conversations.
- 16:07
So you can run it once in a week, two times in a week, or something like that. All right, so the next one is that, mm, so the problem of the previous, uh, agent that I mentioned is like the first one helps you to detect the specific problems.
- 16:22
The second one is to give you a high-level understanding, but both of them work from a angle of the logs or a, uh, code or a session itself. But you need to have some kind of user perspective, right?
- 16:37
So that's why we have some computer user agent that helps you to, uh, to open the browser, uh, to log in and try to simulate the customer itself, because sometimes you have some problems in the UI.
- 16:49
You need to, um, um, check if everything looks good. Uh, and uh, yeah, sometimes code and logs don't help you, uh, in this way. So this is, uh, example how it looks like.
- 17:03
So you, you use Codex, uh, sometimes. So it use, um, uh, the browser itself.
- 17:10
Uh, actually it is pretty slow. Uh, and we try to build the specific skill that know our, uh, website, our DOM, how it looks like, and that is much faster.
- 17:22
And it can, uh, open the website, log in, open the session, send the messages, check what is happening, uh, and also check, uh, how it looks like, what are, what are the some artifacts.
- 17:34
And uh, yeah, it works pretty good. But yeah, you, you, you need to know that it, it, it will spend a lot of, uh, lot of tokens.
- 17:43
And also, uh, for all of those problems, you need to remember that, uh, you need to give access to all kind of tools, uh, that is needed. So you need to have a log, trajectories and metrics, database, UI as, uh, so as the humans need, right?
- 17:59
So you need to give all context, all possibilities to understand what is happening. For example, for the computer use agents, when detect some problems, it, uh, should be able to, uh, analyze the trajectories, check the, uh, database to understand what happened.
- 18:16
And you know, that's why I'm calling it the meta harness, the whole system when everything is connected and, uh, the PR or the answer from the agents are, uh, depend on the, depend on the real problem and they're not guessing what is happening.
- 18:33
So the most, uh, is not the model alone. And you need to build, uh, the agent or a system or a harness around it, uh, which, which, uh, watch itself, understand, improve, and help you at least to, uh, at least to monitor what is happening.
- 18:50
But also in the ideal case, to close the loop, send, uh, automatic PR notifications wherever and, uh, help you to speed up the process. So shipping is the easiest part today.
- 19:03
Uh, if you want to ru-- If you want to build a production agent, you need to close the loop first because somehow people are not talking about how important it is, uh, what happens after you launch.
- 19:13
So everyone can have the same model, everyone can have the same agent or harness. But you need to have some internal system that helps you in this process, uh, detect the problems, uh, and give you a sense what is happening and helps to make the product better.
- 19:31
Thank you.