1
00:00:00,864 --> 00:00:01,384
Hello

2
00:00:01,384 --> 00:00:08,084
Exciting to be here. My name is Frank. I work at Coatue which is a technology investment firm across public and private markets

3
00:00:08,084 --> 00:00:14,024
So, in our business, what you really need to do is be able to take high conviction bets

4
00:00:14,024 --> 00:00:17,004
on big themes and watch those play out.

5
00:00:17,244 --> 00:00:19,464
I think, honestly, a career is the same way.

6
00:00:19,924 --> 00:00:25,044
And last year when I joined Coatue, the bet that I wanted to make was I think that agents

7
00:00:25,044 --> 00:00:28,324
will have an even bigger impact in investing than they did at coding.

8
00:00:29,024 --> 00:00:30,284
I know that's a big statement.

9
00:00:30,504 --> 00:00:34,684
We're all here because of the transformative impact that AI has had in coding.

10
00:00:35,044 --> 00:00:36,784
But I really believe it strongly.

11
00:00:36,784 --> 00:00:41,164
And today I want to talk a little bit about the framework that we use to actually realize

12
00:00:41,164 --> 00:00:41,664
that impact.

13
00:00:42,824 --> 00:00:48,124
So, at a high level, you can think about a hedge fund as a function that takes in two

14
00:00:48,124 --> 00:00:54,304
parameters, context external and context internal, and spits out one tuple.

15
00:00:54,724 --> 00:00:56,904
Selection, size, timing.

16
00:00:57,924 --> 00:01:00,224
stock, how much, when.

17
00:01:01,344 --> 00:01:07,964
And I think this is a good framework to actually ground our work, which is we are trying to

18
00:01:07,964 --> 00:01:12,704
solve this compression problem of how do you take all the information in the world and

19
00:01:12,704 --> 00:01:19,044
spit out this one simple tuple and the product that we provide is essentially a time series

20
00:01:19,044 --> 00:01:21,004
of this tuple that constructs a portfolio.

21
00:01:22,324 --> 00:01:23,864
let's start from the top, which is the inputs.

22
00:01:25,484 --> 00:01:26,164
simple philosophy.

23
00:01:26,864 --> 00:01:30,264
We use our screens, we look at stuff, we do work.

24
00:01:30,864 --> 00:01:35,104
Every single thing that a human can see in pixels on the screen, an agent in your building

25
00:01:35,104 --> 00:01:36,564
should be able to see via API.

26
00:01:37,444 --> 00:01:43,444
The analogy I use is imagine you brought the smartest people ever, the greatest investors

27
00:01:43,444 --> 00:01:48,004
alive and you brought them into your company but you gave them a computer without logins

28
00:01:48,004 --> 00:01:49,624
to 75% of your services.

29
00:01:50,244 --> 00:01:55,124
It's almost immaterial how smart this system is if it doesn't have the tools to actually

30
00:01:55,124 --> 00:01:55,644
action that.

31
00:01:56,304 --> 00:02:04,944
So the two parts, external context, no surprises here, think the news, prices, filings, all

32
00:02:04,944 --> 00:02:10,324
of that should be easily accessible and not via dragging and dropping, copy and pasting,

33
00:02:10,504 --> 00:02:12,024
like directly via API.

34
00:02:13,704 --> 00:02:17,464
Internal context is just as important, right?

35
00:02:17,684 --> 00:02:19,984
So this is your own firm situation.

36
00:02:20,304 --> 00:02:24,564
So that might be our current positions, potential liquidity and risk requirements we have around

37
00:02:24,564 --> 00:02:33,144
certain names, and past case studies or history with a certain sector or stock or management

38
00:02:33,144 --> 00:02:33,544
team.

39
00:02:33,984 --> 00:02:35,024
That is all super important.

40
00:02:35,484 --> 00:02:40,604
So this is the foundation, and I think, no credit to me, Coatue has been an amazing leader

41
00:02:40,604 --> 00:02:42,404
on this for over a decade.

42
00:02:42,824 --> 00:02:44,864
It is both technological and cultural.

