LALatent SpaceOct 11, 2024· 1:56:16

Production AI Engineering starts with Evals

Ankur Goyal, founder and CEO of Braintrust, argues that evaluation is the core workflow of production AI engineering and shows how his platform makes evals accessible to software engineers. Drawing from his experience at SingleStore and Impira, he details Braintrust's evolution from an eval tool into an end-to-end AI development platform used by Stripe, Zapier, Vercel, and other top AI teams. He shares market data: OpenAI handles over 95% of production workloads, fine-tuning is declining, and open-source models account for under 5% due to reliability issues. Ankur explains why he avoided building a vector database—the real challenge is permissions and joins, not vector search—and predicts o1-style reasoning will replace complex agent frameworks. He reveals Braintrust's differentiators: hybrid on-prem, TypeScript-first SDK, and declarative eval structures.

  1. 0:00SingleStore Roots
  2. 8:34Impira
  3. 25:25Figma
  4. 29:19Eval Bottleneck
  5. 36:06Braintrust Platform
  6. 42:56Demo
  7. 1:05:24Industry Insights
  8. 1:54:50Outro

Powered by PodHood

Transcript

SingleStore Roots0:00

Host0:04

Ankur Goyal, welcome to Latent Space.

Ankur Goyal0:06

Thanks for having me.

Host0:07

Thanks for coming all the way over to our studio.

Ankur Goyal0:10

Oh, it was, it was a long hike.

Host0:11

A long trek.

Ankur Goyal0:12

Yeah.

Host0:13

You got T-boned, uh, no- ... by, uh, by traffic.

Ankur Goyal0:16

Yeah.

Host0:17

You are... You s- you were VP of- the first VP of Engineering at SingleStore.

Ankur Goyal0:21

Yeah.

Host0:21

Then you started Impira. Uh, you ran it for six years. Got acquired into Figma-

Ankur Goyal0:26

Yeah

Host0:26

... where you were at for eight months, and you just celebrated your one-year anniversary at Braintrust.

Ankur Goyal0:30

I did, yeah.

Host0:31

What a journey. I kinda wanna go through each in turn because I have a personal relationship with SingleStore just because I have been a follower and fan of databases for a while. HTAP is always a dream of every-

Ankur Goyal0:41

Oh, yeah.

Host0:41

... every database guy is like-

Ankur Goyal0:42

It's still the dream

Host0:43

... when HTAP. And SingleStore, I think, is the leading HTAP.

Ankur Goyal0:46

Yeah.

Host0:46

What's that journey like? And then maybe we'll, we'll cover, yeah, the rest later but-

Ankur Goyal0:50

Sounds good

Host0:50

... we can start SingleStore first.

Ankur Goyal0:51

Yeah, yeah. In college, as an Indian, you know, a first generation Indian kid, I basically had two options. I had already told my parents I wasn't gonna be a doctor. They're both doctors. Uh, so, you know, only two options left: do a PhD or work at a big company.

And after my sophomore year, I worked at Microsoft, and it just wasn't for me. I realized that the work I was doing was impactful. Like, people... You know, there were millions... I was working on Bing and, like, the distributed compute infrastructure at Bing, which is actually now part of Azure, and there were hundreds of engineers using the infrastructure that we were working on.

But the level of intensity was too low, so it felt like, you know, you got work/life balance and impact, but very little creativity, very little sort of room to do interesting things. So I was like, "Okay, let me cross that off the list.

The only option left is to do research." I did research the next summer, and I kind of realized, again, no one's, like, working that hard. Maybe the times have changed, but at that point, you know, there's a lot of creativity, and so you're just bouncing around fun ideas and working on stuff, and really great work/life balance, but no one would actually use the stuff that we built, and that was not super energizing for me.

And so I had this, like, existential crisis, and I moved out to San Francisco because I had a friend who was here and crashed on his couch and was talking to him and very, just very, very confused. And he said, "You should talk to a recruiter," uh, which felt like really weird advice.

I'm not even sure I would give that advice to someone nowadays. But I met this really great guy named John, and he introduced me to, like, 30 different companies. And I realized that there's actually a lot of interesting stuff happening in startups, and maybe I could find this kind of company that let me be very creative and work really hard and have a lot of impact, and I don't give a shit about work/life balance.

And so I talked to all these companies, and then I, I remember I met MemSQL when it was three people, and, uh, interviewed, and I thought I just totally failed the interview. But I had never had so much fun in my life.

And I left. I remember I was, I was at 10th and Harrison, and I stood at the bus station, and I called my parents and said, "I'm sorry, I'm dropping out of school." I thought I wouldn't get the offer, but I just realized that if there's something like this company, then this is where I need to be.

Luckily, things worked out, and I got an offer, and I joined as employee number two, and I worked there for almost six years, and it was an incredible experience. I, uh, learned a lot about systems, got to work with amazing customers.

There are a lot of things that I took for granted that I later learned in, at Impira that I had taken for granted. And the most exciting thing is I got to run the engineering team, which was a, a great opportunity to learn about tech kind of at, on a larger stage, recruit a lot of great people, and I think for me personally set me up to do a lot of interesting things after.

Host3:42

Yeah. There's so many ways I can take that. Most curious, I think, for, for general audiences is, is the dream real of SingleStore? Should, obviously, more people be using it? I think there's a lot of marketing from SingleStore that makes sense, but there's a lot of doubt in people's minds.

What do you think you've seen that is the most convincing as to, like, when is it suitable for people to adopt SingleStore and when is it not?

Ankur Goyal4:06

Bear in mind that I'm now eight years removed from, uh, SingleStore, so they've done a lot of stuff since I left. But maybe, like, the meta thing I would say or the meta learning for me is that even if you build the most sophisticated or advanced technology in a particular space, it doesn't mean that it's something that everyone can use.

And I think one of the trade-offs with SingleStore specifically is that you have to be willing to invest in hardware and software cost that achieves the dream. And at least when we were doing it, it was, you know, way cheaper than Oracle Exadata or SAP HANA, which were kind of the prevailing alternatives.

So not, like, ultra expensive, but it's not... SingleStore is not the kind of thing that when you're, like, building a weekend project that will scale to millions, uh, you would just kind of spin up SingleStore and start using.

And I think it's just expensive. It's packaged in a way that is expensive because the size of the market and the type of customer that's able to drive value almost requires the price to work that way, and you can actually see Nikita almost overcompensating for it now with, with Neon and sort of attacking the market from a different angle.

Host5:12

This is Nikita Shamgunov, the actual original founder.

Ankur Goyal5:15

Yes. Yeah, yeah, yeah, yeah. So now he's, like, doing the opposite. He's built the world's best free tier and is building, like, hyper inexpensive Postgres. But because the number of people that can use SingleStore is smaller than the number of people that can use free Postgres, yet the amount that they're willing to pay for that use case is higher, SingleStore is packaged in a way that just makes it harder to use.

I know I'm not directly answering your question, but for me, that, that was one of those sort of utopian things. Like, it's the technology analog to, like, if two people love each other, why can't they be together? You know, like, SingleStore in many ways is the best database technology, and it's the best in a number of ways, but it's just really hard to use.

I think Snowflake is going through that right now as well. As someone who works in observability, I dearly miss the variant type that I used to use in Snowflake. It is, without any question, at least in my experience, the- Best implementation of semi-structured data and sort of solves the problem of storing it very, very efficiently and querying it efficiently, almost as efficiently as if you specified the schema exactly, but giving you total flexibility.

So it's, it's just a marvel of engineering, but it's packaged behind Snowflake, which means that the minimum query time is quite high. I have to have a Snowflake enterprise license, right? I can't deploy it on a laptop. I can't deploy it in a customer's premises or whatever.

So you're sort of constrained to the packaging by which one can interface with Snowflake in the first place. And I think every observability product in some sort of platonic ideal would be built on top of Snowflake's variant imma- implementation and have better performance.

It would be cheaper, you know, the customer experience would be better, but, you know, alas, it's just not economically feasible right now for, for that to be the case.

Host7:03

Do you buy what Honeycomb says about needing to build their own, like, super wide column store?

Ankur Goyal7:10

I do, given that they can't use Snowflake. If the variant type were exposed in a way that allowed more people to use it... And, and by the way, I'm just sort of zeroing in on Snowflake in this case.

Redshift has something called Super, which is fairly similar. ClickHouse is also working on something similar, and that might actually be the thing that lets more people use it. DuckDB does not. No. DuckDB has a struct type, which is dynamically constructed, but it has all the downsides of, uh, traditional structured data types, right?

So it's, it's just not... Like for example, if you create- if you infer a bunch of rows with the struct type, and then you pr- present the N plus first row, and it doesn't have the same schema as the first N rows, then you need to change the schema for all the preceding rows, which is the main problem that the variant type solves.

So yeah, I mean, it's, it's possible that at the, on the extreme end, there's something specific to what Honeycomb does that wouldn't directly map to the variant type, and I don't know enough about Honeycomb, and I think they're a fantastic company, so I don't mean to, like, pick on them or anything.

But I would just imagine that if one were starting the next Honeycomb and the variant type were available in a way that they could consume, it might accelerate them, you know, dramatically or even be the terminal solution.

Host8:19

I think being so early in SingleStore also taught you, among the all these engineering lessons, you also lot, learned a lot of business lessons that you took with you into Impira. And Impira, you actually, that was your first, maybe, I don't know if it's your exact first experience, but your first AI company.

Impira8:34

Ankur Goyal8:34

Yeah, it was.

Host8:35

Tell that story.

Ankur Goyal8:36

There's a bunch of things I learned and a bunch of things I didn't learn. The idea behind Impira originally was, I saw when AlexNet came out that you were suddenly able to do things with data that you could never do before, and I, I think I was way too early into this observation.

When I started Impira, the idea was, what if we make using unstructured data as easy as it is to use structured data, and maybe ML models are the glue that enables that. And I think deep learning presented the opportunity to do that because you could just kinda throw data at the problem.

Now in practice, it turns out that, you know, pre-LLMs, I think the models were not powerful enough, and more importantly, people didn't have the ability to capture enough data to make them work, you know, well enough for a lot of use cases.

So it was, it was tough. However, that was the original idea, and I think some of the things I learned were how to work with really great companies. We worked with a number of, um, top financial services companies.

We worked with public enterprises, and there's a lot of nuance and sophistication that goes into making that successful. I'll tell you the things I didn't learn, though, which I, which were, uh, I learned the hard way. So one of them is, uh, when I was the VP of engineering, I would go into sales meetings, and the customer would be super excited to talk to me.

And I was like, "Oh my God. I must just be the best salesperson ever." And, and, oh yeah, after I finished the meeting, the salespeople would just be like, "Yeah, okay, you know what? It looks like the technical POC succeeded, and, uh, we're gonna deal with some stuff.

It might take some, uh, some time, but they'll probably be a customer." And then I didn't do anything, and a few weeks later or a few months later, they were a customer.

Host10:09

Money shows up.

Ankur Goyal10:10

Exactly. And like, oh my God, it must, I must have the Midas touch, right? Like, I go into the meeting, I, I, you know-

Host10:16

I've been that guy, yeah

Ankur Goyal10:17

... Yeah, I just, you know, I, I sorta speak a little bit, and, and they become a customer. I had no idea how hard it was to get people to take meetings with you in the first place, and then once you actually sort of figure that out, the actual mechanics of closing customers a- at scale, dealing with revenue retention, all this other stuff, it's so freaking hard.

I learned a lot about that, and I, I, I thought it was just an invaluable experience at Impira to sort of experience that, uh, myself firsthand.

Host10:43

Did you have a main salesperson or sales advisor, like-

Ankur Goyal10:45

Yes, a few different things. One, I lucked into, uh, it turns out my wife, Alana, who I started dating right as I was starting Impira, her father, who is just super close, uh, now, is a seasoned, very, very seasoned and successful sales leader.

So he's currently the president of Cloudflare. At the time, he was the president of Palo Alto Networks, and he joined just right before the IPO and was, you know, managing a few billion dollars of revenue at the time.

And so I would say I learned a lot from him. I also hired someone named Jason, who I worked with at MemSQL, and he's just an exceptional account executive. So he closed probably, like, 90 or 95% of our business over our years at Impira, and, you know, he's just exceptionally good.

And I think one of the really fun lessons, I, we were trying to close a deal with Stitch Fix at Impira early on. It was right around my birthday, and so I was, uh, hanging out with my father-in-law and talking to him about it, and he was like Look, you're super smart and re- Impira sounds really exciting.

Everything you're talking about, a mediocre account executive can just do and do, like, much better than, than what you're saying. If you're dealing with these kinds of problems, like, you should just find someone who can do this a lot better than you can.

And that was one of those, again, very humbling things that you sort of-

Host11:57

Like he's telling you to delegate?

Ankur Goyal11:59

I think in this case-

Host11:59

Or telling you you're a mediocre account executive?

Ankur Goyal12:01

I think in this case he's actually saying, yeah, you're, like, you're making a bunch of rookie errors- ... in, in trying to close a contract that any mediocre or better salesperson will be able to do for you.

Host12:11

Yeah.

Ankur Goyal12:11

Um, or in partnership with you. That was really interesting to learn. But the biggest thing that I learned, which was, I'd say very humbling, is that at MemSQL, I worked with customers that were very technical, and I always got along with the customers.

I always found myself motivated when they complained about something to solve the problems, and then most importantly, when they complained about something, I could relate to it personally. At Impira, I took kind of the popular advice, which is that developers are a terrible market.

So we sold to line of business, and there are a number of benefits to that. Like, we were able to sell six or seven-figure deals much more easily than we could at SingleStore or now we can at Braintrust.

However, I learned firsthand that if you don't have a very deep intuitive understanding of your customer, everything becomes harder. Like, you need to throw product managers at the problem. Your own ability to see around corners is much weaker and, you know, depending on who you are, it might actually be very difficult.

And for me, it was so difficult that I think it made it challenging for us to, one, like stay focused on a particular segment and then, two, out-compete or do better than people that maybe had inferior technology to we, that we did, but really deeply understood what the customer needed.

So that, I would say, like, if you just asked me what was the main humbling lesson that I have faced with it, it was that.

Host13:34

Yeah. Okay. One more question on this market because I think after Impira there's a cohort of new Impiras-

Ankur Goyal13:39

Yeah, yeah

Host13:39

... coming out, uh, Datalab, I don't know if you saw that.

