1
00:00:02,981 --> 00:00:03,781
Hello, hello.

2
00:00:11,481 --> 00:00:12,441
Hello, New York.

3
00:00:16,661 --> 00:00:19,421
Hi, Mitch. I'm one of the two co-founders of Basis.

4
00:00:19,421 --> 00:00:22,621
We are based right here in New York City.

5
00:00:22,901 --> 00:00:32,401
And the thing that we focus on is how can we get agents to do production scale work reliably enough

6
00:00:32,401 --> 00:00:38,941
so that we are trusted and used end-to-end by accounting firms across the country.

7
00:00:39,561 --> 00:00:40,021
So

8
00:00:40,201 --> 00:00:41,861
a lot of our research really focuses on this.

9
00:00:42,081 --> 00:00:45,761
How can you get these agents to do real work in the real economy?

10
00:00:46,281 --> 00:00:53,321
So I want to start with a question, which is, if you're at this conference,

11
00:00:53,461 --> 00:00:56,761
honestly, if you're watching this talk, you probably

12
00:00:56,761 --> 00:00:58,501
increased your own productivity a lot.

13
00:00:58,881 --> 00:01:03,581
You're using Co-Work, or Codex, or Claude Code, whatever it is.

14
00:01:03,581 --> 00:01:10,121
And yet, if you go look at the average company, the average enterprise, the average firm,

15
00:01:10,681 --> 00:01:14,641
their productivity hasn't gone up 10x, 100x.

16
00:01:15,001 --> 00:01:18,061
I know my productivity has gone up maybe 100x.

17
00:01:18,301 --> 00:01:22,921
But if I were working inside of a company, it wouldn't be anywhere near that order of magnitude.

18
00:01:23,181 --> 00:01:24,241
And so why is that?

19
00:01:26,401 --> 00:01:32,321
At basis, one of the sayings we have is that humans are already used to working with non-deterministic systems.

20
00:01:32,321 --> 00:01:36,401
It's just those systems are normally their co-workers, not their computers.

21
00:01:36,921 --> 00:01:38,921
And so I actually think to answer this question,

22
00:01:39,041 --> 00:01:43,461
it's useful to maybe look at the existing way we organize intelligent systems,

23
00:01:43,921 --> 00:01:44,881
which are companies.

24
00:01:46,001 --> 00:01:50,421
So how do organizations scale their own productivity, right?

25
00:01:53,301 --> 00:01:58,621
Organizations need to trust that the people doing the work at every level

26
00:01:58,621 --> 00:02:05,041
are doing it in a way that is going to produce good outputs consistently at scale, right?

27
00:02:05,101 --> 00:02:08,201
If you look at this image here, here I'm showing an accounting firm,

28
00:02:08,321 --> 00:02:11,281
but this could honestly be any company, traditional company.

29
00:02:11,661 --> 00:02:13,681
The person who is the head of the firm,

30
00:02:14,521 --> 00:02:20,041
they have literally no idea about the exact day-to-day of the people at the very bottom.

31
00:02:20,281 --> 00:02:22,921
And yet, somehow, they trust the work is going to be done.

32
00:02:23,481 --> 00:02:24,401
How does that happen?

33
00:02:25,981 --> 00:02:30,601
it doesn't happen through deterministic systems right people are not deterministic

34
00:02:30,601 --> 00:02:35,741
they're intelligent entities and instead there are processes that are put in place and those

35
00:02:35,741 --> 00:02:41,741
processes if we believe the people who you know put them in place think that those processes will

36
00:02:41,741 --> 00:02:47,221
generalize to good outcomes then they can be comfortable that even though the people executing

37
00:02:47,221 --> 00:02:51,841
the processes are not deterministic you will generally get to good outcomes if you follow

38
00:02:51,841 --> 00:02:56,481
the process. This is true, by the way, even in the smallest step. So in this example,

39
00:02:57,101 --> 00:03:02,161
earlier I was showing the process of maybe doing the monthly accounting work for a client at an

