Latest / Agentic Conversations (formally mlops.community) / The Hidden Bottlenecks Slowing Down AI Agents
Transcript
- 0:00The eval is 1. Typically the bottleneck is
- 0:02actually not the tool itself. It's about having the ability to
- 0:06generate those eval sets and having a product feedback loop
- 0:10which you can then take data from to measure against, you
- 0:13know, new models and improve and sort of have a real flywheel,
- 0:17let's say. We approach the builders by
- 0:23question when it comes to building agents and what kind of
- 0:27vendors you want to onboard in the enterprise setting.
- 0:31Bruce and Paul talk us through this.
- 0:33Paul is the VP of AI at Process, and Bruce is an AI engineer.
- 0:37I myself am Demetrios, the founder of the ML OPS community.
- 0:41Let's jump into this conversation.
- 0:45You're saying, hey, we have this culture of we should buy it, we
- 0:48shouldn't build it. We don't want to think about
- 0:49building it Despite that, as we'll hear from Bruce later.
- 0:54It's hard, Yeah. It's so immature at this moment
- 0:57in time, the tools that you have.
- 0:59And I kind of went step by step over the main areas where you
- 1:03have these categories forming. Well, maybe what I can emphasize
- 1:08is, you know, sometimes the tool is not the hard part.
- 1:13Yeah. So let's say if you want to have
- 1:17an eval solution, you want to know whether your models are
- 1:20good, that's the problem you have.
- 1:21And you want to know whether they get worse and how they
- 1:23perform and whether they do worse and whether they do
- 1:25better. The hard part is not the tool.
- 1:28The hard part is you need an eval set that you curate.
- 1:31You need to have real users that give you, you know, new
- 1:34conversations that you can measure against.
- 1:36You need to have that capability if you have, if you don't have
- 1:40that, that doesn't matter what whether you build the tool
- 1:43yourself or not. And so there in that thing, the
- 1:46tool itself, at least in our setup, right in our setup, is
- 1:50not the thing that unlocks our ability to do evals better.
- 1:56And human time is expensive, yes.
- 1:58What I think about though is there's an argument for if you
- 2:02have a tool that makes it much easier for humans to get that
- 2:06eval set, then you're saving time.
- 2:09Right, but I think that that you're absolutely right.
- 2:13But the you know, what we do in the team to give an idea is we
- 2:16have these labeling parties, right?
- 2:19So we buy pizza, we invite folks, everybody's welcome,
- 2:22right, Not just folks from the IT or engineers, like anybody in
- 2:25the company is welcome. And we'll, for example, like
- 2:27show them, you know, these are certain set of answers for.
- 2:30So we'll do like, I don't know, images for food as one example,
- 2:33or we do code. Obviously, if you do code
- 2:35evaluation, you need the folks who can, can, can rank or, you
- 2:38know, score or evaluate code snippets.
- 2:42We will do, let's say, customer conversations.
- 2:45And then you need people in different language, if it's
- 2:47Polish or or Portuguese, Brazilian or whatever.
- 2:51So we'll do these labeling parties to create data sets,
- 2:54right? And these are the eval sets that
- 2:56we can then score. You can see that I'm pro LLM,
- 2:58which Luku will talk about in another episode, I think.
- 3:01So then the hard part is getting those eval sets.
- 3:06And it's not that if we then all of a sudden had a tool and we've
- 3:10tried them, all, right? Whether it's spellbook or human
- 3:13loop, human loop or orc AI and so on, some of them are really
- 3:17great. And by the way, they offer 15
- 3:19things. One of them is evals.
- 3:21The evals one, typically the bottleneck is actually not the
- 3:25tool itself. It's about having the ability to
- 3:28generate those eval sets and having a product feedback loop
- 3:32which you can then take data from to measure against, you
- 3:35know, new models and improve and sort of have a real flywheel,
- 3:38let's say. Well, one thing that I think is
- 3:41wild is how you're actively encouraging the team to go out
- 3:44there and buy tools. You would prefer that they do
- 3:48that because as Bezos said back in the day, focus on what makes
- 3:53the beer taste better, and creating your own orchestration
- 3:57system is not what makes the beer taste better.
- 3:59It's not going to make Tokan a better tool.
- 4:01If there's something off the shelf, go and grab that.
- 4:04And also you have the angle of if you find out about a tool,
- 4:09then you might want to become an investor in it.
- 4:11Despite that you have had a lot of trouble per SE.
- 4:19I guess that might not be the best word, but you've had a lot
- 4:21of difficulty finding tools that you can actually buy.
- 4:24Yeah, less adoption of outside tools for our agents in
- 4:28production systems then I'd like or then we'd like.
- 4:32But yeah, listen, we're all like we're time and, and and, and
- 4:36people are scarce resources, right.
- 4:37So, you know, I always say to the team, if if there's a tool
- 4:41that we built that we could have bought outside, there's no, you
- 4:45know, there's no brownie points for that nobody like there's
- 4:48just no value in that. We could have done, you know,
- 4:50other things moved faster or whatever.
- 4:52So we're very, very actively pushed the team like, hey, check
- 4:56out this, this new whatever open source solution, check out this
- 5:00new, this tool out there for doing evals, for doing
- 5:03observability, for doing whatever.
- 5:05And I, I do think our team lives a little bit in the future in
- 5:09some ways because we're so like, our job is to test this the
- 5:12latest and greatest and then figure out what makes sense.
- 5:15We have real problems that probably other folks will have,
- 5:18you know, 1218 months down the road.
- 5:21And so it's not just, you know, I want my team to like have all
- 5:25the time that they can to spend on the things that make a
- 5:29difference. And so I encourage them to buy
- 5:31and use tools wherever that makes sense.
- 5:33It's also that if we understand, hey, this tool out there, these
- 5:37guys build something for a problem we know we have and
- 5:40others will have down the road, we should partner with those
- 5:43guys. Like, let's make sure everybody
- 5:45in this group, we've got, like I said, you know, thousands of
- 5:47engineers all over the world that that will have those
- 5:50problems and has already have that.
- 5:52We should then expose, you know, this tool to like, hey, hey, did
- 5:55you know that such and such actually can now help you with
- 5:57authentication in the agentic flow, or they can help you with
- 6:00whatever observability of such and such part of the stack And,
- 6:04and that happens. And, and it also means, you
- 6:07know, because pros has big investment arm, we can also
- 6:11help, you know, partner with those founders if they're
- 6:13raising money to say, hey, we've won one, we're already using
- 6:18you, we want to use you. 2, you may want to have other users in
- 6:21the group because there's, we're a big global company.
- 6:24And 3rd, if you need help, you know, investments and so on, we
- 6:26can provide that because we use tools in my team to try and
- 6:31solve real problems that we think others will have soon.
- 6:34I tend to trust your opinions about what's real and what's not
- 6:39a lot. I heavily weigh them because you
- 6:43do live in the future a little bit and you're able to tell me
- 6:47what is hype and what is real. And so when I see you saying,
- 6:53oh, this is great, but it's not for, it's not for us.
- 6:58That kind of is a signal for me to say, uh, there's, there's
- 7:01something wrong with that piece. Why is that?
- 7:04What is it? What and the fact that you
- 7:06haven't onboarded a lot of these common tools that you hear about
- 7:11everyday is a very big signal for me.
- 7:15Whether that is an orchestration thing like a Lang chain lane
- 7:20graph, whatever, or an observability tool like a Lang
- 7:23fuse insert, your favorite Lang and an eval tool.
- 7:29That for me is a huge signal. It makes it all the more
- 7:34important when you do onboard a tool that I stop and I listen to
- 7:41why you chose that tool. Yeah, I think sometimes like I
- 7:45said, like we, I, I do think in some ways we live in the future
- 7:48because we're, we're earlier than, than, than than many and
- 7:51trying to build things at scale and production agents or other
- 7:55other let's say AI powered products.
- 8:00So I, I think one thing that we do understand was what are the
- 8:04problems that others will have down the road.
- 8:07We're also a bit of a strange team.
- 8:09And I've come to realize that, as you know, sort of look back
- 8:13is like we are because we're much closer to, you know, we
- 8:15train our own models. We work with the biggest labs
- 8:19out there. We have our own evals.
- 8:21We are not representative of many users that are coming down
- 8:25the line. So if you have other teams that
- 8:27already, you know, they have ML models or maybe they don't.
- 8:30They're smaller teams and smaller companies, they will
- 8:33have different needs and they, you know, even if you Fast
- 8:38forward them 18 months, they will still not be the same as as
- 8:41a sort of full AI team, right? So some needs and the ways to
- 8:45solve those needs that says, hey, the problems are common,
- 8:48but the ways to solve them for a team that is less AI
- 8:52experienced, they will maybe favor a more drag and drop
- 8:56solution, for example, as one, right?
- 8:59So I'll give you on like, there's a lot of observability
- 9:00tools out there and we looked at all of them and many of them had
- 9:05this sort of drag and drop solution, right?
- 9:07And it turns out that for some people, that's great because
- 9:12they, they don't want to get into the intricacies of the
- 9:14coding and so on. But you know, my team would say,
- 9:18well, listen, I need an SDK or I need this to be headless or
- 9:21basically be able to kind of interact directly with the
- 9:24underlying things. We can debug it.
- 9:26I need to see the logs and so on.
- 9:29So those things that they will be, it's like if you look at,
- 9:33let's say the observability tools in the, the ones that
- 9:36create these chains of, of agents, you have Zapier, right,
- 9:41which is just anybody can use it and can have has access to a
- 9:44keyboard and a mouse. And then you have all the tools
- 9:46like, I don't know, the things that are native in, in in GCP or
- 9:51AWS, right, that kind of help you with observability and chain
- 9:53these things together. Those are very different end
- 9:58users. The people that access the AWS
- 10:00environments and the GCP environments and the Azure
- 10:02environments are your Sr. user engineers.
- 10:05The Zapier users are, you know, anybody.
- 10:08And so you need to solve for those different needs as well.
- 10:13Are you using coding agents? Yes, we are.
- 10:17We started already using them early on.
- 10:20And by the way, coding agents, I assume you mean things like
- 10:23Devon and Manus and and and many others.
- 10:27That's something that you haven't built yourself.
- 10:29No, we have not no. So that's a clear area where we
- 10:34see, you know, amazing team shout out to the cursor team,
- 10:37for example, who have really focused on, you know, the
- 10:41persona being the software engineer and how to really
- 10:46change the user experience for them to be able to use these
- 10:50things right. So we we don't have that's not,
- 10:52that's not we, we build products that are consumer facing, right?
- 10:55So we would never build a coding agent, but we use them all the
- 10:58time. We test them all the time.
- 10:59Very excited by all the things coming out.
- 11:02We're investing in some of them as well.
- 11:06But if you think about, let's say, the first generation of
- 11:11tools in this space, the first one, we're get up copilot like
- 11:16they were the first ones to come in this space.
- 11:18If of course partner with Open AI and we could already see the
- 11:22early days that this is actually pretty good.
- 11:24And then soon thereafter you, you, you saw, let's say
- 11:28newcomers like of course, cursor.
- 11:32But source craft codeium. Yeah, replate and so on that
- 11:36that came and started to do this slightly better.
- 11:41And then they evolved. And actually in my view, they
- 11:43they they overtook let's say the let's say the first movers in
- 11:47this case copilot to build what are now like software native
- 11:51sort of agentic flows. And this sort of conversation
- 11:55and the interface that you had that that cursor build where
- 11:58they train their own models to actually execute this as was
- 12:01very quickly like it was good. That was better.
- 12:03And in fact, you know, my whole team moved to cursor and now we
- 12:07are sort of at the next level. Think of it like the autonomy
- 12:10levels that they have a celebrant care level 1234 like
- 12:13we're we're now at the next level where let's say Devon like
- 12:16agents who can don't they just don't don't just do auto
- 12:19complete. They don't just edit code.
- 12:21They can create entire environments, right and and go
- 12:24execute a task end to end. We were playing with them, I
- 12:28think started about a year ago when the Devon announcement came
- 12:31out. And yeah, it was a little bit
- 12:34underwhelming, very promising, but underwhelming.
- 12:38Now Fast forward, you know, almost a year, we see that it's
- 12:44much, much more useful. You still need to look at this
- 12:49different, let's say, use cases. So if I'm in my hobby project at
- 12:53home and I need to create a little, I don't know, a little
- 12:55app or a little dashboard to track whatever household chores
- 12:59to say something right by myself, I can use Devin perfect
- 13:03now today and it will work basically like first time right?
- 13:07Before I had to try it five times.
- 13:08Now it'll work for something simple.
- 13:10Great. But how much of that?
- 13:11It really happens at work, right?
- 13:13So. Yeah, a lot of legacy.
- 13:15Yeah, I need to commit stuff. I have maybe smaller projects,
- 13:19some of them are more demo like there you can also start to use
- 13:23Devin. But what happens there is if you
- 13:26do what my experience at least today is if you let it create
- 13:29the entire code base from scratch for thing that we need
- 13:33to actually work on together and maintain like you create it in
- 13:37ways you didn't like. The architecture isn't exactly
- 13:39as you prefer and so it's not to your taste and it's not easy to
- 13:43maintain. That's where I don't see it
- 13:46working yet. What we are and now finding it
- 13:49works really nicely. Isn't that other type of
- 13:52projects where you actually already have a code base that
- 13:55isn't, you know, a code base that 3000 engineers are involved
- 13:58in, but it's a code base that maybe dozens of engineers, maybe
- 14:02hundreds are involved in. But it's, it's, you know,
- 14:05clearly documented repositories where you already have a CICD
- 14:09pipeline. Things are, you know, already
- 14:11documented better because you got more people than you can,
- 14:13you know, individually see, so that agent actually comes into
- 14:18something and you can ask it to do these tasks that you know now
- 14:24are, you know, a card on a JIRA board, right?
- 14:27A ticket like, I don't know the make sure this becomes XYZ
- 14:31compatible or insert this feature, have Devin give it a
- 14:35shot. And that's where these things,
- 14:37in my experience, are now becoming great because it's an
- 14:39existing code base. We already thought about how the
- 14:41architecture should look, but you're making tweaks and
- 14:44modifications that are somewhat incremental.
- 14:46And the agent, it's not that large that the agent can't
- 14:50handle the context. And of course, all these
- 14:54features that we're seeing now is, you know, like Devon
- 14:57creating its own wiki, right? And indexing the code base,
- 15:00various repos together. You can give it instructions
- 15:04that then it knows for anybody else working with Devon on that
- 15:06code base, that's cool. And we're tracking sort of how
- 15:09Devon Dow, like how many PRS is Devon actually making on the
- 15:14team? And that's a.
- 15:16KKPI or. Is that something like, well,
- 15:20it's, it's definitely like we, we want people to do we have
- 15:24this duty now we're basically saying Devon duty, right?
- 15:27So somebody's on duty this week on, on Devon and this week is
- 15:30Devon. But next week it'll be Manus or
- 15:32cursor or whatever or Replit. But the goal is that during that
- 15:36Devon duty, any task you pick up from the JIRA board, you should
- 15:40first think. So let me run it with Devin.
- 15:42Wow, cool. To see, right, because then
- 15:44otherwise, how do we know if this thing got better and where
- 15:47do we apply it? And so that's the KPI that
- 15:50everyone needs to try that be on duty to sort of learn and
- 15:52discover. And then eventually we may set
- 15:55like hey, 10% of the PRS, you know should be Devin, right, if
- 15:59we believe that's feasible or 20% or 25% or?
- 16:02Whatever, how do you ensure the cognitive load doesn't just go
- 16:04through the roof because people are submitting a bunch of shitty
- 16:07PRS? Yeah, well, we had this, right.
- 16:09So like we actually built our own like PR reviewer, right?
- 16:16That thing was so bloody verbose, right?
- 16:18It would people turn it off after a couple of hours because
- 16:21it was just answering a ton of comments and then the cognitive
- 16:25load of you having to read those comments compared to the
- 16:28submitted, you know, PR like it's easier just to look at it
- 16:31yourself. And you can, you can spare the,
- 16:33the, the, the commenting from this AI verbose AI thing.
- 16:37So that's the question, right. So where, what's the sweet spot
- 16:41where the work done offsets, let's say the cognitive load.
- 16:46You still need to additional cognitive load you need to put
- 16:48in to understand that AI is work.
- 16:51And that's what we're trying to figure out.
- 16:53And then then and so is it, you know, how many PRS are worth it
- 16:56to sort of give to a, to an AI software agent.
- 17:01We're going to play with an SRE agent soon.
- 17:03So there's, we just try to understand like where is it
- 17:06useful and where not? And some to some extent, there's
- 17:08also a team thing, an individual thing, more senior engineers or
- 17:11some more juniors. Are you familiar with the code
- 17:13base or not? And so on.
- 17:14For onboarding for example, is great.
- 17:17Tell me more. Like, I mean, so for me, like I
- 17:19don't spend a lot of time coding, unfortunately, let's say
- 17:22committing like production level code.
- 17:25But I obviously want to understand what's happening in
- 17:27the codes, which I can just inter like interrogate a code
- 17:31base using cursor, right? Or any of the other tools.
- 17:35New hires are the same. They come in and they're like,
- 17:37hey, I need to work on this new repository, remove people from
- 17:40projects to projects. Then they can come in and say,
- 17:42hey, tell me, describe to me, you know how this code base
- 17:45works. What are the key, you know,
- 17:47endpoints or the key services, what are the standard agreement?
- 17:50What are the utils? And it'll just describe that to
- 17:53you. And so it's a good way to get
- 17:54people up to speed or people like me that aren't sort of
- 17:57day-to-day in the code base. I think we should bring on Bruce
- 18:02now to talk about what tools you all have tested and where you
- 18:07decided to build your own and why.
- 18:12Great. You're here now.
- 18:15I am. Who are you and what are you
- 18:17doing here, Bruce? So I'm Bruce.
- 18:20I work at process in the AI team, been out for two years
- 18:23there now and I work as an AI engineer in the team.
- 18:26What I spent most of my time on this building tocom, which is
- 18:30our own agent or agent platform and we distribute it to the
- 18:36portfolio companies. So I work as a like an AI
- 18:39engineer to software engineering a mix of both of those.
- 18:43And you spent a good amount of time trying to incorporate
- 18:47different vendor tools that will help you build Tokon faster.
- 18:54I know that you've been working on Tokon for years.
- 19:00And so there is this maturity factor that goes into the tools
- 19:06that are out there that you can use and buy even if you wanted
- 19:09to pay money for something, maybe it's just doesn't exist or
- 19:13it's not at a solid maturity level.
- 19:16I typically see folks using tools in a few different places
- 19:21and you can tell me why or why not you ended up buying a tool
- 19:25in these places. And we can talk about which
- 19:28areas there's actually value and there which areas you
- 19:32potentially see value in the future if it matures or there's
- 19:36no value. 1 is prompting tools or prompt tracking.
- 19:46Yeah. So for, I think for a lot of
- 19:47products out there and also for what we are doing, prompts are
- 19:52very essential to your system and storing that somewhere else
- 19:57I guess is fine. Of course, we also stored in a
- 20:01database, but we're not storing it in an external service that's
- 20:06doing the evaluations for us because.
- 20:09It feels so essential to have a very good prompt that I think
- 20:13it's something you want to spend time yourself on.
- 20:16And then the evaluation piece. So we've built our own
- 20:20evaluation flow for that two reasons.
- 20:24One big one is that within the AI team, we also have a team
- 20:27that do evaluations that have a leaderboard.
- 20:29So we have the knowledge to do those things.
- 20:32And a second big reason is if you're going to use an
- 20:34evaluations tool, you're going to need to send all the
- 20:38conversation data to an external party, which usually is not.
- 20:44It's hard to convince our legal department that we're going to
- 20:47do that. So you bring up a great point
- 20:49there on the fact that maybe you wanted to use this tool, but to
- 20:55actually get it through and get the OK from legal is a whole
- 20:59nother beast. Yeah, yeah, I guess so.
- 21:03So it's not only like getting the OK from legal, I guess you,
- 21:08I also want to be confident that something like that goes well.
- 21:11And if there's like a very new startup companies out there and
- 21:14say, oh, you can just send all the whole conversation, it'll
- 21:17keep everything in track. It does feel a bit strange to,
- 21:22to send it all out there because it's core to your product that
- 21:25you do well on when you change the prompt.
- 21:28For example. And let's say I'm talking to a
- 21:33colleague at another company and they ask me this question.
- 21:36I would think like, I'm a bit hesitant to tell you how these
- 21:40do this because they are probably not going to like if we
- 21:42send out all the, the PII to, to these eval sets.
- 21:46I think it really helps then if you have these companies that
- 21:49provide that that if they have a self hosted version so the data
- 21:52is still at your place. Yeah, that's a common design
- 21:57pattern or vendor offering where it's like bring your own cloud
- 22:02or VPN and so then you don't have to send that data anywhere.
- 22:05No, that's true. But even still, I can imagine
- 22:08legal is 1 vector that you're thinking about when you're
- 22:10thinking about that build versus buy.
- 22:13And so you said we're going to do the prompting tools and the
- 22:18evaluation tools in house. Yeah, those are two big ones in
- 22:22my mind that people will pay for.
- 22:25The other one is orchestration. And so these are frameworks like
- 22:30the Llama indexes and the lane graphs, lane chains, that type
- 22:34of thing. So I have an example in our code
- 22:36base where we built our own orchestrator and we just added
- 22:40Vertex AI and we noticed that sometimes we are throwing time
- 22:44out so that the request was taking too long because we set
- 22:48the time out, it was 5 minutes, so that's very long.
- 22:50So because we're doing the request ourselves, where did the
- 22:55API implementation ourselves? We weren't using the SDK.
- 22:58We were pretty close to what the code does.
- 23:01So we easily added metrics there to see, oh, what time, how long
- 23:06does it take to get the first chunk from Fertix AI?
- 23:09So it was super fast. So we still didn't know what's
- 23:11happening here. And then we added an extra
- 23:15metric which did the time between chunks.
- 23:18And then we noticed all of a sudden it's sometimes the time
- 23:20between chunks is super high, like minutes, which is probably
- 23:24just a yeah, which is probably just a malfunctioning or Fertix
- 23:28AI, which is fine. But if you then using something
- 23:32like a library to do that, you're probably missing a way to
- 23:36fix that. So now because we did do that,
- 23:38it was very easy for us to 1st add a special time out saying,
- 23:43OK, if the time between chunks is really lost, we just try
- 23:46again with so the user can get a reply quicker.
- 23:50And because we're making the whole API notation ourselves, we
- 23:54saw that in the header. So it was a request ID that
- 23:56Vertex AI send us. We could just easily add that to
- 23:59that metric again and it logs that we have, we exported those,
- 24:02send those to Google and they easily can then see what
- 24:06happens. And I think you need to be quite
- 24:10lucky if you accept precisely want to do that, because it's
- 24:13quite nice, but it is a fix. But I feel like using an
- 24:17orchestrator there probably wouldn't have that or he would
- 24:20be very lucky and would pass it all the way up top.
- 24:22But yeah. It's that transparency piece.
- 24:25You have so much more control of what you are able to see and
- 24:28what you're able to do. And you do say that this is a
- 24:31very niche and specific situation, but it can be
- 24:34generalized to. If it's not this specific
- 24:37situation, I'm sure you encountered 5 more like it.
- 24:41Yeah, yeah. And then it's nice that because
- 24:44CNK, one of our main advantages of using US instead of using a
- 24:49different orchestrator or agent framework is that we take care
- 24:54of it. We're very reliable.
- 24:56On the reliability, do you think that the orchestration
- 25:00frameworks, although they give you a lot on the abstraction and
- 25:04they're able to make it much easier, they're able to make the
- 25:07prototype experience nice, The reliability experience drops.
- 25:13And so it's like you have to balance those.
- 25:16That trade off is very clear. You have speed to prototype is
- 25:21very high, but then reliability is very low.
- 25:25Yeah, definitely. Reliability on those frameworks
- 25:28can be super good as well, and if they just have what you need
- 25:32then it's perfect. We'll explain why they didn't
- 25:34have what you need, what you needed.
- 25:36I know that you had mentioned the different SDKS and
- 25:40specifically like a lot of these frameworks are in Python.
- 25:43Yeah, yeah. So we use Go and there, there,
- 25:48there are SDKS of course out there that do this kind of
- 25:51stuff. But even Google and Anthropic
- 25:56say, OK, this is our beta version, which is not funny
- 25:58because Anthropic says in their documentation use our SDKS if
- 26:02you're streaming because the API, the direct API
- 26:06implementation might not work as nicely.
- 26:10But. So it's not only with the
- 26:12orchestration or the evals or these other tools, it's with the
- 26:16foundational models too. Yeah, definitely.
- 26:19I think a lot of these for they like these AI products out there
- 26:24are really focused on Python doing very, they're probably
- 26:27very good at building the SDK. But yeah, if you're not using
- 26:30Python, yeah, it's pretty hard to.
- 26:33Yeah. And what are some downfalls or
- 26:38what are some pitfalls that you've had because of that?
- 26:41Not using Python? Yeah, we were using Python two
- 26:44years ago or even a year ago still, I think.
- 26:50Yeah. So one thing we're missing is
- 26:52the SD case because we're doing sometimes like these small
- 26:57tweaks that I just talked about. You could do that in Python with
- 27:00monkey patching, which is also not possible, and Go.
- 27:03But using Go was such a nice transition for us because it's
- 27:09compiled and there's already, almost already so much
- 27:13uncertainty with what comes out of a model.
- 27:15If then the code is, you know, OK, this is fine and.
- 27:18And you didn't look into using something like pydantic?
- 27:21We did. Why didn't that work?
- 27:25That's just for like the models that come in like the objects.
- 27:29But then in the codes we I think it just requires a lot more
- 27:35effort to make Python fully, fully fail safe where it would
- 27:40go. It's way easier to to do
- 27:42something like that. It's almost like it comes
- 27:43out-of-the-box. Yeah, you can go and in Python
- 27:46you have to do this extra work. And super if when I switch from
- 27:50Python to go then it was it felt super restricted.
- 27:54But in the end now it feels way faster because I just know OK, I
- 27:57can't do this, I should do it this way, something new comes in
- 28:01and it's just easier to switch. It's funny that it's restricted
- 28:06in a good way. Yeah, I guess so, yeah.
- 28:09Now you do, so on one hand with Python you are or without
- 28:17Python, you're able to have that reliability and you get all of
- 28:22these things out-of-the-box. But then on the other hand, when
- 28:25you're working with the different foundational models or
- 28:29orchestration or any kind of tool, vendor tool, you have to
- 28:34do extra work. Do you see it that way or do you
- 28:36see it a little bit different? Yeah, it's a little extra work.
- 28:42Yeah, I would think that's the case.
- 28:44So of course there there's frameworks out there and
- 28:49orchestrators that are super hard to replicate because they
- 28:51do something very good. Then that's also the reason why,
- 28:55for example, we use LLMS that are that we don't make ourselves
- 29:00for this, for this agent, because that would be too much
- 29:04work. And then for agentic tools as
- 29:08well that those are too much work to build the whole OCR
- 29:11pipeline. We can just use something that's
- 29:12out there. But for this, for these core
- 29:16functionalities like an LLM orchestrator in your agent, I
- 29:19guess, yeah, it's a little more work maybe, but maybe that's in
- 29:25the beginning. But then in the end, if you're
- 29:26trying to find that time between chunks, it's way easier if you
- 29:30have the code and it's you don't have to fork anything and change
- 29:33the library, or if you're implied to monkey patch
- 29:35something to to get that that one thing you need.
- 29:39Yeah. So I, I see it a little bit as
- 29:42you're investing more time upfront, but then you save it on
- 29:46the back end. And when you have these edge
- 29:49cases, that's where you really see things shine because you can
- 29:53go and debug much easier. And we try to figure out what do
- 29:56we need. And then it's way more easy to,
- 30:00to build something yourself. And then maybe in six months we
- 30:02feel like, oh, this, this needs to be expanded because it needs
- 30:07to. Let's say we do memory, memory
- 30:11on the user level. And 1st we just build it on what
- 30:15the user and assistance is saying.
- 30:18But then after a couple of months say, OK, it would also be
- 30:20nice if it remembers how did tool call.
- 30:22So because we're now integrating a lot of tools and maybe ID if I
- 30:27say, OK, I want to send something in a Slack channel and
- 30:30I'll always call the channel operations.
- 30:32But then actual ideas like token operations, it would, it would
- 30:38be super nice to that it remembers then that.
- 30:41But then if you didn't build that whole memory thing yourself
- 30:43to begin with and they don't provide that extra feature, then
- 30:47you're going to need to rewrite the whole thing again instead of
- 30:49if you have built it yourself, you know what you want, you just
- 30:52add it. And of course you can do a
- 30:54feature request. But yeah, I just like that if
- 30:57something is so core to your product and you want to expand
- 30:59the feature, that's easy to do instead of having to hack around
- 31:03or change the library or for the last for the newest feature,
- 31:08right? The next piece that I think a
- 31:12lot of people end up paying for or that there is a lot of
- 31:16attention around is the observability piece.
- 31:20And so tools like Lang Fuse or I think Lang Smith also does this.
- 31:27Obviously insert your favorite word after Lang and there's
- 31:33probably a tool that is called that.
- 31:36Are you all using a specific observability tool for the
- 31:41agents? Not specific for the for the
- 31:43LLM. So I think most of those laying
- 31:47something are all for agent specific observability.
- 31:53But we use Datadog for our observability.
- 31:56So I guess those laying products, let's say link tools,
- 32:03I guess those link tools do a little more things
- 32:08out-of-the-box for, for the for those agents, for the
- 32:11observability on the agents. But yeah, we started using
- 32:15Datadog and it's also easy just to add the metrics there and the
- 32:22logs there that you would probably also get at other
- 32:25observability tools. And it also depends a bit
- 32:29probably on your back end as well.
- 32:30So most of the time with those Lang products, you can also
- 32:35rerun if you make a change and to your prompt.
- 32:39That's something we have in the back end ourselves.
- 32:42That's how it built with event streaming.
- 32:45So yeah, I guess, I guess you could use also traditional
- 32:50tools, but if you don't have that in place, then it's
- 32:54probably nice to do something like that as well.
- 32:56And you don't feel like you're losing out by using a Datadog
- 33:00which is not specific for it. No, Yeah, maybe a little, I
- 33:08guess a little. Of course, when there's a new
- 33:10model coming out, it takes a little more effort for us to to
- 33:13change it to do to roll out that model and check whether it's
- 33:18still performing as well because we don't have those tools.
- 33:23But then we save that we don't need to send all the data to
- 33:26that tool as well. And then we have a data for the
- 33:28overstory. We have a vendor tool that does
- 33:33the LLM logs and traceability and then we have data doc, which
- 33:38more more does the software engineering side.
- 33:40Now it's all just combined, which is also nice to work with
- 33:44and. So it does go back to this idea
- 33:49of to bring on a new tool is a bit of a journey.
- 33:58You need to get it through all of these different things,
- 34:02whether it's contract and pricing and legal etcetera,
- 34:06etcetera. That when you look at what's out
- 34:09there and their capabilities versus what you're using in
- 34:14house with a data dog, you say, I think if we squint, we could
- 34:19probably make Datadog work up to 9095% of what you get from all
- 34:24these other tools and we don't have to go through any of those
- 34:27hoops. No, the yeah, yeah, I think so.
- 34:32I do, I get, I always catch myself if I knew look at any of
- 34:37these new products, I'm super excited about them saying, Oh,
- 34:39they can do this and they can do that and it's better than
- 34:42Datadog because it can do this and this and I convince everyone
- 34:45in the team we should do it. And I make the PR and I we
- 34:48tested on staging and then, oh, this.
- 34:51And then, and then we find out or either something is missing
- 34:54or we could have just done this in data like it's not that
- 34:57different or like a more traditional software engineering
- 35:01tool, not that it's traditional, but in a sense it's not AI.
- 35:05It seems like that's a little bit of a trust issue also,
- 35:08right? There's advertisement and what
- 35:10they say they can do and then what they actually do, and you
- 35:14don't find that out until you test it out yourself.
- 35:17Yeah. So have another example for
- 35:20that. We were looking into adding a
- 35:23provider like a vendor tool, sorry, we were looking into
- 35:27adding a vendor tool that could help us roll out tools more
- 35:31easily. So we have a bunch of like more
- 35:33general system tools, we call them.
- 35:34So OCR, it's image generation, all that kind of stuff that you
- 35:37expect from an agent. But then we also wanted to do
- 35:41Oauth tool. So going to Google on the on the
- 35:44with the users Oauth credentials and maybe creating a doc or
- 35:47going to get up and list PRS, which is a lot of work because
- 35:52you need to go into the documentation of Google, go
- 35:54through the API and be creative and think if I have these scopes
- 35:57and I have this endpoint, I could probably make a tool
- 35:59that's called to create a blank document, which is nice to.
- 36:05Fight. Why?
- 36:06Why can't this just be done with Oauth?
- 36:08Oh, it can be done. We want to do it with O outs,
- 36:10but like finding out the writing, the tool descriptions,
- 36:13coming up with what a tool should does, it should do.
- 36:17It's not like in the Google documentation say O and these
- 36:20endpoints are super nice to create an agentic tool for.
- 36:24Kind of looks like I'm talking about MCP now.
- 36:28Yeah, what a step back. So we were looking to a company
- 36:32that would provide all these tools for us that would do the O
- 36:35out flow and we could just provide a user ID saying OK,
- 36:38this user ID, these arguments and this tool.
- 36:42So we found 1A composer and they had a huge list of tools
- 36:46available. So I was super confiscated.
- 36:48This is it. This is super nice.
- 36:51I tested a couple of them, they worked.
- 36:53So I made the PR, went staging, we all started testing it.
- 36:57And then we noticed that a lot of those weren't working and
- 37:01we're just minor, minor things each time that needed to change,
- 37:04like, oh, you need to request an extra scope or yeah, there was
- 37:09something you needed to add in the dashboard, but you didn't do
- 37:12that. But it was also not really well
- 37:15documented because they don't. Companies like new new startups
- 37:19don't focus that much on documentation.
- 37:21Sadly, I wish more did, Yeah. So yeah, that's definitely an
- 37:25example of where I got really excited and I was like, oh,
- 37:27this, this was a little too, too soon to communicate to the team
- 37:31we should do this. Because then the teams looking
- 37:34at you like dude, come on. It's more so I'm saying, OK,
- 37:40this task is done at the end of the week because and then we
- 37:43have 20 tools and then we have 30 tools and then we and I
- 37:45tested five of them and then you test the under 15 and then you
- 37:49needed extra scopes and getting certain scopes at Google is so
- 37:52much work. And yeah, just things you didn't
- 37:58expect because it wasn't in the documentation.
- 38:00What I do like about the startup so is that they're always very
- 38:03much listening to you. So if you're if you will tell
- 38:05them something like this, they would probably help you out.
- 38:09And they also love the feedback, I guess because they this feels
- 38:14like a feature request because yeah, they're just new anyways.
- 38:16And the the road map is not that defined yet, but yeah.
- 38:21So then you scrapped that one and you decided to just go with
- 38:25MCP? No, he didn't.
- 38:28So a lot of our users are not working used to working with AI
- 38:31or are very technical people in HR are using.
- 38:35So this we're we're distributing our agents across the portfolio
- 38:39company. So some from someone from HR is
- 38:43not going to go online download some MCP hope that it the the
- 38:49the, the docker instantly. I don't think even like a
- 38:52regular person easily can set that up.
- 38:55So we considered it and in the future it might be nice if for
- 39:00example, Google themselves are going to offer MCPS and it just
- 39:03maybe you go to your Google account and you say you can
- 39:05create an MCP link. That would be nice, I guess.
- 39:08But if the users need to run the MCPS locally themselves, it's
- 39:12going to be too hard for them. So basically you check that one
- 39:16off the list. Yeah.
- 39:18And then another thing with the startups, they we really tend to
- 39:24also look into the legal part and the PII and the privacy
- 39:29because we need to be compliant and that kind of things.
- 39:31So I'm used to, if I go into Datadog, I won't find PII.
- 39:34If there's PII, we get an alert saying, OK, there's, there's
- 39:37probably PII edits. We never log PII.
- 39:42Sentry, the same thing. If I want to look at user data,
- 39:45they need to consent. That's per conversation.
- 39:49But then when you start using some of these Fender tools, so
- 39:51when I started using composio and some users edit their
- 39:55accounts so we could test it out, there were like buttons
- 39:59where you could pick one of the tools, for example, search
- 40:01documents and could pick one of the user IDs and just execute
- 40:05the tool. So I thought so.
- 40:07You had guard mode. Yeah, basically.
- 40:09So I thought, OK, maybe this is a one off, it's not that bad.
- 40:12Maybe there's they're going to add it at my feature later or a
- 40:15PRI feature. But then I looked recently into
- 40:18Memo, which is like a long term memory service and did a bun
- 40:25added that to our system just locally to test it went to their
- 40:29dashboard again. And then I saw my whole
- 40:32conversation being there like on the front page of the dashboard
- 40:35saying like, Oh, this is your recent traffic.
- 40:37And then I went to the memory section.
- 40:39I saw all the memories, which is.
- 40:41It is basically all PII because it's about OK this user likes
- 40:46this and this user prefers it if you do that.
- 40:49Wow. Yeah.
- 40:49So those tools are not really made for like made in a way how
- 40:55they respect BII in respect to data.
- 40:57There's probably feet, probably buttons and settings out there,
- 41:00but it's there was something that I needed to get used to as
- 41:03well. It's a little eye opening.
- 41:04You weren't. It's like you weren't trying to
- 41:07look, but you had to. And.
- 41:09Then all of a sudden I could see you looking at your screen and
- 41:11then trying to put your head down.
- 41:14Just locally me but. I didn't mean to say that.
- 41:17I promise it does beg this question of you want this
- 41:25capability inherent in the memory capability is you need to
- 41:29know things about people. But the way that the company is
- 41:34setting it up, they now have to think, oh, if we want to go to
- 41:41users with various users, we want to make sure that we're not
- 41:49inadvertently making their lives hard with doing things like
- 41:53keeping PII or making it front and center.
- 41:56So. Prototyping.
- 41:57You need to be able to see that quickly, right?
- 42:00But yeah, out-of-the-box seems just so different than like the
- 42:05more traditional software engineering tools where you
- 42:07definitely don't want PII in places like Datadog.
- 42:10Yeah, and it's like you would have to add this extra layer of
- 42:15getting rid of all this PII. So adding that extra work makes
- 42:19you then come back to the question of should we just try
- 42:22this ourselves? Yeah, yeah, and the self hosted
- 42:26version has done a really good option as well.
- 42:28Yeah, it, it feels like you're taking 2 steps forward and then
- 42:31one step back or two steps back and one step forward.
- 42:35Sometimes with the different tools, because they give you
- 42:38certain capabilities, it makes your life easier on one vector.
- 42:41But then when you are looking at other vectors, you're saying, Oh
- 42:45my God, to actually get this into production and to get rid
- 42:48of all this PII and to comply with these norms that we have
- 42:52set up, we would have to do so much extra work.
- 42:56It's not worth it for us. No.
- 42:57And then if, if it's easy enough to do, then you're probably
- 43:03going to save some time in the long run if you start from the
- 43:05beginning just experimenting and building something like that
- 43:08yourself. And do you see this becoming
- 43:13more common or is this just a maturity thing?
- 43:17No, I don't. I still think these Fender tools
- 43:20out there are probably going to stay for a long time because
- 43:25there's always people building prototypes and you don't always
- 43:28need to be super compliant, you don't always need to be able to
- 43:32scale it indefinitely. So I do think these Fender tools
- 43:37out there are perfectly fine, just not if you're having agent
- 43:41in production and you need to be it to be compliant.
- 43:44You need to do scalable ETC. Let's change gears for a second
- 43:49and talk about how you're leveraging different coding
- 43:53tools. Are you using Windsurf Cursor,
- 43:56Devin? A Little Mix of all of them took
- 43:58on even. Yeah, we're doing a mix right
- 44:00now. So of course we're using our own
- 44:02tool. But now since the IDE assistance
- 44:07got so good, we also use that quite a quite a lot.
- 44:10So I use cursor, we use Devin and we started using get a
- 44:16copilot now to do PR reviews. Yeah, for example, the PR
- 44:20reviews, it really took away that first step where you may be
- 44:24made in spelling agor which didn't get caught by a linter or
- 44:27you copy paste it some mongo adopter and you need it another
- 44:31mongo adopter. You just copy paste the whole
- 44:33thing and then you forgot to change one little name and the
- 44:37Co pilots, the gits of Co pilots PR reviewer is pretty good at
- 44:40catching that We did try other ones out there as well, but we
- 44:45stopped using those because they were super chatty and very
- 44:49confident. And now with the GitHub copilot,
- 44:52you can it collapses comments that it thinks it's not
- 44:56confident that that's the case. So yeah, it really helps with
- 45:01like if I made an error, send it off to my colleague and I see oh
- 45:04GitHub cope. I already said, OK, this, this,
- 45:06I don't think this is right that that that saves a lot of time
- 45:10because it saves the time that I asked the colleague.
- 45:12The colleague instantly goes back, OK, just the comment
- 45:14there. I need to fix it then I need to
- 45:16wait again till, till he has time.
- 45:18So that's super nice to to have. So these coding tools add to
- 45:25this piece that I find fascinating, which is you've
- 45:30been building a lot of tools for building agents like the eval
- 45:37tool or the orchestration tool. You and do not go out there and
- 45:41buy something, but it's not because there's a lack of push
- 45:46from the team. I was talking to Paul and he was
- 45:49saying that he's really trying to encourage you guys to buy
- 45:53stuff. Despite that, you come back and
- 45:56you say it's just not there yet and there's this vector.
- 46:02Maybe that is worth exploring in your eyes on.
- 46:06Before when you thought about building it yourself, it was
- 46:10with one scope in mind. But now that you are using these
- 46:14coding tools, maybe you're a bit more ambitious on being able to
- 46:18build it yourself. Do you look at it in that way
- 46:21where you say, yeah, I can probably build this myself with
- 46:25the help of cursor and windsurf or whatever in a weekend?
- 46:30Definitely, definitely if. If something comes by and I
- 46:34think I get, I get how it works. It's so much easier to have
- 46:41something like cursor indeed explaining what I think it
- 46:44should do and then also me and Cursor trying to find out how it
- 46:48works. If cursor wasn't there, it would
- 46:50have been so much work to try to to copy something you think is
- 46:54worth copying instead of instead of buying like copying the the
- 46:58functionality. Yeah, Yeah, I really, yeah.
- 47:03I really think that's tools like Cursor enable you to quickly
- 47:10build these these versions of existing tools that you think,
- 47:14OK, they're liking something like this, we can probably do it
- 47:17better. But if, if Cursor wasn't there,
- 47:19it's super hard. It's it's it takes way longer to
- 47:22experiment for for a very small feature.
- 47:24Definitely, Yeah. That's all we've got for today,
- 47:28but the good news is there are 10 other episodes in this series
- 47:33that I'm doing with process deep diving into how they are
- 47:38approaching building AI products.
- 47:41You can check it out in the show notes.
- 47:44I leave a link and as always see you on the next one.