Ankur Goyal13:42

I get a phone call about one every week. Yeah.

Host13:45

What have you learned about this, like, you know, unstructured data to structured data market? Like, everyone thinks now you can just throw an LLM at it. Obviously, it's gonna be better than what you had.

Ankur Goyal13:53

Yeah, I mean, I think the fundamental challenge is not a technology problem, it is the fact that if you're a business, let's say you're the CEO of a company that is in the insurance space, and you have a number of inefficient processes that would benefit from unstructured to structured data, and you have the opportunity to create a new consumer user experience that totally circumvents the unstructured data and is a much better user experience for the end customer.

Maybe it's an iPhone app that does the insurance underwriting survey by having a phone conversation with the user and filling out the form or something instead. And the second option potentially unlocked a totally new segment of users and maybe costs you, like, 10 times as much money, and the first segment is kind of this pain, right?

It, like, affects your cogs. It's annoying. There's a solution that works, which is throwing people at the problem, but it could be a lot better. Which one are you gonna prioritize? And I think as a technologist, you know, maybe this is the third lesson, you tend to think that if a problem is technically solvable and you can justify the ROI or whatever, then it's worth solving.

And you also tend to not think about how things are outside of your control. But if you empathize with a CEO or a CTO who's sort of considering these two projects, I can tell you straight up, they're gonna pick the second project.

They're gonna prioritize the future. They don't want the unstructured data to exist in the first place, and that is the hardest part. It is very, very hard to motivate a large organization to prioritize the problem. And so you're always going to be a second or third tier priority, and there's revenue in that 'cause it, it does affect people's day-to-day lives, and there are some people who care enough to sort of try to solve it.

I would say this in very stark contrast to Braintrust, where if you look at the logos on our website, almost all of the CEOs or CTOs or founders are daily active users of the product themselves, right? Like, every company that has a software product is trying to incorporate AI in a meaningful way, and it's, it's so meaningful that, like, literally the, you know, the exec team is using the product every day.

Host16:04

Yeah. Just to not bury the lead, uh, the logos are Instacart, Stripe, Zapier, Airtable, Notion, Replit, Brex, Vercel, Coda, and the Browser Company of New York.

Ankur Goyal16:14

Yeah.

Host16:14

I don't wanna jump the gun to, to Braintrust. I don't think you've actually told the Impira acquisition story publicly, uh, that, that I can tell.

Ankur Goyal16:21

I have not.

Host16:21

It's on the surface when, when it's like... I think I, like, first met you maybe, like, slightly before-

Ankur Goyal16:26

Yeah

Host16:26

... the acquisition, and I was like, what the hell is Figma acquiring this kind of company? You're not a design tool.

Ankur Goyal16:32

Yeah.

Host16:32

Like, any details you can share?

Ankur Goyal16:34

Yeah, I would say, like, the super candid thing that we realized, and this is just for timing context, this-- I probably personally realized this during the summer of 2022, and then the acquisition happened in December of 2022. And just for temporal context, ChatGPT came out in November of 2022.

So at Impira, I think our primary technical advantage was the fact that if you were extracting data from, like, PDF documents, which ended up being the flavor of unstructured data that we focused on, back then you had to assemble, like, thousands of examples of a particular type of document to get a deep neural network to learn how to extract data from it accurately.

And we had sort of figured out how to make that really small, like maybe two or three examples through a variety of, like, old school ML techniques and maybe some fancy deep learning stuff. But we had, we had this, like, really cool technology that we were proud of, and it was actually primarily computer vision based because at that time, computer vision was a more mature field.

And if you think of a document as, like, one part, uh, visual signals and one part text signals, the visual signals were more readily available to extract information from. And what happened is text, uh, starting with BERT and then accelerating through and including ChatGPT, just totally cannibalized that.

I remember I was in New York and I was playing with BERT on Hugging Face, which had made it, like, really easy at that point to actually do that. And I-- They had, like, this little square, you know, in the, in the, in the, uh, right-hand panel of a model and I just started copy-pasting documents into a question answering fine-tune of BERT and seeing whether it could extract the invoice number and this other stuff, and I was, like, somewhat mind-boggled by how often it would get it right, and that was really scary.

Host18:26

Hang on. This is a vision-based BERT?

Ankur Goyal18:28

Nope.

Host18:29

So this was raw PDF parsing?

Ankur Goyal18:31

Yep. No, no. No PDF parsing. Just taking the PDF-

Host18:34

Uh, copy pasted

Ankur Goyal18:34

... Command A.

Host18:35

Yeah.

Ankur Goyal18:35

Co- Yeah, copy-paste. Yeah, so there's no visual signal, right? And by the way, uh, I know we don't wanna talk about Braintrust yet, but this, this is also when some of the seeds, uh, were formed because I had a lot of trouble convincing our team that, uh, this was real, and part of that, naturally, n-not to anyone's fault, is just, like, the pride that you have in what you've done so far.

Like, there's no way something that's not trained or whatever for our use case is gonna, is gonna be as good, which is, in many ways, true. But part of it is just, like, I had no simple way of proving that it was gonna be better.

Like, there's no tooling I could just, like, run something and show, show people. I remember on the flight, I, before the flight, I downloaded the weights, and then on the flight when I didn't have internet, I was, like, playing around with a bunch of documents, and anecdotally, it was like, "Oh my God, this is amazing."

And then that summer we went deep into LayoutLM at Microsoft. I personally got super into Hugging Face, and I think for, like, two or three months was the top non-employee contributor, uh, to Hugging Face, which was a lot of fun.

Uh, we created, like, the document QA, uh, model type and, like, a bunch of stuff, and then we fine-tuned a bunch of stuff and contributed, uh, it as well. It was... I love that team. Clem is now an investor in Braintrust, so it started forming that relationship.

And I realized, like, and again, this is all pre-ChatGPT. I realized, like, oh my God, this stuff is clearly going to cannibalize all the stuff that we've built, and we quickly retooled Impira's product to, um, use LayoutLM as kind of the base model.

And in almost all cases, we didn't have to use our fancy but somewhat more complex technology to extract stuff. And then I started playing with GPT-3, and that just totally blew my mind. Again, LayoutLM is, is visual, right?

So, uh, almost the same exact exercise. Like I, I took the PDF contents, pasted it into ChatGPT, no visual structure, and it just destroyed LayoutLM. And I was like, "Oh my God, what is stable here?" And I even remember going through the psychological justification of like, oh, but GPT-3 is so expensive and blah, blah, blah, blah, blah.

Like it's n- you know.

Host20:38

So nobody would call it on, in quantity, right?

Ankur Goyal20:40

Yeah, exactly. Uh, but as I was doing that, because I had literally just gone through that, I was able to kinda zoom out and be like, "You're an idiot."

Host20:48

There's a declining cost, yeah.

Ankur Goyal20:49

Yeah. Yeah. And so I realized, wow, okay, this stuff is gonna change, like, very, very dramatically. And I looked at our commercial traction, I looked at our exhaustion level, I looked at, you know, the team, and I thought a lot about what would be best for the team, and I thought about all the stuff I had been talking about.

Like, how much did I personally enjoy working on this problem? Is this the problem that I wanna, you know, raise more capital and work on with a high degree of integrity for the next five, 10, 15 years? And I realized the answer was no.

And so we started pursuing. We had some inbound interest already given, you know, now ChatGPT had s- you know, it was like this stuff was starting to pick up. I guess ChatGPT still hadn't come out, but, like, GPT-3 was gaining some awareness, and there weren't that many AI teams, uh, or ML teams, uh, at the time.

So we also started to get some inbound, and I kinda realized, like, okay, this is probably a better path. And so we talked to a bunch of companies and ran a process. Elad was insanely helpful.

Host21:48

Was he an investor in the, in Impira?

Ankur Goyal21:49

He was an investor in Impira, yeah. I met him at a pizza shop uh, in 20, uh, 2016 or 2017, and then we went on one of those, like, famous, very long walks the next day. We started near Salesforce Tower, and we ended in Noe Valley.

And Elad walks at, like, the speed of light, so we... I, I think it was, like, 30 or 40. It was, like, crazy. And then he invested. Yeah, yeah. And then I guess we'll talk more about him, um, in a little bit.

But yeah, he, I mean, I was talking to him on the phone pretty much every day through that process. And Figma had a number of positive qualities to it. One is that there was a sense of stability because of the acquisition, um, Figma's acquisition.

Um, another is, uh, the problem-

Host22:30

By Adobe?

Ankur Goyal22:31

Yeah.

Host22:31

Oh, oops.

Ankur Goyal22:32

Yeah. The problem domain was not exactly the same as what we were solving, but was actually quite similar in that it is a combination of, like, textual, like, language signal, but it's multimodal. So our team was pretty excited about that problem and had some experience.

And then we met the whole team, and we just thought, "These people are great." And that's true, like, they're great people, and so we felt really excited about working there.

Host22:57

But is there a question of, like, would you... Uh, because the company was shut down, like, effectively after you're basically kinda letting down your customers.

Ankur Goyal23:05

Yeah, yeah.

Host23:06

How does that... I mean, and, and obviously don't, you don't have to cover this, so we can cut this out if you, if, if it's too uncomfortable. But, like, I think that's a question that people have when they go through acquisition offers.

Ankur Goyal23:15

Yeah, yeah. No, I mean, it was hard. It was really hard. I would say that there's two scenarios. There's one where it doesn't seem hard for a founder, and I think in those scenarios, it ends up being much harder for everyone else.

And then in the other scenario, it is devastating for the founder. In that scenario, I think it works out to be less devastating for everyone else. And I can tell you, it, it was extremely devastating. I was very, very sad for, like, three, four months.

Host23:46

To be acquired, but also to be shutting down.

Ankur Goyal23:49

Yeah, I mean, just winding a lot of things down, winding a lot of things down. I think our customers were very understanding, and we worked with them. You know, to be, to be honest, if we had more ...

traction than we did, then it would've been harder. But there were a lot of document processing solutions. The space is very competitive, and so I, I think I'm hoping, although I'm not 100% sure about this, I, you know...

But I'm hoping we didn't leave anyone totally out to pasture. And, and we, we did very, very generous refunds and worked quite closely with people and wrote code, um, to help them, uh, where we could. But it's not easy.

It's not easy. I- it's one of those things where I think as an entrepreneur you sometimes, you sort of resist making what is clearly the right decision because it feels very uncomfortable, and you sort of have to accept that it's your job to make the right decision.

And I would say for me, this is one of N formative experiences where viscerally see the gap between what feels like the right decision and what is clearly the right decision, and you have to sort of embrace what is clearly the right decision and then map back and make, you know, fix the feelings a- along the way, and this was definitely one of those cases.

Host25:03

Well, th- thank you for sharing that. That's something that not many people get to hear.

Ankur Goyal25:06

Yeah.

Host25:06

Um, and, uh, I'm sure a lot of people are going through that right now. Bringing up Clem, like, he mentions very publicly that he gets so many inbounds, like, um, acquisition offers. I mean, I don't, I don't know what you call it.

Please buy me offers.

Ankur Goyal25:18

Yeah, yeah, yeah.

Host25:19

And, uh, I, I think people are kinda doing that math, uh, in this AI winter that we're, uh, somewhat going through.

Ankur Goyal25:25

For sure.

Figma25:25

Host25:25

Okay. Maybe, uh, we'll spend a little bit on Figma. Figma AI, I, you know, I've watched closely the past two Fig, uh, configs. A lot going on. You were only there for eight months, so what would you say is, like, interesting going on at Figma, at least from the time that you were there and, like, whatever you see now as an outsider?

Ankur Goyal25:42

Last year was an interesting time for Figma. One, Figma was going through an acquisition. Two, Figma was trying to think about what is Figma beyond being a design tool. And three, Figma is kind of like Apple, a company that is really optimized around a periodic, like, annual release, uh, cycle rather than something that's continuous.

If you look at some of the really early AI adopters like Notion, for example, Notion is shipping stuff constantly. I mean, they actually have a conference coming up, but it's a new thing. Um-

Host26:13

We were consulted on that.

Ankur Goyal26:14

Oh, great.

Host26:15

'Cause Ivan liked, uh, World's Fair.

Ankur Goyal26:16

Oh, great, great, great. Yeah. Um, I'll be there. If anyone is, is there, hit me up. But, you know, very, very iterative company. Like, Ivan and Simon and a couple others, like, hacked the first, uh, versions of Notion AI-

Host26:28

At a retreat.

Ankur Goyal26:28

Yeah, exactly.

Host26:29

In a hotel room. Yeah.

Ankur Goyal26:30

Yep, yep, yep. And so I think with those three pieces of context in mind, it's a little bit challenging for Figma. Very high product bar. Probably of the software products that are out there right now, like, one of if not the best just quality product.

Like, it's not janky. You sort of rely on it to work type of products. It's quite hard to introduce AI into that. And then the other thing I would just add to that is that visual AI is very new, and it's very amorphous.

Vectors are very difficult because they're a data inefficient representation, so the vector format in something like Figma is, chews up, like, many, many, many, many, many more tokens than HTML and JSX. So it's a very difficult medium to just sort of throw into an LLM compared to writing problems or coding problems.

And so it's not trivial for Figma to release, like, oh, you know, this company has blah blah AI and Acme AI and whatever. It's like, it's not super trivial for Figma to do that. And I think for me personally, I really enjoyed, like, everyone that I worked with and everyone that I met, but I am a creature of shipping.

Like, I wake up every morning nowadays to several complaints or questions, you know, from people, and I just like pounding through stuff and, uh, shipping stuff and making people happy and, and iterating with them, and it was just h- it, like, literally challenging for me to do that in that environment.

That's why it, it ended up not being the best fit for me personally, but I think it's gonna be interesting what they, what they do and when they do within the framework that they're designed to as a company to ship stuff.

When they do sort of make that big leap, I think it, it could be very compelling.

Host28:11

Yeah. I think there's a lot of value in being the chosen tool for an industry because then you just get a lot of community patience for figuring stuff out. The unique problem that Figma has is it caters to designers-

Ankur Goyal28:22

Yeah

Host28:22

... who hate AI right now. When you mention AI, they're like, "Oh, I'm gonna..."

Ankur Goyal28:26

Well, the thing is, in my limited experience and working with designers myself, I think designers do not want AI to design things for them, but there's a lot of things that aren't in the traditional designer toolkit that AI can solve.