40
00:03:02,161 --> 00:03:08,341
accounting firm. But even within that process, say you wanted to see how do I reconcile the cash?

41
00:03:08,481 --> 00:03:15,161
Well, I need to get the bank data. And even that has a process. The process could be really basic.

42
00:03:15,301 --> 00:03:20,181
It could just be use the approved software to extract the data. But there's still some process

43
00:03:20,181 --> 00:03:21,061
that is put in place.

44
00:03:21,361 --> 00:03:25,101
You wouldn't expect the firm to just let anyone Google,

45
00:03:25,341 --> 00:03:27,741
you know, extract PDF and then just use whatever they want

46
00:03:27,741 --> 00:03:30,601
to go extract it, because now you wouldn't have process.

47
00:03:33,781 --> 00:03:35,961
Now let's talk about agents.

48
00:03:38,161 --> 00:03:41,001
As I said earlier, everyone already has

49
00:03:41,001 --> 00:03:43,581
Cowork, ChatGPT, Codex, Claude Code,

50
00:03:43,701 --> 00:03:44,821
but where is that productivity?

51
00:03:46,261 --> 00:03:49,941
Our opinion is there are two main problems

52
00:03:49,941 --> 00:03:53,881
that come with what I'll call coding-style agent products,

53
00:03:53,881 --> 00:03:54,981
where you're working with an agent

54
00:03:54,981 --> 00:03:56,301
and you just tell it to go and do something.

55
00:03:57,161 --> 00:04:00,541
The first problem is that there is a competency gap.

56
00:04:01,661 --> 00:04:04,721
Because agents, as you think of them today,

57
00:04:04,961 --> 00:04:07,761
they outsource the complexity to the user.

58
00:04:08,361 --> 00:04:14,481
If I'm the user, I now have to manage my skill and memories

59
00:04:14,481 --> 00:04:19,161
and think about when I should use the agent.

60
00:04:19,161 --> 00:04:20,821
I have to have theory of mind over it.

61
00:04:20,961 --> 00:04:22,121
This is really hard.

62
00:04:22,901 --> 00:04:25,581
And for those who are here, maybe you guys find it easy.

63
00:04:25,741 --> 00:04:29,301
But I promise, for the wide majority of knowledge workers,

64
00:04:29,461 --> 00:04:32,001
they have no idea how to do any of this.

65
00:04:33,821 --> 00:04:37,081
And there's a second problem, which is there is a process gap.

66
00:04:37,901 --> 00:04:41,781
If you are saying, hey, user, here's your agent.

67
00:04:42,261 --> 00:04:43,521
Do what you want.

68
00:04:43,721 --> 00:04:46,421
Well, now suddenly, the way the work is being done

69
00:04:46,421 --> 00:04:48,921
is essentially up to whoever the user is

70
00:04:48,921 --> 00:04:50,981
to customize the way the agent is behaving,

71
00:04:51,841 --> 00:04:56,341
which goes entirely against the way that organizations scale.

72
00:04:56,601 --> 00:04:59,941
The process should be coming from senior leadership down,

73
00:04:59,941 --> 00:05:02,781
not from any individual employee

74
00:05:02,781 --> 00:05:04,621
deciding how they're going to do their job.

75
00:05:04,861 --> 00:05:06,581
Going back to my example,

76
00:05:06,721 --> 00:05:10,121
if every employee just made up their own way of extracting data,

77
00:05:10,301 --> 00:05:13,561
even back in 2018, that wouldn't be a good outcome.

78
00:05:14,681 --> 00:05:16,861
And so we believe strongly

79
00:05:16,861 --> 00:05:19,061
that the key to building production agents

80
00:05:19,061 --> 00:05:20,641
that actually do work end-to-end

81
00:05:20,641 --> 00:05:21,761
is solving these two problems.

82
00:05:22,221 --> 00:05:23,941
You have to solve the competency gap

83
00:05:23,941 --> 00:05:25,881
by making it simple.

84
00:05:26,761 --> 00:05:28,581
To the user, you shouldn't even have to know

85
00:05:28,581 --> 00:05:30,721
it's an agent, or you probably know,