43
00:02:45,224 --> 00:02:50,644
We have an amazing data science team, amazing processes, amazing systems that bring all

44
00:02:50,644 --> 00:02:56,324
this in, and just as importantly, we have a culture that is super, super rigorous and

45
00:02:56,324 --> 00:02:58,544
built from the ground up to capture all this insight.

46
00:02:58,884 --> 00:03:03,804
For decades, we filed every single note about every single trade, about every single decision

47
00:03:03,804 --> 00:03:07,884
we made or didn't make about what went well and what didn't go well, and that has poised

48
00:03:07,884 --> 00:03:09,224
us to expose us to AI.

49
00:03:11,704 --> 00:03:17,144
If you think about it, I probably can't just take all of those things, jam them into a

50
00:03:17,144 --> 00:03:20,904
context window and get my magic three numbers and go home.

51
00:03:21,504 --> 00:03:22,644
It can't be that easy.

52
00:03:23,224 --> 00:03:26,344
You probably have to break down this function a bit further.

53
00:03:27,984 --> 00:03:34,144
So maybe the first step is I take in that external and internal context and I gather

54
00:03:34,144 --> 00:03:34,444
it.

55
00:03:35,004 --> 00:03:38,404
I want to gather it, I want to filter out what is relevant and not relevant.

56
00:03:39,184 --> 00:03:44,264
Okay, well, I pulled some news articles about the MBA that probably isn't material to stocks,

57
00:03:44,264 --> 00:03:49,724
but this is related to local permitting that might impact data centers.

58
00:03:50,544 --> 00:03:52,584
There is a lot of nuance in this gather step.

59
00:03:55,144 --> 00:03:58,584
you will see probably the next step is I need to analyze that information and form

60
00:03:58,584 --> 00:03:58,964
a view.

61
00:03:59,784 --> 00:04:07,784
I need to think about what that means for the markets, public and private, and then

62
00:04:07,784 --> 00:04:11,024
I need to take that view and turn it into a decision.

63
00:04:11,024 --> 00:04:16,644
A decision object has these three parameters, these three sub pieces.

64
00:04:17,424 --> 00:04:24,264
You can see every single step has an input and an output, and the input for the subsequent

65
00:04:24,264 --> 00:04:27,424
step is the output that the previous function generated.

66
00:04:28,424 --> 00:04:33,904
I think as an engineer, this is a way for me to conceptualize the problem in a way that

67
00:04:33,904 --> 00:04:34,604
makes a lot of sense.

68
00:04:34,844 --> 00:04:39,244
But even this, it really can't be as simple as writing three functions.

69
00:04:40,304 --> 00:04:47,244
So let's just, to really appreciate the scope and understand the full complexity of the

70
00:04:47,244 --> 00:04:52,724
problem, let's look into the first step, a tiny sub piece of a tiny sub piece of just

71
00:04:52,724 --> 00:04:58,904
gathering information and let's do a case study on interpreting the news.

72
00:04:59,184 --> 00:05:06,484
So it's probably no secret to you guys that news from Asia and Korean media outlets has

73
00:05:06,484 --> 00:05:12,424
been super important this year because semis, AI, have been a huge, huge theme in the market.

74
00:05:12,844 --> 00:05:13,384
Huge theme.

75
00:05:14,004 --> 00:05:17,644
And I think this is an area where AI is poised to have a lot of impact.

76
00:05:19,224 --> 00:05:24,904
Reading Korean language news better than our completely non-Korean speaking staff.

77
00:05:26,284 --> 00:05:28,804
I think I have a good thesis that this might be a good use case.

78
00:05:29,064 --> 00:05:33,984
So you can imagine the first step is I have articles.

79
00:05:34,664 --> 00:05:36,004
I need to collect the articles.

80
00:05:37,124 --> 00:05:37,454
This

81
00:05:37,554 --> 00:06:02,114
could be an MCP, this could be a CLI, license the data feeds, clean the data feeds. There are a lot of ways to do this and a lot of dimensions of freedom for how you can even just write this simple piece. How do I chunk it when I pass it to the LLM? Do I want to pull the images as images? Do I want to pull the images and then turn the images into text? There are actually a lot of knobs here.

