AI Engineer Europe 2026
LLM Observability, Evaluation, Experimentation Platform — Dat Ngo, Arize AI
About this talk
Arize AI's Dat Ngo explains how OpenTelemetry traces and spans expose nondeterministic agent behavior, regressions, and incorrectly ordered tool calls. He discusses Arize AX, LLM-as-a-judge evaluation calibrated against trusted golden datasets, lower-cost deterministic checks such as JSON validation, collaboration between engineers and domain experts, and minimizing manual observability and evaluation overhead.
Chapters
- 0:00Dat Ngo introduces Arize AI and AI observability
- 2:34OpenTelemetry traces, spans, and automatic instrumentation
- 4:55Arize AX and debugging nondeterministic agent behavior
- 7:10LLM judges, golden datasets, and deterministic evaluations
- 8:44Engineers, domain experts, and cost-effective evaluation
- 13:16Moving beyond manual dashboards and closing remarks
Talk transcript
- 0:00
[upbeat music] Okay. I don't know if there's, like, a cut scene, but okay.
- 0:17
So [chuckles] really nice to meet you all. Uh, my name is Dat. Uh, I work at Arize AI, so I'll talk a little bit about what that is. Uh, a little bit about me, uh, and kinda what I wanna share today is, um, [lip smack] you know, uh, I, I work very deeply in, in the space.
- 0:31
I'm an AI architect. I work with a lot of the largest enterprises across the world, uh, to talk about, you know, uh, we work on things like observability, evaluation, experimentation, but really it's just how do you make AI work, right?
- 0:43
So, uh, I do spend a lot of, of tokens, um, [chuckles] in this space. Uh, so this was, uh, last OpenAI DevDay. I think I made it to probably somewhere between 100 billion and one trillion tokens, uh, last year.
- 0:56
So I do, I do like to vibe it out. [lip smack] But I do know the space really, really well. We work with some of the world's, uh, largest, uh, companies and enterprises, so we get to see their transformation into this space.
- 1:07
And really what I wanted to share today was, like, what do I see in, in the industry? So I think, uh, we have a very unique vantage point, being the company that we are, [lip smack] uh, so we get to see what every team is building, how they're building it, what are the biggest pains that they face, uh, and
- 1:23
really how they're trying to fix those, those things. So if I had to really distill down, you know, what we do in kind of a nutshell, it's really these three things.
- 1:33
Um, maybe by show of hands, like, who's, who's built agents, who's building agents, who's productionized agents, uh, who's building harnesses, uh, and who has no idea what a harness is?
- 1:45
Okay. We're all, we're all pretty, okay, all pretty cracked, so that's good. [lip smack] You know, I think it's really funny is that, like, the AI space, it really just feels like software reimagined.
- 1:55
Um, it's really the same set of patterns, just in maybe a different flavor coming out. Uh, and it's really-- It feels like magic, but it's not magic, right? It's all just engineering.
- 2:05
So, um, really what we're gonna cover today is just three things. Uh, the first one is observability, which answers the question of, like, what's happening in the thing that I've built, and what does that look like in, in whether it's a harness or an agent?
- 2:17
Then we'll go into evals. Evals is just simply how do I derive signal from my systems in some form or fashion, right? And then as we talk about how we make improvements, uh, in this new non-deterministic world, um, you'll come to find out that when you make, you know, what you perceive as a fix, and you fix
- 2:34
the thing that you thought you fixed, you might have actually produced, like, two or three regressions that you didn't really know about. And so, like in our world, um, when we talk about observability, right, uh, everything that we do is something that we're super proud about is [lip smack] uh, OTel is a really strong pattern for those in the
- 2:50
engineering space. But everything we, we do is through OpenTelemetry. So, you know, it doesn't really matter, [lip smack] you know, what particular type of, um, you know, harness agent, uh, model, uh, setup that you have.
- 3:03
The good news is that, you know, being OTel first, [lip smack] we're really prepped for, for a lot of these, uh, use cases. So whether it's an auto instrumenter, if you know what that is, but basically you add one line of code, uh, that one line of code will, you know, basically see what's happening around in that particular framework
- 3:18
or SDK, create OpenTelemetry traces and spans, uh, and produce, you know, these views kind of here. So if you've ever seen a trace or a span, it's basically the audit record of what did my agent do?
- 3:30
'Cause now we know that code doesn't audit agents or harnesses. It's actually the telemetry that does that. So traces is a big fundamental part of observability. [lip smack] Now, there are many other different parts of, uh, observability that you should be thinking out- outside of traces and spans.
- 3:47
You can think about sessions too. So I don't know if you-- any of you read the Anthropic paper, uh, Managed Agents, that came out two days ago. Pretty awesome read.
- 3:55
Uh, but sessions is another one about, like, state. So what are the back and forth maybe conversations? What are the back and forth states that are happening between, uh, you can think runs? [lip smack]
- 4:05
For a lot of people, uh, in the enterprise, they may want to end up running, um... I realize this isn't the easiest to see, so let me change over to, uh, light mode.
- 4:14
Um, a, a lot of folks-- Uh, yeah, sorry about that.
- 4:18
It's better.
- 4:18
Yeah. [chuckles] Um, a lot of folks, um, would like to, you know, understand, like, hey, [lip smack] um, what is the back and forth conversations? So, um, so that will be something like a session.
- 4:29
So it's like, hey, what are those back and forth, uh, conversations that are, that are being had? Great. [lip smack] Now, um, people like to eval those. So in the enterprise, you'll see a lot of folks being like, "I don't really care the deep level, you know, the agent did this tool call, that tool call."
- 4:44
They may not care about that as much as like, "Hey, was the end user satisfied? Were all their questions kind of answered?" [lip smack] Now, one unique thing, I'll change this over to light mode too.
- 4:55
Uh, one unique thing about what we do here at Arize, uh, this is Arize AX, [lip smack] is that sometimes when you think about your agent as a non, a non-deterministic call, right?
- 5:05
You wanna be able to see, hey, what did my agent do, for example. Uh, there's different paths that your agent could take, right? So, you know, different branches. But what if you wanted to, like, look over all instantiations of your agent and get a more distributional view of what's happening?
- 5:22
Um, these are kind of, like, views into, like, the distribution of your agent. So what are all the possible paths and branches, uh, also loops? It allows you to answer questions like, what percentage of my traffic, uh, goes down one branch versus another, right?
- 5:37
Um, was there a particular component in that particular, you know, branch that we took that caused, uh, whatever, a significant amount of latency? When we start to talk about agents or different paths, you may think about trajectory evals.
- 5:51
And so a trajectory could be like, hey, I went down this one path and everything was really good. But for some reason, when I go down this path, the, the evals or the signal that I'm collecting is dropping Why?
- 6:01
What's the root cause? Oh, the root cause issue was that, uh, these two components are actually out of order. Uh, I did B before A, and actually B has a dependency on A.
- 6:11
So actually, like, it turns out, like, the way my LLM decided to call these things was, was mismatched, right? We need to put some context in there to say, "Hey, actually, before you do this, you need to do, to do that."
- 6:22
And so there's many different, you know, views into observability. Of course, uh, things like, uh, analytics aren't dead either. So you know, what a lot of the, you know, folks in, in the enterprise end up looking at is just they just wanna build views on what their, what their agents look like in real time.
- 6:39
And so being able to customize and build those views out, super, super helpful. Um, and that's, that's observability in a nutshell, is like, can I see all the different layers?
- 6:49
We have, uh, many, many different types of, of layers here. Um, you know, the next thing is like, okay, so I have observability. That's kinda step one. It's the same thing that happened in software, right?
- 7:00
Now you have to determine signal, right? And so signal comes in actually many various forms as well. The way I like to break it down is, is kind of these five flavors of signal.
- 7:10
Um, I think everyone here in the room has heard of LLM-as-a-judge. [chuckles] Um, and so, uh, you know, it may seem like a simple concept, but in actuality it can actually get quite complex.
- 7:21
Um, and we'll kind of go through all of that. Now you can't forget about your humans. Um, when you think about humans, um, whether it's the end users using your product, it's extremely valuable signal.
- 7:32
So whether you're a product manager or, you know, someone technical or non-technical, you do care about this signal. Uh, we've all hold-- heard of golden datasets. They're extremely valuable because it's-- If the third column here represents quality, um, you know, you, you trust the person who, who labeled this data because they know the domain, um, then you'll,
- 7:51
you know, you'll run techniques like, hey, I'm gonna run my LLM-as-a-judge on some, you know, golden dataset so that you can tune your LLM-as-a-judge. You basically say, "Hey, my-- can I get my LLM to approximate this, this thing or this person or this dataset that I trust?"
- 8:05
And then, of course, we're all thinking about costs as well. So when we think about costs, um, you don't always have to use an LLM call or even humans.
- 8:13
Uh, determinism is super nice, so think about logic or deterministic based evals. If I go from paragraph to, you know, JSON payload, does this JSON... Is it a valid JSON?
- 8:24
Does it have this schema? Does it have, you know, these fields that are n-non-null? Um, and then of course, uh, we're all building these things, uh, for some, you know, for one of three purposes, I think.
- 8:36
So the business metrics you care about are either some form of, like, how do I make more money? How do I save money? Or how do I save time, right?
- 8:44
And so what you'll notice as you start to build really good AI products, um, you'll start to have two types of personas that kind of end up coming together.
- 8:53
So obviously you have your technical users, right? These are your AI engineers, your, your developers of the world. These people are extremely good at building and automating things, right?
- 9:02
They're good at frameworking. But then you have folks who, who are maybe less technical, but they understand what the AI experience should be, right? These are like the subject matter experts, the product managers of the world.
- 9:15
Uh, these folks end up, you know, you want to relegate kind of the work of like, hey, this is how the prompt engineering should go. Here's the evals that I care about.
- 9:24
Um, because you want people who can code coding, and you want people who know the domain to, to work in that domain. And so in our world, what that looks like is something like this.
- 9:34
Um, you know, we allow folks to be able to run evals at, uh, just in a non-technical way. Of course, if you are technical, you can attach your evals and, and run them kind of, uh, programmatically if you want.
- 9:47
But in our world, we wanna be able to say, "Hey, you know, I wanna be able to allow a user to be able to select, you know, their, their model, be able to run some out of the box template or customize some eval here."
- 9:59
And when we talk about complexity on the eval side, right? Um, imagine for a second that you have built some, some application, some agent, some harness. Uh, that harness is got components in it.
- 10:10
They may be called deterministically or non-deterministically, uh, whatever. So evals can be run on, you can think, uh, a single kind of component. You know, we call that, uh, a span kind of, uh, eval.
- 10:23
Let me kinda come here. So the scope would be one single input and, and output. Um, I'll pull up like a more complex, uh, view of this, but oops, let me close this.
- 10:35
But you can think of the simple span input and output as, um, hey, I want to look at the input and output of one part of an LLM call.
- 10:44
So that's-- Most people understand that, and that's really, really simple. Now, um, we a-also have like multi-span evals. So you can think of that as like, hey, in order to run the eval that I want, it actually requires data across many different components in, in the system.
- 11:00
So if I wanna say, "Hey, how well are agents passing data back and forth to each other?" Well, it turns out I need the data from every single agent and how they pass data.
- 11:08
So that's a multi-span eval, and it allows you to run more complexity. If you wanna look over all of the, the spans in, in total, that's something like a trajectory eval.
- 11:17
Did we call things in the right trajectory to, to finish the business process? Um, and then there's that session level eval, right? It's, it's like zooming out and saying, "Hey, what does the state machine..."
- 11:27
Like if I wanna evaluate that state machine of, um, [lips smack] hey, let me turn this to light mode. Hey, in this conversation, was the user ever frustrated? Did we answer all of their questions?
- 11:39
So think of that as I want to evaluate the state machine. So as you're thinking about evals, it's not generally, you know, it's, it's also like, hey, what flavor of eval do we wanna run, but at what scope and depth?
- 11:49
So you can get very granular, and then you can also zoom out. And just because you can eval something doesn't mean you always should. Um, it's not this exhaustive thing.
- 11:57
You wanna see, like, hey, what are the minimal set of evals I can get away with? Uh, to understand signal of like, is my application working as intended because there's a cost associated with this stuff, right?
- 12:11
And so, you know, TLDR, um, you know, that's, that's observability and evals in a nutshell. We'll talk about experimentation and improvement. So not everyone starts with, with traces. Um, if you do start with traces, you can take them and do really cool things like, um, say like, "Hey, um, show me where some signal is, you know, whatever,
- 12:31
bad. Where am I missing stuff?" Right? Then you can find those things, uh, collect them up into a dataset. Also, if you don't have traces, you can just upload a dataset outright, input-output pairs.
- 12:43
Uh, and then from here you can do things like grab that dataset, for example, which is just rows and columns of data. Then you can start to run experiments.
- 12:52
Uh, experiments can be changes. So as you think about how do I make things better for my agent or harness, it's generally changes. Changes to prompts, changes to models, changes to orchestration, changes to configurations.
- 13:04
Think, think that way. Um, we allow folks to be able to test these things, uh, in a UI or programmatically. But you know, one thing I always like to share with our customers is like, where is this space going?
- 13:16
Uh, what we quickly realized at Arize here is that like most people don't want to live in dashboards or buttons or manual things. Um, and we, we very much recognize this.
- 13:26
Uh, as you think about where the future is going, uh, software will compress. It's gonna be easier to build, easier to customize. So everything I just showed you was just like the, the nice manual way to see it.
- 13:37
But everything we've done, we've allowed you to be able to do this, uh, progr- like through your coding agent. We realize people are very comfortable with their Claude Code and Codexes, so we expose all the primitives, uh, via the CLI and, and a set of tools and skills so that it's kind of opinionated.
- 13:53
Um, and then there's also an AI system built into all of this too, meaning Claude Code, your AI system can end up calling our system so that you can do things like, um, you know, if you don't want to just figure out these things on your own.
- 14:08
We believe a lot of this stuff is, is can be automated. So I can go here and ask Alex, uh, obviously Claude Code or something outside of the system can call Alex, and you can just simply say like, "Hey, uh, do you see any issues with, uh, my application?"
- 14:23
Um, and you know, because we have all the data, because we have the, the hooks and everything else, uh, you know, Alex will go in and plan and run these, these tasks.
- 14:33
So our ultimate goal as a company is actually to automate you out of this process. Observability, evals, experimentation and improvement. We think the whole flywheel is very much, uh, automatable, meaning, um, it's not magic again, but it should feel like magic.
- 14:49
So our main goal is like one day you, you, you work with Arize and you, you pull this, you know, you pull the, the ecosystem down and then it just works.
- 14:58
Uh, we are very heavy believers that you shouldn't even have to choose your evals. Like an AI should have context of like, "Hey, here's the traces, here's what's happening.
- 15:06
Let me create evals on the fly and, and think about them for you." Or like, "Hey, something has changed. I know I need a new eval." But you notice Alex is already getting to work with like, "Hey, what's happening here?
- 15:16
It looks like we have some high latency. We have, you know, uh, some errors detected," things like that. Um, so in a nutshell, this is kind of, uh, where we're going and, and what we're after.
- 15:28
Um, and so as we think about, you know, this, this world, um, we actually have two products out today. So for, for more of the engineering first folks, we have, uh, Arize Phoenix, which is open source.
- 15:39
Uh, the really nice thing about Phoenix is it's single, single container. You can deploy it locally, doesn't require a Kubernetes layer. Uh, and then for our largest enterprises, they use, um, Arize AX, which is kind of generally reserved for, um, you know, some of the largest enterprises between like Uber and, and Booking and, and Reddit.
- 15:57
If you guys couldn't tell, we love dark mode, so we probably should [laughs] try to go light mode in some stuff. But, um, yeah, in, in a nutshell, that- that's kind of what we do and, and who we are.
- 16:06
And you know, if you guys wanna chat about anything past that, um, super excited. But yeah, thank you very much for, for your time today. [audience applauding] [upbeat electronic music]