86
00:05:30,801 --> 00:05:33,101
but you don't have to really feel it.

87
00:05:33,181 --> 00:05:36,081
It should be as simple as just working with a coworker.

88
00:05:36,241 --> 00:05:37,481
You just tell it what you want it to do,

89
00:05:37,501 --> 00:05:39,701
and all the things you expect to work should work.

90
00:05:40,341 --> 00:05:41,801
And the second is the process gap.

91
00:05:41,941 --> 00:05:44,561
You need agents to be reliable.

92
00:05:45,281 --> 00:05:48,481
Not having a stroke of genius one day and forgetting something the other day.

93
00:05:48,661 --> 00:05:51,241
It's not about being perfect.

94
00:05:51,961 --> 00:05:53,161
Humans are not perfect.

95
00:05:53,681 --> 00:05:55,281
Nobody is looking for perfect.

96
00:05:55,661 --> 00:06:00,201
What you're looking for is reliability and consistency and trustworthiness.

97
00:06:01,721 --> 00:06:03,201
So what does that actually look like?

98
00:06:04,841 --> 00:06:08,221
We think that to be simple and reliable,

99
00:06:08,861 --> 00:06:13,281
where you don't have to think about what to do,

100
00:06:13,281 --> 00:06:17,421
the agent can just do it for you without the user knowing the internals.

101
00:06:17,621 --> 00:06:24,721
To do it the same way consistently, you have to be opinionated.

102
00:06:25,921 --> 00:06:27,961
Just to show you actually one slide back here,

103
00:06:28,161 --> 00:06:32,381
I want to point out that getting it right isn't actually the main task.

104
00:06:32,581 --> 00:06:34,381
Because again, humans are imperfect themselves.

105
00:06:34,841 --> 00:06:37,181
The point is to do it in the similar way.

106
00:06:37,361 --> 00:06:39,281
It's okay if you can't do something.

107
00:06:39,941 --> 00:06:42,301
But you should be consistently able to not do something.

108
00:06:42,301 --> 00:06:44,101
And then you get better, just like a person does.

109
00:06:44,461 --> 00:06:47,021
If you suddenly one day are an expert at something,

110
00:06:47,161 --> 00:06:49,861
and then you miss something very basic that would be expected,

111
00:06:50,081 --> 00:06:51,261
now you're not reliable.

112
00:06:53,161 --> 00:06:54,221
So you have to be opinionated.

113
00:06:55,701 --> 00:06:56,921
What's an example of an opinion?

114
00:06:58,861 --> 00:07:02,821
Let's say we have an agent, and we need to go and read a PDF.

115
00:07:03,201 --> 00:07:05,501
So in this case, what is the best way to read a PDF?

116
00:07:06,501 --> 00:07:07,301
There's many ways.

117
00:07:07,421 --> 00:07:09,121
You can throw it into a VLM.

118
00:07:09,121 --> 00:07:12,701
You can go write some Python code and use an open source OCR library.

119
00:07:12,981 --> 00:07:17,041
You can work with one of the many OCR-specific model providers.

120
00:07:17,701 --> 00:07:21,881
You could do an OCR, and then you could have the VLM check its work.

121
00:07:22,061 --> 00:07:23,961
You could have five VLMs check its work.

122
00:07:24,081 --> 00:07:26,261
You could do 100 VLMs and take the best event.

123
00:07:26,441 --> 00:07:28,281
There's literally infinite possibilities here.

124
00:07:29,081 --> 00:07:36,941
And so if you just said, agent, extract PDF, you might get good outcomes, but they're not

125
00:07:36,941 --> 00:07:37,601
going to be reliable.

126
00:07:38,301 --> 00:07:40,261
Not because the process it did was bad,

127
00:07:40,321 --> 00:07:42,941
but because the process it did was not opinionated.

128
00:07:48,841 --> 00:07:51,561
So the way we develop opinions

129
00:07:51,561 --> 00:07:55,001
is you use initial intuition.

