HomeVideos

How Ramp engineers work with AI agents at every step

Now Playing

How Ramp engineers work with AI agents at every step

Transcript

768 segments

0:00

I told Fable to fix all our import cycles.

0:02

I also told it to make our app lazy.

0:04

So the app boots up, and it’s

0:04

So the app boots up, and it’s

0:05

an enormous amount of Python modules

0:07

and Fable made

0:08

a lot of progress in both of these.

0:10

A lot of this code was merged.

0:11

Really understanding what the boundary of

0:13

where these models break is very important,

0:15

because those sets of

0:16

problems are the problems that

0:17

we would want our people to try

0:19

when the next Fable comes out

0:20

or the next release comes out.

0:32

One of the first things I tried

0:33

when I got my hands on Fable

0:35

was I wanted to find a use case in Ramp

0:38

that we can empirically verify.

0:39

So it must be a large piece of code

0:42

that I haven't read, that Fable wrote.

0:44

It must be in a non-product place.

0:46

So something in CI.

0:47

So this is for us in our testing suite.

0:49

And I wanted to empirically verify it.

0:52

To be able to produce

0:52

a lot of data and check if the code is acting

0:55

like it should.

0:56

It's been working really well.

0:57

We're running it

0:58

for a few weeks in shadow, and it's

1:00

been consistently faster than what

1:02

our current implementation is.

1:03

But I threw the deep

1:05

critical problems in our codebase.

1:07

So we have this large monolithic

1:08

Python code base,

1:09

and I told Fable to fix all our import cycles.

1:12

I also told it to make our app lazy.

1:14

So the app boots up, and it’s

1:16

an enormous amount of Python modules

1:18

and Fable made

1:19

a lot of progress in both of these.

1:21

A lot of this code was merged.

1:22

Really understanding what the boundary of

1:24

where these models break is very important,

1:26

because those sorts of

1:27

problems are, the problems that

1:29

we would want our people to try

1:31

when the next Fable comes out

1:32

or the next release comes up.

1:33

I have these tests that I give every model

1:35

when they come out, and I just sort of,

1:37

you know, no model ever

1:39

just was able to do all of these things.

1:40

But this is the first model that just

1:42

did all the things.

1:43

And when Fable struggled,

1:45

I just used a dynamic workflow,

1:47

you guys have used it.

1:48

This is like where Claude

1:50

has a bunch of sub agents that it orchestrates.

1:52

And using this sort of like algebra

1:54

in the sandbox.

1:54

But essentially it's like a new form

1:56

of test time compute.

1:57

And so you just tell Claude,

1:58

you know, use a workflow and

1:59

Fable does it.

2:00

Just yesterday, it actually reduced our

2:02

CI time from,

2:04

I think, 18 minute P50

2:06

to 6 minute P50.

2:08

Wow.

2:08

And it just like optimization

2:10

after optimization after optimization.

2:12

And they just kept profiling it.

2:13

The code landed

2:14

then it waited a day

2:15

and used a routine

2:16

to schedule itself to run a day later

2:18

to get that real production data.

2:20

And then it just like

2:20

repeated this for days on end

2:22

until it landed all these wins.

2:23

And then it showed me a chart when it was done.

2:25

Rahul loves that.

2:26

He’s a huge CI time minimization advocate.

2:31

It's all I think about.

2:32

I just have a follow up question for you.

2:33

So when

2:35

you're doing these, dynamic workflows,

2:38

I would have to expect that you've already

2:40

built up the familiarity with Fable

2:42

as a main agent?

2:44

Like a foreground agent, right?

2:47

Because there's like a lot of learning

2:49

from what the 40 or 100 different

2:52

agents are doing in the background

2:53

that maybe you're not seeing,

2:55

but you do have to have comfort by that point

2:57

because that's a big workload.

2:59

Because the agents are, you know,

3:01

able orchestrate,

3:01

so the agents might have like

3:03

work translation

3:04

they might not, they're executed,

3:05

you know, in parallel or serial.

3:08

You might add more rounds of like

3:09

adversarial verification