82
00:06:02,114 --> 00:06:07,214
I almost think about those knobs as hyperparameters in a traditional machine learning system.

83
00:06:07,694 --> 00:06:11,994
I think about each of these knobs as something for me to tune and optimize against.

84
00:06:13,974 --> 00:06:15,994
Obviously, filtration, we talked about it.

85
00:06:18,514 --> 00:06:20,274
There are probably Korean NBA fans, right?

86
00:06:20,414 --> 00:06:27,934
There is probably a bunch of stuff that is not necessarily material to the names and

87
00:06:27,934 --> 00:06:30,594
themes and stocks in our portfolio that really, really matter.

88
00:06:30,594 --> 00:06:33,754
So I want to make sure that I filter those out.

89
00:06:35,734 --> 00:06:41,334
There is this translate slash extract slash should I summarize, should I extract this

90
00:06:41,334 --> 00:06:42,914
into some sort of structured form.

91
00:06:43,654 --> 00:06:47,934
Again, so, so many ways to do this, so many ways to experiment, how to expose information

92
00:06:47,934 --> 00:06:51,494
to the model, and one of the reasons this is hard is it keeps changing.

93
00:06:53,134 --> 00:06:54,334
And obviously checking.

94
00:06:54,574 --> 00:07:00,174
Checking our own internal notes, our own internal views, potential conversations we have had,

95
00:07:00,174 --> 00:07:02,034
meeting recordings against these things.

96
00:07:02,254 --> 00:07:04,634
We actually need to cross-reference those things.

97
00:07:05,514 --> 00:07:10,114
Actually the idea of pulling information from disparate sources and cross-referencing them,

98
00:07:10,414 --> 00:07:11,454
that's super powerful.

99
00:07:12,314 --> 00:07:16,914
So you will see on the right here I have code, LLM, LLM, code, person.

100
00:07:17,414 --> 00:07:19,514
There's many, many ways to run these functions.

101
00:07:20,114 --> 00:07:23,454
I think about, oh, yeah, and finally, update.

102
00:07:24,014 --> 00:07:25,794
We update our views.

103
00:07:27,274 --> 00:07:29,474
There are many ways to run these functions.

104
00:07:29,474 --> 00:07:35,834
I think of each line as having a runner, and the most obvious one is code.

105
00:07:36,314 --> 00:07:37,314
Code is very good.

106
00:07:37,654 --> 00:07:44,654
It is fast, it is cheap, it is reliable, so for something like if the prices to earnings

107
00:07:44,654 --> 00:07:48,174
ratio is less than 15, I should just use deterministic code for that.

108
00:07:49,494 --> 00:07:56,454
Runner number two is statistics, classical machine learning, and you can imagine fitting

109
00:07:56,454 --> 00:08:01,094
the line to a regression for a specific pattern, this is very powerful because you can model

110
00:08:01,094 --> 00:08:04,914
much more complex relationships than just pure deterministic code.

111
00:08:06,354 --> 00:08:12,154
And for even more complex relationships, the reason we are all here, LLMs, AI agents, that's

112
00:08:12,154 --> 00:08:12,954
another type of runner.

113
00:08:13,674 --> 00:08:16,734
So for something like summarization, that's the state of the art.

114
00:08:17,894 --> 00:08:24,394
It's probably totally impossible to build a bunch of if statements that can summarize

115
00:08:24,394 --> 00:08:26,094
better than a modern LLM.

116
00:08:26,494 --> 00:08:28,394
Of course, people.

117
00:08:28,774 --> 00:08:30,974
People are important runners in the system.

118
00:08:32,214 --> 00:08:35,354
Imagine a function meeting the management team of a company.

119
00:08:36,174 --> 00:08:42,114
I probably don't want to send an LLM or an AI agent in to do that.

120
00:08:42,434 --> 00:08:44,594
I probably don't want to send an if statement into that meeting.

121
00:08:45,134 --> 00:08:49,554
I think there are many cases where because of judgment and the ability to navigate the

