Claude Code

Subagent와 커스텀 에이전트 비교: Claude Code vs Codex vs Cursor vs Gemini CLI vs GitHub Copilot (2026)

Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot에서 subagent와 커스텀 에이전트는 어떻게 작동합니까?

다섯 도구 모두 파일로 커스텀 에이전트를 정의할 수 있습니다. Claude Code, Cursor, Gemini CLI, Copilot은 YAML frontmatter가 있는 Markdown을 사용합니다. Codex는 독립 TOML 파일을 사용합니다. 각 도구에는 내장 subagent가 있습니다. Claude Code의 Explore, Codex의 explorer, Cursor와 Copilot의 explore, Gemini CLI의 codebase_investigator가 그 예입니다. Claude Code, Cursor, Gemini CLI, Copilot은 description을 보고 스스로 에이전트를 선택할 수 있습니다. Codex에서는 직접 subagent를 요청하거나 AGENTS.md 또는 skill 지침이 요청합니다. 도구 간 차이는 도구 제한, 모델 선택, 백그라운드 또는 병렬 실행 방식에서 가장 큽니다.

이 페이지는 영어 가이드를 번역한 것입니다. 명령어, 설정 키, 코드는 원문 그대로이며 내용이 다를 경우 영어판을 기준으로 합니다. 영어 원문 보기 → · 다른 언어: 简体中文 · 日本語 · Español · Português (Brasil)

설정 변경 소식을 가장 먼저 받아 보세요

이 도구들의 설정, 플래그, 권한 규칙이 바뀌면 주 1회 이메일(영어)로 알려 드립니다. 모든 내용은 공식 문서로 확인합니다.

Claude Code

커스텀 subagent는 YAML frontmatter가 있는 Markdown 파일입니다. 본문이 subagent의 시스템 prompt가 됩니다. name과 description만 필수입니다.

  • 위치(우선순위 순): 관리형 설정, --agents CLI 플래그(JSON, 현재 세션만), .claude/agents/(프로젝트), ~/.claude/agents/(사용자), 그다음 플러그인의 agents/ 디렉터리.
  • 선택 필드: tools(allowlist), disallowedTools(denylist, 먼저 적용), model, permissionMode, maxTurns, skills, mcpServers, hooks, memory, background, effort, isolation(worktree), color.
  • 내장 subagent: Explore(읽기 전용 검색), Plan(plan 모드의 읽기 전용 조사), general-purpose, claude, statusline-setup, claude-code-guide.
  • 호출: description 기반 자동 위임, 자연어, @agent-<name> 같은 @-멘션, 또는 세션 전체를 해당 에이전트로 실행하는 claude --agent <name>.
  • 백그라운드: 백그라운드 subagent는 동시에 실행되며, Ctrl+B는 실행 중인 작업을 백그라운드로 옮깁니다. 기본 제한은 동시 subagent 20개입니다(CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS).
  • 모델: sonnet, opus, haiku, fable, 전체 모델 ID 또는 inherit. CLAUDE_CODE_SUBAGENT_MODEL로 기본값을 설정합니다.

.claude/agents/code-reviewer.md

---
name: code-reviewer
description: Reviews code for quality and best practices
tools: Read, Glob, Grep
model: sonnet
---

You are a code reviewer. When invoked, analyze the code and provide
specific, actionable feedback on quality, security, and best practices.

OpenAI Codex

