1
00:00:02,221 --> 00:00:08,041
Hi everyone, my name is Philipp and I work at [unclear] and happy second Gemini 4 day.

2
00:00:08,361 --> 00:00:10,761
So who of you already tried the new model?

3
00:00:11,021 --> 00:00:11,981
Can you raise your hands?

4
00:00:12,781 --> 00:00:14,381
Okay, that's not enough.

5
00:00:14,601 --> 00:00:17,981
So you should definitely take your time later, try it.

6
00:00:18,061 --> 00:00:18,841
It is really good.

7
00:00:19,041 --> 00:00:22,161
We are going to use it and show it in our talk as well.

8
00:00:22,341 --> 00:00:27,281
So we are going to look at how you can build and code your own autonomous Wall Street co-workers.

9
00:00:27,281 --> 00:00:32,141
so hopefully we have many finance people or engineers working in finance here.

10
00:00:32,341 --> 00:00:36,041
So quickly before we go into where we are coming from,

11
00:00:36,601 --> 00:00:38,861
two years ago we basically had a chat box.

12
00:00:39,001 --> 00:00:42,201
We asked some simple questions like what's the capital of France,

13
00:00:42,401 --> 00:00:44,261
who won the last European championship.

14
00:00:44,481 --> 00:00:48,421
Then we moved to assistance using tools on our own computer,

15
00:00:48,841 --> 00:00:51,661
having the first coding agents writing code for us.

16
00:00:51,801 --> 00:00:55,801
And now we are moving into this autonomous co-worker area

17
00:00:55,801 --> 00:00:59,841
where we basically give or create a digital employee

18
00:00:59,841 --> 00:01:02,101
where we give an agent its own computer,

19
00:01:02,361 --> 00:01:03,101
give it a task,

20
00:01:03,141 --> 00:01:06,561
and hopefully come back a few hours later with a good result.

21
00:01:06,921 --> 00:01:09,921
So what does a co-worker normally need?

22
00:01:10,001 --> 00:01:13,441
And I think that goes for AI and for us humans as well.

23
00:01:13,581 --> 00:01:16,461
We need a brain to be able to do our work.

24
00:01:16,481 --> 00:01:21,441
We need a computer where we can save artifacts we create,

25
00:01:21,661 --> 00:01:22,361
where we can iterate.

26
00:01:22,361 --> 00:01:24,841
We need some kind of a new playbook, right?

27
00:01:24,841 --> 00:01:30,261
when you hire someone new they are new to your environment to your domain you might have specific

28
00:01:30,261 --> 00:01:36,861
workflows so you need playbooks we need tools for them to be able to do that job they all need

29
00:01:36,861 --> 00:01:42,341
credentials in one or the other way then there might be some specific house rules on what you

30
00:01:42,341 --> 00:01:46,641
should do or what you should not do what you can do on your own or where you need to get some

31
00:01:46,641 --> 00:01:52,901
approvals and then of course there are hopefully some schedules for working hours when you can come

32
00:01:52,901 --> 00:01:58,861
in or when you have to work. And the same goes for our agents. And we are going to work

33
00:01:58,861 --> 00:02:03,281
through all of those seven steps and how you can build your own digital co-worker with

34
00:02:03,281 --> 00:02:08,041
Gemini in this talk. But before we go in, yesterday was the big day. We announced Gemini

35
00:02:08,041 --> 00:02:15,201
for Argon and made it available to you. Biggest new features, we have now a 1 million unified

36
00:02:15,201 --> 00:02:20,781
context window. This means Gemini can generate up to 1 million output tokens. And we see

37
00:02:20,781 --> 00:02:25,901
strong improvements especially on math and reasoning tasks where the model now has more than 64k

38
00:02:25,901 --> 00:02:32,481
token available to think to work through to reason through some proofs and for math for for

39
00:02:32,481 --> 00:02:38,861
math and then very also very good is like we tested that model heavily so we know there are