And I think the biggest one is generating code. So in my mind, there's this very interesting convergence happening between UI engineering and design, and I think Figma can play an incredibly important part in that transformation, which rather than being threatening is empowering to designers and probably helps designers contribute and collaborate with engineers more effectively, which is a little bit different than the focus around actually designing things in the editor.

Host29:09

Yeah, I think everyone's keen on that. Dev Mode was, uh, I think the first segue into that. So we're gonna go into Braintrust now, about 20-something minutes into the podcast.

Ankur Goyal29:18

Yeah.

Host29:19

So what was your idea for Braintrust? Uh, tell the full origin story.

Eval Bottleneck29:19

Ankur Goyal29:23

At Impira, while we were having an existential, you know, revelation, if you will, we realized that the debates we were having about what model and this and that were really hard to actually, uh, prove anything with. So we argued for, like, two or three months and then prototyped an eval system on top of Snowflake and some scripts and then shipped, uh, the new model like two weeks later.

And it wasn't perfect. There were a bunch of things that were l- you know, less good than what we had before, but in aggregate it was just way better, and that was a holy shit moment for me. Like, I, I kind of realized there's this- Sometimes in engineering organizations or maybe organizations more generally, there are what feel like irrational bottlenecks and, you know, it's like, why are we doing this?

Why are we talking about this, whatever. This was one of those obvious irrational bottlenecks. And, um-

Host30:14

Can you articulate the bottleneck again? Was, w- was it simply evals or?

Ankur Goyal30:18

Yeah, the bottleneck is there's approach A and it has these trade-offs, and approach B has these other trade-offs. Which approach should we use? And if people don't u- you know, very clearly align on, uh, one of the two approaches, then you end up going in circles.

You know, this approach, "Hey, check out this example, it's better at this example," or, "I was able to achieve it with this document, but it doesn't work with all of our customer cases," right? And so you end up going in circles.

If you introduce evals into the mix, then you sort of change the discussion from being hypothetical or, you know, one example and another example into being something that's extremely straightforward and almost scientific. Like, okay, great, let's get an, an initial estimate of how good LayoutLM is compared to our hand-built computer vision model.

Oh, it looks like there are these 10 cases, invoices that we've never been able to process that, like, now we can suddenly process, but we regress ourselves on these three. Let's think about how to engineer a solution to actually improve these three and then measure it and make sure we do.

And so it gives you a framework to have that. And I think aside from the fact that it literally lets you run the sort of scientific process of improving an AI application, organizationally it gives you a clear set of tools, I think, to get people to agree.

And I think in the absence of evals, what I saw at Impira and I see with almost all of our customers before they start using Braintrust is this kind of like stalemate between people on which prompt to use or which model to use or which technique to use that once you sort of embrace engineering around evals, it just goes away.

Host31:52

Yeah. We just did a episode with Hamel Hussein here, and the cynic in that statement would be like, this is not new. All ML engineering deploying models to production always involves evals.

Ankur Goyal32:04

Yeah.

Host32:05

You discovered it and you built your own solution, but everyone has, in the industry has their own solution. Why the conviction that this, there's a company here?

Ankur Goyal32:14

I think the fundamental thing is, prior to BERT, I was as a traditional software engineer, incapable of participating in the, sort of what happens behind the scenes in ML development. And so ignore the sort of CEO or founder title.

Just imagine I'm a software engineer who's very empathetic about the product. All of my information about what's gonna work and what's not gonna work is communicated through the black box of interpretation by ML people. So I'm told that this thing is better than that thing, or it'll take us three months to improve this other thing.

What is incredibly empowering about these, I would just maybe say the, the quality that transformers bring to the table, and even BERT does this, but you know, GPT-3 and then 4 like very emphatically do it, is that software engineers can now participate in this discussion.

But all the tools that ML people have built over the years to help them navigate evals and, and data generally are very hard to use for software engineers. I remember when I was first acclimating to this problem, I used, I had to learn how to use Hugging Face and Weights & Biases, and my friend Yondo was at Weights & Biases at the time, and I was talking to him about this and he was like, "Yeah, well, prior to Weights & Biases, all data scientists had was software engineering tools, and it felt really uncomfortable to them, and Weights & Biases kind of brought software engineering to them."

And, and then I think the opposite happened. For software engineers, it's just really hard to use these tools. And so I was having this really difficult time wrapping my head around what seemingly simple stuff, um, is. And last summer I was, I was talking to a lot about this and I think primarily just venting about it and he was like, "Well, you're not the only software engineer who's starting to work on AI now."

And that is when we realized that the real gap is that software engineers who have a particular way of thinking, a particular set of biases or particular type of workflow that they run are going to be the ones who are doing AI engineering and that the tools that were built for ML are fantastic in terms of, you know, the scientific inspiration, the metrics they track, the level of quality that they, uh, inspire, but they're just not usable for software engineers and that's really where the opportunity is.

Host34:35

Yeah. I was talking with, uh, Sarah Guo at the same time and that led to the rise of AI engineer and everything that I've done. Um, so like very much similar philosophy there. I think it's just interesting that software engineering and ML engineering should not be that different.

Like it's still engineering at the same, you're still making computers boop. Like- I don't know. Why?

Ankur Goyal34:53

Yeah. Well, I mean there's a bunch of dualities to this. There's like the world of continuous mathematics and discrete mathematics. I think ML, uh, people think like continuous mathematicians and software engineers like myself who are obsessed with algebra, we like to think in terms of discrete math.

I often talk to people about is I feel like there are people for whom NumPy is incredibly intuitive and there are people for whom it is incredibly non-intuitive. For me, it is incredibly not intuitive. I was actually talking to Hamel the other day.

He was talking about how there's an eval tool that he likes and I should check it out and I was like, "This thing, what? Are you freaking kidding me? It's like terrible." He's like, "Yeah, but it has data frames."

I was like, "Yes, exactly." You know, I, like it's very, very-

Host35:36

You don't like data frames?

Ankur Goyal35:37

I don't like data frames.

Host35:37

Why?

Ankur Goyal35:38

It's super hard for me to think about manipulating data frames and, um, extracting a column or a row out of data frames. And by the way, this is someone who's worked on databases for more than a decade. It's just very, very programmer wise it's very, uh, non-ergonomic for me to manipulate a data frame.

Host35:56

Oh, and what's your preference then?

Ankur Goyal35:58

For loops.

Host35:59

Ah.

Ankur Goyal36:00

Yeah.

Host36:00

Okay. Well maybe you should capture a statement of like what is Braintrust today, 'cause that, th- there's a little bit of the origin story.

Ankur Goyal36:05

Yeah.

Host36:06

And you've had a journey over the past year and obviously now a series A which will like, woo-hoo, congrats.

Braintrust Platform36:06

Ankur Goyal36:12

Yeah.

Host36:12

Put a little intro for the series A stuff. What is Braintrust today?

Ankur Goyal36:15

Braintrust is an end-to-end developer platform for building AI products. And I would say our core belief is that if you embrace evaluation as the sort of core workflow in AI engineering, meaning every time you make a change, you evaluate it, and you use that to drive the next set of changes that you make, then you're able to build much, much better AI software.

That's kind of our core thesis. And we started, probably as no surprise, by building, I would say, by far the world's best evaluation product, especially for software engineers and now for, you know, product managers and others. I think there's a lot of data scientists now who like Braintrust, but I would say early on, a lot of, like, ML and data science people hated Braintrust.

It w- it felt, like, really weird to them. Things have changed a little bit, but really, like, making eval something that software engineers, product managers can immediately do, I think that's where we started. And now people have pulled us into doing more.

So the first thing that people said is like, "Okay, great. I can do evals. How do I get the data to do evals?" And so what we realized, you know, anyone who's spent some time in evals knows that one of the biggest pain points is ETL-ing data from your logs into a dataset format that you can use to do evals.

And so what we realized is, okay, great, when you're doing evals, you have to instrument your code to capture information about what's happening and then render the eval. What if we just capture that information while you're actually running your application?

There's a few benefits to that. One, it's in the same, you know, familiar trace and span format that you use for evals. But the other thing is that you've almost, like, accidentally solved the ETL problem. And so if you structure your code so that the same function abstraction that you define to evaluate on equals-equals the abstraction that you actually use to run your application, then when you log your application itself, you actually log it in exactly the right format to do evals.

And that turned out to be a killer feature in Braintrust. You can just turn on logging, and now you have an im- in, like, an instant flywheel of data that you can collect in datasets and use for evals.

And what's cool is that customers, they might start using us for evals, and then they just reuse all the work that they did, and they, you know, flip a switch and boom, they have logs. Or they start using us for logging, and then they flip a switch, and boom, they have data that they can use and the code already written to do evals.

The other thing that we realized is that Braintrust went from being kind of a dashboard into being more of a debugger, and now it's turning into kind of an IDE. And by that, I mean at first you ran an eval and you'd look at our web UI and sort of see a chart or something that tells you how your eval did.

But then you wanted to interrogate that and say, "Okay, great. 8% better. Is that 8% better on everything, or is that 15% better and 7% worse? And where it's 7% worse, what are the cases that regressed? How do I look at the individual cases?

They might be worse on this metric. Are they better on that metric? Let me find the cases that, you know, differ. Let me dig in detail." And that sort of turned us into a debugger. And then people said, "Okay, great.

Now I want to take action on that. I wanna, like, save the prompt or change the model and then click a button and try it again." And that's kind of pulled us into building this very, very souped-up playground.

And we started by calling it the Playground, and it started as like, you know, my wish list of things that annoyed me about the OpenAI Playground. First and foremost, it's durable, so every time you type something, it just immediately saves it.

If you, you know, lose the browser window or whatever, it's all saved. You can share it and it's collaborative, kind of like Google Docs, Notion, Figma, et cetera. And so you can work on it with colleagues in real time, and that's a lot of fun.

It lets you compare multiple prompts and models side by side with data. And now you can actually run evals in the Playground. You can save the prompts that you create in the Playground and deploy them into your code base.

And so it's become very, very advanced. And I remember actually we had an intro call with Brex, uh, last year, who's now a customer, and one of the engineers on the call said... He saw the Playground and he said, "I want this to be my IDE.

It's not there yet." You know, like, "Here's a list of, like, 20 complaints, but I want this to be my IDE." I remember when he told me that, I had this very strong reaction, like, what the F? You know?

We're, we're building an eval observability thing. We're not building an IDE. But I think he turned out to be, you know, right, and that's, that's a lot of w- what we've done over the past few months and what we're looking to in the future.

Host40:42

How literally can you take it? Can you fork VS Code and-

Ankur Goyal40:46

It's not off the table

Host40:47

... the new Cursor?

Ankur Goyal40:48

It, it's not... I mean- ... we're friends with the, we're friends with the Cursor people, and now, um, part of the same portfolio. And sometimes people say, you know, "AI and engineering, are you Cursor? Are you competitive?" And, and what I think is like, you know, Cursor is taking AI and making traditional software engineering, like, insanely good with AI.

And we are taking some of the best things about traditional software engineering and bringing them to building AI software. And so we're almost like yin and yang in some ways with development. But forking VS Code and, um, doing crazy stuff is, is not off the table.

It's, uh, all ideas that we're, you know, cooking at this point.

Host41:27

Interesting. I think that when people say analogies, they should o- often take it to the extreme and see what that generates in terms-

Ankur Goyal41:34

Yeah

Host41:34

... of ideas. Uh, and when people say IDE, like, literally go there and-

Ankur Goyal41:37

Yeah

Host41:37

... because I think a lot of people treat their Playground and they, they say figuratively IDE, they don't mean it.

Ankur Goyal41:42

Yeah.

Host41:42

And, and they should. They should mean it.

Ankur Goyal41:44

Yeah, yeah. So we've had this Playground in the product for a while, and the TLDR of it is that it lets you test prompts. They could be prompts that you save in Braintrust or, like, prompts that you just type on the fly against a bunch of different models or your own fine-tuned models.

And you can hook them into the datasets that you create in Braintrust to do your evals. So I've just pulled this, like, press release dataset, and this is actually one of the first features we built. It's really easy to run stuff.

And by the way, we're trying to see if we can build a, a prompt that summarizes the document well. But what's kind of happened over time is that people have pulled us to make this prompt playground more and more powerful.

So I kind of like to think of Braintrust as two ends of the spectrum. If you're writing code, you can create Evals with like infinite complexity. You know, like you don't even have to use large language models. You can use any models you want, you can write any scoring functions you want, and you can do that in like the most complicated code bases in the world.

Um, and then we have this playground that like dramatically simplifies things. It's so easy to use that non-technical people love to use it. Technical people enjoy using it as well, and we're sort of converging these things over time.

So one of the first things people asked about is if they could run Evals in the playground, and we've supported running pre-built Evals for a while, but we actually just added support for creating your own Evals in the playground, and I'm gonna show you some cool stuff.

Demo42:56

Ankur Goyal43:11

So we'll start by adding this summary quality thing, and if we look at the definition of it, it's just a prompt that maps to, uh, a few different choices, and each one has a score. Um, we can try it out and make sure that it works.

Um, and then let's run it. So now you can run not just the model itself, but also the summary quality score and see that it's not great, right? So we have some room to improve it. The next thing you can do is, um, let's try to tweak this prompt.

So let's say like, um, in one to two lines, and let's run it again.

Host43:49

One thing I notice about the-- You're using an LLM as a judge here. Um-

Ankur Goyal43:53

Yeah.

Host43:54

Your, your, your-- That prompt about one to two lines should actually go into the LLM as judge, um, input.

Ankur Goyal44:00

It is.

Host44:00

It is a metric.

Oh, okay. Did it-- Was that it? Oh, this was generated?

Ankur Goyal44:07

Uh, no, no, no. This is how I, I wr- I pre-wrote this ahead of time.

Host44:10

Okay. Okay. Right. Right. So you, you're matching up the prompt to the, uh, Eval that you already knew.

Ankur Goyal44:14

Exactly. Exactly. So the, the idea is like it's useful to write the Eval before you actually like tweak the prompt so that you can, um, measure the impact of the tweak. So you can see the, the impact is pretty clear, right?

It goes from fifty-four percent to a hundred percent now. Um, uh, this is a little bit of a toy example, but you, you kinda get the point. Now, here's an interesting case. If you look at this one, there's, there's something that's obviously wrong with this.

What, what is, what is wrong with this new summary?

