createCodingAgent()
createCodingAgent() 會建立 Coding Agent,並為 Coding Agent 一定需要的元件提供可攜式預設值:本機 Workspace、task-list signal Provider、網路重試錯誤 processor 與 goal judge prompt。只要提供 model、instructions 與 tools 即可取得可運作的 Agent,也可以覆寫任何預設值。
傳回值是標準 Agent,因此可用於任何接受 Agent 的位置,包括傳給 AgentController 的 Agent。
使用範例「使用範例」的直接連結
傳入模型、instructions 與 Tool。factory 會填入 Workspace、task signal、錯誤 processor 與 goal prompt:
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 的所有欄位,以及下列欄位。你提供的欄位一律優先於 factory 預設值。
model:
instructions:
tools?:
workspace?:
basePath?:
signals?:
errorProcessors?:
goal?:
傳回值「傳回值」的直接連結
agent:
預設值「預設值」的直接連結
只有在你未提供對應欄位時,factory 才會填入預設值。呼叫端提供的值一律優先。
| 欄位 | 省略時的預設值 |
|---|---|
workspace | 由 LocalFilesystem 與 LocalSandbox 支援,且根目錄設在基底路徑的 Workspace。 |
signals | 單一 TaskSignalProvider。 |
errorProcessors | 針對未知 stream 錯誤重試,搭配專用的 ECONNRESET 與 bad-request policy,另外也包含 PrefillErrorHandler 與 ProviderHistoryCompat。 |
goal.prompt | DEFAULT_GOAL_JUDGE_PROMPT(僅在設定 goal 時)。 |
Workspace「Workspace」的直接連結
省略 workspace key 時,factory 會建立根目錄位於 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 會套用下列重試 policy:
- Provider 中繼資料或特定 matcher 未比對到的未知錯誤最多重試兩次,每次延遲
3000ms。已知的授權失敗則會立即顯示。 - 網路重設(
ECONNRESET/socket hang up)最多重試兩次,並使用指數退避(1000ms * 2^retryCount,上限為30000ms)。 - Bad-request 錯誤會在
2000ms後重試一次。
專用的網路重設與 bad-request policy 優先於未知錯誤 policy。傳入 errorProcessors 會取代預設 processor stack。為了與 Provider 相容,預設也包含 PrefillErrorHandler 與 ProviderHistoryCompat。