40
00:02:38,861 --> 00:02:45,401
always some thinking around hey gemini is just banks benchmarks but the model is really good

41
00:02:45,401 --> 00:02:46,861
you should definitely give it a try.

42
00:02:47,061 --> 00:02:49,161
We use it extensively at Google.

43
00:02:49,381 --> 00:02:52,321
There are already many projects by Google employees

44
00:02:52,321 --> 00:02:53,181
who have used it.

45
00:02:53,341 --> 00:02:56,321
The easiest way to get started is the Interactions API.

46
00:02:56,681 --> 00:02:58,161
It's literally four lines of code,

47
00:02:58,301 --> 00:03:01,261
which for you to take, you get your API key in AI Studio,

48
00:03:01,921 --> 00:03:04,081
aistudio.com slash API key,

49
00:03:04,161 --> 00:03:06,701
and then you can immediately send your request.

50
00:03:06,961 --> 00:03:08,861
It's also, I would say, quite affordable

51
00:03:08,861 --> 00:03:12,481
for a frontier model with $2 in and $10 out.

52
00:03:12,521 --> 00:03:15,261
You should definitely try if you have a free minute later

53
00:03:15,261 --> 00:03:18,161
or even if you have some agents running right now,

54
00:03:18,321 --> 00:03:20,981
give it a link, tell it, hey, please set up Gemini 4

55
00:03:20,981 --> 00:03:21,761
and give it a try.

56
00:03:22,101 --> 00:03:24,581
So what have Googlers done so far with the model?

57
00:03:24,741 --> 00:03:27,501
I think it's very impressive because it's like a super new model.

58
00:03:27,641 --> 00:03:30,541
We had it available internally to test for a few weeks already,

59
00:03:30,561 --> 00:03:33,061
but Googlers are using it so heavily

60
00:03:33,061 --> 00:03:34,941
and shipping so many cool things.

61
00:03:34,961 --> 00:03:37,701
We had the Chrome team basically accelerating

62
00:03:37,701 --> 00:03:39,921
some decoupling of the Chromium browser.

63
00:03:40,081 --> 00:03:42,721
We have Gemma, which is our open model

64
00:03:42,721 --> 00:03:45,701
where Gemini accelerated Gemma

65
00:03:45,701 --> 00:03:47,901
to be more easily and more efficient to run.

66
00:03:48,081 --> 00:03:51,541
The ADK team from cloud improved their framework

67
00:03:51,541 --> 00:03:53,381
and then many, many other things,

68
00:03:53,561 --> 00:03:55,941
and especially the right one at the bottom.

69
00:03:55,941 --> 00:03:58,201
It's like we use it internally heavily

70
00:03:58,201 --> 00:03:59,701
and we see strong improvements

71
00:03:59,701 --> 00:04:02,701
for our internal code base as well.

72
00:04:03,001 --> 00:04:04,641
So what have people built?

73
00:04:04,781 --> 00:04:05,781
There are some demos.

74
00:04:06,141 --> 00:04:06,941
You can look them up,

75
00:04:07,121 --> 00:04:09,381
but there's one specific one from a colleague of mine

76
00:04:09,381 --> 00:04:10,241
which I want to show.

77
00:04:10,241 --> 00:04:17,101
he basically prompted Gemini to build a custom 3D ray tracer in Python.

78
00:04:17,321 --> 00:04:23,021
And it was completely built from Gemini and nothing external tools and at the end just Python.

79
00:04:23,261 --> 00:04:29,541
And it also used a Gemini TTS model and Luria to add some voiceover to explain how it works.

80
00:04:29,681 --> 00:04:33,521
And it's like very impressive for me how far we can push those models now.

81
00:04:33,721 --> 00:04:35,421
So try to be very ambitious.

82
00:04:35,721 --> 00:04:38,661
So how can we build our agent?

83
00:04:38,661 --> 00:04:42,781
And in Gemini API, we have a product called Managed Agents.

84
00:04:42,941 --> 00:04:47,781
And Managed Agents is basically a simple way for you to build a remote agent