Host44:41

Uh, it has an intro.

Ankur Goyal44:43

Yeah, exactly. Um, so let's actually add another evaluator. And this one, um, is, uh, Python code. It's not a prompt, and it's very simple. It's just checking if the word sentence is here. Um, and this is a, this is a really unique thing.

As far as I know, we're the only product that, that does this. But this Python code is running, um, in a sandbox. It's totally dynamic. So for example, if we change this, it'll flip the Boolean. Obviously, we don't wanna, we don't wanna save that.

We can also try running it here. Um, and so it's, it's, it's really easy for you to, um... It's, it's, it's really easy for you to actually go and, and tweak stuff and play with it and create, you know, more interesting scores.

So let's save this, and then we'll run with this one as well. Awesome. And then let's, uh, let's try again. So now let's say just include summary. Nothing else.

Amazing. Um, so the last thing I'll show you, um, and this is a little bit of kind of, uh, an allude to what's next, um, is that the playground experience is really powerful for doing this interactive editing, but we're already s- sort of running at the limits of how much information we can see about the scores themselves and, you know, how much information is fitting here.

And we actually have a great user experience that, until recently, you could only access by writing an Eval in your code. Uh, but now you can actually go in here and kick off like full Braintrust experiments from the playground.

So we'll-- in addition to this, we'll actually add one more. We'll add the embedding similarity score, and we'll say, you know, original summarizer, um, short summary, and no sentence wording. Um, and then click Create, and this is actually gonna kick off full experiments.

So if we go into one of these things...

Now we're in the full Braintrust UI. Um, and one of the really cool things, uh, is that you can actually now, um, not just compare one experiment, but compare multiple experiments. And so you can actually look at all of these experiments together and understand, like, okay, good.

I, I did this thing which said like, "Please keep it to one to two sentences." Looks like it improved the summary quality and, and sentence checker, of course, but it looks like it actually also did better on the similarity score, which is kind of my main score to track how well the summary compares to like a reference summary.

And you can go in here and then like very granularly look at the diff between, you know, two different versions of the summary and, and do kinda this whole experience. So this is something that we actually just shipped like a couple weeks ago, um, and it's already really powerful.

Um, but, uh, what I wanted to show you is kind of what like even the next version or next iteration of this is. And by the time the podcast airs, what I'm about to show you, uh, will be live.

So we're almost done shipping it.

Host47:50

Excellent.

Ankur Goyal47:50

Um, but before I do that, any questions on this stuff?

Host47:53

Uh, no, this is a really good demo.

Ankur Goyal47:54

Okay, cool. So as soon as we showed people this kind of stuff, they said, "Well, you know, my... This is great, and I wish I could do everything with this experience," right? Like imagine you could like create an agent or do RAG, like more interesting stuff with this kind of interactivity.

Um, and so we were like, "Huh, it looks like we built support for you to do, you know, to run code, and it looks like we know how to actually run your prompts. I wonder if we can do something more interesting."

So we just added support for you to actually define your own tools. I'll sort of shell, uh, two different tool options for you. So one is BrowserBase and the other is Hexa. I think these are both really cool companies.

And here we're just writing, like, really simple TypeScript code that, uh, wraps the BrowserBase API, and then similarly, really simple TypeScript code that wraps the Hexa API, and then we give it a type definition. This will get used as a, um, as the schema for a tool call, and then we give it a little bit of metadata so Braintrust knows, you know, where to store it and, and what to name it and stuff.

And then you just run a really simple command, NPX Braintrust push, and then you give it these files, and it will bundle up all the dependencies and push it into Braintrust. Um, and now you can actually access these things from Braintrust.

So, um, if we go to the search tool, we could say, um, you know, "What is the tallest mountain?" Oops.

And it, it'll actually run search via Hexa. So what's-- what I'm very excited to show you is that now you can actually do this stuff in the playground too. So if we go to the playground, um,

let's try playing with this. So, uh, we'll create a new session.

And let's create a dataset.

Let's put one row in here, and we'll say, um,

"What is the premier conference for AI engineers?"

Host50:12

Ooh, I wonder what we'll find.

Ankur Goyal50:16

Um, the following question, feel free to search the internet. Okay. So let's plug this in, and let's start without using any tools.

Uh, I'm not sure I agree with this data.

Host50:33

That's-- That was correct as of its training data.

Ankur Goyal50:37

Uh, okay. So let's add this Hexa tool in, uh, and let's try running it again. Watch closely over here. So you see it's actually running-

Host50:45

Yeah. Yeah, yeah.

Ankur Goyal50:48

There we go.

Host50:48

Hey.

Ankur Goyal50:51

Um-

Host50:51

Not exactly accurate, but good enough.

Ankur Goyal50:54

Yeah, yeah. Uh, so I, I think th-th-this is really cool because for probably eighty or ninety percent of the use cases that we see with people doing this, like, very, very simple I create a prompt, it calls some tools, I can, like, very ergonomically write the tools, plug into popular services, et cetera, and then just call them, kind of like assistance API style stuff, it covers so many use cases, and it's honestly so hard to do.

Like, if you try to do this by yourself, um, you have to write a for loop. You, uh, have to host it somewhere. You know, with this thing, you can actually just access it through our REST API, so every prompt gets a REST API endpoint that you can invoke.

And so we're very, very excited about this, and I think it kind of represents the future of AI engineering, one where you can spend a lot of time writing English and sort of crafting the use case itself. You can reuse tools across different use cases.

And then most importantly, the development process is very nicely and kind of tightly integrated with evaluation. And so you have the ability to score-- create your, your own scores and sort of do all of this very interactively as you actually build stuff.

Host52:05

I thought about a business in this area, and I'll tell you, like, why I didn't do it.

Ankur Goyal52:08

Mm-hmm.

Host52:09

And I think that might be generative for insights onto this industry that you would have that I don't. When I interviewed for Anthropic, they gave me Claude in Sheets. And with Claude in Sheets, I was able to build my own evals.

Ankur Goyal52:20

Mm-hmm.

Host52:20

'Cause I can use Sheets formulas, I can use LLM, I can use Claude to eval-evaluate Claude, whatever. And I was like, "Okay, there will be AI spreadsheets. They'll all be plug-ins." Spreadsheets is like the universal business tool of, of whatever.

You can API in spreadsheets. Um, I'm sure Airtable, you know, Howie's an investor in you now, but I'm sure Airtable has some kind of evaluation-

Ankur Goyal52:40

They're a customer too, actually.

Host52:41

Yeah. The second thing was that Humanloop also existed. Humanloop being like one of the very, very first movers in this field where same thing, durable playground, you can share them, you can save the prompts and call them as APIs.

You can also do evals and, uh, all the other stuff. So there's a lot of tooling, and I think you saw something or you, you just had the, the self-belief where I didn't, or you saw something that was missing still, even in that space from DIY no-code, uh, sh- Google Sheets to custom tool, they were first movers.

Ankur Goyal53:12

Yeah, I mean, I think evals, it's not hard to do an initial eval script. And not to be too cheeky about it, I would say almost all of the products in the space are spreadsheet plus plus, right?

Host53:27

Sure.

Ankur Goyal53:27

Like, you know, here's a script, generates an eval. I look at the cells, you know, whatever, side by side and, and compare it.

Host53:34

And w-- your first demo to me, the main thing I was impressed by was that you can run all these things in parallel so quickly.

Ankur Goyal53:40

Yeah, exactly. Uh, so I had built spreadsheet plus plus a few times.

Host53:43

Yeah.

Ankur Goyal53:44

And there were a couple nuggets that I realized early on. One is that it's very important to have a history of the evals that you've run and make it easy to share them and publish in Slack channels, stuff like that, because that becomes a reference point for you to have discussions among a team.

So at Impira, when we were first ironing out our layout LM usage, we would publish like screenshots of the evals in a Slack channel and go back to those screenshots and then like riff on ideas from a week ago that maybe we abandoned.

And having the history is just really important for collaboration. And then the other thing is that- Writing four loops is quite hard. Um, like writing the right four loop that parallelizes things is durable, someone doesn't screw up the next time they write it, you know, all this other stuff.

It sounds really simple, but it's actually not. And we sort of pioneered this, uh, syntax where instead of writing a four loop to do an eval, you just create something called eval, and you give it an argument which has some data, then you give it a task function, which is some function that takes some input and returns some output.

Presumably, it calls an LLM. Nowadays, it might be an agent, you know, it does whatever you want. And then one or more scoring functions. And then Braintrust basically, like, takes that specification of an eval and then runs it as efficiently and seamlessly as possible, and there's a number of benefits to that.

The first is that we can make things really fast, and I think speed is a superpower. Early on, we, uh, did stuff like cache things really well, parallelize things. Async Python is really hard to use, so we made it easy to use.

We made exactly the same interface in TypeScript and Python, so teams that were sort of navigating the two realities could easily move back and forth between them. And now what's become possible, because this data structure is totally declarative, an eval is actually not just a, it's not just a code construct, but it's actually a piece of data.

So when you run an eval in Braintrust now, you can actually optionally bundle the eval and then send it. And as you saw in the demo, you can, like run code functions and stuff. Well, you can actually do that with the evals that you write in your code.

So all the scoring functions become functions in Braintrust. The task function becomes something you can actually interactively play with and debug in the UI. And so turning it into this data structure actually makes it a much more powerful thing.

And by the way, you can run an eval in your code base, save it to Braintrust, then hit it with an API and just try out a new model, for example. You know, that's like st- more recent stuff nowadays.

But early on, just having the very simple declarative data structure that was just much easier to write than a four loop that you sort of had to cobble together yourself and making it really fast, and then having a UI that just very quickly showed you the number of improvements or regressions and filter them, that was kinda like the key thing that worked.

I give a lot of credit to Brian from Zapier, who was our first user, and super harsh. I mean, he told me straight up, "I know this is a problem. You seem smart, but I'm not convinced of the solution."

And almost like, you know, the, uh, uh, Mr. Miyagi or something, right? He would... Like, I'd produce a demo, and then he'd send me back, and be like, "Eh, it's not good enough for me to show the team."

And so we sort of iterated several times until he was pretty excited by the developer experience. That core developer experience was just, just more helpful enough and comforting enough for people that were new to Evals that they, uh, were willing to try it out.

And then we were just very aggressive about iterating with them. So people said, "You know, I ran this eval. I'd like to be able to, like, rerun the prompt." Um, so we made that possible. Or, "I ran this eval.

It's really hard for me to group by model and actually see which model did better and why. I ran these evals. One thing is slower than the other. How do I correlate that with token counts?" That's actually really hard to do.

It's annoying because you're often, like, doing LLM as a judge and generating tokens by doing that too. And so you need to, like, instrument the code to distinguish the tokens that are used for scoring from the tokens that are used for actually computing the thing.

Now we're way out of the realm of what you can do with Claude and Sheets, right? In our case, at least, once we got some very sophisticated early adopters of AI using the product, it was a no-brainer to just keep making the product better and better and better and better.

I could just see that from, like, the first week that people were using the product, that there was just a ton of depth here.

Host58:13

There is a ton of depth. Sometimes it's not even just, like, the ideas are not worth anything. It's, it's almost just, like, the persistence and execution that y- that I think, uh, you do very well. So whatever. Kudos.

Ankur Goyal58:23

Thanks.

Host58:24

We're about to, like, zoom out a little bit to industry observations, but I wanna spend time on Braintrust.

Ankur Goyal58:28

Yeah.

Host58:28

Any other area of Braintrust or s- part of the Bra- Braintrust story that you think is, um, that people should appreciate or, uh, which is personally insightful to you that you wanna discuss it?

Ankur Goyal58:38

There's probably two things I would point to. The first thing... Actually, there's three. O- one silly thing, and then two maybe less silly things. So when we started, there were a bunch of things that people thought were stupid about Braintrust.

Uh, one of them was this hybrid on-prem model that we have. And it's funny because Databricks has a really famous hybrid on-prem model, and the CEO and others are sort of have a mixed perspective on it. And sometimes you talk to Databricks people, and they're like, "This is the worst thing ever."

But I think Databricks is doing pretty well, and it's, it's hard to know, uh, how successful they would've been without doing that. But because of that, and, you know, Snowflake was doing really well at the time, everyone thought this hybrid thing was stupid.

But I was talking to customers, and Zapier was our first user, and then Coda and Airtable quickly followed, and there was just no chance they would be able to use the product unless the data stayed in their cloud.

Host59:31

Yeah.

Ankur Goyal59:31

I mean, maybe they could a year from when we started or w- whatever, but I wanted to work with them now. And so it never felt like a question to me. I j- it was like, I remember there's so many VCs that I talked to-

Host59:42

Must be SaaS. Must be cloud.

Ankur Goyal59:44

Yeah, exactly. Like, "Oh my God. Look, here's a quote from the Databricks CEO," or, "Here's a quote from this person. You're just clearly wrong." I was like, "Okay, great. See ya." Luckily, you know, Elad, Alana, Saam, and now Martin were just like, "That's stupid," you know?

"Don't worry about that." But-

Host59:58

Martin is king of, like, not being religious in cloud stuff.

Ankur Goyal1:00:01

Yeah. Yeah, yeah, yeah. But yeah, I mean, I think that, that was just funny because it was something that just felt super obvious to me, and everyone thought I was pretty stupid about it. And maybe I am, but, uh, I think it, it's helped us, uh, quite a bit.

Host1:00:15

We had this, uh, issue at Temporal, and the solution was, like, cloud VPC pe- peering.

Ankur Goyal1:00:20

Yeah. Yeah, yeah, yeah.

Host1:00:20

And what I'm hearing from you is you, you went further than that. You, you're sh- bundling up your package software, and you're shipping it over, and you're charging by seat.

Ankur Goyal1:00:26

You asked about SingleStore and lessons from SingleStore.

Host1:00:29

I was gonna go there.

Ankur Goyal1:00:29

Yeah. Um, I have been through the wringer on- ... uh, with on-prem software, and I've learned a lot of lessons. So w- we know how to do it really well.

Host1:00:38

Yeah.

Ankur Goyal1:00:39

I think- The tricks with Braintrust are, one, that the cloud has changed a lot even since Databricks came out, and there's a number of things that are easy that used to be very hard. I think serverless is probably one of the most important unlocks for us because it sort of allows us to bound failure into something that doesn't require restarting servers or restarting Linux processes.

