- Claude Code์์ ํน์ ์์
์ ์ ๋ดํ๋ ํน์ํ๋ ํ์ AI ์ด์์คํดํธ
- ๊ฐ subagent๋ ๋
๋ฆฝ๋ ์ปจํ
์คํธ ์๋์ฐ์์ ์คํ
- ์ปค์คํ
์์คํ
ํ๋กฌํํธ, ๊ฐ๋ณ ๋๊ตฌ ์ ๊ทผ ๊ถํ, ๋
๋ฆฝ์ ํผ๋ฏธ์
๋ณด์
- Claude๊ฐ subagent์
description๊ณผ ๋งค์นญ๋๋ ์์
์ ๋ง๋๋ฉด ์๋ ์์ โ ๋
๋ฆฝ ์์
ํ ๊ฒฐ๊ณผ ๋ฐํ
ํด๋น ๊ฐ๋
์ด ํ์ํ ์ด์
- ์ปจํ
์คํธ ์ค์ผ ๋ฐฉ์ง: ๋๋ ์ถ๋ ฅ(ํ
์คํธ ๋ก๊ทธ, ํ์ผ ํ์ ๊ฒฐ๊ณผ)์ด ๋ฉ์ธ ๋ํ๋ฅผ ์ค์ผ์ํค์ง ์์
- ์ปจํ
์คํธ ์๋์ฐ ์ ์ฝ: ๋ฉ์ธ ๋ํ์ ์ปจํ
์คํธ๋ฅผ ํต์ฌ ์์
์๋ง ์ง์คํ ์ ์์
- ์ ์ฝ ๊ฐ์ : subagent๋ณ๋ก ์ฌ์ฉ ๊ฐ๋ฅํ ๋๊ตฌ๋ฅผ ์ ํ (์: ์ฝ๊ธฐ ์ ์ฉ)
- ๋น์ฉ ์ ์ด: ๋จ์ ์์
์ Haiku ๊ฐ์ ์ ๋ ดํ ๋ชจ๋ธ๋ก ๋ผ์ฐํ
AS-IS (Subagent ์์ด)
sequenceDiagram
autonumber
actor User
participant Main as ๋ฉ์ธ ๋ํ ์ปจํ
์คํธ
User->>Main: "ํ
์คํธ ์คํํด์ค"
Main->>Main: ํ
์คํธ ์ถ๋ ฅ 500์ค ์์ฑ
Note over Main: ์ปจํ
์คํธ์ ํ
์คํธ ๋ก๊ทธ๊ฐ<br/>๊ทธ๋๋ก ์ถ์ ๋จ
User->>Main: "auth ๋ชจ๋ ๊ตฌ์กฐ ํ์
ํด์ค"
Main->>Main: 20๊ฐ ํ์ผ ํ์ ๊ฒฐ๊ณผ ์์ฑ
Note over Main: ํ์ผ ๋ด์ฉ์ด ์ปจํ
์คํธ์<br/>์ถ๊ฐ๋ก ์ถ์ ๋จ
User->>Main: "์ด์ ๋ฒ๊ทธ ์์ ํด์ค"
Note over Main: โ ๏ธ ์ปจํ
์คํธ ์ค์ผ<br/>ํ
์คํธ ๋ก๊ทธ + ํ์ ๊ฒฐ๊ณผ๋ก<br/>ํต์ฌ ๋ํ๊ฐ ๋ฐ๋ ค๋จ<br/>โ ์ด์ ๋งฅ๋ฝ ์ ์ค
TO-BE (Subagent ์ฌ์ฉ)
sequenceDiagram
autonumber
actor User
participant Main as ๋ฉ์ธ ๋ํ ์ปจํ
์คํธ
participant Sub1 as test-runner (Subagent)
participant Sub2 as Explore (Subagent)
User->>Sub1: "ํ
์คํธ ์คํํด์ค"
Note over Sub1: ๋
๋ฆฝ ์ปจํ
์คํธ์์<br/>ํ
์คํธ 500์ค ์คํ
Sub1-->>Main: "3๊ฐ ์คํจ" (์์ฝ๋ง ๋ฐํ)
User->>Sub2: "auth ๋ชจ๋ ๊ตฌ์กฐ ํ์
ํด์ค"
Note over Sub2: ๋
๋ฆฝ ์ปจํ
์คํธ์์<br/>20๊ฐ ํ์ผ ํ์
Sub2-->>Main: ๊ตฌ์กฐ ์์ฝ ๋ฐํ
User->>Main: "์ด์ ๋ฒ๊ทธ ์์ ํด์ค"
Note over Main: โ
์ปจํ
์คํธ ๊นจ๋<br/>์์ฝ๋ง ๋จ์์์ด<br/>ํต์ฌ ๋งฅ๋ฝ ์ ์ง๋จ
๋นํธ์ธ Subagents
| Agent | ๋ชจ๋ธ | ๋๊ตฌ | ์ฉ๋ |
|---|
| Explore | Haiku (๋น ๋ฆ) | ์ฝ๊ธฐ ์ ์ฉ | ํ์ผ ํ์, ์ฝ๋ ๊ฒ์, ์ฝ๋๋ฒ ์ด์ค ๋ถ์ |
| Plan | ์์ | ์ฝ๊ธฐ ์ ์ฉ | Plan ๋ชจ๋์์ ์ฝ๋๋ฒ ์ด์ค ๋ฆฌ์์น |
| general-purpose | ์์ | ์ ์ฒด | ๋ณตํฉ ๋ฆฌ์์น, ๋ค๋จ๊ณ ์์
, ์ฝ๋ ์์ |
| Bash | ์์ | ํฐ๋ฏธ๋ | ๋ณ๋ ์ปจํ
์คํธ์์ ์ปค๋งจ๋ ์คํ |
| Claude Code Guide | Haiku | - | Claude Code ๊ธฐ๋ฅ ๊ด๋ จ ์ง๋ฌธ ์๋ต |
Subagent ํ์ผ ์ ์ฅ ์์น
| ์์น | ๊ฒฝ๋ก | ์ ์ฉ ๋ฒ์ |
|---|
| CLI ํ๋๊ทธ | --agents '{JSON}' | ํ์ฌ ์ธ์
๋ง (์ฐ์ ์์ ์ต์) |
| Project | .claude/agents/<name>.md | ํด๋น ํ๋ก์ ํธ๋ง |
| Personal | ~/.claude/agents/<name>.md | ๋ด ๋ชจ๋ ํ๋ก์ ํธ |
| Plugin | <plugin>/agents/<name>.md | ํ๋ฌ๊ทธ์ธ ํ์ฑํ๋ ๊ณณ |
Subagent ์ ์ ๋ฐฉ๋ฒ
.claude/agents/ (ํ๋ก์ ํธ) ๋๋ ~/.claude/agents/ (๊ฐ์ธ)์ Markdown ํ์ผ ์์ฑ:
---
name: code-reviewer
description: ์ฝ๋ ํ์ง๊ณผ ๋ณด์์ ๋ฆฌ๋ทฐํ๋ ์ ๋ฌธ๊ฐ
tools: Read, Glob, Grep
model: sonnet
---
๋น์ ์ ์ฝ๋ ๋ฆฌ๋ทฐ์ด์
๋๋ค. ํธ์ถ๋๋ฉด ์ฝ๋๋ฅผ ๋ถ์ํ๊ณ
ํ์ง, ๋ณด์, ๋ชจ๋ฒ ์ฌ๋ก์ ๋ํ ํผ๋๋ฐฑ์ ์ ๊ณตํ์ธ์.
์ฃผ์ Frontmatter ํ๋
| ํ๋ | ํ์ | ์ค๋ช
|
|---|
name | Yes | ๊ณ ์ ์๋ณ์ (์๋ฌธ์, ํ์ดํ) |
description | Yes | Claude๊ฐ ์์ ํ๋จ์ ์ฌ์ฉํ๋ ์ค๋ช
|
tools | No | ์ฌ์ฉ ๊ฐ๋ฅํ ๋๊ตฌ (์๋ต ์ ์ ์ฒด ์์) |
disallowedTools | No | ์ฐจ๋จํ ๋๊ตฌ |
model | No | sonnet, opus, haiku, inherit |
permissionMode | No | ํผ๋ฏธ์
๋์ ๋ชจ๋ |
maxTurns | No | ์ต๋ ์์ด์ ํธ ํด ์ |
skills | No | ์์ ์ ๋ก๋ํ ์คํฌ ๋ชฉ๋ก |
| Hooks | No | ๋ผ์ดํ์ฌ์ดํด ํ
|
memory | No | ์๊ตฌ ๋ฉ๋ชจ๋ฆฌ ์ค์ฝํ (user, project, local) |
์คํ ๋ฐฉ์: Foreground vs Background
- Foreground: ๋ฉ์ธ ๋ํ๋ฅผ ๋ธ๋กํน. ํผ๋ฏธ์
ํ๋กฌํํธ๊ฐ ์ฌ์ฉ์์๊ฒ ์ ๋ฌ๋จ
- Background: ๋ณ๋ ฌ ์คํ. ์ฌ์ ์ ํ์ํ ํผ๋ฏธ์
์ ์น์ธ๋ฐ๊ณ ์์.
Ctrl+B๋ก ์คํ ์ค์ธ ์์
์ ๋ฐฑ๊ทธ๋ผ์ด๋๋ก ์ ํ ๊ฐ๋ฅ
Skills์์ ๊ด๊ณ
| ๋ฐฉํฅ | ์ค๋ช
|
|---|
| Skill โ Subagent | Skill์ context: fork + agent: Explore ์ค์ ์, ์คํฌ ๋ด์ฉ์ด subagent์ ํ์คํฌ๊ฐ ๋จ |
| Subagent โ Skill | Subagent์ skills: [api-conventions] ์ค์ ์, ์คํฌ ๋ด์ฉ์ด subagent ์ปจํ
์คํธ์ ์ฃผ์
๋จ |
์ฐธ๊ณ ๋ฌธ์