85
00:04:47,781 --> 00:04:52,981
where you give Gemini a sandbox which it can use to run tools.

86
00:04:53,121 --> 00:04:58,001
So when we normally build an agent, we have this weird tool calling group, right?

87
00:04:58,061 --> 00:04:59,641
We send a request to the model.

88
00:04:59,781 --> 00:05:02,761
The model might generate a JSON function call.

89
00:05:02,901 --> 00:05:04,481
We receive that function call.

90
00:05:04,621 --> 00:05:07,581
We run that function call on our machine, execute the code,

91
00:05:07,581 --> 00:05:09,081
and then we go back to the model.

92
00:05:09,301 --> 00:05:12,001
And with managed agents, we basically provide a sandbox

93
00:05:12,001 --> 00:05:14,901
which Gemini can directly use to run all of those calls.

94
00:05:15,081 --> 00:05:18,141
So if it decides to execute code to write a file,

95
00:05:18,321 --> 00:05:21,341
it has its own computer available for it to use,

96
00:05:21,361 --> 00:05:23,561
and it takes just an API call.

97
00:05:23,741 --> 00:05:27,341
So instead of providing the model ID with Gemini 4 Argon,

98
00:05:27,461 --> 00:05:29,401
you provide the agent ID.

99
00:05:29,541 --> 00:05:32,221
In this case, it's anti-gravity preview 09.

100
00:05:32,881 --> 00:05:33,561
Give it a prompt.

101
00:05:33,901 --> 00:05:35,081
The environment is remote,

102
00:05:35,101 --> 00:05:37,221
so you want to run it in the managed sandbox.

103
00:05:37,581 --> 00:05:38,741
and that's all it takes.

104
00:05:39,041 --> 00:05:41,861
So let's get into building Buck.

105
00:05:42,081 --> 00:05:45,601
Buck is our co-worker for today, and Buck needs a brain.

106
00:05:45,901 --> 00:05:48,501
Our brain is going to be Gemini,

107
00:05:48,741 --> 00:05:50,381
our computer is going to be Agents,

108
00:05:50,461 --> 00:05:52,121
and then we all love all of the other things.

109
00:05:52,261 --> 00:05:54,141
So how can you create an agent?

110
00:05:54,601 --> 00:05:57,261
In Managed Agents, you have a very simple API

111
00:05:57,261 --> 00:05:59,321
where you can define your own agent.

112
00:05:59,501 --> 00:06:00,321
So you give it an ID.

113
00:06:00,601 --> 00:06:02,601
That's the name which you are going to use later

114
00:06:02,601 --> 00:06:03,481
to call the agent.

115
00:06:03,881 --> 00:06:07,181
We have the base agent, so that's the main agent underlying.

116
00:06:07,581 --> 00:06:09,481
In this case, it's the agent harness.

117
00:06:09,741 --> 00:06:14,441
So the remote agent uses the same agent harness,

118
00:06:14,601 --> 00:06:16,481
which we have in Antigravity as well.

119
00:06:16,621 --> 00:06:19,481
So if you are using Antigravity as your coding agent,

120
00:06:19,641 --> 00:06:22,261
you get the same agent harness remotely.

121
00:06:22,521 --> 00:06:24,181
Then we want to use the new model.

122
00:06:24,201 --> 00:06:25,541
So we define our model.

123
00:06:25,741 --> 00:06:27,961
We have a system instruction, you are back.

124
00:06:28,381 --> 00:06:33,121
And then all it takes to call it, again, interactions API, create.

125
00:06:33,321 --> 00:06:36,381
And instead of using the model ID for Gemini

126
00:06:36,381 --> 00:06:39,401
or the default agent, we use our own agent buck.

127
00:06:40,141 --> 00:06:42,481
And our agent needs a computer,

128
00:06:42,661 --> 00:06:45,681
and the computer normally needs some additional files,

129
00:06:45,821 --> 00:06:46,961
additional scaffolding.

