Latest / Agentic Conversations (formally mlops.community) / Operationalizing AI Agents: From Experimentation to Production // Databricks Roundtable
Transcript
- 0:02And the reason that I wanted to zoom out for a little bit as
- 0:06we're going live, by the way, if you're joining us, very good to
- 0:10have you. It's that I like, I understand
- 0:14that we're going to dive really deep into how to actually
- 0:17productionize agents, put them in production, do it safely.
- 0:22There's a lot of challenges and a lot of failure modes.
- 0:24And I get that. And this is the purpose of this
- 0:26conversation. And so I'm very glad to have my
- 0:29panelists here today. So thank you guys for joining.
- 0:32We're going to do a round of introductions in a minute.
- 0:33But I do want to just plant a flag here, which is, I don't
- 0:38know what you guys are feeling. And I'd like to get your sort of
- 0:41sentiment here. But from my point of view, my
- 0:45mind is blown every single day by these agents and by our
- 0:51ability to move so far. I mean just the I feel like
- 0:54software engineering is just what we've had it for decades.
- 0:58And the way I program now just looks completely different from
- 1:03two years ago, a year ago. I just don't understand.
- 1:06It's like it blows my mind and I'm amazed by this every single
- 1:09day and what it is that I'm coding is changing and how I'm
- 1:14coding is changing and every single thing about this is just
- 1:17blowing my mind. And we're just, we're able to
- 1:20move so fast. And I just want to at least
- 1:23share that sentiment because you guys might be feeling it's too.
- 1:25And I understand that when you're actually doing it in
- 1:27production, yes, we're going to have challenges and yes, it's it
- 1:30might be embarrassing if it goes wrong or whatever.
- 1:32But every single day now, I tell my partner I'm like, look at
- 1:36what this agent did right now. Can you believe she said this,
- 1:40right? Like I just, and at some point
- 1:41she's like, I don't know, I'm done with you and your agents.
- 1:43I mean, just give me a break. You're just so excited about
- 1:45that. And I am very excited about
- 1:46them. But for this hour, we're going
- 1:49to face reality and we're going to see how to actually make sure
- 1:53that they're not doing us damage despite all of the excitement.
- 1:57So thank you very much for joining today.
- 2:00I'm Adam Becker and I'm your host for today.
- 2:03I'm going to be the moderator of this panel for the ML apps
- 2:06community. So today with me we have some
- 2:09Raj, Ben and Apurva. Thank you all.
- 2:11How about we start? Maybe you can give just like a
- 2:14sentence introduction to you, your name, your roll, your
- 2:19title, and perhaps what aspect of agent deployment has been
- 2:24keeping you most busy recently. Ben, do you want to start?
- 2:30Yeah, sure thing. Thanks everybody for for coming
- 2:33on. My name is Ben.
- 2:35I am also a volunteer at the envelopes community, but I am
- 2:38the Co founder and CTO of a company called Grotto.
- 2:41We're a vertical AI company in the multifamily space.
- 2:44So active users and buyers of all of the agentic platforms and
- 2:49systems and GPU providers that you could think of constantly
- 2:53evaluating them and seeing what's best for our team.
- 2:56I would say the biggest impact that agents have had for the
- 3:00company besides just like making our product, the thing that we
- 3:03build possible, like it wouldn't be possible without them.
- 3:06But besides that is the internal agents that we have at our
- 3:10company that exist in our Slack channels that have given pretty
- 3:14much everybody at the company from engineering to operations
- 3:18to marketing access to essentially all of the data and
- 3:21the context across the system. And if you think about what was
- 3:26happening in like even 202524 where a data person or a product
- 3:31person or a marketing person would have to go ask an engineer
- 3:33to do a query against Bigquery to get you some data, like that
- 3:36doesn't exist for us. It's kind of crazy.
- 3:38Like all of our data, we have backups, our agents have access
- 3:42to those backups and people can authenticate through our
- 3:44internal Google account into those backups.
- 3:46And we'll see like 9000 plus message threads with our agents
- 3:51where they're just analyzing the data they're producing
- 3:53spreadsheets, like giving those spreadsheets to customers.
- 3:56I mean, it's unbelievable. Like we have a team of six doing
- 4:00what I what feels like it used to take 40.
- 4:03Like it? It's nuts. 40 and probably years
- 4:07to build. Yeah, I mean, it's crazy.
- 4:10Like I, I, I Slack used to give you the ability to see the
- 4:14breakdown of who was tagged the most that week.
- 4:17And I want, I can't find that feature anymore because Slack
- 4:20changes every three days. But like, I would love to see it
- 4:23because I'm pretty sure our agents are tagged probably 8 to
- 4:2710X more than any individual person.
- 4:30The the most prolific employee at this point.
- 4:34Nice Purva, do you want to go next?
- 4:36Yeah, sure. Hi, my name is Purva Mishra.
- 4:38I'm a founder of a company called Centech.
- 4:40We actually do a lot of consulting work with startups
- 4:43and smaller companies, building their AI strategy and building
- 4:47solutions for them. And we are also in the education
- 4:49space. We are doing a lot of like
- 4:50workshops and paintings for companies.
- 4:53So currently I'm working with the companies.
- 4:57Actually most of our work is focused on internal workflows
- 4:59like Ben was saying, like helping in like marketing, like
- 5:02it's AI is applicable everywhere in all of the different domains
- 5:06that a company has. So a lot of work is the like QBR
- 5:10deck generation, like automating the existing workflows which
- 5:13were not efficient and we're taking a long time.
- 5:16So a lot of it is like talking to these different people in
- 5:19different domains, learning what they're currently doing and
- 5:22figuring out where we can sprinkle the AI magic and make
- 5:24it faster. Yeah.
- 5:28Nice awesome samraj. Cool.
- 5:30Hey, thanks for having me on. My name is Samraj Morjani.
- 5:34I'm an engineer at Databricks working on the ML flow team.
- 5:39And you might know ML flow for the more traditional side of ML,
- 5:42but we're working more recently on providing end to end Jenny I
- 5:47platform for your observability evaluation governance needs.
- 5:53Yeah. And so one of the one of the big
- 5:56aspects that I work on and and something that I keep on having
- 5:59to rack my brain about is quality of agents, both for
- 6:04helping our customers build high quality agents and deploy them
- 6:08into production as well As for ourselves building our own high
- 6:11quality agents to use internally.
- 6:15So yeah, that's me. Nice, awesome.
- 6:17So just to set the stage then, so that everybody's on the same
- 6:21page, summarize you are working on the tool ML Flow.
- 6:24People might know it from the classical era of machine
- 6:27learning and ML apps. And so you get to see a lot of
- 6:30users and what their needs are, and then you're trying to build
- 6:33some tools to help them. And you guys have your own needs
- 6:36and you're obviously dogfooding your own tools and are building
- 6:40towards your own needs. Apurva, you're seeing in high
- 6:43depth a few different companies. You're doing consulting for a
- 6:47lot of companies, mostly smaller ones, and then mostly ones that
- 6:51it might just be their initial, the first time that they're
- 6:53actually getting started with AI.
- 6:56And then then you are perhaps one of those startups and then
- 7:00you're deeply involved in building a lot of agents and
- 7:03then seeing how well they run. So we got the entire sort of
- 7:06like the entire spectrum here from heavy users to tool
- 7:10builders. So this is excellent because
- 7:12we're going to get to see sort of like all of the perspectives,
- 7:14or at least how all these different perspectives are, how
- 7:18the needs and challenges are manifesting across all these
- 7:20different stakeholders. So that's, that's awesome to
- 7:23see. I want to start us out by asking
- 7:25the following question. So somebody's coming to you,
- 7:29either Ben that might be an internal user or a provide might
- 7:33be a new client or Samaraj might be a new user and they're
- 7:37saying, I want an agent and I want that agent to do X.
- 7:41What is that X? Ben, you already started to give
- 7:43us a little bit of a sense, but I want to make sure that it's as
- 7:46vivid as possible so that we're all on the same page.
- 7:48What are what are companies dreaming their agents be doing?
- 7:53Whoever wants to start, then you want to go for it.
- 7:58Yeah, sure. I mean for us, it is an
- 8:00extension of what I just said. It's all of the things that you
- 8:04could imagine typically marketing or customer success
- 8:09wanted to do but didn't have access to because it required
- 8:12like engineer resources for for engineer resources for bad
- 8:19reasons. You know, there's good things
- 8:20like we need to upgrade in a system where we need to modify
- 8:25the database because a user's data, I don't know, like was was
- 8:31assigned to the wrong thing. Like you don't want an agent to
- 8:33be able to do that. At least we don't want an agent
- 8:34to be able to do that. Some companies might and so
- 8:37great, like it has to go through an engineer.
- 8:38But like, you know, for us, a user was promoted.
- 8:42We don't want that to be like a part of our UI necessarily, but
- 8:45a user was promoted, we have to modify their e-mail.
- 8:48Like, yeah, MCP server requires human approval.
- 8:52Like there's no reason that a, an engineer for us is required.
- 8:57We so great. We have MCP servers, we have
- 8:59easy ways to deploy them with fast MCP.
- 9:01We deploy those MCP servers. They are like right tools.
- 9:05So they require a human Click to approve.
- 9:07We tell our internal agents that they exist.
- 9:09We can figure them up through like our internal Google auth.
- 9:12And then they were like, OK, dude, go go agent do this thing.
- 9:16It comes back. It's like you have to click this
- 9:17link to approve it, clicks it and The thing is done.
- 9:19And no engineer was harmed in the, in the making of that of
- 9:22that server call, things like that.
- 9:24So it's simple, right tools that we are comfortable giving non
- 9:29engineers access to make those rights that are never DV queries
- 9:33for us. They're always very contained
- 9:36isolated functions that call like internal functions that
- 9:40make DV calls. But like you can't, there's no
- 9:42like sequel injection risk or things like that.
- 9:45And then a bunch of read access that used to be very difficult
- 9:48or annoying to set up. Those for us are by far the
- 9:51biggest. And then we have things like for
- 9:54marketing, we want to test out different versions of our
- 9:57website. So our internal agent has the
- 9:59ability to host our website separately on its internal
- 10:03domain, like exposed through Cloudflare.
- 10:05And then our marketing team can go and modify and like make
- 10:08changes, test SEO, see how it comes up with different search
- 10:11queries. And then they can port that over
- 10:12to a pull request that actually modifies our site.
- 10:15So it's giving them access to do.
- 10:16Those are real, all real examples that we do today that
- 10:20would have required engineering. I'm curious then, is it is it
- 10:23fair to say that it that like those needs emerge from both
- 10:27camps? That is the engineers themselves
- 10:29are saying, why are you giving this to me?
- 10:31I don't need to do this, just do it.
- 10:33And then maybe the non engineers are saying why do I need to go
- 10:35to this engineer? I can't take do it myself.
- 10:37Are you seeing them kind of bubble up from both both sides?
- 10:41I would say it's, I mean, given how small we are, it's
- 10:45definitely more the latter of, I mean, it's both.
- 10:48It's, it's just a cultural shift.
- 10:50Like I, I pushed everybody at our company to anytime they
- 10:54think they want to ping me or my team to do a thing, I say like
- 10:57first, just like go see if the agent can do it.
- 11:01Also, I'm sure a lot of companies have this, but like
- 11:03our agent at this point, it constantly is updating its own
- 11:06memory based on interactions. And like it's gotten to a point
- 11:08where it just knows to ping me. Like, like it just messages me
- 11:12in threads if it thinks it can't do a thing or doesn't know how
- 11:15to do a thing. So it's sort of at this point
- 11:17is, is self enforcing. So what somebody on our team
- 11:20will go ask the agent, they'll go back and forth a bunch.
- 11:22The agent will either do it great or it won't.
- 11:25And it'll literally type out and send a message like at Ben, can
- 11:27you jump into this thread? Like, how do we sit?
- 11:30Like how do we do this? And that's sort of how it's been
- 11:33going and and and self improving.
- 11:35There's like a Ben MCP. It's just there's.
- 11:38It's actually just a Ben. It's just a Ben handle on Slack.
- 11:43Fun. OK, Apurva, what, what, what
- 11:45kinds of use cases are you saying and what are kind of like
- 11:48the the grandeur of the aspirations that people have
- 11:51when? They come I'm I'm just wondering
- 11:53get it like loan overtime that it has to tag Ben?
- 11:57Yeah, it did like so one of its intern, you know, like when you
- 12:01set up a one of those systems, you often won't give it like a
- 12:03sole dock, like a sole dot MD and one of those sole and in
- 12:07ours not unique is just like every time you have an
- 12:10interaction go like think about what you could update in your
- 12:15memory about it. And it just has started
- 12:17naturally tagging me with questions like that that was not
- 12:20like explicitly written. It just sort of picked up on
- 12:22that. I'd like it to stop doing that,
- 12:25but like it, it does do that. It's interesting what they pick
- 12:28up on, you know. Yeah, totally.
- 12:31So the kind of use cases that I'm getting are more from the
- 12:33business perspective. So the kind of like people that
- 12:36come to me are like business owners or founders and they have
- 12:39heard about AI, they have tried exploring it in their company
- 12:42and they're trying to find some export who can build something
- 12:44for them. So it's mostly like a recent
- 12:46company founder, they had a SAS company, but the users are
- 12:51non-technical. So it's a SAS company, he's
- 12:53technical, the owner, but the users are non-technical and they
- 12:56were like struggling providing support to them because the
- 12:59questions would be like oh, where is the drop down menu or
- 13:01where is this button? Like they are not that
- 13:03experienced with using a computer software.
- 13:05So they want to build an assistant which can do stuff for
- 13:08them, all the complex tasks that they have like job assignment or
- 13:12like e-mail template creation, whatever inside the SAS
- 13:15software, they want to automate all of that and assistant whom
- 13:18the person can go talk to and can do all of that stuff.
- 13:20So, so a lot of my work is like narrowing down the scope and not
- 13:25like building what they want is like an end to end solution
- 13:27which can like do everything for them.
- 13:29So I have to like help them like narrow down the scope and like
- 13:32build like smaller agents that we can like put together later
- 13:35on based on like how they're working.
- 13:36Are they working good? Can they put the put, put them
- 13:39together and put like an orchestrator on top?
- 13:41So yeah, so that's like the kind of work that I get.
- 13:46Like a lot of it is like is more about like communication,
- 13:49building the POC trying to narrow down their scope and then
- 13:52actually building the solution and like then going on to like
- 13:55evaluation. And stuff.
- 13:56So it's kind of like they, they come in and they want, it's
- 14:00almost like they're not yet sure how to scope the agent.
- 14:04And so they imagine that one agent can do everything, and
- 14:07then they. Start to figure out the problem
- 14:09and they think I'm gonna find this export I'm gonna solve that
- 14:12problem yes and those problems most of the time AI is the way
- 14:18to go. Sometimes AI is not even the way
- 14:20to go, but even even for the problem like what they have
- 14:26heard is like agents work perfectly all the time and like
- 14:29you can just start with them. It's better to like narrow it
- 14:32down, reduce the scope, build something smaller to begin with,
- 14:37see how it's doing, how the employees are working with the
- 14:41agent, and then like go with that.
- 14:43Because a lot of it is also the behaviorship that Ben was
- 14:46talking about. Like the employees are getting
- 14:48used to like using AI tools and stuff.
- 14:50They know about hallucinations every time.
- 14:52Like every time the agent was answering something wrong, they
- 14:55were saying, but the issue was the documentation.
- 14:59It was just not up to date. With startups, that happens a
- 15:01lot, right? Like you have documents written
- 15:04about your interface and the interface changes so quickly.
- 15:07Like you the button is gone from there or the drop down menu is
- 15:09gone. So a lot of it is like them
- 15:11understanding what context management is, what context is
- 15:13like how like your documentation needs to be updated for the
- 15:16agent to work well. So it's always easy to start
- 15:20with something smaller so that the employees can get used to it
- 15:23and then like explore more. Yeah, Samaraj and Ben, have you
- 15:27guys seen similar things then where it's like you have high
- 15:32aspirations for what an agent can do and then you start to
- 15:34say, OK, let's start a little bit more reasonably.
- 15:38And if so, what is driving that pull towards the reasonableness?
- 15:42Cuz you might not have an aporva there, right?
- 15:45Who's telling you actually there's some other pressure from
- 15:49the environment that then forces the better constraints?
- 15:53Is that how you're seeing things and what does it look like there
- 15:56on that? Yeah, definitely.
- 15:58I think, I think the quintessential example is like
- 16:00you can try and replace an entire role or a person with an
- 16:04agent. And and you know, I think a lot
- 16:08of customers we've seen have built out prototypes in, in
- 16:11hackathons or, or for demos and they notice like, oh, OK, it
- 16:15works pretty well while we're testing it.
- 16:18But as soon as they kind of release it more broadly, it
- 16:21flops like really badly because people use it in ways that the
- 16:26developer never expected. It's obviously non
- 16:29deterministic. It will hallucinate.
- 16:31You run into these issues with like out of date documentation
- 16:35or even issues with just prompt engineering.
- 16:42So I think a lot of the the reality check really comes when
- 16:47you see these issues and quality and it kind of pushes people
- 16:52towards these. The kinds of things like Aprovo
- 16:54was talking about where you do have to think meaningfully about
- 16:59design. You also have to a lot of times
- 17:03work on aligning with your stakeholders on what the agent
- 17:07should actually behave like and what it should do.
- 17:10A lot of times the customers we're working with, they have
- 17:13separate teams developing the agents and separate teams which
- 17:18have the domain experts that actually know what the agents
- 17:20are supposed to do. And so getting these teams to
- 17:22actually talk to each other is one of the biggest challenges.
- 17:26Because if you just have a developer going and blindly
- 17:30creating an agent for a medical chat bot and they're like, OK,
- 17:33it looks good enough. Someone's going to come back and
- 17:36say no, this agent's, you know, doing something completely
- 17:39wrong. Yeah, so you're saying the first
- 17:42reality check in your mind is often just the quality
- 17:46degradation or so they expect it to perform a certain way?
- 17:50It's subpar. I wanna just plant a flag here
- 17:55cuz I'm very curious about you guys experience.
- 17:58Do people actually monitor quality of agents?
- 18:04Is that actually a thing like a Poorva?
- 18:06Like do you demand that everybody does it?
- 18:08What does that actually look like?
- 18:09Like Ben, are you that just part of like your best practice?
- 18:12You don't even roll out an agent unless it has quality.
- 18:15What does it mean? And is that something that we
- 18:17talk about or is it something that people actually are?
- 18:20Is it like second nature for engineers?
- 18:23Help me make sense of this at least.
- 18:25Well, I think it go for it. At least when I'm building the
- 18:31solution for them, we try to have an observability layer on
- 18:35top just to make it because like what some Raj was saying, like
- 18:40especially in my case, like it's their first AI solution.
- 18:44If it doesn't work, they would not trust this technology later
- 18:48on. But like any of their other like
- 18:49needs. So it, that's why you need to
- 18:51like narrow down the scope and make sure like it's working and
- 18:54at least like either make it work as well as they needed to
- 18:58or they have their expectations. Like drop down the expectations
- 19:01level it to like how the technology can like work and
- 19:04then like have an observability layer on top and like start
- 19:07pushing them towards like evaluation and stuff.
- 19:10Because it needs to be reproducible in the sense like
- 19:14if they say, OK, this didn't work or the output on that day
- 19:17was bad, like we should be able to trace and like figure out
- 19:20like where, which agent decision or which tool call like where
- 19:24was it messed up? So observability there is like
- 19:28important. I think it depends on what
- 19:36you're doing. Like I think I mean, we have
- 19:40unbelievably strict observability for all of the LLM
- 19:46calls and pipelines that go through our product.
- 19:50For sure. You can trace every decision
- 19:53back to a call that's flushed into a lake house.
- 19:56And like that's great. But also the agents that we've
- 20:00run in our in our product are way, way narrower in scope than
- 20:05the agents that we have running live in our Slack channels
- 20:09because the tolerance for error is so much higher like.
- 20:15When I write with Claude code, if it doesn't respond for 7
- 20:19minutes and then just make some stuff up like it's annoying but
- 20:24it's fine. Like my life is still 10X more
- 20:27productive than it used to be. Even if occasionally or even if
- 20:31frequently. It makes mistakes.
- 20:32It's always making mistakes. That's OK.
- 20:35The agents in our Slack channel are making mistakes too, like
- 20:38all the time. And we have a small, and
- 20:41obviously this is different for large enterprises, but we have a
- 20:43small team and everyone's highly has, has high levels of
- 20:47ownership and high levels of trust in the company.
- 20:49And they're responsible for the outputs of those models and for
- 20:53fact checking and for validating.
- 20:54And like anytime their mistake, they're like, OK, system, update
- 20:57your memory, go fix the thing. But we can iterate on that.
- 21:00So like, no, we have very little observability for our internal
- 21:04agents because our internal agents live in our Slack channel
- 21:07with read only access to stuff like they can't go and make real
- 21:11consequential decisions to the business.
- 21:13They can't send the e-mail. Like we still send the e-mail
- 21:16And, and that's how we kind of manage that.
- 21:20But our, our tolerance for error in our product is, is 0.
- 21:24And so it's a totally different game.
- 21:26And those systems are way more narrowly scoped, so I think it's
- 21:30just super dependent on like. Yeah.
- 21:31And then? But then what does it look?
- 21:33Like so narrow scope and then what?
- 21:36So then you, you enforce a layer of visibility and you guarantee
- 21:41that a person is there to watch, to measure, to evaluate the
- 21:47quality of each of these. Like, how are you actually?
- 21:49And then even organizationally, how does it, how does it happen?
- 21:53For the ones in the product, we go through sufficiently rigorous
- 21:58testing before changing any of the LLM systems in our product
- 22:03such that like we have confidence to ship it the same
- 22:07way. Like we, we treat the agents
- 22:10that are in our, in our, in our, in our product are treated
- 22:14incredibly similarly to just traditional ML models, right?
- 22:17Like every PR that touches any prompt or touches any downstream
- 22:21thing of the prompt runs through our evals and those evals have a
- 22:24very, very low tolerance for failure.
- 22:27CI fails, you can't merge your PR and then on top like so
- 22:31that's that's pre emptive. We then obviously have sentry
- 22:34alerts for any time things like schema coercion is failing too
- 22:38frequently or like changes in calls like like you would maybe
- 22:43back in the day call this data drift, but now you would
- 22:45actually call it model drift because the models literally are
- 22:48changing because we're using providers who change the models
- 22:50behind, you know, non static API endpoints.
- 22:54So when those are changing frequently and we're getting
- 22:57century alerts and then even on top of that, we have, you know,
- 23:01model like our, our, our agents in our product makes a bunch of
- 23:04decisions throughout the day. And we have our internal agents
- 23:08at night go and read the decisions from our product
- 23:11agents and send us Slack messages of like, here's what I
- 23:14think your system did wrong in production yesterday.
- 23:18And then we so, so all of those are pieces that happen every
- 23:20single day for us. OK.
- 23:22So that, so that might be a good, a good place to kind of
- 23:25pivot a little bit because what what I'm hearing is we need to
- 23:29have high levels of trust. We need to do a variety of
- 23:33different things to establish that trust.
- 23:35Some of these things are similar playbooks to what we've done in
- 23:38the traditional ML apps, classical ML era, even pre Gen.
- 23:42AI. Some of it might be different.
- 23:45What are some principles then, if you guys have seen at all
- 23:49sort of emerge in the last couple of years that can allow
- 23:53us to establish that high level of trust?
- 23:55We're talking about observability.
- 23:57What else do we have? Yeah, I think, you know, a lot
- 24:02of the the success stories we've seen are built around this
- 24:06concept of eval driven development.
- 24:10And actually, if you take a look at Jen AI, I'm going to make a
- 24:13claim it's actually not all that different than classical
- 24:16software or traditional ML. And our playbook is actually,
- 24:22again, not that different, right?
- 24:24If you think about maybe like take for example, vibe checking,
- 24:27right, or vibe testing or whatever it's called in
- 24:32classical software, that's the equivalent of clicking around
- 24:34and praying that your software works, right?
- 24:37And we have a playbook for software.
- 24:39It's unit test integration test, production telemetry.
- 24:42So it only makes sense that for Jenny I applications, you have
- 24:46the same exact guarantees to ensure that you trust what
- 24:49you're putting out in production.
- 24:51What that looks like in practice is like unit tests are kind of
- 24:55like your evaluations. You still have production
- 24:57telemetry over your Jenny I application, but you also have
- 25:02additional components that help you gauge the quality.
- 25:06So you know, these things are are actually pretty similar at
- 25:10the end of the day. And even for our internal use
- 25:13cases, we're still using a lot of the traditional MO techniques
- 25:16like having training test sets, AB testing, K fold validation,
- 25:21like none of this stuff has really gone away.
- 25:23It's just applying to a new domain with slightly different
- 25:26challenges of, you know, your outputs are non deterministic.
- 25:30Users will use your agents in ways that you never would have
- 25:33expected and at the end of the day, quality is very subjective
- 25:38and like I mentioned, requires often requires domain expertise.
- 25:45OK. I think also I think it's also
- 25:46broadly what Aporva said before, which which is the thing that
- 25:50hasn't changed, which is just simplify the problem.
- 25:52Like when you, I think a lot of the the like the demo to fail
- 25:58production deployment comes from people using some agent kit that
- 26:03is super abstracted and builds the whole thing in one shot.
- 26:08And when I give talks about that exact topic, really the whole
- 26:13thesis of the talk is like stop delaying the product work for
- 26:18the end. Like all that the initial burst
- 26:21of I think LLM and Agent development did was it, it sold
- 26:26a false promise that you could just no longer do product
- 26:29thinking. So don't do product thinking.
- 26:31Go put a prompt into production. It fails.
- 26:34Like why did it fail? You go back and then you end up
- 26:37just now being in Figma designing user journeys.
- 26:40Like had you just designed the user journeys upfront, you would
- 26:43have realized that you didn't need 1 broad prompt with like 76
- 26:46different conditionals. You could just break that
- 26:48problem down into normal problems, most of which end up
- 26:51being like some abstraction over a classification or regression
- 26:55task. And then you could just use LMS
- 26:57for those classification and regression tasks, and now you
- 27:00once again have test sets that you can validate against.
- 27:03That's obviously not every problem, but it is like a lot of
- 27:05problems. LMS state machines, like they're
- 27:08all just decisions to change state.
- 27:10If you are just testing transitions between states
- 27:14really robustly, you sort of know when things fail because
- 27:18you know when the state change was wrong.
- 27:20So, so like if you just do that up front, like a pro was saying
- 27:23like it it, it's not everything, but it's a lot of it.
- 27:26Like that'll definitely help pretty it.
- 27:28It's like what works for us. Like really, really well.
- 27:35Aprova, did you want to respond to that?
- 27:37I I think everything is covered mostly like unit tests,
- 27:40integration tests, LLMS judge. If like you cannot do equal,
- 27:44equal to like assertions, LLMS judge is the way to go there.
- 27:49Otherwise, like try to break down the problem such that it
- 27:52leads to a binary output that you can test.
- 27:55Otherwise it's if it's subjective, it has to be LLM as
- 27:58a judge to evaluate, yeah. Actually, I love that that you
- 28:04said that because I think one of the most powerful things that
- 28:06has come out lately, you know, I noticed a lot with my own coding
- 28:11and, and cloud code is having that feedback loop, having
- 28:15verifiable goals that can help tell your agent or your language
- 28:20model. Like have I actually
- 28:21accomplished what I set out to do?
- 28:23So with every task that I do these days, I will always give
- 28:27it some way to verify its own work, whether it's unit tests,
- 28:31whether it's, you know, using Playwright to actually click
- 28:36around and and see like, is this the expected behavior in my UI?
- 28:40Even for building out agents, I will have judges run at the end
- 28:46of every change so that there is a feedback signal coming back to
- 28:51my agent and I can continuously iterate and help climb on that
- 28:54feedback signal. So it's, it's really, really
- 28:57cool how much progress we're able to make with those feedback
- 29:00loops. And I think it all stems back to
- 29:03that that eval driven development point.
- 29:07Yeah, that that's such a valid point.
- 29:08Like my team has a pretty strict rule set now where any PR goes
- 29:15through essentially a Ralph loop of like PR agent, sub agent code
- 29:21review, modify those changes, sub agent code review like until
- 29:24there are no like high, you know, clawed, assigned high
- 29:29quality issues before any person is taking a look at that code.
- 29:32We just Ralph loop it essentially until the sub agent
- 29:35decides that it's good and it catches so many of the problems.
- 29:41Coding, Yeah, it's so much easier to like evaluate in the
- 29:45coding space versus like the other spaces.
- 29:48So for example, there is there was this client project that I
- 29:52was working on in which we had to do automated QBR deck
- 29:55generation. So like every like 2 weeks what
- 29:59the agent does is like it goes and checks Gong for like history
- 30:03of calls with that customer. It goes looks at the last QBR
- 30:07deck looks at like what does a salesperson like is talking
- 30:14about on slack and like like basically like gets information
- 30:17from a different sources and figures out if the QBR deck
- 30:20needs to be updated. So like it would also look at
- 30:23like support tickets, like if there is a new feature that went
- 30:26out, I would add this to the QBR deck.
- 30:29So like so it finally generates AQPR deck.
- 30:33And now you have to evaluate like is this like up to the
- 30:35mark? Can this person take it to the
- 30:37customer or or not? So one thing you can do is you
- 30:42can put like an LLM as a judge. The other thing is like it's
- 30:44hard to like align this judge with what the employee wants.
- 30:48You know, you need to align with the domain export.
- 30:51So you can also like bake down this problem and do like
- 30:55verifiable, verifiable, what should I say?
- 31:01Verifiable output. Like for example, it should have
- 31:04like the initial slide in which we are talking about this
- 31:06company and also the client at the end, it should have like the
- 31:10necessary contact information of the company.
- 31:13Then in the middle it should talk or there should be a slide
- 31:15about the product features. There should be a slide about
- 31:17the. So these could be like just
- 31:19binary checks, you know, like what's the title this, what's
- 31:22the title this, what's the title that.
- 31:24So there could be a template that you check against.
- 31:27Then you can also check for like, were the graphs included
- 31:30or not? Maybe this company needs like
- 31:33some sort of like metric system like, oh, these were the support
- 31:36tickets that your company provided and we resolved so many
- 31:39of them. So there should be a graph
- 31:41showing this. So you can always like if there
- 31:43is a problem that you're working on and the LLM or the agent is
- 31:47giving you an output out of that, maybe you can like you can
- 31:50try to break that down into verifiable outputs.
- 31:53And if not, then yeah, you have to go for like LLM.
- 31:57I do think on your, on your note of code is the easiest thing to
- 32:03verify. I'm going to push back because
- 32:07the thing that we find, I mean it's really, it's true on like
- 32:11maybe simple, like simple systems.
- 32:13What we find is that even with Opus 46, like the like the
- 32:18latest models, the sneakiest thing that digs into our code
- 32:23and that they often fail to catch themselves are like
- 32:25asynchronous race conditions and like potential memory leaks.
- 32:30It works test pass, things look good, but we have seen a lot of
- 32:36problems that we've caught by hand that you would never catch
- 32:40in CI because you're not going to run like 150 concurrent
- 32:44streams in CI or even really as a part of like the integration
- 32:47test for that PR like it's just too much.
- 32:51But then you see those problems in fraud.
- 32:53I'd literally be right before this was working through through
- 32:57a problem that in APR that clawed open that would have
- 33:00caused like a very problematic race condition for us.
- 33:02So that it's it. There are parts of it that are
- 33:05verifiable, but they're very sneaky issues that it that that
- 33:09it introduces not. I know that's like super
- 33:11tangential, but it's just, it's very top of mind because I was
- 33:14just, I was just working on it. That that sort of like, I would
- 33:17speed in this as well. Like even if you like add in as
- 33:21many evaluations and you have like checked the solution and
- 33:24it's working for you and then you put it out in production and
- 33:26then the users start using it, you'll find like a bunch of bugs
- 33:28that you need to fix that that that is always the case.
- 33:33It's. It's interesting because it's,
- 33:36you guys remember in the more classical era of supervised
- 33:40machine learning, people were always talking about, yeah, data
- 33:42scientists are spending 80% of their time cleaning data, right?
- 33:46Just doing data processing, data pre processing, just trying to
- 33:50build the data set in the 1st place.
- 33:53And I feel like just based on what you're saying, I've always
- 33:57thought that, well, that time, maybe some of it is gone to
- 34:00waste, but a lot of it is product thinking.
- 34:04That is you have to just struggle with the framing of the
- 34:08problem because you need to start with the data set and you
- 34:11need to have a target variable that you're trying to predict.
- 34:14And and so we've almost had to do the, we've almost like front
- 34:19loaded the work on evaluation in order to get started with
- 34:23machine learning in the first place.
- 34:24But what is happening right now is we can get started and then
- 34:28we realize we never had that why that we were trying to predict
- 34:31in the 1st place. And that's where all the product
- 34:33thinking goes into. And so now we have to do this
- 34:35after the fact. Yeah, that's what I was saying
- 34:37before where it's like you one prompt your product into
- 34:40production and without doing the product thinking from like a
- 34:42user flow perspective. It's the same exact thing with
- 34:44machine learning. Like if you didn't actually go
- 34:47and explore the LMS. I mean, the thing that we struggle with in
- 34:50our team with LMS is the one thing we haven't been able to
- 34:53crack is our data analysis. Just like we do really, really
- 34:56rigorous data analysis because the patterns in the data that we
- 34:59work with are extremely hard to tease out, like sufficiently
- 35:03hard that the only people that work on it on our team are PhDs
- 35:05in statistics. Like I can't tease out the, the,
- 35:09the signal that they're finding. And the LNS are unbelievably
- 35:12good at confidently giving you incorrect narratives and like,
- 35:17especially with data and charts and graphs.
- 35:20And so like we, our, our, our core like data unit is like a
- 35:25leasing call or a leasing tour, like with a prospect.
- 35:29And we just make everybody at the company when they first
- 35:31join, like listen to 150 leasing calls because they're actually
- 35:35just very interesting. And it's hard to get any context
- 35:38as to what we do and why what we do works without listening to
- 35:41those calls, because the LMS will just massively simplify it
- 35:46and and we'll sort of ruin the analysis before you even get
- 35:48started. Yeah, I think we do a really
- 35:52similar thing as well. It's like we know it's painful,
- 35:55but you need to go and sit down and and look at essentially what
- 36:00your Asian is doing, like look through examples, see what it's
- 36:03saying to customers. There's, we've been working with
- 36:09our research team a lot on this problem that I provide you
- 36:12alluded to, which is how do I actually make sure that my
- 36:15evaluator, my maybe my LLM as a judge is actually aligned with
- 36:20what my domain experts want, right?
- 36:23My LLM judge can say something like and say this is good or
- 36:26bad, but my colleague might disagree.
- 36:29And I trust my colleague more than I trust my LLM judge.
- 36:32So the question then becomes, how do I actually align this,
- 36:36this judge with the domain experts who actually know that
- 36:40the area, right? And part of this workshop that
- 36:44we've been leading is literally just sit down, look at it like a
- 36:49significant handful of, of examples and make sure that your
- 36:53team is aligned on what the behavior should be.
- 36:55You know, make sure they're aligned on, you know, the agent
- 36:59is doing the right thing here or it's not.
- 37:01And and come up with evaluation criteria like a rubric based on
- 37:06that exercise that you can then go and use to further down the
- 37:11line your evaluations as you're iterating on your agent.
- 37:15But yeah, I think this this point of actually developing
- 37:18that product sense, it's just something you can't replace when
- 37:21you're when you're developing your agents.
- 37:23Summers, are you are you using that exercise in order to give
- 37:28better prompts to those LLMS judges or in order to And yeah,
- 37:34do you like modify the prompts of the judges or do you just use
- 37:38that as feedback after the fact and tell it?
- 37:42Here's a few more examples of what successful application of
- 37:45the existing prompts looks like. Yeah, we actually use it for the
- 37:49judges and I think it can also be encoded back into the agent
- 37:54as well. So there's there's a ton of ways
- 37:56to use that feedback and loops to both improve agents and
- 38:00judges. But for us, like one of the key
- 38:03things is making sure you also trust your evaluations just as
- 38:06much as you trust your agent. Because if you have, you know,
- 38:10CI that you can't really trust, you're not going to feel safe
- 38:13deploying to production, right? And the same goes for
- 38:16evaluations. So the point is to make sure
- 38:19that you can trust your judges and then use those judges to
- 38:22continuously hill climb performance of your agents so
- 38:26that you trust your agents. I think that's a quick
- 38:28reiterating on this, like observe the output in production
- 38:32and you might have to change the evaluations, update the LLMS
- 38:35judgement, update the system, maybe there's drift, maybe their
- 38:38expectations have changed over time or the data has changed so.
- 38:43Yeah, Yeah, I think that's really right.
- 38:45We spend so much. We spend.
- 38:47I always was like a, a big TDD person, but we do it so much
- 38:51more aggressively now. And we UCI a lot like unit tests
- 38:57still, but our integration tests are like substantially more
- 39:01robust than I think I've ever had in a company.
- 39:04Because like our system is like every system is complex and unit
- 39:08tests are great. But like we actually are just
- 39:10fully running like actual full simulations on every pull
- 39:14request. And like, yes, that is more
- 39:16expensive. And like, yes, that does take
- 39:18longer. But like otherwise how, like
- 39:20how, how am I going to let Ellen's touch like the core
- 39:23parts of our code if I'm not at least going to run like a full
- 39:26system, like a full walkthrough of the product?
- 39:29So we get, I think that makes a lot of sense, man.
- 39:32Are you talking about integration tests of the agent,
- 39:36like including the agent behavior or just the output of
- 39:38the agents having helped you with coding right?
- 39:41No. Like when an agent writes code
- 39:43and opens up a pull request in our code base, the level of
- 39:47testing that we run is like more robust and more significant than
- 39:52I've ever done in the past. And even at the expense of like
- 39:55a little bit longer CI than I typically like just because it,
- 40:00it overall allows us to move much, much faster with a lot of
- 40:03confidence. Like when RCI goes green at the,
- 40:06at the, we are at a point now, I think when RCI goes green, we're
- 40:09like, we're, we're really confident that things are, that
- 40:12things are working well. Like everything's being cleaned
- 40:14up. We're really actually
- 40:15interacting with the database, like we're really doing a lot in
- 40:18CI. To make sure that we're
- 40:21comfortable, we run it in the exact same environment that our
- 40:23actual app runs. Like we go pretty heavy on it.
- 40:27OK. So those are the, I think two
- 40:29things that we're talking about in terms of nice.
- 40:32So those are this is how happy it is to talk about TDD.
- 40:36So we're there's like 2 aspects here.
- 40:39The first is the traditional software testing is now done
- 40:44more robustly, and that's separate even from the
- 40:49evaluation of the agentic systems.
- 40:52I think it, no, I think it's a part of it.
- 40:53Like I think the part of saying like, I mean it's hard to
- 40:56separate those two things, at least for us.
- 40:58Like the system is the agentic system, like the product, the
- 41:01software is the agentic system. So like running the integration
- 41:04test is running the agentic system.
- 41:06Like when I say we've run like full simulations of the
- 41:10application, we literally, you know, one of our core products
- 41:13is like a system that guides phone calls.
- 41:16So we literally mock phone calls.
- 41:18Like we generate audio and we mock the phone call and we
- 41:22stream audio through a mock Twilio stream, which actually
- 41:26goes through our production speech to text system and
- 41:29actually gets predictions and actually makes decisions.
- 41:31We do that whole thing many times as a part of CI, like
- 41:35every single time. And even like a purpose saying,
- 41:39I think the weirdest thing now is that the providers will
- 41:41change the underlying models like pretty substantially
- 41:45without telling you or like changing API calls.
- 41:47And this happened to us pretty substantially when thinking
- 41:51models became a big deal. Like we run a lot of real time
- 41:55applications and so thinking for us in those contexts is bad.
- 41:58We want it off. We have no interest in it.
- 42:01Sometimes we would instruct in our prompts, you know, before
- 42:04thinking, everyone was still doing thinking like that wasn't
- 42:07new. We would just say like, put
- 42:09thinking in, like put, add a thinking tag and like put your
- 42:12thoughts out and then close the thing and then give the
- 42:14response. You parse that that way.
- 42:17But what we found without knowing was that the new models
- 42:21that we're thinking models. If you if you tell a thinking
- 42:24model to like think in tags in an API call, it goes crazy.
- 42:29It'll think pretty much indefinitely until it hits the
- 42:32output token window like the the output token limit, which was
- 42:37like not a thing that they used to do.
- 42:38They used to like be able to think briefly and one of our
- 42:41prompts we just had like think briefly before answering this
- 42:44and we got an alert. Like the calls that used to take
- 42:46like 600 milliseconds are now taking like 45 seconds because
- 42:49the LM was just spitting out text in a thought token like in
- 42:54an in thought tags. And we caught that like before
- 42:58it went out because it was just a part of like our RCI
- 43:00integration tests. Very cool.
- 43:02So I just we have about 15 minutes and there's a ton of
- 43:06questions already in the chat. Before we go into the questions,
- 43:10I want to see so summarize, you were talking about eval driven
- 43:14development, then you're talking about CDB and how all of this
- 43:17fits together, the CI, and I wonder if people want to get
- 43:22started thinking even more rigorously or robustly about how
- 43:27to get up and running. Any recommendations, any
- 43:29resources, anything you can send them to either A blog is eval
- 43:33driven development. That's the framework you guys
- 43:36use when designing ML Flow. Yeah, definitely.
- 43:40I mean, I'm, I'm very biased, so I will plug all the MO Flow
- 43:43blogs and all the MO Flow resources.
- 43:44But I think Anthropic also had a really good blog on eval driven
- 43:49development. I think it's called Demystifying
- 43:52evals or something along those lines.
- 43:54So definitely point people along that way.
- 43:57But I think of, of all of the teams that we've helped and you
- 44:02know, big company, small company, doesn't matter.
- 44:05The ones that we've seen the most success from are the ones
- 44:08that have had this, this mindset of starting out with evaluations
- 44:13and really thinking through with quality at the, the top of their
- 44:18mind as they're developing. Because at the end of the day,
- 44:21building an agent is really easy, but building a high
- 44:24quality agent is, is still a challenge that many people are
- 44:27facing today. And then there are additional
- 44:31challenges on top of this. There's, you know, the question
- 44:34of observability, There's a question of governance of
- 44:37agents. So there's a lot of a lot of
- 44:39different things that are blocking people in production.
- 44:42But I think the most important thing when you're starting off
- 44:45is that quality aspect. OK so and if you guys have any
- 44:50other ideas for more resources drop them in the chat.
- 44:54I want to start taking questions because we do have a lot and we
- 44:57don't have too much time left. Apoorva, the first one is for
- 45:02you. What stack tech stack do you
- 45:03generally recommend for building agents?
- 45:08It depends on the company that I'm working with, but I I have
- 45:14been using Pyrantic AIA lot and Logfire so it helps with the
- 45:19observability piece. What else?
- 45:24I've used Bammel as well, quite a lot.
- 45:26I don't know how many of you know about it, but Bammel is
- 45:28pretty good too. And it's it's really nice in the
- 45:31ID itself. Like you can like see how the
- 45:33prompt changes what tokens are going.
- 45:35You can change the model and like test it out right there.
- 45:37So yeah, play around with that. OK, cool.
- 45:40So I hope that that helps. Vidya, that was a question for
- 45:44you. Rishi is asking are there tools
- 45:46you guys use to help increase observability and reliability
- 45:49for agents? Purva, you touched on that a
- 45:52little bit summarize. I have a feeling I might know.
- 45:59Yeah. So I think I work on MO Flow.
- 46:02So obviously again biased, but we provide a lot of the tools
- 46:06for an end to end Jenny I platform including that
- 46:09observability piece. And and the thing that a lot of
- 46:12people think about with observability and Jenny I and I
- 46:17think I might have mentioned this before is traces.
- 46:20It's essentially a way to see the end to end execution of your
- 46:24agent. Really pop open that hood and
- 46:26see what's going on. Every tool call, every LLM call
- 46:30and attributes and metadata about each.
- 46:34It's not something that's specific to MO flow.
- 46:36I think every Gen. AI observability platform will
- 46:39have some form of tracing integrations and most of them
- 46:43including ours are really, really easy.
- 46:45It's just a line at the top of your at the top of your code.
- 46:49If you need more specific or like more customized use cases,
- 46:54I've honestly never seen a case where we haven't been able to
- 46:58trace an agent. So the observability component
- 47:02is super, super important. You know you can't debug, you
- 47:06can't look into negative customer feedback without it,
- 47:09and it's really cheap to do, so I'd highly recommend it.
- 47:12MO Flow has support for I would say like 30 to 40 integrations
- 47:16now and it keeps on growing. Yeah, cool.
- 47:20Nice. Another question here Bhuvan is
- 47:23asking what architecture are you using for deterministic pre
- 47:27execution controls and agent workflows?
- 47:29So not just prompt level guardrails?
- 47:31And how do you prove those controls were actually enforced
- 47:33for action? That's a question.
- 47:37Anyway, whoever wants to take it, yeah.
- 47:40So it depends on the kind of project.
- 47:42Like you can have checks for stuff after the agent has run in
- 47:47some cases. Like there was a project which
- 47:48was about governance and one of the like we had to check where
- 47:52the policies we were updating the documents based on policy
- 47:55update and like different countries.
- 47:56So we had a check after each LLM call.
- 48:00So like each LLM like circle like that was happening.
- 48:04We had a check on like what, what happened?
- 48:06What were the like? We were able to attribute every
- 48:09change in the policy document and why that happened.
- 48:12So it depends like how many like depends on the use case, the
- 48:15kind of use case, what checks, how many like what's the latency
- 48:18like? Is this a real time need?
- 48:20So this wasn't so we had like a lot of checks in that
- 48:23application. Can you repeat the question?
- 48:27Yeah for sure. It's what are you using for
- 48:30deterministic pre execution controls in agent workflows.
- 48:34So pre deterministic pre execution controls, not just
- 48:38prompt. Yeah, what is the?
- 48:41The pre execution is the part that's throwing me off on that
- 48:43question. I'm not sure like what exactly
- 48:45that means. Yeah, Purva, if you had a a
- 48:50certain reading of it, please. I was just going for
- 48:53deterministic. How do you how do you make sure
- 48:57that your thing is working the way you expect it to?
- 49:00Move on if you want, if you want to unpack it, and until then,
- 49:03we'll move on to. To the next one, yeah, I think
- 49:06there's one thing just worth calling out is like you like you
- 49:09can't. Like if you're building LM only
- 49:11systems, you can't guarantee anything is deterministic unless
- 49:15you run that model yourself and you control batch sizes and you
- 49:18control input concurrency. Like thinking machines has done
- 49:21the research like we understand why you can't actually get true
- 49:25determinism on on those on those hosted AP is because of the way
- 49:28batches are managed. If you run that model yourself,
- 49:31set a seed and set the temperature to 0, like you sure
- 49:34you can get determinism, but if you can't do that, like you
- 49:38can't guarantee it and you need to be building systems where
- 49:41you're comfortable enough with the level of non determinism
- 49:45that happens. It's quite low.
- 49:46Like if you're using a really low temperature and exceed and
- 49:50one of the major providers, you can get it pretty low.
- 49:54But at the end of the day, like, you have to be comfortable
- 49:56working with a probabilistic system.
- 50:00So, so how about this? Let's there's a couple of people
- 50:05that are mentioning a few other things that we hadn't yet gotten
- 50:08to chat about. And there's honestly, there's so
- 50:10much that we didn't get to talk about.
- 50:12And so maybe we can keep those in mind as we answer the
- 50:14following few questions. So they said mentioning land
- 50:18graph, etcetera, but about sandboxing off the memory
- 50:22metrics, things like that. So perhaps keep those in mind
- 50:25when we're answering the next few questions CD is asking.
- 50:29Which kind of framework do you use these days?
- 50:32There are new ones everyday. How do you secure your systems?
- 50:34So Oauth, for example, between agents and memory and tools for
- 50:39observability. I think we touched on some of
- 50:41that already, but if there's anything here that you'd like to
- 50:43unpack. I, I like to keep systems pretty
- 50:47low level. I think it's a privilege of one
- 50:49like being an engineer first, but also working with a really
- 50:53small company. Like my startup is, is quite
- 50:55small. We, we only have 7 people and
- 50:57it's just because we're all able to like move very fast and
- 51:01leverage this stuff in a way that like larger enterprises
- 51:04maybe have to take more time to introduce.
- 51:06But we keep things very low level and that gives us a lot of
- 51:09control. And so we don't use like lane
- 51:12chain or actually lane graph. Our entire system is powered by
- 51:16Bammel because Bammel for me, in my opinion, is the correct
- 51:20fundamental like abstraction layer over prompting.
- 51:24It turns prompts into functions. Those functions are guaranteed
- 51:26type safe because Bammel has to compile and it can't compile
- 51:29without it being type safe. Those types compile through your
- 51:32entire code base, both TypeScript, Python, JavaScript.
- 51:37Those Python models turn into our database migrations so it
- 51:41keeps the entire system 100% In Sync.
- 51:43Like we we literally cannot fall out of sync unless somebody can
- 51:47somehow bypass our GitHub rules like it's it's not possible.
- 51:51And then because it's at the level of just making
- 51:55asynchronous calls to an LLM, getting guaranteed typed outputs
- 52:00or quality validation errors that you know how to handle
- 52:04because you know how to write software, you sort of have
- 52:06control of for everything at that point.
- 52:08So Oauth becomes the normal way that you do Oauth, which is just
- 52:12like the way that we've been doing it forever.
- 52:14And agent agent communication. We just leverage the standard
- 52:18MCP protocols for, for identity aware server side calls.
- 52:24Like if you if you don't use the highest level abstraction
- 52:28systems and and you keep everything pretty low, you your
- 52:31code base actually just looks like regular software.
- 52:36You wouldn't really know that our code base has a bunch of AI
- 52:38going on in it because it's all sort of in DAMO files and the
- 52:42Python And TypeScript code just looks like code.
- 52:45So for us, that's how we do it. And then again, observability is
- 52:47just like, all right, well, all these LLM calls are functionally
- 52:50API calls and you log your API calls and they're logged in a
- 52:53structured way with traces and tags and metrics.
- 52:56And so you can just go look at them in century like it's like
- 52:59it's very kind of boring software when when you when you
- 53:02get to control the lowest levels of it.
- 53:05Before we move on to the next question, do you guys feel like
- 53:07that's, is that true to you as well?
- 53:12So Samrage Apurva, like are you, to what extent do you rely on
- 53:17higher level abstractions and these types of frameworks versus
- 53:20let's just get as close to the Chrome as possible and visual
- 53:26and try to render our software as traditional software?
- 53:31I have been using as well. Like whatever Ben said, I'm all
- 53:35in. Yeah, I think I'm also, I think
- 53:40Ben covered most of the points pretty well, so.
- 53:43So I want to Group A few questions together here.
- 53:47So Nikolai is asking about the observability layer.
- 53:51Is that another agent? What does the observability
- 53:54layer actually look like? And I'll pack into that as well.
- 53:58So what system are you using to create and orchestrate the
- 54:01judges? Yeah, the observability layer is
- 54:06actually really cheap. It's it's essentially just a way
- 54:09to sniff what's happening at each step in your agent.
- 54:14And if you know it, it's basically cost nothing to
- 54:17implement. I would recommend that any, any
- 54:22use case series about going to production has it.
- 54:24And I, I think Ben and Abora, you guys have probably use this
- 54:29for all of your agent use cases as well as to the second part of
- 54:36the question, this was about judges, right?
- 54:41So let me add to that. So what system are you using to
- 54:43create and orchestrate the judges?
- 54:46And then as Zeal is asking, those judges are probabilistic.
- 54:50How can you trust that? So like, don't you need
- 54:52something more deterministic to recreate evaluation?
- 54:55Yeah, Yeah, I think at at the, you know, at the simplest level,
- 55:00judges are basically just prompts, right.
- 55:03That or they're just classifiers.
- 55:06And often we recommend that people start off with like
- 55:10binary classifiers that can say, hey, is this good or not, yes or
- 55:14no. It's usually a stronger quality
- 55:17signal. The, the system that you
- 55:19actually use to create these and orchestrate these is, you know,
- 55:23MO Flow provides judges. Other frameworks like Lang Fuse,
- 55:27Arise, brain trust, they will also provide judges.
- 55:31So it's just a matter of picking the right ones for your use
- 55:34case, whatever works for you. And, and I think the question of
- 55:38how do you actually trust your judges is, is a big one that a
- 55:43lot of frameworks have been thinking about.
- 55:46And at the end of the day, any out-of-the-box judge you pick is
- 55:50probably not going to be something that works for all of
- 55:52your use cases, right? It might work 80% of the time,
- 55:56but that remaining 20% is something that you have to kind
- 56:01of align with your stakeholders on.
- 56:03It's something you have to tune and, and work on your, you know,
- 56:07you have to work on your judges to get that full trust and
- 56:10confidence. One of the examples I mentioned
- 56:13before was that workshop that we ran, which really help people
- 56:17align those judges with their their expectations.
- 56:20And I think I'm a flow and a couple other libraries have been
- 56:24providing tools to help you do this alignment automatically.
- 56:27Just get in user feedback and and apply that directly to your
- 56:31judges. Yeah, I think the only way to
- 56:34trust your judges is to at like at some level I don't, doesn't
- 56:37matter how many judges you have in the stack, at some point you
- 56:40need to be making a decision that is classifiable.
- 56:42And so as long as you're making a decision that's classifiable
- 56:45at some point, whether it's binary classification, whether
- 56:47it's a multi label, like it doesn't matter.
- 56:49Like you, if you're, if you're classifying something, you can
- 56:51build a data set of evaluations, right?
- 56:53You could build a ground truth set.
- 56:56And so if you build a ground truth set at some level of
- 56:59statistical significance, you can build trust if you need, you
- 57:03know, it depends how much trust you need.
- 57:05If you need an enormous amount of trust, you build 10,000
- 57:08samples and that's your evaluation set.
- 57:10If you need less trust, maybe you only need 100 samples like,
- 57:13but at some point you, you need a judge to make a quantitative
- 57:19decision evaluation, not a qualitative one, right?
- 57:22If if you're having them always just spit out summaries of
- 57:24summaries of summaries, yeah, you can't trust them.
- 57:27But like you can always build a ground truth data set and so you
- 57:31can always just trust them at some point.
- 57:33I feel like if you're using LLMS in inside the agent, why can't
- 57:38you use the LLM for judging as well?
- 57:40Like you're using it for like making the decisions like doing
- 57:42the tool calls, deciding like am I supposed to like send this
- 57:45answer to the next agent or not? And why can't you use?
- 57:47If you like align it really well, it should it should work.
- 57:52Yeah, I agree. As long as you have ground
- 57:54truths, that's like, I mean, for us it's easier because our
- 57:56systems are a lot of real time and like we're cost conscious
- 58:00And so like we don't use clawed as our agent.
- 58:05We use Claude as our judge, which is nice.
- 58:07It builds like some concept of like separation of concerns.
- 58:11I don't know how real that is. I don't know that anybody's like
- 58:13really measured that maybe they have on archive.
- 58:15But like, yeah, we, we use the really expensive Max effort long
- 58:20thinking models as our judges and we have a valid ground truth
- 58:23data sets and we all align that they're right.
- 58:26And like at some point, you know, at this point we have like
- 58:29800,000 samples and, and we've spot checked at least 10,000 of
- 58:33them. And that that's a lot like we,
- 58:35we have a lot of confidence that that it is aligned to the thing
- 58:39that we care about for that very specific, each individually
- 58:42specific task. We are just about out of time.
- 58:47I want to maybe pose one last question and if one of you wants
- 58:51to jump in to respond to it. It's about the again, trust, but
- 58:57in this case risks involved with let's say letting any one of
- 59:02these agents interact with your data or interact with your
- 59:05database. There's a few questions around
- 59:08that. How do you handle prompt
- 59:10injection risks when agents interact with external tools or
- 59:12API's or user provided data in production?
- 59:17Is there anything you can tell us about?
- 59:20Here you go. Gotchas to avoid when giving
- 59:22agents access to the DB? Or do you feel like current DBS
- 59:26are good enough for agentic access?
- 59:29Can you share anything about? That yeah, I definitely don't
- 59:32would not give my agent freight access to my database.
- 59:35Definitely not like no shot they have read only access and they
- 59:39by the way, they have read only access to a backup that is not
- 59:42on the same server as the production database.
- 59:45So I don't care if they take it down like they can do whatever
- 59:47they want, like they're in a sandboxed environment that can
- 59:50can shut down and be recreated in an hour like it.
- 59:54No, my agents have almost no right access.
- 59:57And to the accept that they do, it's unbelievably limited.
- 1:00:01I'm sure other people are on like different ends of that
- 1:00:03spectrum. But like we, we, we serve like
- 1:00:06really big enterprise customers. Like I'm absolutely not risking
- 1:00:09anything like that. It's not worth it.
- 1:00:12Thank you everybody for joining. I feel like we could keep going
- 1:00:15for hours because there's so much that we've just left
- 1:00:18unpacked and it's and I maybe we should do this again.
- 1:00:22I think we we probably should. Sam Raj, thank you very much,
- 1:00:25Apoorva. It was a pleasure.
- 1:00:28Ben, thank you very much as always.
- 1:00:30And if you want to linger in the chat for just another couple of
- 1:00:34minutes and maybe drop some links, I know Oscar has asked
- 1:00:37you, Ben, to share a link. A couple of other people have
- 1:00:40asked for links for, for the ML flow stuff.
- 1:00:44And Apoorva, another couple of questions about, but I think I
- 1:00:49saw a few more things for you. So about Slack QBR.
- 1:00:54Yeah. So I will leave you to it.
- 1:00:57Thank you everybody for tuning in.
- 1:00:58I hope this was fun and useful. It certainly was for me.
- 1:01:01I have a bunch of things to go and research.
- 1:01:04And thank you, everybody, everybody for tuning in.
- 1:01:08Thank you. Thanks for having us.