> Discover all available pages from the documentation index: https://mastra.zisheng.pro/ja/llms.txt # createCodingAgent() `createCodingAgent()` は、Coding Agent に常に必要となる要素(ローカル Workspace、タスクリストの Signal Provider、ネットワークリトライ用のエラー Processor、Goal Judge プロンプト)に移植可能なデフォルトを適用した Coding [`Agent`](https://mastra.zisheng.pro/ja/reference/agents/agent) を構築します。動作する Agent を得るには `model`、`instructions`、`tools` だけを指定します。どのデフォルトもオーバーライドできます。 戻り値は標準の `Agent` であるため、`Agent` を使用できる場所ならどこでも使用できます。たとえば、[`AgentController`](https://mastra.zisheng.pro/ja/reference/agent-controller/agent-controller-class) に渡す Agent として利用できます。 ## 使用例 モデル、指示、Tool を渡します。ファクトリーが Workspace、タスクシグナル、エラー Processor、Goal プロンプトを補完します。 ```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: {}, }) ``` ## パラメーター `createCodingAgent()` は、[`AgentConfig`](https://mastra.zisheng.pro/ja/reference/agents/agent) のすべてのフィールドに加えて、以下のフィールドを受け取ります。指定したフィールドは常にファクトリーのデフォルトより優先されます。 **model** (`MastraLanguageModel | DynamicArgument`): Agent が使用する言語モデル。そのまま Agent に渡されます。 **instructions** (`string | DynamicArgument`): Agent のシステム指示。そのまま Agent に渡されます。 **tools** (`ToolsInput | DynamicArgument`): Agent が利用できる Tool。そのまま Agent に渡されます。 **workspace** (`AnyWorkspace | undefined`): Agent の基盤となる Workspace。キーを省略すると、デフォルトのローカル Workspace が構築されます。明示的に undefined を設定すると、ファクトリーはデフォルトを構築しません。Workspace を別の場所(AgentController レベルなど)で接続する場合にオプトアウトできます。 **basePath** (`string`): workspace を省略した場合に構築される、デフォルト Workspace のベースパス。 (Default: `process.cwd()`) **signals** (`SignalProvider[]`): Agent の Signal Provider。省略すると、単一の TaskSignalProvider がデフォルトになります。 **errorProcessors** (`Processor[]`): Agent のエラー Processor。省略すると、不明なストリームエラーのリトライに、ECONNRESET と Bad Request 専用のポリシー、PrefillErrorHandler、ProviderHistoryCompat を加えた構成がデフォルトになります。 **goal** (`AgentGoalConfig`): Goal の設定。プロンプトなしで指定すると、プロンプトのデフォルトは DEFAULT\_GOAL\_JUDGE\_PROMPT になります。 ## 戻り値 **agent** (`Agent`): 解決済みの Workspace、Signal、エラー Processor、Goal が適用された Coding Agent。 ## デフォルト ファクトリーがデフォルトを補完するのは、対応するフィールドを指定しなかった場合だけです。呼び出し元が指定した値が常に優先されます。 | フィールド | 省略時のデフォルト | | ----------------- | --------------------------------------------------------------------------------------------------------------------------------------- | | `workspace` | ベースパスをルートとする `LocalFilesystem` と `LocalSandbox` を利用した [`Workspace`](https://mastra.zisheng.pro/ja/reference/workspace/workspace-class)。 | | `signals` | 単一の [`TaskSignalProvider`](https://mastra.zisheng.pro/ja/reference/signals/task-signal-provider)。 | | `errorProcessors` | 不明なストリームエラーのリトライに、ECONNRESET と Bad Request 専用のポリシー、`PrefillErrorHandler`、`ProviderHistoryCompat` を加えた構成。 | | `goal.prompt` | `DEFAULT_GOAL_JUDGE_PROMPT`(`goal` が設定されている場合のみ)。 | ### Workspace `workspace` キーを省略すると、ファクトリーは `basePath`(デフォルトは `process.cwd()`)をルートとするローカル Workspace を構築します。 ```typescript import { Workspace, LocalFilesystem, LocalSandbox } from '@mastra/core/workspace' new Workspace({ filesystem: new LocalFilesystem({ basePath }), sandbox: new LocalSandbox({ workingDirectory: basePath }), }) ``` オプトアウトするには(たとえば、[`AgentController`](https://mastra.zisheng.pro/ja/reference/agent-controller/agent-controller-class) レベルで Workspace を注入する場合)、`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 }) ``` ### エラー Processor デフォルトの [`StreamErrorRetryProcessor`](https://mastra.zisheng.pro/ja/reference/processors/stream-error-retry-processor) は、次のリトライポリシーを適用します。 - Provider のメタデータや特定の Matcher に一致しない不明なエラーは、`3000ms` の遅延で最大 2 回リトライします。既知の認証エラーは直ちに返されます。 - ネットワークのリセット(`ECONNRESET` / `socket hang up`)は、指数バックオフ(`1000ms * 2^retryCount`、上限 `30000ms`)で最大 2 回リトライします。 - Bad Request エラーは `2000ms` 後に 1 回リトライします。 ネットワークリセットと Bad Request 専用のポリシーは、不明なエラーのポリシーより優先されます。`errorProcessors` を渡すと、デフォルトの Processor スタックが置き換えられます。Provider の互換性を確保するために `PrefillErrorHandler` と `ProviderHistoryCompat` も含まれています。 ## 関連項目 - [`buildBasePrompt()`](https://mastra.zisheng.pro/ja/reference/coding-agent/build-base-prompt) - [`Agent`](https://mastra.zisheng.pro/ja/reference/agents/agent) - [`AgentController`](https://mastra.zisheng.pro/ja/reference/agent-controller/agent-controller-class)