130
00:06:47,141 --> 00:06:50,021
So with managed agents, you can provide your skills

131
00:06:50,021 --> 00:06:52,721
or an agents MD file, maybe from your GitHub repository.

132
00:06:52,941 --> 00:06:55,281
You can inline those files directly.

133
00:06:55,281 --> 00:06:57,281
You can provide a GitHub repository,

134
00:06:57,621 --> 00:06:59,841
private or public, with your skills,

135
00:06:59,861 --> 00:07:02,061
and you can connect GCS buckets.

136
00:07:02,061 --> 00:07:04,081
So you can already bootstrap the environment

137
00:07:04,081 --> 00:07:05,701
the agent is going to work in.

138
00:07:05,701 --> 00:07:09,761
and everything in managed agent lives as a file.

139
00:07:09,961 --> 00:07:13,781
So we have skills, we have hooks, we have system instructions.

140
00:07:13,781 --> 00:07:17,561
At the end, it's just a file system or the agent's own computer

141
00:07:17,561 --> 00:07:21,421
where it can create new skills if it thinks it needs to improve itself,

142
00:07:21,621 --> 00:07:24,901
where it can store memories from previous sessions or learning.

143
00:07:25,181 --> 00:07:27,401
So at the end, we just work with files.

144
00:07:27,901 --> 00:07:31,741
And for knowledge or for our agent,

145
00:07:31,781 --> 00:07:34,921
I like to separate those in three different categories.

146
00:07:34,921 --> 00:07:39,821
So we have knowledge which we always need to include into every request.

147
00:07:40,021 --> 00:07:41,761
That's normally the system instructions.

148
00:07:41,761 --> 00:07:43,221
We want to be very concise.

149
00:07:43,421 --> 00:07:48,761
We want to try to keep it very short because that's something we need to pay on every request.

150
00:07:48,861 --> 00:07:53,801
So if we have very long system instructions, all of our requests are going to be much more expensive.

151
00:07:53,801 --> 00:08:01,621
If we have concise, then we have knowledge which the agent can decide when it needs to use them or not.

152
00:08:01,701 --> 00:08:03,601
So that's typically with skills, right?

153
00:08:03,601 --> 00:08:09,221
with skills we have very short descriptions which give the agent some guidance on like hey you can

154
00:08:09,221 --> 00:08:13,861
use that skill if the user wants to do a certain task or if you have to do certain tasks and then

155
00:08:13,861 --> 00:08:14,001
can

156
00:08:14,021 --> 00:08:15,981
the agent can read that skill.

157
00:08:16,201 --> 00:08:24,081
But for skills, we also want to make sure that we are not having super long, dense skills because that's also a high cost at the end.

158
00:08:24,241 --> 00:08:34,121
Context is very valuable for us, so we want to decouple them and separate them into much more slices where we can then have dedicated references and scripts

159
00:08:34,121 --> 00:08:38,161
if we want the agent to do very certain things

160
00:08:38,161 --> 00:08:39,481
where it needs more context.

161
00:08:40,021 --> 00:08:42,121
Okay, so let's look at an example skill

162
00:08:42,121 --> 00:08:43,181
which we are going to use.

163
00:08:43,301 --> 00:08:44,701
So we have a portfolio audit.

164
00:08:44,901 --> 00:08:46,081
The agent should use it.

165
00:08:46,181 --> 00:08:48,041
It has some instructions available for it,

166
00:08:48,061 --> 00:08:48,741
how to run it.

167
00:08:48,821 --> 00:08:49,981
So we have a Python script.

168
00:08:50,281 --> 00:08:51,241
The agent can run,

169
00:08:51,301 --> 00:08:52,701
and then some additional information

170
00:08:52,701 --> 00:08:54,441
on what it needs to do with the results

171
00:08:54,441 --> 00:08:55,401
and where to store it.

172
00:08:57,581 --> 00:09:00,581
Our fourth part of our onboarding

173
00:09:00,581 --> 00:09:02,081
for our coworkers tools, right?