130
00:07:55,141 --> 00:07:57,701
Some things, you know what the opinions are from expertise.

131
00:07:57,981 --> 00:08:02,321
For example, if I'm trying to get an agent to do tax work well,

132
00:08:03,441 --> 00:08:07,601
I know that if the agent goes and reads the primary source

133
00:08:07,601 --> 00:08:08,761
before returning to the user,

134
00:08:08,961 --> 00:08:10,541
it is more likely to be accurate.

135
00:08:11,621 --> 00:08:13,921
I don't need a set of evals to tell me that.

136
00:08:13,961 --> 00:08:15,501
I don't need to divine that from first principles.

137
00:08:16,361 --> 00:08:17,861
We know that, right?

138
00:08:18,101 --> 00:08:20,041
I know that if I have an agent make a PowerPoint,

139
00:08:20,281 --> 00:08:21,741
if it takes a picture of the PowerPoint

140
00:08:21,741 --> 00:08:23,741
before it returns to the user,

141
00:08:23,881 --> 00:08:26,041
it is less likely to have a formatting issue.

142
00:08:26,501 --> 00:08:27,461
That is obvious.

143
00:08:29,161 --> 00:08:31,981
And so there are lots of different ways to develop opinions.

144
00:08:32,321 --> 00:08:38,341
And one of the key points here I'll just make before I move on to talking about how to use the opinions is that the opinions are not just about accuracy.

145
00:08:38,661 --> 00:08:41,661
We just talked about the example of taking a picture of a PowerPoint.

146
00:08:42,221 --> 00:08:43,441
Well, that adds latency.

147
00:08:44,461 --> 00:08:45,541
You may not want that.

148
00:08:45,821 --> 00:08:50,801
Maybe the agent only makes formatting mistakes one out of 100 times, and you're okay with that.

149
00:08:51,101 --> 00:08:54,061
And so, therefore, you don't have to take a picture of the PowerPoint.

150
00:08:54,481 --> 00:08:56,881
The point isn't exactly what the opinion is.

151
00:08:57,041 --> 00:09:01,781
And this talk, we're going to focus not on how to develop opinions, but why opinions matter.

152
00:09:01,781 --> 00:09:05,461
and then how to leverage those opinions as you scale in production.

153
00:09:09,741 --> 00:09:13,561
So say you have a bunch of outcome-based evals.

154
00:09:13,721 --> 00:09:15,181
And when I say outcome-based evals,

155
00:09:15,281 --> 00:09:17,701
I mean what we traditionally think of as evals.

156
00:09:17,881 --> 00:09:19,481
It has a right answer.

157
00:09:19,701 --> 00:09:20,681
We have some rubric.

158
00:09:20,821 --> 00:09:21,841
We're trying to judge what the agent did.

159
00:09:22,481 --> 00:09:26,421
How do you know that the evals generalize to production?

160
00:09:27,301 --> 00:09:30,061
You might have 1,000 cases or 100 cases.

161
00:09:30,061 --> 00:09:31,641
But in production, if you're doing real work,

162
00:09:31,641 --> 00:09:34,341
you're going to have hundreds of thousands of situations.

163
00:09:34,681 --> 00:09:39,961
And that's only going to increase as the trajectories get much longer

164
00:09:39,961 --> 00:09:42,901
because the amount of decisions that are made in a trajectory

165
00:09:44,141 --> 00:09:49,681
just grow exponentially as the long horizon abilities of agents increase.

166
00:09:51,441 --> 00:09:56,881
And so I can't prove, if you look at all these distribution of trajectories,

167
00:09:56,981 --> 00:09:59,281
you can't prove every one of them is correct.

168
00:09:59,281 --> 00:10:00,821
You don't have a ground truth for every trajectory.

169
00:10:02,121 --> 00:10:07,901
But you can potentially look at the trajectories to decide if the behavior, the opinion that

170
00:10:07,901 --> 00:10:09,781
you have, is actually happening.

171
00:10:10,561 --> 00:10:16,001
And you can then infer that if it's actually happening, it's more likely to generalize