122
00:08:49,554 --> 00:08:54,074
real world and all of these things, a person is the best runner for a given piece of the

123
00:08:54,074 --> 00:08:54,294
function.

124
00:08:56,114 --> 00:08:58,934
I think this is a super, super important point.

125
00:08:59,234 --> 00:09:03,374
There is no glory in automating things for the sake of automating things.

126
00:09:03,594 --> 00:09:07,974
The goal is not to take as many things and make them LLM as possible for us.

127
00:09:08,094 --> 00:09:14,054
The goal is for any given piece of this function, what can I do to maximize absolute quality?

128
00:09:17,554 --> 00:09:21,294
And if you actually think about the function, it probably looks something like this.

129
00:09:21,614 --> 00:09:24,754
It's probably not just a linear statement of a bunch of different things.

130
00:09:25,434 --> 00:09:28,974
There's probably all kinds of branching logic and all kinds of ways to actually fork this.

131
00:09:29,994 --> 00:09:34,334
So maybe I want to collect the information and then translate it, and my main goal is

132
00:09:34,334 --> 00:09:38,354
to extract quotes and check those against sources to make sure that these are actually

133
00:09:38,354 --> 00:09:40,694
the things that people said, and that's my approach.

134
00:09:40,854 --> 00:09:42,114
But that might be totally wrong.

135
00:09:42,114 --> 00:09:46,994
Maybe what I want to do is I want to de-dupe and then I want to filter and then I want

136
00:09:46,994 --> 00:09:50,254
to pull external figures or maybe I want to do something totally different.

137
00:09:50,494 --> 00:09:54,854
I actually want to, I'm passing in a note first and I want to find other confirmatory

138
00:09:54,854 --> 00:09:56,494
data points or maybe I'm trying to red team.

139
00:09:57,654 --> 00:09:59,614
There's a million different ways to configure this.

140
00:10:00,154 --> 00:10:04,314
So yet again, more hyperparameters within the control flow, right?

141
00:10:06,474 --> 00:10:12,034
So many ways to think about just this very simple problem of pulling, filtering, summarizing

142
00:10:12,034 --> 00:10:14,114
aggregating the news for LLMs.

143
00:10:15,794 --> 00:10:22,634
And each of these boxes probably has an optimal runner, right?

144
00:10:23,094 --> 00:10:28,434
So the optimal runner might be deterministic code for collection, right?

145
00:10:28,814 --> 00:10:32,574
I'm pulling last 24 hours for a given source.

146
00:10:32,854 --> 00:10:34,254
That's deterministic code.

147
00:10:35,034 --> 00:10:35,834
Filtration?

148
00:10:37,554 --> 00:10:38,134
models maybe.

149
00:10:38,814 --> 00:10:39,614
LLMs?

150
00:10:39,614 --> 00:10:43,134
statistical methods, a combination, right?

151
00:10:43,514 --> 00:10:45,474
So this probably understates the complexity.

152
00:10:45,914 --> 00:10:47,874
The reality is most things are multi-runner.

153
00:10:48,094 --> 00:10:53,274
Most things have deterministic code plus LLM plus statistical method or human with LLM

154
00:10:53,274 --> 00:10:53,834
in conjunction.

155
00:10:55,614 --> 00:11:00,594
reality is it's probably combinatorics between my four buckets and there's even more

156
00:11:00,594 --> 00:11:01,334
buckets than that.

157
00:11:01,894 --> 00:11:05,694
Because within the LLM category I can tune the model.

158
00:11:06,274 --> 00:11:08,814
I can choose big model, small model, medium model.

159
00:11:08,814 --> 00:11:15,754
I can tune thinking effort. X high, high, medium, I can tune harness. I can choose the harness. I can

160
00:11:15,754 --> 00:11:18,594
choose which skills load with the harness. I can choose which hooks load with the skills.

161
00:11:19,434 --> 00:11:23,754
So yet again, more hyperparameters within my search space. I have an absolutely enormous