174
00:09:02,081 --> 00:09:09,521
We humans use normal software for agents that's either built-in skills like Google Search, code executions, or MCP server.

175
00:09:09,721 --> 00:09:15,181
Or if you don't have an MCP server and rather want to write a local function, that's also possible.

176
00:09:15,381 --> 00:09:18,301
So, managed agents, we still have our agents create.

177
00:09:18,401 --> 00:09:22,421
We are now extending it to define our tools.

178
00:09:22,681 --> 00:09:26,221
We have built-in tools from the Gemini API for Google Search.

179
00:09:26,421 --> 00:09:30,001
So, there's nothing you need to additionally do to get Google Search integrated.

180
00:09:30,001 --> 00:09:32,821
but if you want to use, for example, spreadsheets,

181
00:09:33,501 --> 00:09:37,701
Workspace has now an MCP server available for Gmail for spreadsheets,

182
00:09:37,781 --> 00:09:38,601
so we can use that.

183
00:09:39,141 --> 00:09:43,181
Or if you want to provide your own functions or MCP server,

184
00:09:43,301 --> 00:09:44,141
that's also possible.

185
00:09:44,601 --> 00:09:47,221
So for your own function, it still works the same way

186
00:09:47,221 --> 00:09:48,941
as you normally do with models.

187
00:09:49,081 --> 00:09:50,761
So the agent creates a function call,

188
00:09:50,801 --> 00:09:53,021
and then you send back the function result.

189
00:09:53,301 --> 00:09:57,501
So it's basically for you a way to have agentic capabilities

190
00:09:57,501 --> 00:10:00,741
outside of these agents' environment and computers.

191
00:10:00,901 --> 00:10:02,861
So if you want to do certain things

192
00:10:02,861 --> 00:10:05,621
where the agent should not run the execution in the sandbox,

193
00:10:05,981 --> 00:10:07,341
that's a way for you to do it.

194
00:10:07,721 --> 00:10:09,781
And then we are logins.

195
00:10:09,861 --> 00:10:11,821
And I think that's, for me, the most exciting

196
00:10:11,821 --> 00:10:14,161
and the greatest feature about the Managed Agents API

197
00:10:14,161 --> 00:10:16,381
because credentials are super hard

198
00:10:16,381 --> 00:10:18,401
and super easy to get wrong with agents.

199
00:10:18,581 --> 00:10:21,021
And I think the previous talk already also mentioned

200
00:10:21,021 --> 00:10:24,081
that we are very careful about using agent

201
00:10:24,081 --> 00:10:26,201
because things can go wrong very easily.

202
00:10:26,201 --> 00:10:29,201
And we've thought a lot about this with managed agents,

203
00:10:29,241 --> 00:10:31,961
and we have support for three different ways of credentials,

204
00:10:31,961 --> 00:10:34,621
which makes it secure for your agent to use them

205
00:10:34,621 --> 00:10:36,681
and provide an isolated way.

206
00:10:36,721 --> 00:10:39,941
So we have bearer tokens for normal API calls,

207
00:10:40,121 --> 00:10:42,161
very familiar if you are doing software engineering.

208
00:10:42,161 --> 00:10:46,721
We have OAuth for all of the consumer-oriented MCP servers,

209
00:10:46,721 --> 00:10:47,421
all like tools.

210
00:10:47,581 --> 00:10:49,601
And then, of course, we need environment variables

211
00:10:49,601 --> 00:10:52,561
if we want to use certain CLIs or other features.

212
00:10:52,561 --> 00:10:58,821
and for managed agents we are separating them via an external network proxy.

213
00:10:59,061 --> 00:11:03,121
So instead of providing the agent the credentials inside the sandbox,

214
00:11:03,381 --> 00:11:06,601
we basically allow you to create credentials externally.

215
00:11:07,341 --> 00:11:08,061
are write only.

216
00:11:08,281 --> 00:11:13,981
So once they are written, there's no way for you to retrieve the credentials.