So even though it, it has a number of problems, it's made it much easier for us to have this model. And then the other thing is we literally engineered Braintrust from day zero to have this model. If you treat it as an opportunity and then engineer a very, very good solution around it, just like DX or something, right?

You can build a really good system, you can test it well, et cetera. Uh, so we viewed it as an opportunity rather than a challenge. The second thing is, uh, the space was really crowded. I mean, you and I even talked about this, and it doesn't feel very crowded now.

I mean, sometimes people literally ask me if we have any competitors.

Host1:01:36

That's great. We'll go into that industry stuff later.

Ankur Goyal1:01:39

Sounds good. I think what I realized then, uh, my wife Alana actually told me this when we were working on Impira. She said, "You know, based on your personality, I want you to work on something next that is, you know, super competitive."

And I kinda realized there's only one ty- one of two types of markets in startups. Either it's not crowded or it is crowded, right? And each of those things has a different set of trade-offs, and I think there are founders that thrive in either environment.

I am someone who enjoys competition. I find it very motivating. And so, you know, just like personally, it's better for me to work in a crowded market than it is to work in an empty market. Again, people are like, "Blah blah blah, stupid, blah blah blah."

And I was like, "Oh, you know what? Actually, this is what I wanna be doing." There were a few strategic bets that we made early on at Braintrust that I think, uh, helped us a lot. So one of them I mentioned is the hybrid on-prem thing.

Another thing is we were the original folks who really prioritized TypeScript. Now, I would say every customer and probably north of 75% of the users, uh, that are running Evals in Braintrust are using the TypeScript SDK. It's an overwhelming majority.

And again, at the time, and, and still, like AI is sort of at least nominally dominated by Python, but product building is dominated by TypeScript. And the real opportunity, you know, to our discussion earlier, is empowering product builders to use AI.

And so, you know, even if it's not the majority of typists, you know, using AI stuff, uh, writing TypeScript, it worked out to be this magical niche for us that's led to a lot of, uh, I would say, strong product market fit among product builders.

And then the third thing that we did is, look, we knew that this LLMOps or whatever you wanna call it space is gonna be more than just Evals. But again, early on people were like, "Evals? That's..." I mean, there's one VC, I won't call them out, uh, you know who you are because assume you're gonna be listening to this.

But there's one VC who like insisted on meeting us, right? And they... Like, I've known them for a long time, blah, blah, blah. And they're like, "You know what? Actually, after thinking about it, we don't wanna invest in Braintrust because it reminds me of CI/CD, and that's a crappy market.

And if you were going after logging and observability, that was your main thing, then that's a great market, you know? But of all the things in LLMOps or whatever, if you draw a parallel to the previous world of software development, this is like CI/CD, and CI/CD is not a great market."

And I was like, "Okay. You know, it's, it's sort of like the hybrid on-prem thing. Like go talk to a customer, and you'll realize that this is the..." I mean, I was at Figma when we were... Like we used Datadog, and we built our own prompt playground.

It's not super hard to write some code that, you know, Vercel has like a template that you can use to create your own prompt playground now. But Evals were just really hard, and so I knew that the pain around Evals was just significantly greater than anything else.

And so if we built an insanely good solution around it, the other things would follow. And lo and behold, of course, that VC came back a few months later and said, "Oh my God, you guys are doing observability now.

Now we're interested." And that was another kind of interesting thing.

Host1:04:48

We're gonna tie this off a little bit with some customer motivations and quotes. Um, we already talked about the logos that you have, which are all very, very impressive. I've seen what Stripe can do. I, I don't know if it's quotable, but you said you had something for, from Vercel, from Malta.

Ankur Goyal1:05:01

Yeah, yeah. Um, uh, actually, I'll let you read it. It's on our website. I don't wanna, I don't wanna butcher, uh- ... his language. Um-

Host1:05:09

So Malta s- says, "We deeply app- we appreciate the collaboration. I've never seen a workflow transformation like the one that incorporates Evals into mainstream engineering processes before. It's astonishing."

Ankur Goyal1:05:19

Yeah. I mean, I think that is a perfect encapsulation of our goal.

Industry Insights1:05:24

Host1:05:24

Yeah. And for those who don't know, Malta used to work on Google Search.

Ankur Goyal1:05:29

Yeah. He's super legit. Um, kinda scary, uh as are all of the, the Vercel people. But, um, yeah-

Host1:05:36

My funniest quote of a Malt- in- recent incident of a Malta is he published this like very, very long guide to SEO, like how SEO works, and people are like, "Oh, you know, this, this is not to be trusted.

This is not how it works." And literally the guy worked on the search algorithm.

Ankur Goyal1:05:50

Yeah.

Host1:05:50

So that's how you-

Ankur Goyal1:05:52

That one's really funny.

Host1:05:53

People don't believe when you are representing a company. Like I think everyone has an angle, right?

Ankur Goyal1:05:58

Yeah.

Host1:05:58

Like in Silicon Valley, it's like this whole thing where like if you don't have skin in the game, like you're, you're not really in the know, 'cause why would you? Like you're not an insider. But then once you have skin in the game, you, you do have a perspective.

You have a point of view. And maybe that segues into like a little bit of like industry talk. Um-

Ankur Goyal1:06:13

Sounds good

Host1:06:14

... so, oh, unless you wanna bring up your, your World's Fair. We can also riff on just like what you saw at the World's Fair. You, you were a speaker.

Ankur Goyal1:06:20

Yeah.

Host1:06:20

Uh, and you were one of the few who brought a customer, which is something I think I wanna encourage more.

Ankur Goyal1:06:25

Yeah.

Host1:06:25

That like, um, you know, I think the dbt Conference also does. Like their, their, their conference is exclusively vendors and customers-

Ankur Goyal1:06:32

Mm-hmm

Host1:06:32

... and then like sharing lessons learned and stuff like that. Maybe talk a little bit about, uh, plug your talk a little bit and people can sh- can, uh, go watch it.

Ankur Goyal1:06:37

Yeah. First, Olmo is an insanely good engineer. He actually worked with Guillermo on Mootools back in the day. Uh-

Host1:06:44

This was mafia.

Ankur Goyal1:06:45

Yeah. And I remember when I first met him, speaking of TypeScript, we only had a Python SDK. And he was like, "Where's the TypeScript SDK?" And I was like, "Uh, you know, here's some, here's some cURL commands you can use."

And this was on a Friday, and he was like, "Okay." And Zapier was not a customer yet, but they, you know, they were interested in Braintrust. And so I built the TypeScript SDK over the weekend, and then he was the first user of it.

And what better than to have one of the core authors of MooTools bike shedding your TypeScript SDK, you know, from the beginning. I would give him a lot of credit for how some of the ergonomics of our product have worked out.

By the way, another benefit of structuring the talk this way is he actually worked out of our office earlier that week and built the talk and found a ton of bugs in the product or, like, usability things, and it was so much fun.

He sat next to me at the office. He'd find something or complain about something, and then I'd point him to the engineer who works on it, and then he'd go and chat with them. And we recently had our first offsite, and we were talking about some of, like, people's favorite moments in the company, and multiple engineers were like, "That was one of the best weeks to get to interact with a customer that way."

Host1:07:52

Wow. You know, a lot of people have embedded engineer. This is embedded customer.

Ankur Goyal1:07:55

Yeah. Yeah, yeah. I mean, we might do more. I would... Yeah, we might do more of it. Sometimes just like launches, right, like sometimes these things are a forcing function for you to improve, uh-

Host1:08:06

Why did you discover it preparing for the talk and not as a user?

Ankur Goyal1:08:10

Because when he was preparing for the talk, he was trying to tell a narrative about how they use Braintrust, and when you tell a narrative, you tend to look over a longer period of time. And at that point, although I would say we've improved a lot since, that part of our experience was very, very rough.

So for example, now if you are working in our experiments page, which shows you all of your experiments over time, you can, like, dynamically filter things. You can group things. You can create, like, a scatter plot, actually, which Hamel, um, sort of helping me, uh, work out, uh, when we were working on a blog post together.

But there's all this analysis you can do. At that time, it was just a line, and so he just ran into all these problems and complained. But the conference was incredible. It is the conference that gets people who are working in this field, uh, together.

And, uh, I won't say which one, but there was a, there was a POC, for example, that we'd been, we had been working on for a while, and it was kind of stuck. And I ran into the guy at the conference, and we chatted, and then, like, a few weeks later, the, you know, things worked out.

And so there's n- almost nothing better I could ask for or say in a conference than it leading to commercial activity and success for a, a company like us, and, you know, it's just, it's just true.

Host1:09:23

Yeah. It's, it's marketing, it's sales, it's hiring. Uh, and then it's also, honestly, for me as a curator, just I'm trying to get together the, the state of the art and make a statement on here's where the industry is at this point in time.

Ankur Goyal1:09:35

Yeah.

Host1:09:36

And 10 years from now, we'll be able to look back at all the videos and go like, you know, "How cute."

Ankur Goyal1:09:40

Oh, my God.

Host1:09:40

"How young, how naive we were."

Ankur Goyal1:09:42

Yeah, yeah, yeah.

Host1:09:43

Um, one thing I fear is getting it wrong, and there's many, many ways for it to get it wrong. Um, but h- you know, I think people give me feedback and keep me honest.

Ankur Goyal1:09:52

Yeah, yeah. I mean, the whole team is super receptive to feedback, but I, I think honestly just having the opportunity and space for people to organically connect with each other, that's the most important thing.

Host1:10:01

Yeah, yeah. And you asked for dinners and stuff. We'll, we'll, we'll do that next year.

Ankur Goyal1:10:04

Excellent.

Host1:10:05

Actually, we're, uh, we're doing a whole syndicated track thing, so, you know, Braintrust Con or whatever might happen. One thing I think about when organize... Like, like literally when I organize a thing like that, uh, or I do my content or whatever, I have to have a map of the world, and something I came to your office to do was this sort of...

I call this, like, the three ring circus or the impossible triangle.

Ankur Goyal1:10:26

Mm-hmm.

Host1:10:27

And I think what ties into what your, that VC that rejected you did not see, which is that eventually everyone starts somewhere, and they grow into each other's circles. So this is, ostensibly, it, it started off as the sort of AI LLMOps market, and then I think we agreed to call it, like, the AI Infra Map-

Ankur Goyal1:10:45

Mm-hmm

Host1:10:46

... which is ops, frameworks, and databases. Uh, but our databases are sort of a, a general thing and then gateways and, uh, serving. And Braintrust has, has bets in all these, all these things, but started with evals, a- and it's, it's kind of like an evals framework, and, and then obviously extended into observability, of course, and now is doing more and more things.

How do you see the market? Does that jive with your view of the world?

Ankur Goyal1:11:09

Yeah, for sure. I mean, I think the market is very dynamic, and it's interesting because almost every company cares. It is an existential question, and how software is built is totally changing. And honestly, I mean, the last time I saw this happen, it felt less ex- intense, but, um, it was cloud.

Like, I r- I still remember I was talking to ... I think it was 2012 or something. I was hanging out with one of our engineers at MemSQL or SingleStore, uh, MemSQL at the time, and I was like, "Is cloud really gonna be a thing?

Like, it seems like for some use cases it's economic, uh, but for, I mean, the oil company or whatever that's running all these analytics, and they have this hardware, and it's very predictable. Is cloud actually gonna be, you know, worth it, like security?"

Yeah, I mean, he was right, but he was like, "Yeah, I mean, if you assume that the benefits of elasticity and whatnot are, are actually there, then the cost is gonna go down, the security's gonna go up. All these things will get solved."

But it was, for my naive brain at that point, it was just so hard to see. And I think the same thing to a more intense degree is happening in AI, and I would sort of, when I talk to AI skeptics, I, I often rewind myself into the mental state I was in when I was somewhat of a cloud skeptic early on.

But it's a very dynamic marketplace, and I think there's benefit to separating these things and having kind of best-of-breed tools do different things for you, and there's also benefits to some level of vertical integration across the stack. And as a product-driven company that's navigating this, I think we are constantly thinking about how do we make bets that allow us to provide more value to customers and solve more use cases While doing so durably, Guillermo from Vercel, who is also an investor and, you know, very sprightly character, um, to-

Host1:12:57

Sprightly

Ankur Goyal1:12:57

... you know, in- interact with-

Host1:12:59

Why, why do you say sprightly?

Ankur Goyal1:13:00

Uh, I don't know. Um, but anyway, he gave me this really good advice, which was, "As a startup, you only get to make a few technology bets, and you should be really careful about those bets." Actually, at the time, I was asking him for advice about how to make arbitrary code execution work because obviously they've solved that problem.

And in JavaScript, arbitrary code execution is such itself such a dynamic thing. Like, there's so many different ways of, you know, there's Workers and Deno and Node and, you know, Firecracker. There's all this stuff, right? And ultimately, we built it in a way that just supports Node, which I think, uh, Vercel has sort of embraced as well.

But where I'm kinda trying to go with this is in AI, there are many things that are changing, and there are many things that you gotta predict whether or not they're gonna be durable. And if you predict that something's durable, then you can build depth around it.

But if you make the wrong predictions about durability and you build depth, then you're very, very vulnerable because a customer's priorities might change tomorrow, and you've built depth around something that is no longer relevant. And I think what's happening with frameworks right now is a really, really good example of that playing out.

We are not in the app framework universe, so, uh, we have the luxury of sort of observing it, pun intended, you know, from the side.

Host1:14:17

Y- you kind of, y- you are a little bit... I captured when you said if you structure your code with the same function extraction, triple equals to, to run evals.

Ankur Goyal1:14:25

Sure, yeah.

Host1:14:26

It's a little bit.

Ankur Goyal1:14:26

But I would, I would argue that that is a, it's kind of like a clever insight, and we, in the kindest way, almost trick you into writing code that doesn't require ETL. But it, it's not, you know-

Host1:14:37

It's, it's good for you.

Ankur Goyal1:14:38

Yeah, exactly. But you don't have to use, um, it's, it's kind of like a lesson that is invariant to Braintrust itself.

Host1:14:44

Sure. I, I buy that.

Ankur Goyal1:14:45

Yeah.

Host1:14:46

There, there was an obvious part of this market for you to start in, which is maybe curious worth, worth spending, like, two, two seconds on it. You could have been the Vector DB CEO. Right?

Ankur Goyal1:14:56

Yeah, I got a lot of calls about that.