172
00:10:16,001 --> 00:10:16,741
to production.

173
00:10:16,921 --> 00:10:17,541
It's not perfect.

174
00:10:17,641 --> 00:10:18,621
You don't know for sure.

175
00:10:18,801 --> 00:10:21,521
But at least you are having an opinion.

176
00:10:22,941 --> 00:10:24,501
Let's run through a real example.

177
00:10:24,501 --> 00:10:40,021
So let's say that I, for a behavior, this is an accounting example, where if there is a mistake in the bank reconciliation, I

178
00:10:40,761 --> 00:10:44,641
don't want the agent to post an entry to make a tie.

179
00:10:44,841 --> 00:10:48,861
I want it to explain the difference instead of putting a plug.

180
00:10:49,301 --> 00:10:50,541
Again, this is subjective.

181
00:10:50,721 --> 00:10:51,941
You might want the other way.

182
00:10:52,701 --> 00:10:56,641
But what you don't want is a customer getting one way one time and another way the other time.

183
00:10:57,581 --> 00:10:58,621
And so what would you do?

184
00:10:58,901 --> 00:11:01,901
Well, first, let's understand what governs the behavior.

185
00:11:02,841 --> 00:11:07,241
The behavior is not just you write the two sentences into your system prompt and it just works.

186
00:11:07,521 --> 00:11:09,681
That might work for very simple, narrow agents.

187
00:11:09,761 --> 00:11:15,061
But when you're building these big agent systems, the behavior is actually a combination of the system prompt,

188
00:11:15,461 --> 00:11:21,101
your progressive disclosures, potentially tool descriptions, obviously the training of the model.

189
00:11:21,201 --> 00:11:23,041
There's a lot of things that govern the behavior.

190
00:11:24,041 --> 00:11:27,701
And one tip, by the way, I have for when you think about building production agents is

191
00:11:27,701 --> 00:11:31,921
really think of the context the agent is going to see as it's working

192
00:11:31,921 --> 00:11:33,661
as runtime training data.

193
00:11:34,561 --> 00:11:37,081
The word prompt, I think, trivializes it a bit.

194
00:11:37,281 --> 00:11:41,341
At the end of the day, this is the data that the agent is being trained on at runtime.

195
00:11:41,601 --> 00:11:44,341
Not literally trained on, but effectively trained on.

196
00:11:44,501 --> 00:11:46,741
And so you want to care about every single token

197
00:11:46,741 --> 00:11:51,521
and understand how that data causes the agent to behave in certain ways.

198
00:11:53,141 --> 00:11:57,321
So when you're putting behaviors into production,

199
00:11:57,321 --> 00:12:02,481
It might be very difficult for one behavior to put it in exactly one paragraph that you

200
00:12:02,481 --> 00:12:07,181
know exactly because, again, the behavior is all of the data at once, not just one thing.

201
00:12:08,761 --> 00:12:14,661
And one of the things that we developed at Basis was this concept of a behavior spec.

202
00:12:15,201 --> 00:12:21,381
And the idea of a behavior spec is essentially saying, before we update the context or write

203
00:12:21,381 --> 00:12:24,981
the context, what do we actually want?

204
00:12:25,161 --> 00:12:26,361
What is our intent?

205
00:12:26,801 --> 00:12:28,421
You can kind of think of this a little bit

206
00:12:28,421 --> 00:12:30,821
as like a product spec for the agent era.

207
00:12:31,381 --> 00:12:33,841
And you can't write, you shouldn't be writing every detail down.

208
00:12:33,961 --> 00:12:36,301
You should be taking the most important opinions and putting it.

209
00:12:36,381 --> 00:12:37,641
Because if you put everything, you'll

210
00:12:37,641 --> 00:12:39,061
be duplicating a lot of states.

211
00:12:39,221 --> 00:12:40,881
So you define the ones that matter the most.

212
00:12:41,881 --> 00:12:46,981
And then you can use them as a way to align your team

213
00:12:47,441 --> 00:12:48,601
from a spec perspective.