Codex 커스텀 에이전트는 파일당 에이전트 하나인 독립 TOML 파일입니다. Codex는 파일 이름이 아니라 name 필드로 에이전트를 식별합니다.

  • 위치: ~/.codex/agents/(개인)와 .codex/agents/(프로젝트).
  • 필수 필드: name, description, developer_instructions. 선택: model, model_reasoning_effort, model_reasoning_summary, model_verbosity, features.* 키, skills 설정.
  • 커스텀 에이전트는 sandbox_mode, approval_policy, model_provider, mcp_servers를 재정의할 수 없습니다. 이 값들은 상위에서 상속됩니다.
  • 내장 에이전트: default, worker, explorer. 내장 에이전트와 이름이 같은 커스텀 에이전트가 우선합니다.
  • 호출: "spawn two agents"처럼 직접 요청하거나 prompt에서 커스텀 에이전트 이름을 지정합니다. 프로젝트나 skill 지침도 위임을 요청할 수 있습니다.
  • 병렬: Codex는 에이전트를 생성하고 모든 결과를 기다린 뒤 하나로 통합된 응답을 반환합니다. subagent 스레드를 열 수 있으며, Codex에게 subagent 스레드를 조정, 중지, 종료하도록 요청할 수 있습니다.
  • 전역 [agents] 설정에는 agents.enabled, agents.max_concurrent_threads_per_session, agents.default_subagent_model, agents.default_subagent_reasoning_effort, agents.interrupt_message가 있습니다.
  • 도구 제한: subagent는 상위 권한을 상속합니다. 기능을 줄이려면 features.shell_tool 같은 feature 키를 false로 설정합니다.

Cursor

Cursor subagent는 YAML frontmatter 뒤에 prompt가 오는 Markdown 파일입니다. Cursor는 Claude Code와 Codex의 에이전트 폴더도 읽습니다.

  • 프로젝트 위치: .cursor/agents/, .claude/agents/, .codex/agents/. 사용자 위치: ~/.cursor/agents/, ~/.claude/agents/, ~/.codex/agents/.
  • 프로젝트 에이전트가 사용자 에이전트를 재정의합니다. 이름이 겹치면 .cursor/가 .claude/나 .codex/보다 우선합니다.
  • 필드: name(기본값은 파일 이름), description, model(기본값 inherit), readonly(기본값 false), is_background(기본값 false).
  • 내장 subagent: explore(기본적으로 더 빠른 모델 사용)와 browser(MCP 도구로 브라우저 제어).
  • 호출: 에이전트가 description을 기준으로 위임하거나, prompt에서 /verifier처럼 /name으로 호출하거나, subagent 이름을 언급합니다.
  • 병렬과 백그라운드: 한 메시지 안의 여러 Task 도구 호출은 동시에 실행됩니다. is_background: true는 즉시 반환됩니다. Subagent는 자체 Git worktree나 클라우드 VM에서 실행할 수 있습니다. /in-cloud는 다음 작업을 클라우드 subagent로 실행하고, /autopilot은 pull request를 클라우드 subagent에 넘깁니다.
  • 모델: inherit 또는 모델 ID이며, claude-opus-5[effort=high] 같은 대괄호 옵션을 사용할 수 있습니다.
  • 도구 제한: subagent는 상위의 모든 도구를 상속합니다. readonly: true가 문서화된 유일한 제한 필드입니다.

Gemini CLI

