createCodingAgent()
createCodingAgent() construit un Agent de programmation avec des valeurs par défaut portables pour les composants dont il a toujours besoin : un Workspace local, le Provider de signaux de liste de tâches, les Processors d’erreurs chargés des nouvelles tentatives réseau et le prompt du juge de l’objectif. Fournissez uniquement model, instructions et tools pour obtenir un Agent fonctionnel, ou remplacez n’importe quelle valeur par défaut.
La valeur renvoyée est un Agent standard ; elle fonctionne donc partout où un Agent peut être utilisé, notamment comme Agent transmis à un AgentController.
Exemple d’utilisationLien direct vers Exemple d’utilisation
Transmettez un modèle, des instructions et des Tools. La fonction de fabrique fournit le Workspace, le signal de tâche, les Processors d’erreurs et le prompt de l’objectif :
import { createCodingAgent } from '@mastra/core/coding-agent'
const agent = createCodingAgent({
id: 'my-coding-agent',
name: 'My Coding Agent',
model: 'openai/gpt-5',
instructions: 'You are a helpful coding assistant.',
tools: {},
})
ParamètresLien direct vers Paramètres
createCodingAgent() accepte tous les champs d’AgentConfig, ainsi que les champs ci-dessous. Les champs que vous fournissez sont toujours prioritaires sur les valeurs par défaut de la fonction de fabrique.
model:
instructions:
tools?:
workspace?:
basePath?:
signals?:
errorProcessors?:
goal?:
Valeur renvoyéeLien direct vers Valeur renvoyée
agent:
Valeurs par défautLien direct vers Valeurs par défaut
La fonction de fabrique ne fournit une valeur par défaut que si vous n’indiquez pas le champ correspondant. Les valeurs fournies par l’appelant sont toujours prioritaires.
| Champ | Valeur par défaut en cas d’omission |
|---|---|
workspace | Un Workspace reposant sur LocalFilesystem et LocalSandbox, avec le chemin de base comme racine. |
signals | Un seul TaskSignalProvider. |
errorProcessors | Nouvelles tentatives après les erreurs de flux inconnues, avec des politiques spécialisées pour ECONNRESET et les requêtes incorrectes, ainsi que PrefillErrorHandler et ProviderHistoryCompat. |
goal.prompt | DEFAULT_GOAL_JUDGE_PROMPT, uniquement lorsqu’un goal est configuré. |
WorkspaceLien direct vers Workspace
Lorsque la clé workspace est omise, la fonction de fabrique construit un Workspace local dont la racine est basePath, avec process.cwd() comme valeur par défaut :
import { Workspace, LocalFilesystem, LocalSandbox } from '@mastra/core/workspace'
new Workspace({
filesystem: new LocalFilesystem({ basePath }),
sandbox: new LocalSandbox({ workingDirectory: basePath }),
})
Pour désactiver ce comportement, par exemple lorsque le Workspace est injecté au niveau d’AgentController, transmettez explicitement workspace: undefined :
const agent = createCodingAgent({
id: 'my-coding-agent',
name: 'My Coding Agent',
model: 'openai/gpt-5',
instructions: 'You are a helpful coding assistant.',
tools: {},
workspace: undefined, // opt out of the default workspace
})
Processors d’erreursLien direct vers Processors d’erreurs
Le StreamErrorRetryProcessor par défaut applique les politiques de nouvelle tentative suivantes :
- Les erreurs inconnues qui ne correspondent pas aux métadonnées du Provider ni à un matcher particulier font l’objet de deux nouvelles tentatives au maximum, avec un délai de
3000ms. Les échecs d’autorisation connus sont immédiatement renvoyés. - Les réinitialisations réseau (
ECONNRESET/socket hang up) font l’objet de deux nouvelles tentatives au maximum avec un backoff exponentiel (1000ms * 2^retryCount, plafonné à30000ms). - Les erreurs de requête incorrecte font l’objet d’une nouvelle tentative après
2000ms.
Les politiques propres aux réinitialisations réseau et aux requêtes incorrectes sont prioritaires sur la politique des erreurs inconnues. La transmission de errorProcessors remplace la pile de Processors par défaut. PrefillErrorHandler et ProviderHistoryCompat sont également inclus pour assurer la compatibilité avec les Providers.