3:10

or whatever it feels this task needs.

3:12

So yeah, I just trust it.

3:13

Essentially my mental model

3:15

for dynamic workflows is the test time compute.

3:17

It goes from like low to medium

3:19

to high to extra high to max.

3:21

And essentially

3:22

the way to think about this is

3:23

this is the maximum

3:24

amount of thinking the model can use.

3:26

It won't always use a, but it's the maximum.

3:27

That's why you have it on

3:28

the thinking dial at the very end, right?

3:30

Exactly.

3:31

And for me, dynamic workflows

3:32

are just like it's a next level.

3:33

It's like another form of test time compute.

3:35

It's new.

3:36

How do you think about loops

3:37

versus dynamic workflows

3:39

for achieving some sort of long horizon thing?

3:43

So loops are kind of like repetitive work.

3:45

And dynamic workflows are like dynamic work.

3:48

Like you don't

3:49

you don't exactly know

3:50

what the steps are ahead of time.

3:51

Like,

3:51

I use a loop, for example, for babysitting

3:53

my pull requests, to fix the CI,

3:55

and rebase them automatically.

3:57

But then I use dynamic workflows for things

3:58

like system optimization,

3:59

where you don't necessarily know what

4:01

the next optimization is.

4:02

It's a total mental model shift.

4:04

It does feel like

4:07

using Claude Code for the first time,

4:09

where you have to start

4:10

relinquishing a lot of the software

4:12

engineering workflow, including running

4:13

commands to this agent, right?

4:16

I sort of feel like for me loops is,

4:19

if you have a bunch of engineers doing work,

4:21

loops are kind of slicing a horizontal off of it.

4:23

Like if there's one task

4:24

every engineer does every day,

4:26

you can maybe take that

4:27

and put it in a loop or in a routine.

4:29

And this is something like a code review,

4:31

babysitting a PR, addressing feedback.

4:35

You know, like we just have dozens of these.

4:37

Like, I have one, for example,

4:38

for deleting dead code.

4:39

This is a routine that runs every day.

4:41

And then on the flip side,

4:42

you can do this vertical slice.

4:44

And for us this is like Claude tag.

4:46

And you know

4:46

an example of

4:47

that is I'll have tag ship and experiment.

4:50

It'll make the experiment,

4:52

it'll land the PR,

4:53

and then it'll set a reminder for itself,

4:55

using a routine to monitor

4:56

and check in the next day,

4:57

it'll make sure that the exposures are balanced.

4:59

It'll crank up the exposure,

5:01

make sure the experiment’s running,

5:02

and maybe a couple weeks later, it'll be like,

5:04

all right, I'm going to ship this variant

5:05

and it puts up another PR for that.

5:07

And I wasn't in the loop at all.

5:09

Like at the beginning I asked Claude to do this.

5:11

I stamped the pull request,

5:12

but the rest was just Claude.

5:14

Okay, I want to like detour a little bit.

5:16

I want to hear about your coding setups.

5:17

So iTerm2, pretty vanilla.

5:21

No IDE these days.

5:24

And as many pains

5:26

as my monitors can handle.

5:29

Pretty barebones Claude Code set ups.

5:32

so not a lot of plug ins

5:33

or skills or MCPs,

5:35

pretty simple CLAUDE.MD,

5:37

inspired by your, you know,

5:39

your Twitter posts for the vanilla setup.

5:41

I think it's the best way to learn the models.

5:43

And then

5:44

good amount of subagent use,

5:46

adversarial review.

5:48

Yeah, mine’s gotten increasingly

5:50

background heavy, and almost

5:51

most of my sessions are information gathering.

5:53

It's like,

5:54

why is the memory spiking on the service?

5:56

Or how can we get this project done faster?

5:58

And it's

5:59

a great way to like,

6:00

fan out a lot of sessions

6:02

and gather a lot of context.

6:03

When I do local things local with Claude Code,

6:05

it's usually maybe more hands on programing

6:08

where I, it's closer debugging, or

6:10

I need more services or context

6:13

on my computer.

6:14