Gemini CLI 에이전트는 YAML frontmatter가 있는 Markdown 파일입니다. 본문이 에이전트의 시스템 prompt가 됩니다. Subagent는 기본적으로 활성화되어 있습니다.

  • 위치: .gemini/agents/*.md(프로젝트)와 ~/.gemini/agents/*.md(사용자).
  • 필드: name과 description(필수), kind(local 또는 remote, 기본값 local), tools, mcpServers, model(기본값 inherit), temperature(기본값 1), max_turns(기본값 30), timeout_mins(기본값 10).
  • 내장 subagent: codebase_investigator, cli_help, generalist는 기본적으로 켜져 있습니다. browser_agent는 기본적으로 꺼져 있으며 Chrome 144 이상이 필요합니다.
  • 호출: 자동 위임, 또는 @codebase_investigator처럼 prompt를 @와 이름으로 시작합니다. 각 subagent는 메인 에이전트에 같은 이름의 도구로 노출됩니다.
  • 모델: 에이전트별로 model로 설정하거나, settings.json의 agents.overrides로 재정의합니다.
  • 도구 제한: tools 목록은 와일드카드 *, mcp_*, mcp_server_*를 지원합니다. Subagent는 다른 subagent를 호출할 수 없습니다. policy.toml 규칙은 subagent 속성으로 특정 subagent를 대상으로 지정할 수 있습니다.
  • settings.json에서 "experimental": { "enableAgents": false }로 subagent를 끕니다. /agents로 관리합니다.

.gemini/agents/example.md(frontmatter 형태)

---
name: my-agent
description: When the main agent should call this subagent
tools:
  - mcp_*
model: inherit
max_turns: 30
---

System prompt for the subagent goes here.

GitHub Copilot

Copilot 커스텀 에이전트는 에이전트 프로필로, YAML frontmatter가 있는 Markdown 파일입니다. 본문에는 최대 30,000자의 prompt가 들어갑니다. .md 또는 .agent.md를 뺀 파일 이름이 에이전트의 식별자입니다.

  • Copilot CLI 위치: .github/agents/(프로젝트)와 ~/.copilot/agents/(사용자)이며 .agent.md 확장자를 사용합니다. 이름이 겹치면 홈 디렉터리 버전이 우선합니다.
  • 클라우드 에이전트 위치: 저장소의 .github/agents/, 또는 조직의 .github나 .github-private 저장소의 /agents/. Enterprise 에이전트는 .github-private 저장소에 있습니다. 저장소 에이전트가 조직 에이전트를, 조직 에이전트가 enterprise 에이전트를 재정의합니다.
  • 필드: description(필수), name(선택 표시 이름), target(vscode 또는 github-copilot), tools, model, disable-model-invocation, user-invocable, mcp-servers, metadata. infer는 폐지되었습니다.
  • 내장 CLI 에이전트: explore, task, general-purpose, code-review, research(/research로만 사용), rubber-duck(다른 모델에서 실행).
  • CLI 호출: 대화형 모드의 /agent, prompt에서 에이전트 이름 지정, description 기반 추론, 또는 copilot --agent <name> --prompt "...".
  • 병렬: 에이전트는 별도 컨텍스트 창을 가진 subagent로 실행되며, 적절한 경우 병렬로 실행됩니다.
  • 도구 제한: 모든 도구를 쓰려면 tools를 생략하거나 ["*"]를 사용하고, read, edit, search, execute, agent, web, todo 같은 별칭을 나열하거나, []로 모두 비활성화합니다. MCP 도구는 server/tool 또는 server/*를 사용합니다.

.github/agents/reviewer.agent.md

---
name: reviewer
description: Reviews pull requests for security issues
tools: ["read", "search"]
---

Review the changes and report security problems.

어떤 것을 사용할까

  • 가장 세밀한 도구 제어가 필요하다면: Claude Code는 allowlist와 denylist를 모두 제공하고, 에이전트별 권한 모드, hook, worktree 격리도 지원합니다. Copilot도 별칭과 MCP 네임스페이스를 지원하는 tools 목록이 있습니다.
  • 여러 도구에서 작동하는 에이전트 폴더 하나를 원한다면: Cursor는 .cursor/agents/뿐 아니라 .claude/agents/와 .codex/agents/도 읽습니다.
  • 하나로 병합된 답변을 내는 병렬 워커를 원한다면: Codex는 여러 에이전트를 생성하고 하나로 통합된 응답을 반환하는 방식을 문서화합니다.
  • 백그라운드나 클라우드 실행을 원한다면: Claude Code(백그라운드 subagent, Ctrl+B)와 Cursor(is_background, 클라우드 subagent)가 이를 문서화합니다. Gemini CLI 페이지에는 없습니다.
  • GitHub에서 조직 전체가 공유하는 에이전트가 필요하다면: Copilot은 .github 또는 .github-private 저장소에서 조직 및 enterprise 에이전트 프로필을 지원합니다.
  • 에이전트별로 샘플링을 조정하고 싶다면: Gemini CLI는 temperature, max_turns, timeout_mins 필드를 문서화합니다.

출처

이 가이드에서 확인한 공식 문서(영어)입니다. 영어판 확인일: 2026-10-18

다른 한국어 가이드