214
00:12:48,621 --> 00:12:50,641
But then you can also use them as a rubric.

215
00:12:50,861 --> 00:12:53,921
And you can say, in this particular trajectory,

216
00:12:53,921 --> 00:12:57,901
whether that is in any trajectory that doesn't have a ground truth.

217
00:12:58,181 --> 00:13:02,041
Did the agent get into a situation in which this behavior was relevant?

218
00:13:02,661 --> 00:13:06,761
And then if so, did it actually exhibit the behavior?

219
00:13:07,221 --> 00:13:10,381
And this way you can scale the amount of signal that you get

220
00:13:10,381 --> 00:13:14,161
on your trajectories far larger than trying to increase

221
00:13:14,161 --> 00:13:17,801
the amount of outcome-based evals, ground truths, and rubrics that you have.

222
00:13:17,941 --> 00:13:18,821
Those are really important.

223
00:13:18,841 --> 00:13:22,481
But you cannot scale those anywhere near as fast

224
00:13:22,481 --> 00:13:25,401
is you can scale the ability to supervise what the behaviors

225
00:13:25,401 --> 00:13:26,341
of the agent are.

226
00:13:28,481 --> 00:13:30,781
Let's just take a quick example here.

227
00:13:32,661 --> 00:13:34,741
This is actually the second concept,

228
00:13:35,461 --> 00:13:38,001
which is called forking, which we can combine here

229
00:13:38,001 --> 00:13:39,741
with behavior specs to think about.

230
00:13:40,061 --> 00:13:44,121
Forking, if you've ever used Claude Code or Codex, the web

231
00:13:44,121 --> 00:13:47,221
apps, there's this little fork icon under each message

232
00:13:47,761 --> 00:13:50,321
where you can essentially create a copy of the agent

233
00:13:50,321 --> 00:13:52,061
using the same thing, which works really well

234
00:13:52,061 --> 00:13:52,841
on your local computer.

235
00:13:53,001 --> 00:13:55,161
It's hard to build a system that does this in the cloud

236
00:13:55,161 --> 00:13:58,461
perfectly with recreating the database environment

237
00:13:58,461 --> 00:14:03,221
and recreating the prompts, all the different environments.

238
00:14:03,481 --> 00:14:06,801
But forking is another tool that we use to check the behavior.

239
00:14:07,061 --> 00:14:09,621
So a flow that you can imagine is saying,

240
00:14:10,601 --> 00:14:11,741
we had a trajectory.

241
00:14:12,021 --> 00:14:13,761
Could be in an eval set.

242
00:14:13,901 --> 00:14:16,081
It could be in testing or in production.

243
00:14:16,561 --> 00:14:18,861
And it failed the behavior eval.

244
00:14:19,001 --> 00:14:20,681
And now you're trying to understand why.

245
00:14:20,681 --> 00:14:23,541
Why did it fail the behavior eval?

246
00:14:23,981 --> 00:14:25,401
Why did it not exhibit the behavior?

247
00:14:25,601 --> 00:14:26,861
And then you can go into the trajectory,

248
00:14:27,161 --> 00:14:30,921
go right before the point in which the agent made the decision

249
00:14:30,921 --> 00:14:32,601
that was in contrast to the behavior,

250
00:14:32,921 --> 00:14:34,721
assuming, again, your behavior is good

251
00:14:34,721 --> 00:14:37,261
and it's actually producing signal,

252
00:14:37,981 --> 00:14:39,121
and then you can fork it.

253
00:14:40,141 --> 00:14:42,921
And when you fork it, you can ask the agent,

254
00:14:44,241 --> 00:14:46,341
or you would fork it right after it made the decision.

255
00:14:46,541 --> 00:14:48,061
You could ask it, why did you do that?

256
00:14:48,061 --> 00:14:52,421
or you can go and update the context of the agent

257
00:14:52,421 --> 00:14:54,501
and see if that improves the behavior.

258
00:14:55,021 --> 00:14:58,301
And so with forking, you can start to actually take the signal

259
00:14:58,301 --> 00:15:01,741
and start to figure out, okay, how can we then improve the harness