Has that changed a lot over time?

6:15

Like do you start with a sort of,

6:18

you know, like an Austin set up of like

6:19

just terminal, terminal, terminal, terminal.

6:21

And then you kind of move to this?

6:22

I mean,

6:22

we have so many services, a lot going on

6:24

databases and message queues and Reddits

6:28

and all that.

6:28

And so

6:29

having multiple instances of local dev running

6:31

can become a constraint very quickly.

6:33

Especially with the latest models,

6:35

I think they require much less hand-holding.

6:37

And sometimes you just gotta let them cook,

6:38

get out of the way.

6:39

And so I found myself carrying my laptop

6:42

with the lid open a little bit too much.

6:43

And so then we decided to move.

6:45

That’s funny. I know exactly what you mean.

6:47

Yeah, make sure Caffeinate is running, right?

6:49

So we've implemented agents

6:51

at pretty much every part of our business,

6:52

but especially in the engineering lifecycle.

6:55

So if you take the process

6:56

of building and shipping software,

6:58

everything from coming up with ideas,

7:00

figuring out

7:00

where the bugs are, getting notified

7:02

when there's problems

7:03

in our logs and our systems,

7:05

to writing the code, to reviewing them.

7:09

And sometimes

7:10

when they're after deployed,

7:11

looking for

7:13

how they're doing in production

7:14

and seeing if they're doing the thing you want.

7:16

We've tried to build systems

7:17

along this whole stack.

7:19

We've also thought about it

7:20

from the lens of security,

7:21

trying to find bugs and other issues.

7:23

Okay, so now you're at the point where

7:25

you're using the model kind of everywhere

7:28

throughout like the whole lifecycle.

7:29

How did you get there?

7:30

What was like,

7:31

what was the first place where you started

7:33

using Claude Code?

7:34

And then how did agents kind of expand

7:37

out of that?

7:38

We were seeing and slowly realized,

7:41

clearly this thing's going to

7:42

continue to improve

7:43

and maybe we shouldn’t build for 2.7,

7:46

maybe we should build for whatever is coming next

7:47

or the model after that.

7:49

And over time as we built

7:51

these harnesses,

7:52

we’ve learned to step back and just wait it out

7:55

because a lot of time we end up

7:56

removing this scaffolding over and over again

7:59

because the model is just like outgrown harness.

8:01

At any given point,

8:02

when there's a shortcoming

8:03

with the harness or the model,

8:05

we've tried and we're not perfect,

8:07

we also

8:08

need to make the product work today

8:10

because otherwise we won’t have business,

8:11

but we've tried our best to go

8:14

the other direction and give the model more

8:15

tools, more context, more agency

8:17

with the goal of almost, being able

8:19

to treat our agents like a coworker.

8:22

So, hey, can you go figure this out?

8:24

Like there seems to be

8:24

some sort of exception that's popping up.

8:27

Or maybe this customer is complaining

8:29

of a certain issue.

8:31

And we want the models to be able

8:32

to access the right systems,

8:34

the right level of access,

8:36

and produce the right amount of right code.

8:39

And so just wanting that simple goal

8:42

allows us to

8:44

figure out what we need

8:45

to do to give the model

8:47

enough access to do these things.

8:48

I think it's a

8:49

velocity bet in a lot of ways.

8:51

Right?

8:52

Because you're basically saying,

8:54

I think the stuff

8:55

we would put in place to make this work now

8:57

really well is going to become technical debt

9:00

really quickly.

9:01

And that's going to slow us down.

9:02

If we aim

9:03

a little further in the future

9:04

or sometimes a lot further in the future,

9:07

you know,

9:07

we'll actually make it further

9:09

with the resources we have.

9:11

I have so many questions.

9:13

But maybe like

9:14

one direction we can take is,

9:16

how do you make sure

9:17

they have the right guardrails?

9:18

Like, you know, like

9:19

they can access this

9:20

data, but not this data,

9:21

or how do you make sure

9:22

the cost is under control?

9:24

How do you make sure the code quality is good?

9:26

And how have you guys thought about this,

