본문으로 건너뛰기

생성코딩Agent()

createCodingAgent()코딩을 빌드합니다Agent코딩 Agent가 항상 필요로 하는 부분(로컬 작업 공간, 작업 목록 신호 제공자, 네트워크 재시도 오류 프로세서 및 목표 판단 Prompt)에 대한 이식 가능한 기본값이 있습니다. 공급만 가능model, instructions, 그리고tools작동하는 Agent를 얻거나 기본값을 무시합니다.

반환된 값은 표준 Agent이므로 Agent를 사용할 수 있는 모든 곳에서 작동합니다. 여기에는 AgentController에 전달하는 Agent도 포함됩니다.

사용예
사용예에 대한 직접 링크

Model, 지침 및 Tool을 전달합니다. 공장에서는 작업 공간, 작업 신호, 오류 프로세서 및 목표 Prompt를 채웁니다.

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가 사용하는 언어 Model입니다. 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의 신호 Provider입니다. 생략하면 단일 TaskSignalProvider가 기본값으로 사용됩니다.

errorProcessors?:

Processor[]
Agent의 오류 프로세서입니다. 생략하면 특수한 ECONNRESET 및 잘못된 요청 정책을 포함한 알 수 없는 스트림 오류 재시도와 PrefillErrorHandler 및 ProviderHistoryCompat가 기본값으로 사용됩니다.

goal?:

AgentGoalConfig
목표 구성입니다. Prompt 없이 제공하면 Prompt의 기본값은 DEFAULT_GOAL_JUDGE_PROMPT입니다.

보고
보고에 대한 직접 링크

agent:

Agent
확인된 Workspace, 신호, 오류 프로세서 및 목표가 적용된 코딩 Agent입니다.

기본값
기본값에 대한 직접 링크

공장에서는 해당 필드를 제공하지 않은 경우에만 기본값을 채웁니다. 호출자가 제공한 값은 항상 승리합니다.

필드생략 시 기본값
workspace기준 경로를 루트로 하는 LocalFilesystemLocalSandbox 기반 Workspace.
signals단일 TaskSignalProvider.
errorProcessors특수한 ECONNRESET 및 잘못된 요청 정책을 포함한 알 수 없는 스트림 오류 재시도와 PrefillErrorHandlerProviderHistoryCompat.
goal.promptgoal이 구성된 경우에만 DEFAULT_GOAL_JUDGE_PROMPT.

작업공간
작업공간에 대한 직접 링크

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 level), pass workspace: undefined explicitly:

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
})

오류 프로세서
오류 프로세서에 대한 직접 링크

기본값StreamErrorRetryProcessor applies these retry policies:

  • Provider 메타데이터와 일치하지 않는 알 수 없는 오류 또는 특정 matcher가 일치하는 오류는 3000ms 지연을 두고 최대 두 번 재시도합니다. 알려진 인증 실패는 즉시 노출됩니다.
  • 네트워크 연결 재설정(ECONNRESET / socket hang up)은 지수 백오프(1000ms * 2^retryCount, 최대 30000ms)를 적용하여 최대 두 번 재시도합니다.
  • 잘못된 요청 오류는 2000ms 후 한 번 재시도합니다. 특정 네트워크 연결 재설정 및 잘못된 요청 정책은 알 수 없는 오류 정책보다 우선합니다. errorProcessors를 전달하면 기본 프로세서 스택이 대체됩니다. Provider 호환성을 위해 PrefillErrorHandlerProviderHistoryCompat도 포함됩니다.