> Discover all available pages from the documentation index: https://mastra.zisheng.pro/fr/llms.txt # Workflow\.agent() La méthode `.agent()` ajoute un Agent comme étape déclarative. L’étape accepte `{ prompt: string }` comme entrée et renvoie `{ text: string }` par défaut. Utilisez `.map()` avant l’Agent pour construire le prompt à partir des données du Workflow. Contrairement à l’encapsulation d’un Agent avec `createStep()`, `.agent()` enregistre une entrée déclarative dans le graphe du Workflow. Le Workflow devient ainsi portable : le même graphe peut être sérialisé et conservé comme [Workflow dynamique](https://mastra.zisheng.pro/fr/docs/workflows/dynamic-workflows). ## Exemple d’utilisation ```typescript workflow .map({ prompt: mapVariable({ initData: workflow, path: "topic" }) }) .agent(testAgent) .commit(); ``` ## Paramètres **agentOrId** (`Agent | string`): Instance d’Agent ou ID d’un Agent enregistré dans l’instance Mastra. Lorsqu’un ID est transmis, l’Agent est résolu depuis le registre au moment de l’exécution. **options** (`AgentStepOptions & { structuredOutput?: { schema }, retries?: number, scorers?: DynamicArgument, metadata?: StepMetadata }`): Options d’appel de l’Agent telles que maxSteps, modelSettings, memory et providerOptions, ainsi que les retries, scorers et metadata au niveau de l’étape. Les champs par requête tels que requestContext, resourceId, threadId et onStepFinish sont gérés par le moteur de Workflow et exclus. **stepOptions** (`{ id?: string }`): ID du site d’appel de l’étape dans le Workflow. Sa valeur par défaut est l’ID de l’Agent. Définissez-le lorsque le même Agent apparaît plusieurs fois dans un même Workflow. ## Valeur renvoyée **workflow** (`Workflow`): Instance de Workflow pour le chaînage de méthodes ## Sortie structurée Par défaut, la sortie de l’étape est `{ text: string }`. Transmettez `structuredOutput.schema` pour que l’étape renvoie plutôt cette forme. Le schéma devient le schéma de sortie de l’étape, ce qui permet aux étapes ultérieures de s’y chaîner avec une sécurité de type complète : ```typescript workflow .agent(testAgent, { structuredOutput: { schema: z.object({ subtopics: z.array(z.string()), }), }, }) .commit(); ``` ## Référencer un Agent par ID Transmettez une chaîne pour référencer un Agent enregistré sans l’importer. L’Agent doit être enregistré dans l’instance Mastra lorsque le Workflow s’exécute : ```typescript workflow.agent("test-agent", { maxSteps: 3 }).commit(); ``` ## Conserver les étapes d’Agent Les Workflows construits avec `.agent()` se sérialisent dans les mêmes entrées déclaratives que les [Workflows dynamiques](https://mastra.zisheng.pro/fr/docs/workflows/dynamic-workflows). Seuls `retries` et `metadata` effectuent un aller-retour via le stockage. Les options qui contiennent des fonctions, telles que `onFinish` ou un `toolChoice` dont la valeur est une fonction, lèvent une erreur lorsque le Workflow est conservé. ## Voir aussi - [Agents et Tools](https://mastra.zisheng.pro/fr/docs/workflows/agents-and-tools) - [Workflows dynamiques](https://mastra.zisheng.pro/fr/docs/workflows/dynamic-workflows) - [Workflow.tool()](https://mastra.zisheng.pro/fr/reference/workflows/workflow-methods/tool)