217
00:11:13,981 --> 00:11:15,681
So you can only override them.

218
00:11:15,781 --> 00:11:17,581
So there's no possibility of leaking.

219
00:11:17,781 --> 00:11:21,321
And then you define how and where those credentials should be used.

220
00:11:21,321 --> 00:11:26,961
So for Slack, if you want to connect Slack, you can define, hey, here's a credential,

221
00:11:27,041 --> 00:11:33,601
and you are only allowed to use that credential with a certain domain or with a certain environment variable.

222
00:11:33,601 --> 00:11:37,161
So that way you can control when a credential is used.

223
00:11:37,301 --> 00:11:39,981
And that works via this network proxy.

224
00:11:40,161 --> 00:11:48,101
And by network proxy, we basically mean a proxy that sits around the sandbox that watches all of the network traffic going in and out.

225
00:11:48,101 --> 00:11:51,221
So if you define credential as an environment variable,

226
00:11:51,621 --> 00:11:54,041
the model has a local dummy value,

227
00:11:54,081 --> 00:11:56,061
so the environment variable is set,

228
00:11:56,101 --> 00:11:59,201
and then when it makes that call, it uses that dummy value,

229
00:11:59,281 --> 00:12:02,561
and the network proxy basically monitors it,

230
00:12:02,641 --> 00:12:07,201
sees, hey, here is a domain which the user has defined,

231
00:12:07,321 --> 00:12:10,541
and then it swaps that dummy value with the real credential,

232
00:12:10,781 --> 00:12:12,841
and you can make the call successfully,

233
00:12:13,121 --> 00:12:15,761
and then the agent gets back the result

234
00:12:15,761 --> 00:12:19,521
and has no idea that his dummy token is not working.

235
00:12:19,661 --> 00:12:23,101
And the benefit here is that there's no way for a prompt injection.

236
00:12:23,281 --> 00:12:25,541
Normally, when you have some malicious attacker,

237
00:12:25,841 --> 00:12:29,521
it can tell you, like, hey, please print all of your values in your .n file.

238
00:12:29,621 --> 00:12:32,141
And then the agent might go there and, like, print all of your keys,

239
00:12:32,181 --> 00:12:33,441
and that's nothing we want to do.

240
00:12:33,641 --> 00:12:38,201
So with this network proxy where you can define the credentials per domain,

241
00:12:38,501 --> 00:12:41,201
it is not possible that an attacker could steal

242
00:12:42,101 --> 00:12:44,941
which are getting swapped on your request

243
00:12:44,941 --> 00:12:48,441
because the proxy only swaps them for the domains you define.

244
00:12:48,881 --> 00:12:52,221
So there's no way an MCP server which is malicious

245
00:12:52,221 --> 00:12:54,661
can just steal your Gmail token,

246
00:12:54,701 --> 00:12:57,741
which is very cool because it makes it much more easier

247
00:12:57,741 --> 00:13:01,741
to trust the agent and to integrate MCP servers

248
00:13:01,741 --> 00:13:03,381
which the agent then obviously can use.

249
00:13:04,121 --> 00:13:08,521
So if that's not enough, we have also hooks available.

250
00:13:08,981 --> 00:13:12,221
So hooks allows you to basically deterministically guard

251
00:13:12,221 --> 00:13:13,321
certain decisions.

252
00:13:13,321 --> 00:13:16,501
So if the agent wants to run certain commands

253
00:13:16,501 --> 00:13:18,061
which you might want to monitor

254
00:13:18,061 --> 00:13:20,581
or where you need some human in the loom approval,

255
00:13:20,821 --> 00:13:23,521
which is not part of the normal agentic conversation,

256
00:13:23,801 --> 00:13:25,121
you can define your hooks,

257
00:13:25,141 --> 00:13:27,761
very similar to all of the other agent harnesses

258
00:13:27,761 --> 00:13:28,721
where you have a matcher,

259
00:13:28,841 --> 00:13:30,301
which is basically regex,