9:27

like as you scale up the systems?

9:29

Yeah, so

9:30

we've also, at various levels on

9:31

the stack, tried to implement safeguards.

9:33

We also studied the trace a lot.

9:35

One of the things that I think we've tried to

9:37

focus more on is studying individual traces

9:41

and less on aggregate level benchmarks.

9:43

Benchmarks do give us a lot

9:44

of information cross model,

9:46

but a lot of the time

9:47

there's usually a correct trace.

9:48

It's like, what is the command

9:49

the model should have run in this scenario,

9:51

and why did it not get there?

9:52

Is this a context issue?

9:54

Maybe it does not have access to the right tool?

9:56

And just following these simple traces

9:57

for workflows that should work

9:59

allows us to like get there in the right way.

10:01

We've implemented

10:02

a lot of layers of defense across,

10:04

I mean we’ll continue to do that.

10:05

It's how,

10:06

how many layers

10:07

we have also

10:08

allows us to move faster and give it more agency

10:11

and more access.

10:12

And so again, at every part of the stack,

10:14

we've done everything we can to give the model

10:17

what it needs, but nothing more.

10:18

So you're essentially like, you go to BigQuery

10:20

or Data Dog or whatever.

10:21

And you give it like a read only service key.

10:24

This is essentially how you think about it?

10:25

That's right. Yeah, exactly.

10:27

So a lot of the time so let's say that, you,

10:27

I just want to be able to say

10:28

like, talk to my agent,

10:30

like I talk to my coworker.

10:31

And so

10:32

we're almost focusing on the default experience,

10:34

the iPhone experience.

10:36

Where you open it up, there's a text box.

10:38

You just say what you need to get done,

10:39

not how to do it.

10:40

The prompts must be declarative.

10:42

So we're not

10:43

we don't want people to instruct the agent to

10:45

do it in a certain way.

10:46

We just want people to say,

10:48

implement this feature, or fix this bug,

10:51

or help this person out.

10:53

And over time,

10:55

especially when you focus on the correct trace.

10:57

So what must the agent do?

10:59

It must first query the source

11:00

and then it must query these other sources

11:02

and read the code in this in these repos.

11:04

Just by focusing on what the correct

11:06

trace in your head is

11:08

you can then shape the agent trace

11:10

purely through prompts and tools and skills

11:13

to get there.

11:14

And thankfully we're also on

11:16

this exponential increase in model capabilities.

11:18

So maybe if it's not working right now,

11:20

you just got to trust that it will get there.

11:22

And just with that belief alone,

11:23

just ship it and just wait.

11:25

And the one thing I'll add is good

11:27

old fashioned hard controls

11:29

on top of that, like you said,

11:30

like principle of least privilege stuff.

11:32

The basics of

11:33

just not even giving it the opportunity

11:35

to be able to do certain things.

11:38

And how do you think about like enforcing it?

11:40

Is it like the security team's job to do this

11:42

or are you like

11:43

federating out the design

11:45

of these sort of systems?

11:46

How do you think about that?

11:47

The really exciting part

11:48

about this is the infrastructure

11:50

has been built by the security team,

11:52

and it's been,

11:52

the security team is very closely related to this.

11:54

So they helped us

11:55

set up the network access policies.

11:57

They helped us get the keys.

11:58

And they're also regular users of these agents.

12:01

How do you think about cost controls?

12:02

How do you think about code quality?

12:04

What else do

12:06

you think about as you scale it?

12:07

We're continuing to find and look for cases

12:10

where, again, we can guarantee

12:11

we know for sure

12:13

the worst thing

12:13

that could happen

12:14

if, for example,

12:15

this code has a bug or something like that,

12:17

the effects are extremely constrained

12:19

and we do have an upside

12:21

and we're finding more problems like that.

12:23

And we're trying to use this hammer for that.

12:25

We're also expecting a massive increase

12:27

in the amount of productivity,

12:28

especially with the next few models coming.

12:30

And so we're

12:31

readying our verification loops

12:33

especially with CI and CD.

12:34

I think also changing

