メインコンテンツへ移動

createCodingAgent()

createCodingAgent() は、Coding Agent に常に必要となる要素(ローカル Workspace、タスクリストの Signal Provider、ネットワークリトライ用のエラー Processor、Goal Judge プロンプト)に移植可能なデフォルトを適用した Coding Agent を構築します。動作する Agent を得るには modelinstructionstools だけを指定します。どのデフォルトもオーバーライドできます。

戻り値は標準の Agent であるため、Agent を使用できる場所ならどこでも使用できます。たとえば、AgentController に渡す Agent として利用できます。

使用例
使用例への直接リンク

モデル、指示、Tool を渡します。ファクトリーが Workspace、タスクシグナル、エラー Processor、Goal プロンプトを補完します。

src/mastra/coding-agent.ts
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 のすべてのフィールドに加えて、以下のフィールドを受け取ります。指定したフィールドは常にファクトリーのデフォルトより優先されます。

model:

MastraLanguageModel | DynamicArgument<MastraLanguageModel>
Agent が使用する言語モデル。そのまま Agent に渡されます。

instructions:

string | DynamicArgument<string>
Agent のシステム指示。そのまま Agent に渡されます。

tools?:

ToolsInput | DynamicArgument<ToolsInput>
Agent が利用できる Tool。そのまま Agent に渡されます。

workspace?:

AnyWorkspace | undefined
Agent の基盤となる Workspace。キーを省略すると、デフォルトのローカル Workspace が構築されます。明示的に undefined を設定すると、ファクトリーはデフォルトを構築しません。Workspace を別の場所(AgentController レベルなど)で接続する場合にオプトアウトできます。

basePath?:

string
= process.cwd()
workspace を省略した場合に構築される、デフォルト Workspace のベースパス。

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ベースパスをルートとする LocalFilesystemLocalSandbox を利用した Workspace
signals単一の TaskSignalProvider
errorProcessors不明なストリームエラーのリトライに、ECONNRESET と Bad Request 専用のポリシー、PrefillErrorHandlerProviderHistoryCompat を加えた構成。
goal.promptDEFAULT_GOAL_JUDGE_PROMPTgoal が設定されている場合のみ)。

Workspace
Workspaceへの直接リンク

workspace キーを省略すると、ファクトリーは basePath(デフォルトは process.cwd())をルートとするローカル Workspace を構築します。

import { Workspace, LocalFilesystem, LocalSandbox } from '@mastra/core/workspace'

new Workspace({
filesystem: new LocalFilesystem({ basePath }),
sandbox: new LocalSandbox({ workingDirectory: basePath }),
})

オプトアウトするには(たとえば、AgentController レベルで Workspace を注入する場合)、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
})

エラー Processor
エラー Processorへの直接リンク

デフォルトの StreamErrorRetryProcessor は、次のリトライポリシーを適用します。

  • Provider のメタデータや特定の Matcher に一致しない不明なエラーは、3000ms の遅延で最大 2 回リトライします。既知の認証エラーは直ちに返されます。
  • ネットワークのリセット(ECONNRESET / socket hang up)は、指数バックオフ(1000ms * 2^retryCount、上限 30000ms)で最大 2 回リトライします。
  • Bad Request エラーは 2000ms 後に 1 回リトライします。

ネットワークリセットと Bad Request 専用のポリシーは、不明なエラーのポリシーより優先されます。errorProcessors を渡すと、デフォルトの Processor スタックが置き換えられます。Provider の互換性を確保するために PrefillErrorHandlerProviderHistoryCompat も含まれています。