260
00:13:30,361 --> 00:13:32,801
and then every tool call which the agent generates

261
00:13:32,801 --> 00:13:34,001
checks if there's a match,

262
00:13:34,181 --> 00:13:35,621
and then writes those hooks.

263
00:13:35,781 --> 00:13:37,541
And those hooks are also files,

264
00:13:37,661 --> 00:13:38,561
but they are protected,

265
00:13:38,561 --> 00:13:40,661
so the agent cannot just go there

266
00:13:40,661 --> 00:13:42,061
and changes a hook

267
00:13:42,061 --> 00:13:46,021
and basically tries to find a way around it.

268
00:13:46,881 --> 00:13:49,341
Okay, so last but not least,

269
00:13:49,521 --> 00:13:53,521
we need a way to get our agent more proactive.

270
00:13:53,781 --> 00:13:55,761
And currently we support one kind of triggers,

271
00:13:56,661 --> 00:13:58,901
basic cron triggers, which you can set up,

272
00:13:59,001 --> 00:14:03,281
schedule every 30 days a month at a.m.

273
00:14:03,321 --> 00:14:05,501
You want the agent to run a certain trigger

274
00:14:05,501 --> 00:14:08,181
with a certain input in the same environment

275
00:14:08,181 --> 00:14:10,721
to do maybe some due diligence, some auditing.

276
00:14:10,721 --> 00:14:13,141
and we are also working on webhooks

277
00:14:13,141 --> 00:14:15,401
that you can even make this much more interactive

278
00:14:15,401 --> 00:14:18,321
that you could connect external webhooks

279
00:14:18,321 --> 00:14:20,601
like from some certain SAC provider

280
00:14:20,601 --> 00:14:23,541
or maybe other providers you work together with

281
00:14:23,541 --> 00:14:25,521
which would directly then call your agent.

282
00:14:25,681 --> 00:14:27,301
The agent does some first auditing

283
00:14:27,301 --> 00:14:29,801
and then basically can call your Slack

284
00:14:29,801 --> 00:14:31,941
or your Microsoft Teams directly

285
00:14:31,941 --> 00:14:33,741
without you even needing to manage

286
00:14:33,741 --> 00:14:35,421
some infrastructure at all.

287
00:14:37,501 --> 00:14:39,041
So that's that.

288
00:14:39,041 --> 00:14:41,901
final picture and now let's look

289
00:14:41,901 --> 00:14:43,821
at some real demos

290
00:14:43,821 --> 00:14:45,881
and let's hopefully hope that

291
00:14:45,881 --> 00:14:47,161
the wifi is good enough.

292
00:14:48,361 --> 00:14:50,081
So I told Gemini

293
00:14:50,081 --> 00:14:52,121
that I want to do a cool Google Sheets demo

294
00:14:52,121 --> 00:14:54,121
and it helped me create basically this whole

295
00:14:54,121 --> 00:14:55,601
Google Sheets replication in

296
00:14:55,601 --> 00:14:57,541
my browser and

297
00:14:57,541 --> 00:15:00,061
when I click here we basically

298
00:15:00,061 --> 00:15:02,181
simulate this cron trigger so we send

299
00:15:02,181 --> 00:15:04,181
a real API call to managed

300
00:15:04,181 --> 00:15:06,081
agents. It should use our

301
00:15:06,081 --> 00:15:07,541
portfolio auditing skill

302
00:15:07,541 --> 00:15:09,681
and it runs the request.

303
00:15:09,901 --> 00:15:11,541
So first step basically is like,

304
00:15:11,561 --> 00:15:13,941
hey, I need to read the skill.

305
00:15:14,521 --> 00:15:16,021
It gets the result back.

306
00:15:16,021 --> 00:15:18,401
So it tries to understand what it should do here.

307
00:15:18,501 --> 00:15:20,701
It's like, I hope that's roughly accurate

308
00:15:20,701 --> 00:15:22,241
on like the Google Sheets.

