Aller au contenu principal

Présentation des Agents

Les Agents utilisent des LLM et des Tools pour résoudre des tâches ouvertes. Ils raisonnent sur les objectifs et décident quels Tools utiliser. Ils conservent la mémoire des conversations et poursuivent leurs itérations jusqu’à ce que le modèle produise une réponse finale ou qu’une condition d’arrêt facultative soit remplie.

Les Agents produisent des réponses structurées que vous pouvez afficher dans votre interface ou traiter par programmation. Utilisez-les directement ou composez-les au sein de Workflows ou de systèmes multi-Agent.

Quand utiliser des Agents
Lien direct vers Quand utiliser des Agents

Utilisez des Agents lorsque la tâche est ouverte et que ses étapes ne sont pas connues à l’avance. Un Agent décide quels Tools appeler, combien d’itérations effectuer et quand s’arrêter. Vous fournissez l’objectif et les contraintes au lieu de définir chaque étape. Pour les processus prédéterminés à plusieurs étapes dotés d’un flux de contrôle explicite, utilisez plutôt des Workflows.

📹 Regarder

Regardez le démarrage rapide des Agents Mastra pour découvrir brièvement comment créer et tester un Agent Mastra.

Démarrage rapide
Lien direct vers Démarrage rapide

Créez un Agent en instanciant la classe Agent de @mastra/core et fournissez les propriétés requises :

src/mastra/agents/test-agent.ts
import { Agent } from '@mastra/core/agent'

export const testAgent = new Agent({
id: 'test-agent',
name: 'Test Agent',
instructions: 'You are a helpful assistant.',
model: 'openai/gpt-5.6-sol',
})

Les instructions définissent le comportement, la personnalité et les capacités de l’Agent. Ces instructions système établissent son identité fondamentale et son expertise. Le model est indiqué sous la forme 'provider/model-name' au moyen du routeur de modèles de Mastra.

Pour rendre l’Agent disponible dans toute votre application, enregistrez-le auprès de votre instance Mastra (généralement située dans src/mastra/index.ts) :

src/mastra/index.ts
import { Mastra } from '@mastra/core'
import { testAgent } from './agents/test-agent'

export const mastra = new Mastra({
agents: { testAgent },
})

Une fois enregistré, il peut être appelé depuis des Workflows, des Tools ou d’autres Agents, et accéder à des ressources partagées telles que la Memory, la journalisation et les fonctionnalités d’observabilité.

Consultez la référence des Agents pour en savoir plus sur les propriétés et configurations disponibles.

astuce

Utilisez Studio pour tester votre Agent avec différents messages, examiner les appels de Tool et les réponses, et déboguer son comportement.

Utiliser votre Agent
Lien direct vers Utiliser votre Agent

Après l’enregistrement, récupérez votre Agent avec mastra.getAgentById(). Appelez .generate() pour obtenir une réponse complète ou .stream() pour transmettre les jetons en temps réel. Vous pouvez appeler des Agents depuis les étapes de Workflow, les Tools, le client Mastra, les gestionnaires de routes, les adaptateurs de serveur ou la ligne de commande. Consultez la section des guides pour apprendre à utiliser des Agents avec le framework de votre choix.

Lorsque vous référencez un Agent depuis votre instance Mastra, utilisez mastra.getAgentById() afin de garantir son accès aux services partagés, tels que le stockage au niveau de l’instance, la journalisation et le registre des Agents. Un Agent importé directement peut fonctionner avec sa propre configuration locale, mais il n’aura pas accès à ces services partagés.

Renvoie la réponse complète une fois tous les appels de Tool et toutes les étapes terminés. Le résultat comprend text, toolCalls, toolResults, steps et les statistiques d’utilisation des jetons dans usage.

Consultez la référence de Agent.generate() pour connaître la structure de la réponse, notamment les charges utiles des appels de Tool et de leurs résultats.

const agent = mastra.getAgentById('test-agent')
const response = await agent.generate('Help me organize my day')
console.log(response.text)

Enrichir votre Agent
Lien direct vers Enrichir votre Agent

Une fois votre Agent en cours d’exécution, utilisez ce tableau pour trouver la page correspondant à votre prochaine étape :

ObjectifPoint de départ
Donner à votre Agent des Tools pour appeler des API ou services externesTools
Conserver le contexte et les préférences entre les conversationsMemory
Obtenir des objets typés plutôt que du texte brutSortie structurée
Human-in-the-loop : suspendre l’exécution en attendant une approbation humaineApprobation
Créer un réseau multi-AgentAgents superviseurs
Enregistrer des sous-AgentsTools
Intercepter ou transformer les messages avant et après la générationProcesseurs
Sécuriser votre AgentGarde-fous
Créer des Agents qui corrigent leur travailScorer de grille d’évaluation
Changer les instructions ou les modèles selon le contexte de la requêteConfiguration dynamique
Ajouter la transcription ou la synthèse vocaleVoix
Se connecter à Slack, Discord ou TelegramCanaux

Systèmes multi-Agent
Lien direct vers Systèmes multi-Agent

Un système multi-Agent utilise plusieurs Agents pour résoudre une tâche trop vaste ou trop spécialisée pour un seul Agent. Au lieu de créer un Agent doté de dizaines de Tools et d’un long ensemble d’instructions, vous répartissez les responsabilités entre des Agents spécialisés et laissez un coordinateur réunir les résultats.

Consultez la présentation conceptuelle des systèmes multi-Agent pour découvrir comment appliquer différents modèles avec Mastra.