Host1:14:57

'Cause you're a d- you're a database guy.

Ankur Goyal1:14:58

Yeah, yeah.

Host1:14:59

Why no vector database?

Ankur Goyal1:15:00

Oh, man, I, like, I was drooling over that problem.

Host1:15:04

Yeah.

Ankur Goyal1:15:04

Because it, it just checks every, like it's, you know, performance and potentially server le- it's just every- everything I love- ... to, to type. The problem is that I had a fantastic opportunity to see these things play out at Figma.

The problem is that the challenge in deploying vector search has very little to do with vector search itself and much more to do with the data adjacent to vector search. So for example, if you are at Figma, the vector search is not actually the hard problem.

It is the permissions and who has access to what design files or design system components, and blah, blah, blah, blah, blah, blah, blah, all of this stuff that has been beautifully engineered into a variety of systems that serve the product.

You think about something like vector search, and you really have two options. One is there's all this complexity around my application, and then there's this new little idea of technology, uh, a, a sort of a, a pattern or paradigm of technology, which is vector search.

Should I kind of, like, cram vector search into this existing ecosystem? And then the other is, okay, vector search is this new exciting thing. Do I kind of rebuild around this new paradigm? And it's just super clear that it's the former.

In almost all cases, vector search is not a storage or performance bottleneck, and in almost all cases, the vector search involves exactly one query, which is, you know, nearest neighbors. The hard part-

Host1:16:31

HNSW and-

Ankur Goyal1:16:32

Yeah, I mean, that's the implementation of it. But the hard part is how do I join that with, you know, the other data? How do I implement RBAC and, you know, all this, all this other stuff? And there's a lot of technology that does that, right?

So in my observation, database companies tend to succeed when the, uh, storage paradigm is closely tied to the execution paradigm, and both of those things need to be rewired to work. I think, remember that databases are not just storage, but they're also compilers, and it's the fact that you need to build a compiler that understands how to utilize a particular storage mechanism that makes the N+ first database something that is unique.

If you think about Snowflake, it is separating storage from compute, and the entire sort of compiler pipeline around query execution hides the fact that separating storage from compute is incredibly inefficient but gives you this really fast query experience.

With Databricks, it's the arbitrary code is a first-class citizen, which is a very powerful idea, and it's not possible in other database technologies. But okay, great, arbitrary code is a first-class citizen in my database system. Um, how do I make that work incredibly well?

And again, that's a problem which sort of spans storage and, and compute. At least today, the query pattern for vector search is so constrained that it just doesn't have that property.

Host1:17:58

Yep, I, I think I, I, I fully understand and, and, uh, mostly agree. I want to hear the opposite view. I think, I think yours is now the consensus view, um, and I wanna hear the other, the other side.

So-

Ankur Goyal1:18:08

I mean, there's super smart people working on this, right?

Host1:18:10

Yeah. We'll, we'll be having, uh-

Ankur Goyal1:18:11

Yeah, yeah

Host1:18:11

... Chroma and I think Qdrant on, maybe, uh, Vespa actually.

Ankur Goyal1:18:15

Yeah.

Host1:18:15

One other part of the, the sort of triangle that I drew that you disagree with, and I, I thought that was very insightful, was fine-tuning.

Ankur Goyal1:18:22

Yeah.

Host1:18:23

So I, I had all these overlapping circles and I, and I think you agreed with most of them, and I was like, at the center of it all is- ... because you need Ops, uh, you need, like, uh, logging from Ops, and then you need, like, a gateway, and then you need a, a database or with a framework or whatever, uh, was fine-tuning, and you were like, "Fine-tuning is not a thing."

Ankur Goyal1:18:37

Yeah.

Host1:18:38

Or at least it's not a business.

Ankur Goyal1:18:39

Yeah, yeah. So there's two things with fine-tuning. One is like the technical merits or whether fine-tuning is a relevant component of a lot of workloads, and I think that's actually quite debatable. The thing I would say is not debatable is whether or not fine-tuning is a business outcome or not.

So let's think about the other components of your triangle. Ops/observability, that is a business thing. Like, do I know how much money my app costs? Am I enforcing... Or sorry, do I know if it's up or down? Do I know if someone complains, can I, can I like retrieve the information about that?

Frameworks, evals, databases, all, you know, do I know if I change my code, did it break anything? Gateway, can I access this other model? Can I enforce some cost parameter on it, whatever. Fine-tuning is a very compelling method that achieves an outcome.

The outcome is not fine-tuning, it is can I automatically optimize my use case to perform better if I throw data at the problem. And fine-tuning is one of multiple ways to achieve that. I think the DSPy style prompt optimization is another one.

Turpentine, you know, just like tweaking prompts with wording and handcrafting few shot examples and running evals, that's another, you know-

Host1:19:55

Is Turpentine a framework?

Ankur Goyal1:19:56

No, no, no, no. Sorry.

Host1:19:57

Oh, it's-

Ankur Goyal1:19:57

It's just a, a metaphor. Yeah, yeah, yeah. Uh, um, but, uh, maybe it should be a framework. Uh.

Host1:20:03

Right now it's a podcast network by Eric Dormberg.

Ankur Goyal1:20:05

Yes, yes. That's actually why I thought of that word. Um, you know, old school elbow grease is what I'm saying-

Host1:20:10

Yeah

Ankur Goyal1:20:10

... of like, you know, hand tuning prompts. That's another way of achieving that business goal. And there's actually a lot of cases where hand-tuning a prompt performs better than fine-tuning because you don't accidentally destroy the generality that is built into the sort of world-class models.

Um, so in, in some ways it's safer, right? But, but really the goal is automatic optimization, and I think automatic optimization is a really valid goal, but I don't think fine-tuning is the only way to achieve it. And so in my mind, for it to be a business, you need to align with the problem, not the technology, and I think that automatic optimization is a really great business problem to solve.

And I think if you are too fixated on fine-tuning as the solution to that problem, then you're very vulnerable to technological shifts. Like, you know, there's a lot of cases now, especially with large context models, where in context learning just beats fine-tuning.

And the argument is sometimes, well, yes, you can get b- as good of performance as in context learning, but it's faster or cheaper or whatever. That's a much weaker argument than, "Oh my God, I can like really improve the quality of this use case with fine-tuning."

You know, it's, it's somewhat tumultuous. Like, a new model might come out, it might be good enough that you don't need to use fine... Or it might not have fine-tuning, or it might be good enough that you don't need to use fine-tuning as the mechanism to achieve automatic optimization with the model.

But automatic optimization is a thing, and so that's kind of the semantic thing, which I, I, I would say is maybe, at least to me, it feels like more of an absolute. Like, I just don't think fine-tuning is a business outcome.

I think it is a one of several means to an end, and the end is valuable. Now, is fine-tuning a technically valid way of doing automatic optimization? I think it's very context dependent. I will say in my own experience with customers as of the recording date today, which is September something-

Host1:21:59

25th

Ankur Goyal1:21:59

... yeah, very few of our customers are currently fine-tuning models, and I think a very, very small fraction of them are running fine-tune models in production. More of them were running fine-tune models in production six months ago than they are right now, and that may change.

I think what OpenAI is doing with basically making it free and how, you know, powerful Llama 3.8b is and, and some other stuff, that may change. Maybe, maybe, maybe by the time this airs, you know, more of our customers are fine-tuning stuff.

But it seems very... It's, it's changing all the time. But all of them wanna do au- automatic optimization.

Host1:22:35

Yeah, I, I mean, it's worth f- asking a follow-up question on that. Who's doing that today well that you would call out?

Ankur Goyal1:22:41

Automatic optimization? No one.

Host1:22:43

Wow. DSPy is a step in that direction. Omar has decided to join Databricks and be a academic, and I have actually a- asked for, like, who's making the DSPy startup?

Ankur Goyal1:22:54

Yeah.

Host1:22:55

Somebody sh-

Ankur Goyal1:22:55

There's a few

Host1:22:55

... somebody should.

Ankur Goyal1:22:56

There's a few.

Host1:22:56

Oh, there is?

Ankur Goyal1:22:57

Yeah. You know, my personal perspective on this, which almost everyone, uh, at least hardcore engineers disagree with me about, but I'm okay with that, is if you look at something like DSPy, I think there's two elements to it.

One is automatic optimization, and the other is achieving automatic optimization by writing code, in particular in DSPy's case, code that looks a lot like PyTorch code. And I totally recognize that if you were writing only TensorFlow before, then you started writing PyTorch, it's a huge improvement and, oh my God, it feels like so much nicer to write code.

If you are a TypeScript engineer and you're writing Next.js, writing PyTorch sucks. Why would I ever wanna write PyTorch? And so I, I actually, I actually think the most empowering thing that I've seen is engineers and non-engineers alike writing really simple code.

And whether it's like simple TypeScript code that's auto completed with cursor or it's English, I think that the direction of, uh, like programming itself is moving towards simplicity, and I'm not, I haven't seen something yet that really moves programming towards simplicity.

And I, I am, you know, maybe I'm a, a romantic at heart, but I, I think there is a way of doing automatic optimization that still allows us to write, you know, simpler code.

Host1:24:21

Yeah. I think that there are people working on it, and I think it's a valuable thing to explore. I'll keep a lookout for it and try to report on it, uh, through Latent Space.

Ankur Goyal1:24:29

And we'll integrate with everything. So yeah, please let me know if you're working on this. We'd love to collaborate with you.

Host1:24:34

For ops people in particular, you have a view of the, of the world that a lot of people don't get to see, which is you get to see workloads and report aggregates-

Ankur Goyal1:24:41

Yeah

Host1:24:41

... which is insightful to other people.

Ankur Goyal1:24:43

Yeah.

Host1:24:43

Obviously, you don't have them in front of you, but I just want to get like rough estimates. Uh, you already said one which is kind of juicy, which is open source models are, are a very, very small percentage.

Do you have a sense, uh, OpenAI versus Anthropic versus Cohere market share, at least through the segment that s- you see?

Ankur Goyal1:25:00

So pre-Claude 3, it was close to 100% OpenAI. Post-Claude 3, uh, and I, I actually think Haiku is, is slept on a little bit because before 40 Mini came out, Haiku was a, a very interesting reprieve, uh, for people to have very, very cheap-

Host1:25:15

Are you talking about Sonnet or Haiku?

Ankur Goyal1:25:16

Haiku. The, uh, Sonnet, I mean, everyone knows Sonnet, right? The oh, my God. But when Claude 3 came out, Sonnet was, like, the middle child. Like, who gives a shit about Sonnet? It's neither the super fast thing nor the super smart thing.

But r- really, I think it was Haiku that was the most interesting foothold because it... Anthropic is talented at figuring out, either deliberately or not deliberately, a value proposition to developers that is not already taken by OpenAI and providing it.

And I think now, uh, Sonnet is both cheap and smart, and it's quite pleasant to communicate with. But when Haiku came out, it was the smartest, cheapest, fastest model. That was, uh, very refreshing. And I think the fact that it supported tool calling was incredibly important.

An overwhelming majority of the use cases that we see in production involve tool calling because it allows you to write code that reliably... Sorry, it allows you to write prompts that reliably plug in and out of code. And so without tool calling, it was a very steep hill to use a non-OpenAI model with tool calling, especially because Anthropic embraced JSON schema as a format.

Host1:26:23

This so did OpenAI. I mean, they, they did it first.

Ankur Goyal1:26:25

Yeah, yeah, I'm saying, uh-

Host1:26:26

Outside of OpenAI.

Ankur Goyal1:26:27

Yeah, yeah. OpenAI had already done it.

Host1:26:28

Yeah, yeah.

Ankur Goyal1:26:28

And so, and, and Anthropic was smart, I think, to piggyback on that versus trying to say, "Hey, you know, do it our way instead." B- because they did that, it became now you're in, you're, you're in business, right?

The switching cost is much lower because you don't need to unwind all the tool calls that you're doing, and you have this value proposition, which is, like, cheaper, faster, a little bit dumber with Haiku. And so I would say anecdotally now, every new project that people think about, they do evaluate OpenAI and Anthropic.

Um, we still see an overwhelming majority of customers using OpenAI, but almost everyone is using Anthropic for th- and Sonnet specifically for their side projects, whether it's, you know, via Cursor or prototypes or whatever they're doing.

Host1:27:10

Yeah, it's such a meme. Uh, it's actually kind of funny. I made fun of it. Uh, but it's-

Ankur Goyal1:27:13

Yeah, I mean, I, I think one of the things that people don't give OpenAI enough credit for, I'm not saying Anthropic does a bad job of this, but I, I just think OpenAI does an extremely exceptional job of this, is availability, rate limits, and reliability.

It's just not practical outside of OpenAI to run use cases at scale in a lot of cases. Like, you can do it, but it requires quite a bit of work. And because OpenAI is so good at making their models so available, I think they get a lot of credit for the science behind, you know, o1 and, "Wow, it's, like, an amazing new model."

In my opinion, they don't deserve enough credit for the, you know, showing up every day and keeping the servers running behind one endpoint. You know, you don't need to provision an OpenAI endpoint or whatever. It's just one endpoint.

It's there. You need higher rate limits, it's there. You know, it's reliable. That's a huge part of wh- I think what they do well.

Host1:28:04

Yeah. We, uh, interviewed Michelle from that team. Uh, they, they do a ton of work, and it's, it's a surprisingly small team.

Ankur Goyal1:28:10

Yeah.

Host1:28:10

It's really amazing. That actually opens the way to a little bit of something I assume but you would know, which is I always assume that, like, it's all... s- like, small developers like us use those model lab endpoints directly.

Ankur Goyal1:28:22

Yeah.

Host1:28:22

But the big boys, they all use Amazon for Anthropic, right? 'Cause they have the, the special relationship. They all use Azure for OpenAI 'cause they have that special relationship.

Ankur Goyal1:28:31

Yeah.

Host1:28:31

And then Google has Google. Is that not true?

Ankur Goyal1:28:33

It's not true.

Host1:28:34

Isn't that weird? You wouldn't have, like, all this, like, committed spend on AWS, then you are like, "Okay, fine. I'll, I'll do... I'll use Claude 'cause I already, I have that."

Ankur Goyal1:28:41

In some cases it's yes, and. It hasn't been a smooth journey for people to get the capacity on public clouds that they're able to get through, you know, OpenAI directly. I mean, I think a lot of this is changing, catching up, et cetera, but it hasn't been perfectly smooth.