12:35

what our reviewers look out over time

12:37

because as the models get smarter,

12:39

they stop making certain classes of mistakes.

12:41

And so you, it's not worth spending

12:44

your reviewer tokens on that anymore, right?

12:46

Yeah. I mean,

12:47

we've invested in our own code

12:48

review bot as well, which is also built

12:50

on Inspect or our background agents API.

12:53

We pull from some

12:54

memories of things

12:55

that we especially want to look for.

12:57

We have certain teams that write their own,

12:59

skill files that look for certain things

13:02

so that they can codify the knowledge

13:03

that they have built up

13:04

over the years

13:05

into these files that allow people

13:07

to move a little bit faster.

13:09

It sounds like it's not like Austin

13:10

and Rahul that are going in

13:11

and just like breaking down every bottleneck.

13:14

Although I'm

13:14

sure you're doing a lot of this,

13:16

like how do you create a culture

13:17

where engineers feel empowered

13:19

and have like the visibility

13:20

and the tools, whatever you need,

13:22

to find the bottleneck and to break it down?

13:23

It's just Ramp, right? Yeah.

13:25

I mean, I think a lot of it is

13:26

the culture that the company has

13:28

built is a culture of experimentation,

13:30

a culture of like building something

13:32

that maybe didn't pan out, and that's okay.

13:35

We've tried something. You move quickly.

13:37

I think one of the things that

13:38

has been helpful is, because

13:39

we've had free access to all the tools,

13:41

to all our engineers,

13:42

we don't really like to impose

13:44

a certain

13:44

token budget or a tool budget,

13:46

or tell people that they

13:47

should use this thing or that thing.

13:49

And in general,

13:51

it becomes a lot easier

13:52

to speak the same language.

13:53

I mean, it

13:53

sounds like

13:54

you guys just built

13:54

like a huge number of these, like background

13:58

agents, like various CPIs and systems internally.

14:00

So you mentioned Project Glass,

14:02

you mentioned Inspect,

14:04

walk me through these. What are these tools?

14:06

How do you use them? How are they built?

14:07

Yeah.

14:07

So Glass is where our, it's the home

14:09

base for our non-technical folks.

14:11

It's where they interact

14:13

with the coding agent on a daily basis.

14:15

And it's been our belief since,

14:17

since the beginning that everybody

14:18

should have access to this power.

14:21

And this velocity increaser.

14:23

But you got to meet people where they are,

14:25

you know,

14:26

they don't want to be looking at code.

14:28

All the technical detail

14:29

is not going to help them go faster.

14:31

And some things need to be set up ahead of time.

14:34

Yeah.

14:34

Inspect, at this point,

14:36

is basically a digital coworker.

14:38

We've tried to give Inspect all the tools

14:40

that a Ramp builder,

14:42

so product engineer design person, would have.

14:45

So this includes access to GitHub,

14:46

and Linear, and Slack, and Datadog, and Sentry,

14:50

and various other tools.

14:52

And at this point

14:54

you can ask Inspect to solve a support ticket,

14:56

or fix a GitHub issue, or look at a Sentry error,

14:59

or Linear ticket

15:01

or Zendesk ticket, whatever it may be.

15:03

It runs on Modal in the background.

15:05

Your access it via web.

15:07

Yeah.

15:07

And a lot of people kick off stuff from Slack.

15:09

So if you're in a conversation

15:10

with someone about something

15:12

and you @Inspect,

15:13

can you go handle this or can you put up a PR

15:15

to fix this or investigate this?

15:17

And that actually ended up being

15:19

the main way that

15:21

adoption was spread,

15:22

because you would hop into someone else's

15:23

thread and @Inspect.

15:24

Can you help them with this?

15:27

And they’d see it and go, oh, you can just do that?

15:28

Oh. Great.

15:29

Yeah.

15:30

And every PR now comes with its own VM

15:32

and it’s like running for a little while

15:34

so people can take over sessions, collaborate,

15:37

it's all link based.

15:38

It's all multiplayer.

15:39

It just works out of the box.

15:41

And again

