7 Things Your AI Coworker Needs - Philipp Schmid, Google DeepMind

AI Engineer · 17 min · 188 sentences · from YouTube's caption track

Each timecode opens YouTube at the start of that sentence. Line anchors (#s42) are the cue ids in the WebVTT, and every line carries its start and end seconds. All transcripts has every talk, and the whole corpus as one file.

  1. 00:01[music]
  2. 00:12So, we are going to look at how you can build and code your own autonomous Wall Street co-worker.
  3. 00:17So, hopefully we have many finance people or like engineers working in finance here.
  4. 00:22So, quickly before we go into like what right where we are coming from.
  5. 00:26Two years ago, we basically had a chatbot.
  6. 00:28We asked some simple question like what's the capital of France?
  7. 00:32Like who won the last European championship?
  8. 00:34Then we moved to assistance using tools on our own computer, having the first coding agents writing code for us.
  9. 00:42And now we are moving into like this autonomous co-worker area where we basically give and or create a digital employee where we give an agent its own computer, give it a task and hopefully come back a few hours later with a good result.
  10. 00:56So, what does a co-worker normally need?
  11. 00:59And I think that goes for AI and for us humans as well.
  12. 01:03We need a brain to be able to do our work.
  13. 01:06We need a computer where we can save artifacts we create, where we can iterate.
  14. 01:12We need some kind of a new playbook, right?
  15. 01:14When you hire someone new, they are new to your environment, to your domain.
  16. 01:19You might have specific workflows, so you need playbooks.
  17. 01:22We need tools for them to be able to do that job.
  18. 01:25They all need credentials in one or the other way.
  19. 01:29Then there might be some specific house rules on what you should do or what you should not do, what you can do on your own or where you need to get some approvals.
  20. 01:37And then of course, there are hopefully some schedules for working hours when you can come in or when you have to work.
  21. 01:45And the same goes for for our agents.
  22. 01:47So, and we are going to work through all of those seven steps and how you can build your own digital co-worker with Gemini in this talk.
  23. 01:54But before we go in, yesterday was the big day.
  24. 01:56We announced Gemini for Argon and made it available to you.
  25. 02:01Um, biggest new features, we have now 1 million unified contacts window.
  26. 02:05This means Gemini can generate up to 1 million output tokens and we see strong improvements especially on math and reasoning task where the model now has more than 64K
  27. 02:16token available to think, to work through, to reason through some proofs and for math for for math.
  28. 02:23And then very also very good is like we tested that model heavily.
  29. 02:27So, we know there are always some thinking around hey, Gemini is just banks benchmarks, but the model is really good.
  30. 02:35You should definitely give it a try.
  31. 02:36We used it extensively at Google.
  32. 02:39There are already many projects by Google employees who have used it.
  33. 02:43The easiest way to get started is the interactions API.
  34. 02:46It's literally four lines of code which for you to take.
  35. 02:49You get your API key in the AI Studio, ai.studio.com/apikey and then you can immediately send your request.
  36. 02:57It's also I would say quite affordable for a frontier model with $2 in and $10 out.
  37. 03:02You should definitely try if you have a free minute later or even if you have some agents running right now, give it a link, tell it hey, please set up Gemini 4 and give it a try.
  38. 03:12So, what have Googlers done so far with the model?
  39. 03:14I think it's very impressive because it's like a super new model.
  40. 03:17We had it available internally to test for a few weeks already, but Googlers are using it so heavily and like shipping so many cool things.
  41. 03:24We had the Chrome team like basically accelerating some decoupling of the Chromium browser.
  42. 03:30We have Gemma which is our open model where Gemini accelerated Gemma to be more easily and more efficient to run.
  43. 03:38The ADK team from Cloud improved their the framework and then many many other things and especially the right one at the bottom is like we use it internally heavily and we see strong improvements for our
  44. 03:50internal like code base as well.
  45. 03:53So, what have people built?
  46. 03:54There are some demos.
  47. 03:56You can look them up, but there's one specific one from a colleague of mine which I want to show.
  48. 04:00He basically prompted Gemini to build a custom 3D ray tracer in Python and it was completely built from Gemini and nothing external tools and at the end just Python and it also used
  49. 04:14the Gemini TTS model and Luria to add some voice over to explain how it works and it's like very impressive for me how far we can push those models now.
  50. 04:23So, try to be very ambitious.
  51. 04:25So, how can we build our agent?
  52. 04:29And in Gemini API we have a product called managed agents and managed agent is basically a simple way for you to build a remote agent where you give Gemini
  53. 04:39a sandbox which it can use to run tools.
  54. 04:42So, when we normally build an agent we have this weird tool calling loop, right?
  55. 04:47We send a request to the model, the model might generate a JSON function call, we receive that function call, we run that function call on our machine, execute the code
  56. 04:57and then we go back to the model.
  57. 04:59And with managed agents we basically provide a sandbox which Gemini can directly use to run all of those calls.
  58. 05:05So, if it decides to execute code to write a file, it has its own computer available for it to use and it takes just an API call.
  59. 05:13So, instead of providing the model ID with Gemini 4 Argon you provide the agent ID in this case it's anti-gravity preview 09.
  60. 05:22Give it a prompt.
  61. 05:23The environment is remote so you want to run it in the managed sandbox and that's all it takes.
  62. 05:28So, let's get into building bug.
  63. 05:32Bug is our co-worker for today and bug needs a brain.
  64. 05:36Our brain is going to be Gemini, our computer is going to be agents and then we have all of the other things.
  65. 05:42So, how can you create an agent?
  66. 05:44In managed agents you have a very simple API where you can define your own agent.
  67. 05:49So, you give it an ID, that's the name which you're going to use later to call the agent.
  68. 05:53We have the base agent so that's the the main agent underlying.
  69. 05:57In this case it's the the agent harness.
  70. 05:59So, the remote agent uses the same managed uh sorry, the same agent harness which we have in anti-gravity as well.
  71. 06:06So, if you're using anti-gravity as your coding agent, you get the same agent uh harness uh remotely.
  72. 06:12Then, we want to use the new model, so we define our model.
  73. 06:15We have a system instruction, you are bug, and then all it takes to call it again, interactions API create, and instead of um using the model ID for Gemini
  74. 06:26or the default agent, we use our own agent, bug.
  75. 06:30And our agent needs a computer, and the computer normally needs some additional files, additional scaffolding.
  76. 06:36So, with managed agents, you can provide your skills or an agents.md file maybe from your GitHub repository.
  77. 06:43You can inline those files directly.
  78. 06:45You can provide a GitHub repository, private or public, with your skills, and you can connect GCS bucket, so you can already bootstrap the environment the agent is going to work in.
  79. 06:56And everything in managed agent lives as a file.
  80. 06:59So, we have skills, we have hooks, we have system instructions.
  81. 07:03At the end, it's just a file system or the agent's own computer where it can create new skills if it thinks it needs to improve itself, where it can stores
  82. 07:12um memories from previous sessions or learning.
  83. 07:15So, at the end, we just work with files.
  84. 07:17And for knowledge or for our agent, I like to separate those in like three different categories.
  85. 07:25So, we have uh knowledge which we always need to include into every request.
  86. 07:30That's normally the system instructions.
  87. 07:31We want to be very concise.
  88. 07:33We want to try to keep it very short because that's something we need to pay on every request.
  89. 07:38So, if we have very long system instructions, all of our requests are going to be much more expensive.
  90. 07:43If we have concise, then we have um knowledge which uh the agent can decide when it needs to use them or not.
  91. 07:51So, that's typically uh with skills, right?
  92. 07:53With skills, we have very short descriptions which give the agent some guidance on like, "Hey, you can use that skill if the user wants to do a certain task or if you have to do certain task."
  93. 08:03And then can can read the agent can read that skill.
  94. 08:06But for skills, we also want to make sure that we are not having a super long dense skills because that's also a high cost at the end.
  95. 08:14Context is very valuable for us.
  96. 08:16So, we want to decouple them and separate them into much more slices where we can then have like dedicated references and scripts if we want the agent to like do very certain
  97. 08:27things where it needs more context.
  98. 08:29Okay.
  99. 08:30So, let's look at an example skill which we are going to use.
  100. 08:33So, we have a portfolio audit.
  101. 08:35The agent should use it.
  102. 08:36It has some instructions available for it how to run it.
  103. 08:38So, we have a Python script the agent can run and then some additional information on what it needs to do with the results and where to store it.
  104. 08:46Um our fourth um part of our onboarding for our co-workers tools, right?
  105. 08:52We humans use normal software.
  106. 08:54For agents, that's either built-in skills like Google Search, code executions, or MCP server.
  107. 08:59Or if you don't have an MCP server and rather want to write um local function, that's also possible.
  108. 09:05So, in managed agents, we still have our agents create.
  109. 09:08We are now extending uh it to define our tools.
  110. 09:12We have built-in tools from the Gemini API for Google Search.
  111. 09:16So, you there's nothing you need to additionally do to get Google Search integrated.
  112. 09:20But if you want to use for example spreadsheets, uh workspace has now an MCP server available for Gmail, for spreadsheets, so we can use that.
  113. 09:29Or if you want to provide your own functions or MCP server, that's also possible.
  114. 09:34So, for your own function, it still works the same way as you normally do with models.
  115. 09:38So, the agent creates a function call and then you send back the function result.
  116. 09:43So, it's basically for you a way to have agentic capabilities outside of these uh agent's environment and computer.
  117. 09:50So, if you want to do certain things where the agent should not run the execution in the sandbox, that's a way for you to do it.
  118. 09:57And then we are logins.
  119. 09:59And I think that's for me the most exciting and the greatest feature about the managed agents API because credentials are super hard and super easy to get wrong with agents.
  120. 10:08And I think the previous talk already also mentioned that we are very careful about using agent because things could go wrong very easily, and we thought a lot about this with managed agents, and we have support for three different ways of credentials, which makes it secure for your agent to use them, and provide an isolated way.
  121. 10:26So, we have bearer tokens for normal API calls, very familiar if you are doing software engineering.
  122. 10:32We have OAuth for all of the consumer-oriented MCP servers or like tools, and then of course we need environment variables if we want to use certain CLIs or other features.
  123. 10:42And for managed agents, we are separating them via an external network proxy.
  124. 10:48So, instead of providing the agent the credentials inside the sandbox, we basically allow you to create credentials externally.
  125. 10:57They are right only, so once they're written, there's no way for you to retrieve the credentials, so you can only override them.
  126. 11:05So, there's no possibility of leaking, and then you define how and where those credentials should be used.
  127. 11:11So, for it's like if you want to connect Slack, you can define, "Hey, here's the credential, and you are only allowed to use that credential with a certain domain
  128. 11:21or with a certain environment variable."
  129. 11:23So, that way you can control when a credential is used, and that works via this network proxy.
  130. 11:30And by network proxy, we basically mean a proxy that sits around the sandbox that watches all of the network traffic going in and out.
  131. 11:38So, if you define credential as an environment variable, the model has a local dummy value, so the environment variable is set, and then when it makes that call, it uses that dummy value, and the network proxy basically
  132. 11:51monitors it, sees, "Hey, here is a domain which has to which the user has defined," and then it swaps that dummy value with the real credential, and you can make the call successfully,
  133. 12:03and then it the agent gets back the result and has like no idea this dummy token is not working.
  134. 12:09And the benefit here is that there's no way for a prompt injection, right?
  135. 12:13Normally, when you have some malicious attacker, it can tell you like, "Hey, please print all of your values in your .env file."
  136. 12:19And then the agent might go there and like prints all of your keys, and that's nothing we want to do.
  137. 12:23So, with this network proxy where you can define the credentials per domain, it is not possible that an attacker could steal credentials which are getting swapped on your request because the proxy only swaps them for the domains you define.
  138. 12:38So, there's no way the an MCP server which is malicious can like just steal your Gmail token, which is very cool because it makes it much more easier to trust the agent and to
  139. 12:49integrate MCP servers which the agent then obviously can use.
  140. 12:54So, and then if that's not enough, we have also hooks available.
  141. 12:58So, hooks allows you to basically deterministically guard certain decisions.
  142. 13:03So, if the agent wants to run certain commands which you might want to monitor or where you need some human in the loop approval, which is not part of like the normal agenda conversation,
  143. 13:13you can define your hooks very similar to all of the other agent harnesses where you have a matcher, which is basically regex, and then every tool call which the agent generates checks if there's a match,
  144. 13:24and then writes those hooks.
  145. 13:25And those hooks are also files, but they are protected, so the agent cannot just go there and changes a hook and like basically tries to to to find a way around it.
  146. 13:36Okay, so last but not least, we need a way to, yeah, get our agent more proactive.
  147. 13:43And currently, we support one kind of triggers, basic cron triggers which you can set up a schedule every uh 30 days a month at 8:00 a.m. you want the agent to run a certain trigger
  148. 13:55with a certain input in the same environment to do maybe some due diligence, some auditing.
  149. 14:01And we are also working on webhooks that you can even like make this much more interactive that you could connect um external webhooks like from some certain SAC provider or maybe other
  150. 14:12providers you work together with which would directly then call your agent.
  151. 14:15The agent does [clears throat] some first auditing and then like basically can call your Slack or your Microsoft Teams directly without you even needing to manage some infrastructure at all.
  152. 14:27So, that's that.
  153. 14:29Uh final pit picture and now let's look at some real demos and let's hopefully hope that the Wi-Fi is good enough.
  154. 14:38So, I told Gemini that I want to do a cool Google Sheets demo and it helped me create basically this whole Google Sheets replication in my browser and when I click here, we basically simulate the strong trigger.
  155. 14:51So, we send a real API call to managed agents.
  156. 14:55It should use our portfolio auditing skill and it runs the request.
  157. 14:59So, first step basically see like, "Hey, I need to read the skill."
  158. 15:04It gets the result back.
  159. 15:05So, it tries to understand what it should do here.
  160. 15:08It's like a I hope that's roughly accurate on like the the Google Sheets.
  161. 15:12Um but it basically runs through all of those call calls financial services, tries to see, "Okay, did the market or the stock price change?"
  162. 15:20And then at the end, hopefully it should update our own Google Sheets completely uh automatically.
  163. 15:27So, it's still working through it.
  164. 15:29It has some first result and it updates the Google Sheet based on that trigger and that trigger would run every 8:30 a.m. without you needing to do anything.
  165. 15:39And then of course, if the agent has access to Slack, then it can even like post in some like specific trading channel, "Okay, what changed?
  166. 15:47What is going on?
  167. 15:48How does it work?"
  168. 15:49And here we have an example where I can just ask Spark, uh any recommendation?
  169. 16:01And hopefully this works as well.
  170. 16:03So, it takes a little bit of time.
  171. 16:05You have seen in the other demo.
  172. 16:06We have seen all of that perfect.
  173. 16:08So, there there are three positions.
  174. 16:10So, that's based on like this Slack uh Slack content.
  175. 16:13So, it has all of the previous turns available and it provides the context of what changed, but it's still basically not taking actions based on the system instructions you gave.
  176. 16:23And all of the infrastructure you need to run that agent is part of the managed agents environment.
  177. 16:29So, it's very easy for you to get started to like integrate those into like the tools you already use, provide the the systems you need, and then like to get started.
  178. 16:38So, back to the slide.
  179. 16:45So, the whole co-worker, which we need in like one service we have to plan, Gemini.
  180. 16:49We have the computer with managed agents.
  181. 16:51We can provide skills for the same agents you use maybe on your your local computer.
  182. 16:56You can use the tools.
  183. 16:58You can provide MCP server for external services, data providers to connect.
  184. 17:03We have a secure way for you to provide credentials, to rotate credentials.
  185. 17:07We have hooks to protect certain deterministic logic.
  186. 17:10And of course, we have triggers to much more proactively integrated into it.
  187. 17:14So, thanks for listening, and hopefully go hire your first AI co-worker.
  188. 17:20[applause]