260
00:15:01,741 --> 00:15:04,381
to now leverage the signal?

261
00:15:04,941 --> 00:15:07,861
Versus if you're just looking at a signal from an outcome-based eval,

262
00:15:08,121 --> 00:15:10,141
you can't do that anywhere near as easily

263
00:15:10,141 --> 00:15:11,681
because it failed the outcome.

264
00:15:11,981 --> 00:15:13,041
How do you know why?

265
00:15:13,581 --> 00:15:15,981
You have potentially 1,000 inference calls

266
00:15:15,981 --> 00:15:18,761
in your five-hour-long agent trajectory run.

267
00:15:19,921 --> 00:15:21,821
And then we have a last tool that I like to talk about.

268
00:15:21,921 --> 00:15:24,321
This is actually my favorite, which is called simulations.

269
00:15:25,741 --> 00:15:28,061
It's going to sound silly, but I promise it's very effective,

270
00:15:28,281 --> 00:15:31,421
which is that you can, when working with coding agents,

271
00:15:31,921 --> 00:15:34,861
ask the coding agent to make a subagent

272
00:15:34,861 --> 00:15:37,021
that pretends to be your production agent.

273
00:15:37,981 --> 00:15:39,321
And you have to tell it to not cheat,

274
00:15:39,521 --> 00:15:41,481
and you give it the system prompt and the skills,

275
00:15:41,581 --> 00:15:42,621
and you render everything perfectly.

276
00:15:42,861 --> 00:15:44,621
And what you can do is you can ask it

277
00:15:44,621 --> 00:15:46,401
what it would do in some scenario.

278
00:15:46,421 --> 00:15:47,541
You can give it the situation.

279
00:15:47,721 --> 00:15:49,581
And see if you can recreate the situation

280
00:15:49,581 --> 00:15:51,441
that you saw in your eval or in production.

281
00:15:51,501 --> 00:15:52,641
And if you can recreate it,

282
00:15:52,901 --> 00:15:54,321
now you can tweak your context

283
00:15:54,321 --> 00:15:57,381
to see if the subagent would change its behavior

284
00:15:57,381 --> 00:15:58,221
based on your tweaks.

285
00:15:59,181 --> 00:16:00,341
And the reason to do this,

286
00:16:00,441 --> 00:16:02,621
it's obviously far worse than forking,

287
00:16:02,781 --> 00:16:04,941
but you do this because this is much cheaper,

288
00:16:05,101 --> 00:16:05,961
much faster,

289
00:16:06,001 --> 00:16:07,581
and allows you as an agent builder

290
00:16:07,581 --> 00:16:09,941
to really easily iterate on ideas

291
00:16:10,781 --> 00:16:13,001
without needing to go through the expensive process

292
00:16:13,001 --> 00:16:15,161
of actually forking an entire environment.

293
00:16:16,381 --> 00:16:18,661
And you can do this today without building anything.

294
00:16:19,261 --> 00:16:23,301
I did this for literally a year and a half plus

295
00:16:23,301 --> 00:16:26,221
before we built forking into our internal systems.

296
00:16:27,821 --> 00:16:30,981
And the main idea here is understanding

297
00:16:30,981 --> 00:16:34,521
that if you look at the distribution from earlier,

298
00:16:34,821 --> 00:16:35,741
you're trying to understand,

299
00:16:35,741 --> 00:16:40,961
is the agent generalizing to that distribution?

300
00:16:40,961 --> 00:16:43,561
And so you don't know purely based on the outcome evals.

301
00:16:43,621 --> 00:16:45,381
You can try to choose the best outcome evals

302
00:16:45,381 --> 00:16:47,841
that should represent the curve, but you don't really know.

303
00:16:48,101 --> 00:16:51,881
And so supervising the process through some of these methods

304
00:16:51,881 --> 00:16:54,381
gives you some additional signal in order to understand

305
00:16:54,381 --> 00:16:55,681
if it's generalizing properly.