309
00:15:22,781 --> 00:15:25,381
But it basically runs through all of those calls,

310
00:15:25,441 --> 00:15:26,901
calls financial services,

311
00:15:27,161 --> 00:15:27,981
tries to see, okay,

312
00:15:28,801 --> 00:15:30,761
did the market or the stock price change?

313
00:15:30,921 --> 00:15:31,681
And then at the end,

314
00:15:31,921 --> 00:15:34,781
hopefully it should update our own Google Sheets

315
00:15:34,781 --> 00:15:36,441
completely automatically.

316
00:15:36,441 --> 00:15:40,421
so it's still working through it, it has some first result

317
00:15:41,481 --> 00:15:44,441
and it updates the Google Sheet based on the trigger

318
00:15:44,441 --> 00:15:48,421
and that trigger would run every 8.30am without you needing to do

319
00:15:48,421 --> 00:15:51,701
anything and then of course if the agent has access to Slack

320
00:15:52,481 --> 00:15:56,361
then it can even post in some specific trading channel

321
00:15:56,361 --> 00:16:00,141
okay what changed, what is going on, how does it work and

322
00:16:00,141 --> 00:16:04,141
here we have an example where I can just

323
00:16:04,141 --> 00:16:05,181
ask Buck

324
00:16:06,981 --> 00:16:07,441
any

325
00:16:08,121 --> 00:16:08,581
recommendation

326
00:16:12,141 --> 00:16:14,041
and hopefully this works as well

327
00:16:14,041 --> 00:16:15,981
so it takes a little bit of time, you have seen in the

328
00:16:15,981 --> 00:16:17,741
other demo, we have seen all of that

329
00:16:17,741 --> 00:16:19,901
perfect, so there are

330
00:16:19,901 --> 00:16:21,801
three positions, so that's based on like this

331
00:16:22,741 --> 00:16:23,661
thread content

332
00:16:23,661 --> 00:16:26,061
so it has all of the previous turns available

333
00:16:26,061 --> 00:16:27,921
and it provides the context of

334
00:16:27,921 --> 00:16:29,981
what changed, but it's still basically

335
00:16:29,981 --> 00:16:31,941
not taking actions based on

336
00:16:31,941 --> 00:16:33,961
the system instructions you gave and all of

337
00:16:33,961 --> 00:16:37,461
the infrastructure you need to run that agent is

338
00:16:37,461 --> 00:16:41,901
part of the managed agents environment. So it's very easy for you to get started, to

339
00:16:41,901 --> 00:16:45,641
integrate those into the tools you already use, provide

340
00:16:45,641 --> 00:16:48,681
the systems you need, and then to get started.

341
00:16:53,901 --> 00:16:55,941
Back to the slide. So the whole

342
00:16:55,941 --> 00:16:59,641
co-worker, which we need in one service, we have the brain, Gemini.

343
00:16:59,641 --> 00:17:01,901
We have the computer with managed agents.

344
00:17:01,901 --> 00:17:05,361
We can provide skills for the same agents you use,

345
00:17:05,361 --> 00:17:06,901
maybe on your local computer.

346
00:17:07,121 --> 00:17:08,221
You can use the tools.

347
00:17:08,341 --> 00:17:11,301
You can provide MCP server for external services,

348
00:17:11,481 --> 00:17:12,661
data providers to connect.

349
00:17:12,861 --> 00:17:15,421
We have a secure way for you to provide credentials

350
00:17:15,421 --> 00:17:16,621
to rotate credentials.

351
00:17:17,101 --> 00:17:20,121
We have hooks to protect certain deterministic logic.

352
00:17:20,361 --> 00:17:21,561
And of course, we have triggers

353
00:17:21,561 --> 00:17:23,981
to much more proactively integrate it into it.

354
00:17:24,381 --> 00:17:26,001
So thanks for listening,

355
00:17:26,061 --> 00:17:28,381
and hopefully go hire your first AI co-worker.

356
00:17:29,641 --> 00:17:30,701
Thank you.
