Aller au contenu principal

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.

Exemple d’utilisation
Lien direct vers Exemple d’utilisation

workflow
.map({ prompt: mapVariable({ initData: workflow, path: "topic" }) })
.agent(testAgent)
.commit();

Paramètres
Lien direct vers 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<MastraScorers>, 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
Lien direct vers Valeur renvoyée

workflow:

Workflow
Instance de Workflow pour le chaînage de méthodes

Sortie structurée
Lien direct vers 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 :

workflow
.agent(testAgent, {
structuredOutput: {
schema: z.object({
subtopics: z.array(z.string()),
}),
},
})
.commit();

Référencer un Agent par ID
Lien direct vers 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 :

workflow.agent("test-agent", { maxSteps: 3 }).commit();

Conserver les étapes d’Agent
Lien direct vers 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. 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é.