And I think there are a lot of caveats, especially around, like, access to the newest models and, you know, with Azure early on, there's a lot of engineering that you need to do to actually get the equivalent of a single endpoint that you have with OpenAI, and most people built around assuming there's a single endpoint.

So it's a non-trivial engineering effort to load balance across endpoints and deal with the credentials. Every endpoint has a slightly different set of credentials, has a different set of models that are available on it. There are all these problems that you just don't think about when you're using OpenAI, et cetera, that, that you have to suddenly think about.

Now, for us, that turned into some opportunity, right? Like, a, a lot of people use our proxy as a, uh-

Host1:29:35

This is the gateway

Ankur Goyal1:29:37

... exactly, as a load balancing mechanism to sort of have that same user experience with more complicated deployments. But I think that in some ways maybe a small fish in that, in that pond, but I think that the ease of actually a single endpoint is it sounds obvious or whatever, but it, it's, it's not.

And for people that are constantly... a lot of AI energy is spent on, and, and inference is spent on R&D, not just stuff that's running in production. And when you're doing R&D, you don't wanna spend a lot of time on maybe accessing a slightly older version of a model or dealing with all these endpoints or, you know, whatever.

And so I think the sort of time to value and ease of use of what the, you know, model labs themselves have been able to provide, it's actually quite compelling.

Host1:30:23

Hmm. That's good for them. Less good for the public cloud partners to them.

Ankur Goyal1:30:27

I actually think it's good for both, right? Like, it's not a perfect ecosystem, but it, it is a healthy ecosystem with now with a lot of trade-offs and a lot of options. And as I'm n- we're not a model lab.

As someone who participates in the ecosystem, I'm happy. OpenAI released o1. I don't think Anthropic and Meta are sleeping on that. I think they're probably invigorated by it, and I think we're gonna see exciting stuff happen. And I think everyone has a lot of GPUs now.

There's a lot of ways of running Llama. There's a lot of people outside of Meta who are economically incentivized for Llama to succeed, and I think all of that contributes to more reliable endpoints, lower costs, faster speed, and more options for, you know, you and me who are just using these models and benefiting from them.

Host1:31:11

It's really funny. We actually interviewed Thomas from the, uh, Llama 3, uh, post-training team.

Ankur Goyal1:31:16

He's great, yeah.

Host1:31:16

He actually talks a little bit about Llama 4, and he was already on- down that path even before o1 came out. I, I guess it was, like, obvious to anyone in that circle.

Ankur Goyal1:31:24

Yeah.

Host1:31:24

But for the broader world, last week was the first time they heard about it.

Ankur Goyal1:31:27

Yeah, yeah, yeah.

Host1:31:29

I mean, speaking of o1, I mean, let's go there. Like, how has o1 changed anything that you're, you perceive? You're in enough circles that you n- already knew what was coming, so did it surprise you in any way?

Does it change your roadmap in any way? It is long inference, so, like, maybe it, it changes some assumptions.

Ankur Goyal1:31:45

Yeah, I mean, I talked about how way back, right, like rewinding to Impira, if you make assumptions about the capabilities of models and y- you engineer around them, you're almost, like, guaranteed to be screwed. And I got screwed, not in a necessarily bad way, but I sort of felt that-

Host1:32:02

By Bert

Ankur Goyal1:32:02

... yeah, twice in, like, a short period of time. So I, I think that sort of shook out of me that, that temptation as an engineer that you have to say, "Oh, you know, GPT-4o is good at this, but models will never be good at that.

So let me try to build software that works around that." And I think probably s- you might actually disagree with this, and I, I wouldn't say that I have a perfectly strong structural argument about this, so I'm open to debate, and I might be totally wrong.

But I think one of the things that was felt obvious to me and somewhat vindicated by o1 is that there's a lot of code and sort of like, um, paths that people went down with GPT-4o to sort of achieve this idea of more complex reasoning, and I think agentic frameworks are kind of like a, uh, little Cambrian explosion of people trying to work around the fact that GPT-4o has somewhat...

or, you know, related models have somewhat limited reasoning capabilities. And, you know, I look at that stuff and, you know, writing graph code that returns like edge in directions and all this, it's like, "Oh my God, this is so complicated."

It feels very clear to me that this type of logic is going to be built into the model. Anytime there is control flow complexity or uncertainty complexity, I think the history of AI has been to push more and more into the model.

In fact, no one knows whether this is true or whatever, but GPT-4 was famously a mixture of experts.

Host1:33:32

Mentioned on our podcast. Yeah.

Ankur Goyal1:33:33

Exactly. Yeah, I guess you broke the news, right?

Host1:33:35

There were two breakers. It's Dylan and us, and ours was... George was the first, like, uh, loud enough person to make noise about it.

Ankur Goyal1:33:42

Prior to that, a lot of people were building, you know, these, like, round robin routers that were like, you know. But a- and you, and you look at that and you're like, "Okay, I'm pretty sure if you train a model to do this problem and you vertically integrate that into the LLM itself, it's gonna be better."

And that, that happened with GPT-4. And I think o1 is going to do that to agentic frameworks as well. I, I think to me it seems very unlikely that the, you know, you and me sort of, like, sipping an espresso and thinking about how, like, different personified roles of people should interact with each other and stuff, it, it seems like that stuff is just gonna get pushed into the model.

Host1:34:21

Yeah.

Ankur Goyal1:34:21

That was the main takeaway for me.

Host1:34:23

I think that you are very perceptive in your mental modeling of me because I do disagree 15, 25%. Obviously, they can do things that we cannot, but you as a business always want more control than OpenAI will ever give you.

Ankur Goyal1:34:38

Yeah, yeah.

Host1:34:39

They're, they're charging you for, like, thousands of reasoning tokens, and you can't see it.

Ankur Goyal1:34:42

Yeah.

Host1:34:43

That's ridiculous. Come on. Like

Ankur Goyal1:34:45

Well, it's ridiculous until it's not, right? I mean, it was ridiculous with GPT-3 too.

Host1:34:50

Well, GPT-3, I mean, the- all the models had total transparency until now, where you're paying for tokens you don't- you can't see.

Ankur Goyal1:34:55

What I'm trying to say is that I agree that this particular flavor of transparency is novel. Where I disagree is that something that feels like an overpriced toy... I mean, I viscerally remember playing with GPT-3, and it was very silly at the time, which was kind of annoying if you're doing document extraction.

But I remember playing with GPT-3 and being like, "Okay, yeah, this is a great... but I can't deploy it in- on my own computer," and blah, blah, blah, blah, blah, blah, blah. So it's never going to actually work for the real use cases that we're doing.

And then that technology became cheap, available, hosted. Now I can run it on my, you know, hardware or whatever. So I agree with you if that is a permanent problem. I'm relatively optimistic that, I don't know if Llama 4 is gonna do this, but imagine that Meta figures out a way of open sourcing some similar thing, and you actually do have that kind of control on it.

Host1:35:49

Yeah. That's, you know. It remains to be seen. But I, I do think that people want more control, and, and this part of, like, the reasoning step-

Ankur Goyal1:35:55

Yeah

Host1:35:55

... is something where if the model just goes off to do the wrong thing, you probably don't want to iterate in the prompt space. You probably just want to chain together a bunch of model calls to do what you're trying to-

Ankur Goyal1:36:06

Per- perhaps, yeah. I mean, I, I- It's one of those things where I, I, I think the answer is very gray. Like, the real answer is very gray. And I think for the purposes of thinking about our product and the, you know, future of the space and just for fun d- debates with people I enjoy talking to, like you, it's useful to pick one extreme of the, um-

Host1:36:28

Mm-hmm

Ankur Goyal1:36:28

... of the perspective and just sort of latch onto it.

Host1:36:30

Yeah.

Ankur Goyal1:36:30

But yeah, it's a fun debate to have, and I, I'm... Maybe I would say more than anything, I'm just grateful to participate in an ecosystem where we can have these debates and-

Host1:36:39

Yeah, yeah, yeah

Ankur Goyal1:36:39

... you know.

Host1:36:39

Yeah. Uh-

Ankur Goyal1:36:40

Yeah

Host1:36:40

... very, very helpful. Your data point on the decline of open source in, in production-

Ankur Goyal1:36:45

Yeah

Host1:36:45

... is actually very-

Ankur Goyal1:36:47

Decline of fine-tuning in production. I don't think open source is ... I mean, it's, it's been, um-

Host1:36:52

Can you put a number? Like 5%, 10% of your workload?

Ankur Goyal1:36:55

Is open source?

Host1:36:56

Yeah.

Ankur Goyal1:36:56

Because of how we're deployed, I don't have, like, an exact number for you. Among customers running in production, it's less than 5%.

Host1:37:03

That's so small.

Ankur Goyal1:37:05

Yeah.

Host1:37:06

That counters our, you know, the thesis that people want more control, that people want to create IP around their models and, and all that stuff. Like, uh, it's, it's actually very interesting.

Ankur Goyal1:37:15

I think people want availability.

Host1:37:17

You can engineer availability with, uh, with open weights.

Ankur Goyal1:37:19

Good luck.

Host1:37:20

Really?

Ankur Goyal1:37:21

Yeah.

Host1:37:22

You can use Together, Fireworks, all these guys.

Ankur Goyal1:37:24

They are nowhere near as, uh, as reliable as... I mean, every single time I use any of those products and run a benchmark, I find a bug, text the CEO, and they fix something. It's nowhere near where OpenAI is.

It feels like using Joyent instead of using AWS or something. Like, yeah, great, Joyent can build, you know, single-click provisioning of instances and whatever. I remember one time I was using, I don't remember if it was Joyent or something else, I tried to provision an, an instance, and the person was like, "BRB, I need to run to Best Buy to go buy the hardware."

Yes, anyone can theoretically do what OpenAI has done, but, um, they just haven't yet.

Host1:38:02

I wanna mention one thing which I'm trying to figure out. The, we obliquely mentioned the GPU inference market. Is anyone making money? Will anyone make money?

Ankur Goyal1:38:10

In the GPU inference market? People are making money today, and they're making money with really high margins.

Host1:38:15

Really?

Ankur Goyal1:38:16

Yeah.

Host1:38:16

'Cause I calculated, like, the Groq numbers. Dylan Patel thinks they're burning cash. I think they're about break even.

Ankur Goyal1:38:23

It depends on the company. So there are some companies that are software companies, and there are some companies that are hardware bets, right? I don't have any insider information, so I don't know about the hardware companies, but I do know for some of the s- excuse me, for some of the software companies, they have high margins and they're making money.

I think no one knows how durable that revenue is, but, you know, all else equal, if a company has some traction and they have the opportunity to build relationships with customers, I think independent of whether their margins erode for one particular product offering, they have the opportunity to, to build higher margin products.

And so, you know, inference is a real problem, and it is something that cust- companies are willing to pay a lot of money to solve. So to me, it feels like there's opportunity. Is the shape of the opportunity inference API?

Maybe not. But we'll see.

Host1:39:12

We'll see. Those guys are definitely, um, reporting very high ARR numbers.

Ankur Goyal1:39:17

Yeah, and from all the knowledge I have, the ARR is real. Again, I don't have any insider information.

Host1:39:22

Together's, uh, numbers were report- were, like, leaked or something on, like, the Kleiner Perkins podcast.

Ankur Goyal1:39:27

Oh, okay.

Host1:39:27

And I was like, "I don't think that was public," but now it is. So that's, that's kind of interesting. Uh, okay. Any other, uh, industry trends you wanna discuss?

Ankur Goyal1:39:36

Nothing else that I can think of. I wanna hear yours. Yeah.

Host1:39:38

Okay. Uh, no, just, and just generally workload market share.

Ankur Goyal1:39:41

Yeah.

Host1:39:41

You serve, like, superhuman. They have superhuman AI. They, like, do title summaries and all that. I just would really like type of workloads, type of evals. What is gen AI being used- ... in production today to do?

Ankur Goyal1:39:54

Yeah, I, I would say about 50% of the use cases that we see are what I would call, like, single prompt manipulations. Um, summaries are often but not always a good example of that, and I think they're really valuable.

Like, one of my favorite gen AI features is we use Linear at Braintrust, and if a customer finds a bug on Slack, we'll, like, click a button and then file a Linear ticket, and it auto-generates a title for the ticket.

I have no i-

Host1:40:20

They're very small, yeah

Ankur Goyal1:40:21

... no idea how it's implemented.

Host1:40:22

Yeah.

Ankur Goyal1:40:23

Honestly, I don't care.

Host1:40:24

Yeah.

Ankur Goyal1:40:24

Loom has some really similar features which I just find amazing.

Host1:40:27

So delightful. You record the thing, it titles it properly.

Ankur Goyal1:40:30

Yeah. And even if it doesn't get it all the way properl- it, it sort of inspires me to maybe tweak it a little bit. It's just, it's so nice. And so I, I think there is an unbelievable amount of untapped value in single prompt stuff.

And the thought exercise I run is, like, any time I use a piece of software, if I think about rebuilding that software as if it were rebuilt today, which parts of it would involve AI? Like, almost every part of it would involve running a little prompt here or there to have a little bit of delight.

Host1:41:01

By the way, uh, before you continue, I have a rule, you know, for, for building Smalltalk, which, uh, we can talk about separately, but it should be easy to do those AI calls.

Ankur Goyal1:41:09

Yeah.

Host1:41:09

Because if, if it's a big lift, if you have to, like, edit five files, you're not gonna do it.

Ankur Goyal1:41:13

Right, right, right.

Host1:41:14

But if you can just sprinkle intelligence everywhere-

Ankur Goyal1:41:16

Yeah

Host1:41:16

... just, then you're gonna do it more.

Ankur Goyal1:41:17

I totally agree, and I would say this probably brings me to the next part of it. I would say, I'd say, like, probably 25% of the re- of the, uh, remaining usage is what you could call, like, a simple agent, which is probably, you know, a prompt plus some tools.

At least one or perhaps the only tool is a RAG type of tool, and it is kind of like an enhanced, you know, chatbot or whatever that interacts with someone. Then I'd say probably the remaining 25% are what I would say are, like, advanced agents, which are things that maybe run for a long period of time or have a loop or, you know, do something more than that, that sort of simple but effective paradigm.

And I've seen a huge change in how people write code over the past six months. So when this stuff first started being technically feasible, people created very complex programs that almost reminded me of, like, being, like, studying math again in college.