306
00:16:57,361 --> 00:17:02,441
And what's really cool is as you start to get more signal,

307
00:17:02,881 --> 00:17:05,041
you can actually start to close the loop.

308
00:17:06,061 --> 00:17:08,381
And an opinion is what lets you do that, right?

309
00:17:08,401 --> 00:17:10,021
If you don't have opinions about your system,

310
00:17:10,021 --> 00:17:11,881
you're not going to be able to develop that signal.

311
00:17:14,601 --> 00:17:16,081
And now if we go back to the firm,

312
00:17:16,301 --> 00:17:18,301
we talked about supervision,

313
00:17:18,301 --> 00:17:21,061
we talked about how the agent,

314
00:17:21,681 --> 00:17:23,721
if he's opinionated, can be more reliable

315
00:17:23,721 --> 00:17:25,121
and actually can be simpler.

316
00:17:26,221 --> 00:17:27,661
What that means is the agent,

317
00:17:27,881 --> 00:17:29,381
maybe it starts doing something narrow,

318
00:17:29,521 --> 00:17:32,601
but because people will work with it,

319
00:17:32,681 --> 00:17:33,901
they see that it's easy to use,

320
00:17:34,041 --> 00:17:35,521
and they see that it's reliable.

321
00:17:35,641 --> 00:17:37,681
As it gets better and better, they will trust it more.

322
00:17:37,941 --> 00:17:39,641
It's just like a co-worker.

323
00:17:40,021 --> 00:17:41,161
You have a coworker, day one.

324
00:17:41,601 --> 00:17:43,101
Imagine someone sends you a PR.

325
00:17:44,421 --> 00:17:48,241
You're not going to, if it's, you're looking at two axes whenever someone sends you a PR.

326
00:17:48,361 --> 00:17:49,001
It's these two axes.

327
00:17:49,641 --> 00:17:50,921
What's the blast radius of the PR?

328
00:17:51,241 --> 00:17:53,841
And what is your perception of how competent that person is?

329
00:17:54,541 --> 00:17:54,801
Right?

330
00:17:55,561 --> 00:18:00,321
If the least competent person at your company is sending you a PR that's editing a core service,

331
00:18:00,501 --> 00:18:01,141
you're going to look at it.

332
00:18:02,481 --> 00:18:06,501
If the most competent person is sending you a PR that's editing an internal document,

333
00:18:06,641 --> 00:18:07,661
you may not look at it as much.

334
00:18:08,941 --> 00:18:12,801
and so this idea is true with humans working with agents just like it is with humans working with

335
00:18:12,801 --> 00:18:19,641
humans and i think i just want to make one last point to close here which is that one of the

336
00:18:19,641 --> 00:18:23,881
things that people say when they hear this is well wait a second if you let the agents just do what

337
00:18:23,881 --> 00:18:29,861
they want won't they find a better way won't they move 37 your work and the answer is they might

338
00:18:30,561 --> 00:18:34,621
But that's not how you scale GDP and scale output.

339
00:18:35,081 --> 00:18:38,581
Nobody wants their agent to move 37 their tax return.

340
00:18:39,681 --> 00:18:44,121
They want it done reliably at scale in a way that they can trust

341
00:18:44,121 --> 00:18:46,241
and in a way that their people know how to work with.

342
00:18:46,961 --> 00:18:49,961
And so the thing I will leave you with is for agents to diffuse,

343
00:18:50,361 --> 00:18:51,461
they need to be simple.

344
00:18:51,861 --> 00:18:54,881
For teams to trust them, they need to be reliable.

345
00:18:55,261 --> 00:18:58,961
The way you get to simple and reliable is you develop opinions

346
00:18:58,961 --> 00:19:00,621
on how the agent behaves,

347
00:19:00,681 --> 00:19:03,761
and then opinions allow you to build that additional signal

348
00:19:03,761 --> 00:19:05,561
that helps you start to close the loop

349
00:19:05,561 --> 00:19:08,421
so that you can achieve self-improving agents in production.

350
00:19:08,761 --> 00:19:09,681
Thank you very much.
