Retour aux podcastsClaude
Déployez votre premier Managed Agent
All right.
Très bien.
Hello everyone.
Bonjour à tous.
It's great to see you all here today for our session on shipping your first manage agent.
Je suis ravie de vous retrouver aujourd'hui pour notre session sur le déploiement de votre premier Managed Agent.
Let's go ahead and get started.
On va commencer directement.
My name is Isabella He.
Je m'appelle Isabella He.
I'm a member of technical staff at Anthropic on the Applied AI team.
Je suis membre du staff technique chez Anthropic, dans l'équipe Applied AI.
The Applied AI team at Anthropic sits at the intersection of products, research, and our customers, which means that I get to contribute internally to products at Anthropic like Claude code and our Claude harnesses, as well as work externally with our customers that are building on top of Claude and on top of our harnesses.
L'équipe Applied AI chez Anthropic se situe à l'intersection des produits, de la recherche et de nos clients, ce qui me permet de contribuer en interne à des produits comme Claude Code et nos harnais Claude, ainsi que de travailler avec des clients externes qui construisent sur Claude et sur nos harnais.
So, my goal today is to get you all hands-on with actually building on top of manage agents, understanding how the harness works under the hood, and getting you ready to actually ship your first incident response management.
Mon objectif aujourd'hui est de vous faire construire concrètement sur Managed Agents, de vous faire comprendre comment fonctionne le harnais sous le capot, et de vous préparer à déployer votre premier système de gestion d'incidents.
So, the quick overview of today's agenda.
Voici le rapide aperçu de l'agenda du jour.
We're going to cover first a quick refresher of Claude manage agents.
On va d'abord faire un bref rappel sur les Managed Agents de Claude.
I want to talk you through a little bit about how this harness works under the hood and what makes it so special.
Je veux vous expliquer un peu comment ce harnais fonctionne sous le capot et ce qui le rend si particulier.
Our team put a lot of thought into the architectural design of Claude manage agents to make sure that it runs ready and reliably for production-ready agents.
Notre équipe a beaucoup réfléchi à la conception architecturale des Managed Agents de Claude pour s'assurer qu'ils fonctionnent de façon fiable et prête pour la production.
So, I want to talk you through a little bit of how that works so that then when we transition to the second portion here, which is the hands-on workshop, you'll actually understand what each of the primitives you're building actually mean for your agents under the hood.
Je veux donc vous expliquer un peu comment cela fonctionne, pour que lorsqu'on passe à la deuxième partie, l'atelier pratique, vous compreniez vraiment ce que signifient chacun des primitives que vous construisez pour vos agents.
So, for the majority of today's session, I want you all to actually have your laptops open, building alongside me, actually working inside of a repository, and getting you ready to actually spin up a working incident response agent.
Pour la majorité de la session d'aujourd'hui, je veux que vous ayez tous vos ordinateurs ouverts, que vous construisiez avec moi, que vous travailliez dans un dépôt, et que vous soyez prêts à lancer un agent de réponse aux incidents opérationnel.
Lastly, we'll talk a little bit about beyond the basics.
Enfin, on parlera un peu de ce qui va au-delà des bases.
Today's session is the first session of a couple of other ones that will build on top of this on Claude manage agents.
La session d'aujourd'hui est la première d'une série d'autres sessions qui s'appuieront sur les Managed Agents de Claude.
Specifically, right after this one, I think there's another session on dreaming, which is one of my favorite new features with Claude manage agents for self-improving agents and memory built into the harness.
Juste après celle-ci, il y a je crois une autre session sur le dreaming, qui est l'une de mes nouvelles fonctionnalités préférées des Managed Agents de Claude pour les agents auto-améliorants et la mémoire intégrée au harnais.
So, encourage everyone to dive in a little bit deeper into what else is in the box after we set you all up for success today with a quick introduction.
J'encourage donc tout le monde à plonger un peu plus dans ce que contient la boîte après qu'on vous aura mis sur de bons rails aujourd'hui avec cette introduction rapide.
So, let's first touch a little bit about how we got here with Claude manage agents.
Parlons d'abord un peu de comment on en est arrivés là avec les Managed Agents de Claude.
When we first released the very first Claude back in 2023, we released a messages API alongside access to Claude.
Lorsque nous avons lancé le tout premier Claude en 2023, nous avons sorti la Messages API en même temps.
This provided raw model access to all Claude models.
Cela offrait un accès brut au modèle pour tous les modèles Claude.
This became the very first way that people could programmatically build on top of Claude and essentially gave a way for people to access tokens in and tokens out via our Claude models.
C'est devenu la toute première façon pour les gens de construire programmatiquement sur Claude, donnant essentiellement un moyen d'accéder aux tokens en entrée et en sortie via nos modèles Claude.
This also meant that for everyone building on top of Claude models, they had to implement all the various primitives themselves.
Cela signifiait aussi que tous ceux qui construisaient sur les modèles Claude devaient implémenter eux-mêmes tous les primitives.
Things like context management, the actual agent loop, compaction, etc.
Des choses comme la gestion du contexte, la boucle agentique, la compaction, etc.
All the primitives that come alongside making the agent work.
Tous les primitives nécessaires pour faire fonctionner l'agent.
When models were less intelligent back in the early days of let's say 2023, some of these primitives were much simpler because agents could simply do less.
Quand les modèles étaient moins intelligents au début, vers 2023, certains de ces primitives étaient beaucoup plus simples parce que les agents pouvaient tout simplement faire moins.
But, as we evolved into now with higher model intelligence and as agents are able to take on more complex tasks and actually take actions within environments and come to actually do entire tasks for humans, the primitives that come alongside context management and managing an agent's ability to execute API calls and tool calls becomes much more complex.
Mais en évoluant vers aujourd'hui, avec une intelligence de modèle plus élevée et des agents capables de prendre en charge des tâches plus complexes, d'agir dans des environnements et d'accomplir des tâches entières pour les humains, les primitives liées à la gestion du contexte et à la capacité d'un agent à exécuter des appels API et des appels d'outils deviennent beaucoup plus complexes.
So, that's when we moved to the agent SDK, which became a harness that allows you to programmatically call Claude code, one of our agents at Anthropic.
C'est alors qu'on est passés à l'Agent SDK, qui est devenu un harnais permettant d'appeler programmatiquement Claude Code, l'un de nos agents chez Anthropic.
So, Claude code is something that an agent has access to a computer and takes actions within file system.
Claude Code est donc un agent qui a accès à un ordinateur et prend des actions dans le système de fichiers.
So, the agent SDK became a way for you to make Claude much more powerful by leveraging the power of Claude code within a harness.
L'Agent SDK est ainsi devenu un moyen de rendre Claude beaucoup plus puissant en exploitant la puissance de Claude Code dans un harnais.
The main thing here though is that with the agent SDK, developers still had to manage hosting and scaling on their own and making sure that the agent SDK would be safe to run within their containers.
Le problème avec l'Agent SDK, c'est que les développeurs devaient quand même gérer eux-mêmes l'hébergement et la mise à l'échelle, et s'assurer que l'Agent SDK pouvait fonctionner en toute sécurité dans leurs conteneurs.
That's only then evolved into Claude managed agents, which is the first harness to be able to handle scaling and production ready components for you by Anthropic, providing things like a purpose-built harness, sandboxing, observability, tool runtime, all within a managed infrastructure system.
Cela a ensuite évolué vers les Managed Agents de Claude, qui est le premier harnais capable de gérer pour vous la mise à l'échelle et les composants prêts pour la production, fourni par Anthropic, avec des éléments comme un harnais conçu à cet effet, du sandboxing, de l'observabilité, un runtime d'outils, le tout au sein d'un système d'infrastructure géré.
This means that developers can focus on task and agent configuration, custom tool logic, the things that actually matter for bringing domain expertise and customizability to your agents, where you're handing off the rest of all the primitives and core compute and primitives of essentially managing the basics of agent running to Anthropic.
Cela signifie que les développeurs peuvent se concentrer sur la configuration des tâches et des agents, la logique d'outils personnalisés, les choses qui comptent vraiment pour apporter l'expertise métier et la personnalisation à vos agents, en confiant tout le reste des primitives et du calcul de base à Anthropic.
So, that brings me to managed agents as the fastest way to build production ready agents on Claude.
C'est ce qui fait des Managed Agents le moyen le plus rapide de construire des agents prêts pour la production sur Claude.
We've seen people build 10 to 15 times faster to production with Claude managed agents by leveraging our purpose-built harness.
On a vu des gens aller en production 10 à 15 fois plus vite avec les Managed Agents de Claude grâce à notre harnais conçu à cet effet.
Part of the reason why we built Claude managed agents is because is because harnesses should evolve alongside your agents.
L'une des raisons pour lesquelles nous avons construit les Managed Agents de Claude, c'est parce que les harnais doivent évoluer avec vos agents.
For example, back when we were building ourselves on top of models like Sonnet 4.5, we noticed that Sonnet 4.5 emitted a particular behavior called context anxiety.
Par exemple, quand on construisait nous-mêmes sur des modèles comme Sonnet 4.5, on a remarqué que Sonnet 4.5 exhibait un comportement particulier appelé l'anxiété de contexte.
This meant that with Sonnet 4.5, Claude started wrapping up tasks early even when it still had room to spare in its context window.
Cela signifiait qu'avec Sonnet 4.5, Claude commençait à terminer les tâches tôt même quand il lui restait encore de la place dans sa fenêtre de contexte.
To manage that in our harness, we then added some mitigations to combat against this early stopping behavior.
Pour gérer ça dans notre harnais, on a ajouté des atténuations pour contrer ce comportement d'arrêt précoce.
But, when Opus 4.5 then came out, we actually saw this behavior go away, making all that work we had done inside of the harness essentially obsolete because Claude had evolved beyond that behavior that we had built into the harness to manage.
Mais quand Opus 4.5 est sorti, on a constaté que ce comportement disparaissait, rendant tout le travail qu'on avait fait dans le harnais essentiellement obsolète, parce que Claude avait évolué au-delà de ce comportement qu'on avait intégré pour le gérer.
So, the takeaway there is that it's a lot of work to maintain harnesses and make sure that they actually evolve alongside your agents, which is why with Claude managed agents, we want to make it really easy for Claude and Anthropic to handle all the complexities that come with compaction, caching, things like context anxiety, all these various primitives that come with actually making agent production ready and getting the most out of Claude.
La leçon à retenir est qu'il faut beaucoup de travail pour maintenir les harnais et s'assurer qu'ils évoluent vraiment avec vos agents, ce pourquoi avec les Managed Agents de Claude, on veut rendre vraiment facile pour Claude et Anthropic de gérer toutes les complexités liées à la compaction, au caching, à l'anxiété de contexte, tous ces primitives qui font réellement fonctionner les agents en production et qui permettent de tirer le meilleur de Claude.
So again, you can focus on the tasks, tools, and things that actually matter for building agents on Claude.
Vous pouvez ainsi vous concentrer sur les tâches, les outils, et les choses qui comptent vraiment pour construire des agents sur Claude.
So three primary resources go into building on Claude managed agents.
Trois ressources principales entrent en jeu pour construire sur les Managed Agents de Claude.
First is the agent's endpoint, which is the persona and capabilities.
La première est l'endpoint de l'agent, qui représente la personnalité et les capacités.
This is the core system prompt that powers your agent.
C'est le prompt système central qui alimente votre agent.
Essentially here, you're defining the model, the MCP servers, the skills, the various components that your agent can actually leverage when it's able to run in that agent loop.
Vous définissez essentiellement ici le modèle, les serveurs MCP, les compétences, les différents composants que votre agent peut exploiter quand il tourne dans sa boucle agentique.
The next is the environments.
Vient ensuite l'environnement.
You can think of this as the hands of the agent, where the previous one is the brain of the agent where the agent is thinking through what to execute, and then it's using an environment to actually have a space and a container to actually take action on your behalf.
Vous pouvez le voir comme les mains de l'agent, tandis que le précédent est le cerveau de l'agent où il réfléchit à ce qu'il faut exécuter, et il utilise un environnement pour avoir un espace et un conteneur pour agir en votre nom.
Sessions are next the way to tie together agents and environments.
Les sessions viennent ensuite, comme moyen de lier agents et environnements.
A single session has a spun up on an agent instance within an environment.
Une session unique est lancée sur une instance d'agent dans un environnement.
So you can connect the two together and actually stream events back to your user and start to take action on behalf of your humans as part of a Claude powered agent.
Vous pouvez ainsi connecter les deux et diffuser des événements vers votre utilisateur, et commencer à agir au nom de vos humains dans le cadre d'un agent propulsé par Claude.
A key thing here, as I alluded to briefly before, Claude managed agent has the agent loop run server side.
Un point clé, comme je l'ai brièvement mentionné, les Managed Agents de Claude font tourner la boucle agentique côté serveur.
This means that a lot of the complexities that come with managing hosting and scaling are abstracted away.
Cela signifie que beaucoup de complexités liées à la gestion de l'hébergement et de la mise à l'échelle sont abstraites.
And when you close your laptop or you hit hard refresh on your agent that you're building on Claude managed agents, everything is maintained and you don't have to worry about durability, reliability, all these various aspects that usually come to bite you when you're trying to turn your agent from a prototype into production.
Quand vous fermez votre ordinateur ou que vous faites un hard refresh sur votre agent que vous construisez sur les Managed Agents de Claude, tout est maintenu et vous n'avez pas à vous soucier de la durabilité, de la fiabilité, tous ces aspects qui viennent généralement vous mordre quand vous essayez de transformer votre agent d'un prototype en production.
And lastly here, before we dive into the hands-on portion, is I want to talk you through a key design decision that went into Claude managed agents.
Enfin, avant de plonger dans la partie pratique, je veux vous présenter une décision de conception clé qui est entrée dans les Managed Agents de Claude.
Previously, with a lot of agent harnesses, we saw the agent loop coupled tightly with tool execution.
Auparavant, avec beaucoup de harnais d'agents, on voyait la boucle agentique étroitement couplée à l'exécution des outils.
This design pattern made sense and still makes sense for some agents because you want to give the agent powerful abilities to actually take action within the environment.
Ce pattern de conception avait du sens et en a encore pour certains agents, parce qu'on veut donner à l'agent des capacités puissantes pour agir dans l'environnement.
For instance, with Claude Code, we want the agent to be able to access various files on your computer, take action within a file system, and therefore it makes sense for the agent to have access to all those tools spun up on every container.
Par exemple, avec Claude Code, on veut que l'agent puisse accéder à divers fichiers sur votre ordinateur, agir dans un système de fichiers, et il est donc logique que l'agent ait accès à tous ces outils lancés sur chaque conteneur.
But, we also realized there are some constraints for this, especially with some agents where you essentially want to be able to decouple the hands from the brains of the agents.
Mais on a aussi réalisé qu'il y a des contraintes à cela, surtout avec certains agents où on veut essentiellement pouvoir découpler les mains du cerveau des agents.
For instance, credentials and uh credentials and security became a huge concern.
Par exemple, les identifiants et euh les identifiants et la sécurité sont devenus une préoccupation majeure.
With the ability to have the agent access your file system, you can actually add very distinct sandboxing by decoupling these two components, where the agent is no longer able to access the actual credentials without encryption by decoupling the hands from the sandbox of the agent.
En donnant à l'agent l'accès à votre système de fichiers, vous pouvez ajouter un sandboxing très précis en découplant ces deux composants, où l'agent n'est plus capable d'accéder aux identifiants réels sans chiffrement, en découplant les mains du sandbox de l'agent.
The other aspect here is actually you can see huge benefits by doing these decoupling on things like time to first token and latency.
L'autre aspect ici, c'est que vous pouvez voir d'énormes avantages à ce découplage sur des choses comme le temps jusqu'au premier token et la latence.
Previously, with the agent loop into execution in the same box, you had to spin up containers for every single session that you're spinning up in the agent, which contributed to additional latency from a time to first time to first token perspective.
Auparavant, avec la boucle agentique et l'exécution dans la même boîte, il fallait lancer des conteneurs pour chaque session que vous démarriez dans l'agent, ce qui contribuait à de la latence supplémentaire du point de vue du temps jusqu'au premier token.
But, with this now decoupled, our teams actually saw reductions in time to first token along the lines of over 90% reduction in TTFT for our P95 metrics on latency.
Mais avec ce découplage, nos équipes ont constaté des réductions du temps jusqu'au premier token de l'ordre de plus de 90% de réduction du TTFT sur nos métriques P95 de latence.
So, here you can start to see the power of this design decision coming through from the perspective of safety, reliability, latency, and everything else that you care about when it comes to building production-ready agents.
Vous commencez ici à voir la puissance de cette décision de conception, du point de vue de la sécurité, de la fiabilité, de la latence, et de tout ce qui vous importe pour construire des agents prêts pour la production.
All right, so now it's time for the exciting part of today's session, which is where I want you all to open up your laptops and go to this URL here to actually clone a repository, and let's start to actually feel the magic of everything that I just talked through.
Très bien, il est maintenant temps de passer à la partie passionnante de la session d'aujourd'hui, où je veux que vous ouvriez tous vos ordinateurs et alliez à cette URL pour cloner un dépôt, et commençons à ressentir la magie de tout ce dont je viens de parler.
So, I'm going to give everyone a second to just go over to that URL there and just spin up the repository that we have ready for you.
Je vais laisser tout le monde une seconde pour aller à cette URL et lancer le dépôt qu'on a préparé pour vous.
All right, so here are some additional commands that I want you all to run to make sure this is all set up on your computers.
Très bien, voici quelques commandes supplémentaires que je veux que vous exécutiez tous pour vous assurer que c'est bien configuré sur vos ordinateurs.
So, the first step many of you might have done already, but just take that repository, hit the URL, get clone it, and then I want you to CD into the specific repository for the session, which is ship your first manage agent.
La première étape, beaucoup d'entre vous l'ont peut-être déjà faite, mais prenez ce dépôt, allez à l'URL, clonez-le, puis entrez dans le dépôt spécifique pour la session, qui est ship your first Managed Agent.
And then, if you're on Mac, you'll see those two commands on the side, the Python and the source.
Ensuite, si vous êtes sur Mac, vous verrez ces deux commandes sur le côté, le Python et le source.
Um, there's a command there for Windows as well.
Euh, il y a aussi une commande pour Windows.
And you'll just do the rest there where you want to install the requirements, copy over the environment key into your .env file.
Et vous faites le reste, installer les dépendances, copier la clé d'environnement dans votre fichier .env.
Um, here you'll put in the Anthropic API key that hopefully all of you also received from the QR code for free credits earlier.
Euh, vous y mettrez la clé Anthropic API que j'espère vous avez tous reçue via le QR code pour les crédits gratuits tout à l'heure.
And lastly, we'll just run the app.
Et pour finir, on lance juste l'appli.
All right, let's go ahead and dive in, but as I mentioned before, let me just show everyone where these instructions are.
Très bien, on y va, mais comme je l'ai mentionné, laissez-moi d'abord montrer à tout le monde où se trouvent ces instructions.
If you go into the repository in the link and then go to ship your first manage agents, you scroll down on the read me, you'll see all the setup instructions here.
Si vous allez dans le dépôt via le lien, puis dans ship your first Managed Agents, vous descendez dans le README et vous verrez toutes les instructions d'installation.
So, feel free to do this, um, as we go along or even in your own time later today and continue playing around with it, but as I mentioned before, everything will be also shown on the screen to follow along with.
Vous pouvez donc le faire au fur et à mesure, euh, ou plus tard dans la journée à votre rythme, mais comme je l'ai mentionné, tout sera aussi affiché à l'écran pour suivre.
So, do not worry if you did not have time to fully get it set up on your laptop.
Ne vous inquiétez donc pas si vous n'avez pas eu le temps de tout configurer sur votre ordinateur.
Without further ado, let's go ahead and dive in.
Sans plus tarder, plongeons-y.
So, once you run streamlit run app.py, you should be able to see a URL that looks like this and a page that looks like this.
Donc, quand vous lancez streamlit run app.py, vous devriez voir une URL de ce type et une page qui ressemble à ça.
What we're doing here is we're going to be simulating an agent, um, interaction here where we have an incident that's going to come up.
Ce qu'on fait ici, c'est simuler une interaction avec un agent, euh, dans laquelle un incident va se produire.
A lot of you who might be software engineers in the room will be intimately familiar with the pain that comes alongside incident response.
Beaucoup d'entre vous qui sont ingénieurs logiciel dans la salle connaissent intimement la douleur qui accompagne la réponse aux incidents.
If you are software engineer, you might be woken up at, let's say, 3:00 a.m. in the morning, 2:00 a.m. in the morning when you're out around on on vacation as you're on call, and this is usually a very painful portion of a software engineer's life, uh, because when you're on call, it means that if a server goes down or a service goes down, you have to be immediately the one there to respond and tackle the incident.
Si vous êtes ingénieur logiciel, vous pouvez être réveillé à, disons, 3 heures du matin, 2 heures du matin, quand vous êtes en vacances ou de garde, et c'est généralement une partie très douloureuse de la vie d'un ingénieur logiciel, euh, parce qu'être de garde signifie que si un serveur tombe ou un service tombe, vous devez être immédiatement là pour répondre et gérer l'incident.
Usually for a human, this means diving into metrics and logs and deployments.
Pour un humain, cela signifie généralement plonger dans les métriques, les logs et les déploiements.
You can actually investigate what's going on.
Pour vraiment comprendre ce qui se passe.
And so, what we're going to do is we're going to now have an agent run on Claude manage agents to do all this for us.
Donc ce qu'on va faire, c'est avoir un agent qui tourne sur les Managed Agents de Claude pour tout faire à notre place.
So, that when we get woken up by 3:00 a.m., we can hand it off to an agent, or maybe we don't even get woken up at all if Claude is able to do everything for us.
Pour que quand on se fait réveiller à 3 heures du matin, on puisse le confier à un agent, ou peut-être qu'on ne se fait même plus réveiller du tout si Claude est capable de tout faire pour nous.
Okay.
OK.
So, let's now go ahead and dive into the code here.
Donc, on va maintenant plonger dans le code.
What we're going to open up here is we have the agent.py file on the left and the agent complete on the right.
Ce qu'on va ouvrir ici, c'est le fichier agent.py à gauche et l'agent complet à droite.
If you want to challenge yourself, you can of course try to implement everything yourself here or with Claude.
Si vous voulez vous challenger, vous pouvez bien sûr essayer de tout implémenter vous-même ici ou avec Claude.
Um but, what we're going to do just for simplicity's sake is just copy over various elements from the completed file onto the incomplete file one by one.
Euh mais ce qu'on va faire pour simplifier, c'est juste copier les différents éléments du fichier complet vers le fichier incomplet, un par un.
So, you can see how these primitives compose our agent one piece at a time.
Pour voir comment ces primitives composent notre agent, pièce par pièce.
So, let's go ahead and start off with this very first part, which is the agent.
Commençons par cette toute première partie, qui est l'agent.
We mentioned before that the agent is the one that defines the persona and the capabilities of the agent here.
On a mentionné que l'agent définit la personnalité et les capacités de l'agent.
So, that's model, the system prompts, and the tools in our case for our agent here.
Donc, c'est le modèle, les prompts système, et les outils pour notre agent.
So, let me go ahead and copy over what we see there on the screen.
Laissez-moi copier ce qu'on voit sur l'écran.
And you can see here that we're defining the SRE agent.
Et vous pouvez voir ici qu'on définit l'agent SRE.
We're going to use Claude Opus 4.7 here.
On va utiliser Claude Opus 4.7 ici.
And I've preconfigured a system prompt and tools for the agent.
Et j'ai préconfiguré un prompt système et des outils pour l'agent.