Intro0:00
Thanks for joining me today, towards the end of the day here. So I hope everyone has enough energy left for maybe what is your most excited topic of the day. It remains to be seen how traditional observability differs from agent observability.
Quick agenda: I'll do a quick intro about myself and the company that I work for. This is not going to be a very product-forward talk; it's going to be more theoretical. So I won't drown you in sales slides, I promise.
And then we'll get into how these two ideas differ, and also talk about what's next in the space. My name is Phil Hetzel. I lead solutions engineering for Braintrust. What that means, effectively, is that me and my team were the folks that are charged with making sure that our customers are getting the most value out of the platform as quickly as possible.
Prior to Braintrust, I spent 12 years in consulting and systems implementation. I led the global Databricks practice for Slalom Consulting before I came here. And I noticed that a lot of my customers were prolific at creating generative AI proofs of concepts, but not nearly as good at bringing those proofs of concepts to production.
So I started using Braintrust as a user first, and I really liked it. And I applied for a job, and I've been here for about a year. I like to play chess outside of work. I like to spend time with my wife and dachshund.
That's Pistil Peat,right there. That's my dog. He's the person in brown and not black. Those of you who have been to my sessions before didn't laugh at that joke because you've heard it at least once already. What is Braintrust?
Braintrust is an agent quality platform. We mainly look at agent quality in two different ways. Is your agent performing as well as you thought it would when it's in production? i.e., can you remain confident in your agent? And then on the other side of that is, as you're experimenting with new versions of your agent, do you feel like you can become confident as you tweak it and change it over time?
Those are a couple of things that Braintrust does, obviously relevant to today's discussion, because agent observability is a massive part about what we do. Anyone has heard of Braintrust? Show of hands. Before this week, did you hear of Braintrust?
Yeah? OK, a couple folks. Well, welcome back for the folks that have heard of us before. I'm going to go pretty quickly through the slides. Hopefully you have enough time for questions as well. I don't have a ton of content.
Traditional o11y2:48
Traditional observability is established. So even when folks come to us, they'll say, well, we already have open source tools like Grafana, as an example. Why wouldn't this be the same problem that we're solving with perhaps either an implementation or a contract that we already have?
It's very established. And we know that these applications can operate at scale. So the case that I'll be making is that the scope of traditional observability is actually quite different from the scope of agent observability, and I'll explain why.
The scope of traditional observability, it's all about uptime and technical performance. Is the application up? And is the application giving a user experience from a technical lens that we would expect? So latency, duration of interactions, 400 and 500 level errors, these are all things that we're measuring with very established tools like a Grafana, like a Datadog.
I will even say that at Braintrust, though we are an agent observability platform, we're happy users of Datadog. It's great for this specific type of use case for us to understand if people are running into 500 or 400 level errors on our website, as an example.
Is the system operational? Are we up or are we down? That's what traditional observability is. The building blocks of this are a couple different things. Metrics, these are the things that you're measuring. I gave a couple examples before, but latency is the most obvious one.
Error count is another. The things that you can aggregate and measure over time. And then traces and spans. Is everyone here familiar with observability? Does everyone know what a trace is? OK, I don't want to take that for granted.
A trace is just like a full interaction of some workflow. And a span is just one step within that interaction. All of these things would apply to agent observability as well. So we have the same building blocks. Problem one for why agent observability is different.
Non-determinism5:00
Agents are non-deterministic, whereas applications are deterministic. The reason why we love LLMs so much is because they have high variety. They can do a lot of different things. They are abstracted. So because of that, while typical applications have very deterministic code paths by
and it's on purpose that they do that, where they're performing some type of known control flow, agent applications are very much non-deterministic. We're curious about why an agent might take one path versus the other. This also means that traditional observability is going to really have to focus on very constrained and known metrics, whereas agent observability needs to be a little bit broader in terms of the things that it needs to measure.
This is just an example of that. So at the bottom, let's start there. Agent observability can measure some of these more traditional metrics, albeit with more of an AI flair. Time to first token, total tokens, duration, latency, these are all things that you would think would be very traditional observability level metrics.
But also, you might want to understand more qualitative things about your application. So it's not just, how long did I take to start responding to my user, which is more traditional observability. I want to know, was the information that I gave grounded in the context that I gathered with my application?
Did I use the tools that I would have expected
as I was reasoning towards my response? Is the response aligned to the brand standard that I set for this agent in the system prompt? These are all things that are not really able to be tested by traditional observability tools, because if you think about it, the trace necessary, the information in the trace that's necessary for us to compute these things up at the top is far larger than the volume that a traditional observability trace would handle.
That kind of goes to the next point here. Agent traces are really nasty in a variety of different ways. They're nasty because they're highly semi-structured. Even within those semi-structured, there's a ton of unstructured text data that we need to chew through.
Trace Complexity7:20
They're voluminous. So they can be an agent trace could be over a gigabyte in size. We've seen that, even with our own customers. An individual span can be 20 megabytes in size. So it's just a far different systems problem that you have to solve in order to ingest, process, and most importantly, use that type of data.
And also, it's just as fast as traditional observability data. So hopefully, your agent that you're putting in production gets product-market fit, and you have a ton of users and usage associated with it. You, as the AI engineer or as the product manager for that agent, you're going to want to see that observability in real time, in true real time.
Trust me, we know that's the case, because we always get the feedback, can you just make it faster? We're always trying to make it faster. People always want it to be faster. Tough to do when the agent traces look like this, basically.
This is just like an example of an agent trace in Braintrust, where not only does it have a bunch of spans here encompassing the model calls and tool calls, but even within those spans, you saw the amount of unstructured text that's in there as well.
Very different problem to solve.
A little bit more here.
Maybe I'll just dive into the read pattern piece specifically. We need to do two things simultaneously. We need to be able to perform the very fast read, ingest, and read style workflows that are common with observability, i.e., if someone does an action with my agent,
I need to be able to see that interaction basically instantaneously. We also have to commit to read patterns where someone wants to use our CLI and fire off SQL commands to us so that they can incorporate either observability or eval traces to improve their application automatically.
There are just a lot of different mediums that people use now in order to query these very large trace shapes. This is a completely new systems problem. At least at Braintrust, we designed a database from the ground up specifically for agent traces.
I'm not going to really go into depth about this. We have a blog on our website. I think it was the last blog that we published, if you're really interested in diving deep. But just very quickly, there are a lot of different components that we have to build into this database in order to make it work.
For example, we need to immediately get data into a write-ahead log so that people can instantly see these traces as soon as they expect. We need to be able to perform indexing on these data so that whenever someone is performing a filtering or analytical query, that it's fast.
And we have this thing called a Tantivy index. Tantivy is an open source framework that we've forked. Anyone know what Tantivy does? Any guesses? Tantivy is how we perform
text style indexing. So if you remember when I was showing this trace, it makes so much sense for someone to want to perform the workflow of, OK, I just want to know every trace that had the word Amazon into it.
Well, it turns out it's really hard to do that unless you perform a full text-based index across your traces. That's another reason why agent observability is far different than traditional observability. You really don't have to think about the text problems in traditional observability.
Is it the same as OpenSearch?
Sorry?
It's kind of like an OpenSearch.
Tantivy is most similar to an Apache Lucene, except it's written in Rust. Yeah. And then all of these things come together and have to be unified through a SQL or SQL similar language. That's the route that we've gone to at Braintrust.
New Personas11:50
Problem three. This is whereas there is a very specific type of persona for traditional observability. It's a systems engineer. Maybe it's a product engineer. It's probably not a subject matter expert. Or if it's a medical application, it's not a clinician or a registered nurse.
It's very technical people that align with traditional observability. That could not be further from the truth for agent observability, if you're doing it well. We noticed that the best teams that are building agent have both technical and non-technical people in the fold performing this work, because it's the non-technical people that are either, a, closest to the users, or, b, have knowledge that is closest to the problem space.
And what can they do now with prompts? They can write it in natural language. So they can add real value into being able to participate in agents. We have folks that are clinicians or registered nurses or wealth advisors or lawyers.
We have seen them operate in our platform, looking through traces and using that information to improve their agents. That is a workflow that you simply don't see in traditional observability, where you're more worried about uptime.
I think in general, people don't realize that in order to perform observability and also evals well, we kind of think of observability and evals as the same problem. The only difference between evals is that you're running them in batch, and you know the inputs ahead of time.
It's incredible the depth that you end up going into when you create a platform like this. It looks like this, because of the reasons that I've described. The nuances with the data, the amount of and types of people that you have to bring into the fold, those are some of the reasons why it's so different to perform in this space.
Future Vision13:50
Where is this space going? We've done a lot of work in this area. I think the natural question that we used to get asked was, if you, Braintrust, are collecting all of our agent traces and all of our agent traces have all of these valuable data in them, can't you just tell me how people are using my agent?
And it's the simple questions that usually need the most complex systems behind them. This is something that we are starting to do. We just rolled it out, I think about a month ago, in our software as a service offering, where we see agent observability traces come in, and then we'll run a very lightweight LLM on top of them to perform embedding and then clustering on those traces to see how we can
elevate topic modeling to see, for example, how people are using your traces, their intent, how people are feeling about interacting with your agent, the sentiment, or if they're running into issues, what those issues potentially are. The whole idea there is that you can make the iteration loop between a problem that you're seeing in production and the fix that you perform experimentation on.
The whole idea is to just make that faster and a little bit more direct. I promise I would go through that really fast. I've got about three minutes for questions, if there are any. And I'd be really happy to answer them.
Anyone curious about this? Yes.
Q&A15:23
So Braintrust is clearly about the functional observability of agents. Would you say.
I would say technical as well.
Would you say it's also good for non-functional agent performance, or is traditional observability good for that?
That's a good question, yeah. Well, I think traditional observability can do that. Braintrust specifically does do I like the way that you put that, functional observability. What's the quality of my agent, how I've defined it? And then the technical observability just kind of comes on the house.
When you trace the application, you automatically get prompts, duration, time to first token, et cetera. Cache hits, et cetera. Yeah.
In your iceberg slide, you have the human annotation at the waterline there.
Yeah.
Could you explain what the human annotation part is in this platform?
So let's think about it this way. Actually, if I can, I'll go on a high wire act here and just show and not tell. So let's say that you have a trace come in, and you want your product manager to be able to opine on whether that agent did a good job or a bad job.
It's really valuable for you to have an expert come in, grade the agents, but then also justify why they're grading the agents the way that they are. Because eventually, you're going to take those justifications. You're going to probably run an LLM over it, and you're going to make more scalable scoring functions from those justifications.
You're finding the failure modes that you can then implement in automated scores through that. Yeah. Human annotations are a really key part of this process.
OK, thanks.
Yes, in the second row.
Yeah, I just have a question, because I know you just focused on the observability piece today. But I'm interested, actually, how you also integrate with the other agentic framework to a closer group, like for the offline optimization. And then also, I guess, yeah, I think the main difference I feel that I see in your database is that you're not using OLAP or ClickHouse like that.
We used to use ClickHouse, actually. Yeah. We moved away from it.
Yeah, I just want to curious to why you built your own. What is the inefficiency in doing that?
Well, the funny answer there is that our founder is kind of an insane person. Only an insane person would build their own database. But he is cut from that cloth. He was one of the first employees at Singel Stores, so he's kind of used to doing that.
But what he found was when
I think it was let's see this slide. He found that when he was performing some of these workloads, he just needed more of the text-based indexes, which ClickHouse wasn't really able to do, at least at that time. So we built our own.
And then the first part of your question, observability and evals to us, it's like we solve it with the same system. The only difference is that with evals, we know the inputs ahead of time, and we're doing it in batch.
With observability, we don't know what the inputs are ahead of time, and we're doing them in real time.
Right. But I mean the experiment functionality. How easy is it to integrate with the engineering?
Oh, yeah, it should be pretty easy. Once you've traced and I apologize and I'm making this about the product. But when you have a trace come in, you've traced it, and then you just add it to an offline data set, basically, so that you can experiment upon it.
Yeah.
I'm not sure if there's anyone after us in this room. Do we have to.
Yeah. We're not sure.
OK.
But can I carry on?
According to agenda, yes.
It's a small spot.
Oh, is it? OK. I'm happy to go on then. Yeah.
Great.
Perfect. Yeah.
Do you always measure it quantitatively, or do you also sometimes have some kind of qualitative piece of pros as the result? Like user satisfaction can be a number. You can also imagine certain metrics to be just, yeah, a vibe check or something.
We can do you want to talk specifically about Braintrust for that answer?
Yeah.
So there is the online scoring piece here, where it's like a known unknown, where you can very much put a score behind that. But also, there are ways where more these are not scores. This is like the unknown unknowns piece.
Unknown unknowns?
Got it. Yeah, thanks. Where we can, in a more open-ended way, derive insight from it. Yeah.
So you're saying it's a pretty extensive.
Yeah. Probably time for one question, if not.
We should end here.
Great. I appreciate everyone's attention today. Thank you.