It's like, you know, "Here, let me, let me, like, uh, compute, you know, the shortest path from this knowledge center to that knowledge center," and then blah, blah, blah. It's like, oh, my God, you know? And you write this crazy continuation passing code.

In theory, it's, like, amazing. It's just very, very hard to actually debug this stuff and run it, and almost everyone that we work with has gone into this model that, that I, that actually exactly what you said, which is sprinkle intelligence everywhere and make it easy to write dumb code.

And I think the prevailing model that is quite exciting for people on the frontier today, and I dearly hope as a programmer, uh, succeeds, is one where, what, like, what is AI code? I don't, I don't know. It's, it's not a thing, right?

It's just I'm creating an app, NPX create Next app or whatever, like Fa-Fast, FastAPI or whatever you're doing, and you just start building your app, and some parts of it involve some intelligence, some parts don't. You do some pr-prompt engineering.

Maybe you do some automatic optimization. You do evals as part of your sort of CI workflow. You have observable... It's just like I'm just building software, and it happens to be quite intelligent as I do it because I happen to have these things available to me.

And that's what I see more people doing. You know, the like the sexiest intellectual way of thinking about it is that you design an agent around the user experience that the user actually works with, uh, in the application rather than the technical implementation of how the components of an agent interact with each other.

And when you do that, you almost necessarily need to write a lot of little bits of code, especially UI code, between, you know, the LLM calls. And so the code ends up looking kind of dumber along the way 'cause you, you almost have to write code that engages the user and, and sort of crafts the user experience as the LLM is doing its thing.

Host1:44:04

Uh, so here are a couple things that you did not bring up. No one's doing the code interpreter agent or the voyager agent where you... the agent writes code, and then it persists that code and reuses that code in the future.

Ankur Goyal1:44:17

Yeah, so I, I don't know anyone who's doing that.

Host1:44:19

When Code Interpreter was introduced last year, I was like, "This is AGI."

Ankur Goyal1:44:22

There's a l- there's a, there's a lot of people... It, it should be fairly obvious if you look at our customer list who they are, but I, I, I won't call them out specifically, that are doing codegen and running the code that's generated, um, in arbitrary environments.

But they have also morphed their code into this dumb pattern that I'm talking about, which is like, I'm gonna write some code that calls an LLM. It's gonna write some code. I might show it to a user or whatever, and then I might just run it.

But it's not the v- I like the word voyager that you used. It's, it's not... I don't know anyone who's doing that.

Host1:44:54

I mean, voyager is in the paper. You know, you understand what I'm talking about?

Ankur Goyal1:44:56

Yeah, yeah.

Host1:44:56

Okay, cool. Uh, yeah, so, uh, what I, um, my term for this, if you, if you want to use the term, you can use mine, is code core versus LLM core.

Ankur Goyal1:45:04

Yeah.

Host1:45:05

And i- this is a direct parallel from systems engineering where you have functional core imperative shell.

Ankur Goyal1:45:11

Mm-hmm.

Host1:45:11

This is a term that people use. You want your core s- system to be very well defined and imperative, uh, outside to be easy to work with.

Ankur Goyal1:45:20

Yeah.

Host1:45:20

And so the AI engineering equivalent is that you want the core of your system to not be this slog of where you just kinda like chuck it into a very complex, uh, agent. You want to sprinkle LLMs into a, a code base.

Ankur Goyal1:45:32

Yeah, yeah, yeah, yeah.

Host1:45:32

'Cause we know how to scale systems. We don't know how to scale agents that are quite hard to-

Ankur Goyal1:45:38

Yeah, I mean, and-

Host1:45:38

... be reliable

Ankur Goyal1:45:38

... and just tying that to the previous thing I was saying, I think while in the short term there may be opportunities to scale agents by doing like silly things, feels super clear to me that in the long term anything you might do to work around that limitation of an LLM will be pushed into the LLM.

If you build your system in a way that kind of assumes LLMs will get better at reasoning and get better at sort of agentic tasks in the LLM itself, then I think you will build a more durable system.

Host1:46:05

What is one thing you would build if you're not working on Braintrust?

Ankur Goyal1:46:08

A vector database.

My heart is still with, with databases a lot. I mean, I- Sometimes I, I-

Host1:46:15

Serious? Uh, non-ironically.

Ankur Goyal1:46:17

Yeah, so not, not a vector database. I'll, I'll talk about this in a second. But I, I think I love the Odyssey. I'm not Odysseus. I don't think I'm cool enough. But I sort of romanticize going back to the farm, maybe just like Alana and I move to, like, the woods someday and I just sit in a cabin and write C++ or Rust code on my MacBook Pro and, like, build a, you know, database or whatever.

So ma- ma- that's sort of what I drool and dream about. I think practically speaking, I am very passionate about this variant type issue that we've talked about- ... uh, because I now work in observability where that is a cornerstone to the problem.

And I mean, I've been ranting to Nikita and other people that I, like, enjoy interacting with in the database universe about this, and my conclusion is that this is a very real problem for a very small number of companies, and that is why Datadog, Splunk, Honeycomb, et cetera, et cetera, built their own database technology, which is...

In some ways it's sad because all of the technology is a remix of pieces of Snowflake and Redshift and Postgres and other things, Redis, you know, whatever, that solve all of the technical problems. And I feel like if you gave me access to all the code bases and locked me in a room for a week or something, I feel like I could remix it into any database technology that would solve any problem.

Back to our HTAP thing, right? It's like kind of the same idea, but because of how databases are packaged, which is for a specific set of customers that have a particular set of use cases and a particular flavor of wallet, the technology ends up being inaccessible for these use cases like observability that don't fit a template that you can just sell and resell.

I think there are a lot of these little opportunities, and maybe some of them will be big opportunities. Maybe they'll all be little opportunities forever. But I'd probably just... There's probably a set of such things, the variant type being the most extreme right now, that are high frustration for me and low value for database companies that are all interesting things for me to work on.

Host1:48:23

Okay. Well, maybe someone listening is, you know, e- also excited, and maybe they can come to you for, uh-

Ankur Goyal1:48:28

Happy to chat

Host1:48:28

... advice and, and funding.

Ankur Goyal1:48:28

Anyone who wants to talk about databases, I'm around.

Host1:48:31

Maybe I, I need to refine my question. What AI company-

Ankur Goyal1:48:34

Ah

Host1:48:34

... or product would you work on if you're not working on Braintrust?

Ankur Goyal1:48:38

Honestly, I think if I weren't working on Braintrust, I would want to be working either independently or as part of a lab and, uh, training models. Um, I, I think I, with databases and just in general, I've, I've always taken pride in being able to work on, like, the most leading version of, of things, and maybe it's a little bit too personal, but one of the things I, I, I struggled with post SingleStore is there are a lot of data tooling companies that have been very successful that I looked at and was like, "Oh my God, this is stupid.

Uh, you can solve this inside of a database much better." Um, I don't wanna call out any examples 'cause I'm, I'm friends with a lot of these people, but-

Host1:49:14

I probably have worked at some.

Ankur Goyal1:49:16

Yeah, uh, maybe. Um, but what was a really sort of humbling thing for me, and I, I wouldn't even say I've fully accepted it, is that people that maybe don't Have the ivory tower experience of someone who worked inside of a relational database, but are very close to the problem.

Their perspective is at least as valuable in company building and product building as someone who has the ivory tower of like, "Oh my God, I know how to make in-memory skiplist that's durable, you know, and lock-free." And I feel like with AI stuff, I'm in the opposite scenario.

Like, I had the opportunity to be in the ivory tower and, you know, at OpenAI or whatever, like train a large language model.

Host1:49:57

I see. I see.

Ankur Goyal1:49:57

But I've been using them for a while now, and I felt like an idiot. I kind of feel like I'm in the, uh... I'm one of those people that I, I never really understood in databases who really understands the problem but is not all the way in with the, uh, with the technology, and so that's probably what I'd work on.

Host1:50:13

This might be a controversial question, but whatever. If OpenAI came to you with an offer today, would you take it?

Ankur Goyal1:50:20

Um-

Host1:50:21

Competitive, fair market value. Whatever, whatever that means for your investors.

Ankur Goyal1:50:25

Yeah, I mean, fair market value, no. Um- But I think that, you know, I, I would never say never, but I really-

Host1:50:33

'Cause then you'd be able to work on their platform-

Ankur Goyal1:50:35

Oh, yeah

Host1:50:36

... bring your tools to them, and then also talk to the researchers.

Ankur Goyal1:50:40

Yeah, I mean, we are very friendly collaborators with OpenAI, and I have never had more fun day to day than I do right now. One of the things I've learned is that many of us take that for granted.

Now having been through a few things, it's not something I feel comfortable taking for granted again.

Host1:51:00

The independence and-

Ankur Goyal1:51:02

I wouldn't even call it independence. I think it's being in an environment that I really enjoy. I think independence is a part of it, but it's not the... It's-- I wouldn't say it's the higher order bit. I think it's working on a problem that I really care about for customers that I really care about with people that I really enjoy working with.

Among other things, uh, I'll give a few shout-outs. I work with my brother. Uh-

Host1:51:23

Did I see him? No.

Ankur Goyal1:51:24

He answered a few questions. He was sitting right behind me.

Host1:51:26

Oh, that was him. Okay. Okay.

Ankur Goyal1:51:27

Yeah, yeah. And he's my best friend, right? I, uh, like, I love working with him. Our head of product, Eden, he was, like the first designer at Airtable and Cruise and, you know, he is an unbelievably good designer.

If you use the product, you should thank him. I mean, if you like the product, he, he's just so good, and he's such a good engineer as well. He destroyed our, our programming interviews, uh, which we gave him for fun.

Uh, but it's, it's just such a joy to work with someone who's just so good and so good at something that I'm, I'm not good at. Albert, uh, joined really early on, and he used to work in VC, and he does all the business stuff for us.

He has, like negotiated giant contracts, and I just enjoy working with these people, and I, I, I feel like our whole team is just so good. Uh-

Host1:52:14

Yeah, you worked really hard to get here.

Ankur Goyal1:52:16

Yeah. It's, uh... I'm just loving the moment. That's something that would be very hard for me to give up.

Host1:52:21

Hmm. Understood. While we're into name-dropping and doing shout-outs, I think a lot of people in the San Francisco startup scene know Alana.

Ankur Goyal1:52:28

Yeah.

Host1:52:29

And most people won't. What's one thing that you think makes her so effective that, you know, other people can learn from or that you learn from?

Ankur Goyal1:52:37

Yeah, I mean, she genuinely cares about people. When I joined Figma, if you just look at my profile, I really don't mean this to sound arrogant, but h- like, if you look at my profile, it seems kind of obvious that if I were to start another company, there would be some VC interest, and, like, literally there was.

Again, I'm, I'm not that special, but-

Host1:52:56

No, but you had two great runs.

Ankur Goyal1:52:59

Yeah. So it just... it's seems kind of obvious. I mean, I'm married to Alana, so I, I, of course we're gonna talk, but, like the only people that really talked to me during that period were Elad and Alana.

Host1:53:11

Why?

Ankur Goyal1:53:11

It's a good question. Um-

Host1:53:13

You didn't try hard enough.

Ankur Goyal1:53:14

I mean, I, the, the, the, the... I, it's not like I was trying to talk to VCs. I don't, I don't-

Host1:53:19

Okay. Okay. Yeah

Ankur Goyal1:53:19

... I, I'm not... Yeah.

Host1:53:20

I mean, so, so in, in some sense, well, talking to Elad is enough, and then Alana can fill in the rest. Like that's, that's it, that's it, that's it.

Ankur Goyal1:53:26

Yeah, so I, I'm just saying that these are people that genuinely care about another human. There, there are a lot of things over that period of getting acquired, you know, being at Figma, starting a company, th- they're just really hard.

And what Alana does really, really well is she really, really cares about people, and people are always like, "Oh my God, how come she's in this company before I am?" Or whatever. It's like, who actually gives a shit about this person and was getting to know them before they ever sent an email?

You know what I mean? Like, before they had started this company and o- 10 other VCs were interested, and now you're interested. Who is actually, like talking to this person? And, and-

Host1:54:05

Yeah. She does that consistently.

Ankur Goyal1:54:07

E- exactly.

Host1:54:08

The question is obviously how do you scale that? How do you scale caring about people?

Ankur Goyal1:54:12

Yeah.

Host1:54:12

Uh, and do they have a personal CRM?

Ankur Goyal1:54:15

Uh, Alana has actually built her entire software stack herself. She studied computer science and was a product manager for a few years, but she's super technical and really, really good at writing code.

Host1:54:27

For, for those who don't know, every YC batch she, uh, makes like the best of the, the batch, and she, like, puts it all into one product.

Ankur Goyal1:54:34

Yeah. She's, she's just an amazing hybrid between a product manager, designer, and, and engineer. Every time she runs into an inefficiency, she solves it.

Host1:54:42

Cool. Um, well- ... you know, there's, there's more to dig there, but I can talk to her directly. Thank you for all this. This, this was a, a solid two hours of stuff. Any call to action?

Outro1:54:50

Ankur Goyal1:54:50

Yes. One, we are hiring software engineers. We are hiring salespeople. We are hiring a DevRel, and we are hiring one more designer. We are in San Francisco, so ideally, if you're interested, we'd like you to be in San Francisco.

There are some exceptions, so we're not totally close-minded to that, but San Francisco is significantly preferred. Um, we'd love to work with you. Uh, if you're building AI software, if you haven't heard of Braintrust, please check us out.

If you have heard of Braintrust and maybe tried us out a while ago or something and wanna check back in, let us know or try out the product. We'd love to talk to you, and, and I think more than anything, we're, like very passionate about the problem that we're solving and working with the best people on the problem.

And so we love working with, with great customers and, and, you know, have some good things in, in place that have helped us scale that a little bit. So, uh, we have a lot of capacity for more.

Host1:55:50

Well, I'm sure there'll be a lot of interest, especially a- when you announce your, uh, Series A. I've had the joy of, uh, you know, watching you build this company a little bit, and, uh, I, I think you're one of the top founders I've ever met.

So it's just great to sit down with you and, and learn a little bit.

Ankur Goyal1:56:03

It's very kind. Thank you.

Host1:56:04

Yeah. Thanks. That's it.

Ankur Goyal1:56:05

Awesome.