15:41

we've tried to focus on the correct trace, like,

15:43

what should this agent have done?

15:45

And try to shape it, to that way,

15:48

so that it can do a lot.

15:50

At any given point, sometimes

15:52

people feel the urge to move back to local dev.

15:54

We haven’t fully finished this project,

15:57

but we've tried to

15:59

give Inspect that additional tool,

16:01

that additional repo or dependency

16:04

that allows people to stay

16:05

a little bit further in the background.

16:06

I also do want to mention on call assistant.

16:08

So on call assistant

16:10

has been running on and always ran on

16:14

Claude Code.

16:15

And that's another

16:16

instance of just taking what works really well

16:18

locally, proving it out locally,

16:21

building up the skills and MCPs and prompts

16:24

that make, essentially like an AI SRE

16:28

run really well on incidents to root

16:30

cause them and put up PRs of fixes

16:32

and then just packaging

16:33

that and having it run

16:35

in a container

16:37

with safeguards and guardrails.

16:38

So on call assistant runs on every instant

16:41

that gets assigned to our engineers.

16:43

So that includes customer tickets, customer

16:46

support tickets that require an engineer,

16:48

but also includes system level incidents.

16:51

We're working on it. And then comes back in

16:52

with a really solid root

16:53

cause analysis in the Slack channel

16:56

that we have for every incident.

16:58

And then the incident

16:59

responders interact with it.

17:00

And we've had that running since

17:03

late February or March.

17:06

The stuff

17:07

you can build on the primitives

17:08

on this sort of Unix philosophy,

17:11

Claude Code executable, it's just wild.

17:14

Yeah.

17:14

We have a bunch of really

17:15

similar tools internally.

17:17

And, now Claude tag,

17:20

which sounds pretty similar to Inspect.

17:22

It sounds like.

17:23

In a lot of ways.

17:23

Yeah, it's also multiplayer.

17:25

It's also kind of proactive.

17:26

You know, it's in Slack.

17:27

It’s sort of taken over a lot of these

17:29

special purpose bots.

17:30

I wonder if you guys are seeing the same thing?

17:31

Yeah, we're seeing something similar.

17:33

So more Inspect

17:34

sessions are coming from

17:35

automations than humans at this point.

17:38

So every time something is,

17:38

So every time something is,

17:39

there is some sort of trigger.

17:40

Sometimes they're scheduled

17:42

at a certain time of the day,

17:43

sometimes they're from other external systems.

17:45

Then a session kicks off and sometimes notifies

17:47

people and channels or by DM.

17:50

And I guess for this one also organizationally,

17:52

culturally, how do you do it?

17:53

Is it like

17:54

each of these automations is built

17:56

by different teams that's closest to it?

17:58

Or do you have like a central dev infra

17:59

or like AI team

18:00

that is responsible for all of these?

18:02

It’s been very, surprisingly, very decentralized,

18:05

and we're very happy about that.

18:06

I mean, there are teams that maintain certain

18:08

abstractions, in the Inspect team,

18:10

as you mentioned,

18:11

the Inspect abstraction, that is a bedrock

18:15

for a lot of these automations.

18:16

And if you let everybody build

18:18

what they would like to build

18:19

we’re okay with that.

18:20

And we want that, we want more of it.

18:22

All we can do is build a great product,

18:24

so other teams are incentivized

18:25

to build on top of us.

18:26

It's also a mix of, like, desire paths of people

18:30

wanting the same,

18:31

expressing the want

18:32

for the same sort of thing,

18:33

or building the same thing separately,

18:35

and then the sort of platform team going,

18:37

okay, let's make a solid thing for this.

18:39

And vision from the platform team of

18:42

we're going to need this

18:43

when the model gets smarter.

18:45

Yeah. I mean, so

18:46

taking a step back, one of the things that

18:48

we've tried to do is not impose

18:51

limits on how much,

18:52

how many tokens or dollars

18:53

each individual spends.

18:55

We want them to be able to access

18:57

any level of intelligence without limits.

18:59

So because of that, we've tried

19:01

