> Discover all available pages from the documentation index: https://mastra.zisheng.pro/fr/llms.txt # createCodingAgent() `createCodingAgent()` construit un [`Agent`](https://mastra.zisheng.pro/fr/reference/agents/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`](https://mastra.zisheng.pro/fr/reference/agent-controller/agent-controller-class). ## 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 : ```typescript 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ètres `createCodingAgent()` accepte tous les champs d’[`AgentConfig`](https://mastra.zisheng.pro/fr/reference/agents/agent), 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** (`MastraLanguageModel | DynamicArgument`): Modèle de langage utilisé par l’Agent. Transmis directement à Agent. **instructions** (`string | DynamicArgument`): Instructions système de l’Agent. Transmises directement à Agent. **tools** (`ToolsInput | DynamicArgument`): Tools accessibles à l’Agent. Transmis directement à Agent. **workspace** (`AnyWorkspace | undefined`): Workspace sous-jacent à l’Agent. Lorsque la clé est omise, un Workspace local par défaut est construit. Lorsqu’elle est explicitement définie sur undefined, la fonction de fabrique ne construit aucune valeur par défaut ; utilisez cette option si le Workspace est connecté ailleurs, par exemple au niveau d’AgentController. **basePath** (`string`): Chemin de base du Workspace par défaut construit lorsque workspace est omis. (Default: `process.cwd()`) **signals** (`SignalProvider[]`): Providers de signaux de l’Agent. En cas d’omission, la valeur par défaut est un seul TaskSignalProvider. **errorProcessors** (`Processor[]`): Processors d’erreurs de l’Agent. En cas d’omission, la valeur par défaut comprend les 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** (`AgentGoalConfig`): Configuration de l’objectif. Lorsqu’elle est fournie sans prompt, la valeur par défaut du prompt est DEFAULT\_GOAL\_JUDGE\_PROMPT. ## Valeur renvoyée **agent** (`Agent`): Agent de programmation auquel sont appliqués le Workspace résolu, les signaux, les Processors d’erreurs et l’objectif. ## 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`](https://mastra.zisheng.pro/fr/reference/workspace/workspace-class) reposant sur `LocalFilesystem` et `LocalSandbox`, avec le chemin de base comme racine. | | `signals` | Un seul [`TaskSignalProvider`](https://mastra.zisheng.pro/fr/reference/signals/task-signal-provider). | | `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é. | ### 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 : ```typescript 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`](https://mastra.zisheng.pro/fr/reference/agent-controller/agent-controller-class), transmettez explicitement `workspace: undefined` : ```typescript 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’erreurs Le [`StreamErrorRetryProcessor`](https://mastra.zisheng.pro/fr/reference/processors/stream-error-retry-processor) 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. ## Voir aussi - [`buildBasePrompt()`](https://mastra.zisheng.pro/fr/reference/coding-agent/build-base-prompt) - [`Agent`](https://mastra.zisheng.pro/fr/reference/agents/agent) - [`AgentController`](https://mastra.zisheng.pro/fr/reference/agent-controller/agent-controller-class)