162
00:11:23,754 --> 00:11:28,794
amount of hyperparameters within my search space. And this is just for this one tiny problem, right,

163
00:11:29,154 --> 00:11:36,034
of just filtering the news. So the way to think about breaking down these problems is what can I

164
00:11:36,034 --> 00:11:39,874
actually compartmentalize in a way that we can understand and evaluate.

165
00:11:40,694 --> 00:11:41,834
That's what I'm hill climbing against.

166
00:11:42,334 --> 00:11:44,154
Otherwise I'm just tuning these things.

167
00:11:44,314 --> 00:11:47,974
I'm okay, that should actually be a machine learning system instead of an LLM.

168
00:11:48,354 --> 00:11:50,134
That should be a little model that we train.

169
00:11:50,334 --> 00:11:52,074
Oh, no, that shouldn't be a model at all.

170
00:11:52,194 --> 00:11:53,054
That should be an if statement.

171
00:11:53,314 --> 00:11:58,014
Or, oh, man, LLMs are really, really bad at translating that to portfolio impact.

172
00:11:58,234 --> 00:12:02,534
It should really be a human on that step, but they're using a deterministic system to

173
00:12:02,534 --> 00:12:04,034
help them search and pull the information.

174
00:12:04,814 --> 00:12:06,054
It could be all different things.

175
00:12:06,574 --> 00:12:11,674
And if you don't have a north star to hill climb against, you're just kind of, you're

176
00:12:11,674 --> 00:12:12,414
just fidgeting around.

177
00:12:12,994 --> 00:12:17,754
And I think I cannot convey enough that this is just one tiny thing we do.

178
00:12:18,434 --> 00:12:22,814
Imagine every single data source that we pull in, there's probably more than just three

179
00:12:22,814 --> 00:12:24,914
transformations to get them to the intermediate output.

180
00:12:25,394 --> 00:12:32,394
So the actual graph of Coatue and funds like Coatue, it actually probably looks, oh, not

181
00:12:32,394 --> 00:12:32,834
like this.

182
00:12:33,994 --> 00:12:34,714
is my screen saver.

183
00:12:36,414 --> 00:12:38,574
The actual graph probably looks something like this.

184
00:12:39,694 --> 00:12:41,394
It is probably massively complex.

185
00:12:41,914 --> 00:12:47,794
In each of those nodes, we just talked about at least ten hyperparameters with at least

186
00:12:47,794 --> 00:12:50,374
20 different values for them.

187
00:12:50,654 --> 00:12:52,574
So the search space is basically infinite.

188
00:12:53,394 --> 00:12:58,854
And figuring out how to actually lay this out in a way that you can comprehend both from

189
00:12:58,854 --> 00:13:02,954
technical perspective, but also absorb culturally, organizationally.

190
00:13:03,574 --> 00:13:06,974
That is the great challenge of applying AI in investing.

191
00:13:07,774 --> 00:13:14,014
And beyond investing, what we're really talking about is creating a state machine that can

192
00:13:14,014 --> 00:13:18,574
take information from the world and understand it well enough to make coherent decisions.

193
00:13:18,914 --> 00:13:25,874
There's use cases for this far and above, wider than just investment firms, in policy,

194
00:13:25,874 --> 00:13:30,214
in non-profits, in drug discovery, in corporate strategy.

195
00:13:30,514 --> 00:13:32,834
I think one of the most exciting things for me

196
00:13:32,834 --> 00:13:34,094
about being in forums like this

197
00:13:34,094 --> 00:13:36,954
is talking to other people in different spaces

198
00:13:36,954 --> 00:13:39,454
with different problems that kind of congeal

199
00:13:39,454 --> 00:13:40,614
on the same problem space.

200
00:13:40,954 --> 00:13:42,514
I'd love to keep talking about this.

201
00:13:42,734 --> 00:13:44,154
I'll hang out in the hallway afterwards.

202
00:13:44,414 --> 00:13:45,394
Here are my socials.

203
00:13:45,554 --> 00:13:47,074
And thank you, everyone, for your time.

204
00:13:47,854 --> 00:13:48,094
Thank you.