to do everything else in our power

19:02

to make sure that people can step up

19:05

and get that intelligence where they want.

19:07

So that includes things like defaults.

19:08

It's using batch and flex APIs.

19:11

It's using cheaper models for automations

19:13

when they're not human controlled.

19:15

So we always expect

19:16

to stay on the latest frontier.

19:17

And so

19:18

we don't want features or people

19:19

overfit on a certain model's behavior.

19:21

And then there's a good amount

19:22

of just talking to people too.

19:24

I think you and I have

19:25

both done this where we see

19:26

someone suddenly become a top spender

19:29

on a certain month, like way

19:31

above what they normally do.

19:32

And we reach out to them and say, hey,

19:34

what are you working on?

19:36

You know, it looks like you're spending a lot.

19:38

I'm curious.

19:39

And if it's something

19:41

that you're not planning

19:42

on platformizing, but is platformizable

19:45

let’s work together, let's do that,

19:47

let's expand the impact.

19:49

And if it's a mistake then

19:52

I'll help you with that.

19:54

And then

19:55

we can work on getting the costs down later

19:57

if it's something you do want a platformize.

19:59

So essentially

20:00

it's like this, this culture of, like,

20:01

experimentation and innovation.

20:04

It's letting you just

20:05

totally automate, like a big swaths of work

20:08

that used to be manual before.

20:09

So obviously it works.

20:11

And so then kind of your job

20:13

is to support people

20:14

and optimize the use case after it takes off.

20:16

Yeah.

20:17

And so the other way to

20:18

look at it

20:18

almost is like if you are

20:20

in the positive ROI section

20:21

where you know that

20:23

every dollar you spend on tokens,

20:25

you're actually making more than $1,

20:27

you actually don't want to be minimizing costs anymore.

20:29

We also expect the level

20:30

of intelligence that fable has,

20:32

the cost of that to decrease over time

20:34

as it has for the last few years.

20:36

It's not anything new.

20:37

And we rather have,

20:39

everybody at Ramp be familiar

20:40

and really good at pushing the frontier

20:43

and pushing with intelligence,

20:44

making it sweat

20:45

on hard problems sooner than later.

20:48

What is your advice

20:49

to your peers, to other CTOs

20:51

that are trying to figure out,

20:52

what do you do?

20:53

How do you adopt agents?

20:55

How do you make your way

20:56

through this thing that's happening

20:58

in the industry?

20:59

We've made a lot of progress

21:00

in the models today.

21:01

We have great tools at our disposal.

21:04

But I think the thing

21:05

that people don't pay as much attention to

21:08

is also the rate of change

21:09

and how much things are changing,

21:11

over the last few years.

21:13

And if you pay more attention to that

21:15

as opposed to the current snapshot,

21:17

then you begin to see

21:18

the pattern of

21:19

like rising intelligence and agency,

21:22

the ability for models to do more things.

21:25

And I think we've tried to build for what comes

21:28

3 to 6 months later down the line,

21:30

because sometimes when you're playing catch up

21:31

and you’re building for what's available today,

21:34

it might

21:34

already be too late by the time you ship.

21:37

And so,

21:39

paying attention to the scaling itself

21:41

has been very helpful for us.

21:43

All right.

21:43

So with that, Austin, Rahul,

21:45

thank you guys

21:46

so much for taking the time

21:47

and for hosting us in this beautiful space.

21:49

Thank you guys so much.

21:50

Thank you.

Interactive Summary

Fable has successfully tackled import cycles and made Ramp's app lazy, significantly reducing CI time from 18 to 6 minutes. The company leverages dynamic workflows and test-time compute, distinguishing them from repetitive loops, to address complex system optimizations. Agents like 'Inspect' and an 'On-call assistant' are integrated across the entire engineering lifecycle, handling tasks from support tickets to incident root cause analysis. Ramp fosters a decentralized development culture, empowers engineers with access to tools without strict budget limits, and prioritizes building for future model capabilities over current snapshots, ensuring agents have the right access and guardrails.

Suggested questions

7 ready-made prompts