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’utilisationLien direct vers Exemple d’utilisation
workflow
.map({ prompt: mapVariable({ initData: workflow, path: "topic" }) })
.agent(testAgent)
.commit();
ParamètresLien direct vers Paramètres
agentOrId:
options?:
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?:
Valeur renvoyéeLien direct vers Valeur renvoyée
workflow:
Sortie structuréeLien 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 IDLien 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’AgentLien 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é.