- Codex์์ ํน์ ์์ ์ ์ ๋ดํ๋ ํน์ํ๋ ํ์ AI ์์ด์ ํธ
- ๊ฐ subagent๋ ๋ ๋ฆฝ๋ ์ค๋ ๋์์ ๋ณ๋ ฌ ์คํ๋๋ฉฐ, ๊ฒฐ๊ณผ๋ฅผ ํ๋๋ก ๋ชจ์ ๋ฐํ
- ๋ช ์์ ์์ฒญ ์์๋ง ์์ฑ โ Codex๊ฐ ์์๋ก subagent๋ฅผ ์์ฑํ์ง ์์
- TOML ํ์ผ๋ก ์ปค์คํ ์์ด์ ํธ ์ ์ ๊ฐ๋ฅ (๋ชจ๋ธ, ์๋๋ฐ์ค, MCP Server ๋ฑ ๊ฐ๋ณ ์ค์ )
ํด๋น ๊ฐ๋ ์ด ํ์ํ ์ด์
- ๋ณ๋ ฌ ์ฒ๋ฆฌ: ์ฝ๋๋ฒ ์ด์ค ํ์, PR ๋ฆฌ๋ทฐ, ๋๋ฒ๊น ๋ฑ ๋ ๋ฆฝ ์์ ์ ๋์์ ์คํ
- ์ปจํ ์คํธ ๊ฒฉ๋ฆฌ: ๋๋ ์ถ๋ ฅ์ด ๋ฉ์ธ ์ค๋ ๋๋ฅผ ์ค์ผ์ํค์ง ์์
- ์ญํ ๋ถ๋ฆฌ: ์์ด์ ํธ๋ณ๋ก ๋ชจ๋ธ, ๋๊ตฌ, ์๋๋ฐ์ค๋ฅผ ๋ค๋ฅด๊ฒ ์ค์ ํ์ฌ ๋น์ฉ๊ณผ ๋ณด์ ์ต์ ํ
- ํ์ฅ์ฑ: CSV ๊ธฐ๋ฐ ๋ฐฐ์น ์ฒ๋ฆฌ๋ก ์์ญ ๊ฐ ์์ ์ ์์ปค ๋จ์๋ก ๋ณ๋ ฌ ์คํ ๊ฐ๋ฅ
AS-IS (Subagent ์์ด)
sequenceDiagram autonumber actor User participant Main as ๋ฉ์ธ ์ค๋ ๋ User->>Main: "PR ๋ฆฌ๋ทฐํด์ค" Main->>Main: ์ฝ๋ ํ์ + ๋ณด์ ๋ถ์ + ๋ฌธ์ ํ์ธ Note over Main: ๋ชจ๋ ์์ ์ด ์์ฐจ ์คํ<br/>๋๋ ์ถ๋ ฅ์ด ์ปจํ ์คํธ์ ์ถ์ Main-->>User: ๋ฆฌ๋ทฐ ๊ฒฐ๊ณผ Note over Main: โ ๏ธ ์๊ฐ ์์ + ์ปจํ ์คํธ ์ค์ผ
TO-BE (Subagent ์ฌ์ฉ)
sequenceDiagram autonumber actor User participant Main as ๋ฉ์ธ ์ค๋ ๋ participant A1 as pr_explorer (Subagent) participant A2 as reviewer (Subagent) participant A3 as docs_researcher (Subagent) User->>Main: "PR ๋ฆฌ๋ทฐํด์ค, ์์ด์ ํธ๋ณ๋ก ๋๋ ์" par ๋ณ๋ ฌ ์คํ Main->>A1: ์ฝ๋ ๊ฒฝ๋ก ํ์ Main->>A2: ์ ํ์ฑ/๋ณด์ ๋ถ์ Main->>A3: API ๋ฌธ์ ๊ฒ์ฆ end A1-->>Main: ๊ด๋ จ ์ฝ๋ ์์ฝ A2-->>Main: ๋ฆฌ์คํฌ ์ฒดํฌ๋ฆฌ์คํธ A3-->>Main: ๋ฌธ์ ์ ํฉ์ฑ ๊ฒฐ๊ณผ Main->>Main: 3๊ฐ ๊ฒฐ๊ณผ ํตํฉ Main-->>User: ํตํฉ ๋ฆฌ๋ทฐ ๊ฒฐ๊ณผ Note over Main: โ ๋ณ๋ ฌ ์คํ + ์ปจํ ์คํธ ๊นจ๋
๋นํธ์ธ Subagents
| Agent | ์ฉ๋ |
|---|---|
| default | ๋ฒ์ฉ ํด๋ฐฑ ์์ด์ ํธ |
| worker | ๊ตฌํ, ์์ ๋ฑ ์คํ ์ค์ฌ ์์ |
| explorer | ์ฝ๊ธฐ ์ค์ฌ ์ฝ๋๋ฒ ์ด์ค ํ์ |
Subagent ์ ์ ๋ฐฉ๋ฒ
์ปค์คํ ์์ด์ ํธ๋ TOML ํ์ผ๋ก ์ ์ํ๋ค:
| ์์น | ๊ฒฝ๋ก | ์ ์ฉ ๋ฒ์ |
|---|---|---|
| Personal | ~/.codex/agents/<name>.toml | ๋ด ๋ชจ๋ ํ๋ก์ ํธ |
| Project | .codex/agents/<name>.toml | ํด๋น ํ๋ก์ ํธ๋ง |
# .codex/agents/code-reviewer.toml
name = "code-reviewer"
description = "์ฝ๋ ํ์ง๊ณผ ๋ณด์์ ๋ฆฌ๋ทฐํ๋ ์ ๋ฌธ๊ฐ"
developer_instructions = """
๋น์ ์ ์ฝ๋ ๋ฆฌ๋ทฐ์ด์
๋๋ค. ํธ์ถ๋๋ฉด ์ฝ๋๋ฅผ ๋ถ์ํ๊ณ
ํ์ง, ๋ณด์, ๋ชจ๋ฒ ์ฌ๋ก์ ๋ํ ํผ๋๋ฐฑ์ ์ ๊ณตํ์ธ์.
"""
sandbox_mode = "read-only"
model = "gpt-5.4"์ฃผ์ ํ๋
ํ์ ํ๋
| ํ๋ | ์ค๋ช |
|---|---|
name | ์์ด์ ํธ ์๋ณ์ (์คํฐ ์ ์ฌ์ฉ) |
description | ์ฌ์ฉ์ ์๋ด์ฉ ์ค๋ช |
developer_instructions | ํต์ฌ ํ๋ ์ง์์ฌํญ (system prompt ์ญํ ) |
์ ํ ํ๋ (์๋ต ์ ๋ถ๋ชจ ์ธ์ ์์)
| ํ๋ | ์ค๋ช | ์์ |
|---|---|---|
nickname_candidates | UI ํ์์ฉ ์ฝ๊ธฐ ์ฌ์ด ์ด๋ฆ ๋ชฉ๋ก | ["Code Scout", "Explorer"] |
model | ์ฌ์ฉํ ๋ชจ๋ธ | "gpt-5.4", "gpt-5.4-mini" |
model_reasoning_effort | ์ถ๋ก ์์ค | low / medium / high |
sandbox_mode | ์คํ ๊ถํ | "read-only", "workspace" |
mcp_servers | MCP Server ์ค์ | ์๋ ์์ ์ฐธ์กฐ |
skills.config | ๋ฐ์ธ๋ฉํ ์คํฌ | ์๋ ์์ ์ฐธ์กฐ |
๊ธ๋ก๋ฒ ์ค์
~/.codex/config.toml์ [agents] ์น์
์์ ์ ์ฒด ๋์์ ์ ์ดํ๋ค:
| ํ๋ | ํ์ | ์ค๋ช | ๊ธฐ๋ณธ๊ฐ |
|---|---|---|---|
agents.max_threads | number | ๋์ ์คํ ๊ฐ๋ฅํ ์ค๋ ๋ ์ | 6 |
agents.max_depth | number | ์์ด์ ํธ ์ค์ฒฉ ๊น์ด | 1 |
agents.job_max_runtime_seconds | number | ์์ปค ํ์์์ | 1800 |
์ค์ฒฉ ๊น์ด (max_depth)
๊ธฐ๋ณธ๊ฐ 1์ ์ง์ ์์ ์์ด์ ํธ๋ง ์์ฑ ๊ฐ๋ฅํ๊ณ , ๊ทธ ์์์ด ๋ ๋ค๋ฅธ ์์ด์ ํธ๋ฅผ ์์ฑํ๋ ๊ฒ์ ์ฐจ๋จํ๋ค. ๊ฐ์ ๋์ด๋ฉด ํ ํฐ ์ฌ์ฉ๋๊ณผ ๋ ์ดํด์๊ฐ ๊ธ์ฆํ ์ ์๋ค.
flowchart TD Main["Main Thread"] A["Agent A (depth 1)"] B["Agent B (depth 1)"] C["Agent C (depth 2)"] Main --> A Main --> B A -.->|"max_depth=1 โ โ ์ฐจ๋จ"| C style C stroke-dasharray: 5 5
์๋๋ฐ์ค์ ๊ถํ
- Subagent๋ ๋ถ๋ชจ ์ธ์ ์ ์๋๋ฐ์ค ์ ์ฑ ์ ์์
- ์ปค์คํ
์์ด์ ํธ ํ์ผ์ ๋ค๋ฅธ ๊ธฐ๋ณธ๊ฐ์ ์ง์ ํด๋, ๋ถ๋ชจ์ ๋ฐํ์ ์ค๋ฒ๋ผ์ด๋(sandbox ์ ํ, ์น์ธ,
--yolo)๊ฐ ์ฐ์ ์ ์ฉ - Non-interactive ๋ชจ๋์์๋ ์๋ก์ด ์น์ธ์ด ํ์ํ ์ก์ ์ ์๋ฌ๋ก ์คํจํ๋ฉฐ, ๋ถ๋ชจ ์ํฌํ๋ก์ฐ์ ์๋ฌ๊ฐ ์ ํ๋จ
์คํ ์ค ์ฌ์ฉ์ ๊ฐ์
Codex subagent๋ ์คํ ์ค์ ์ฌ์ฉ์๊ฐ ์ง์ ๊ฐ์ ํ ์ ์๋ค. ์ด๊ฒ์ Claude Code subagent์์ ๊ฐ์ฅ ํฐ ์ค๊ณ ์ฐจ์ด์ด๋ค.
์ค๋ ๋ ์ ํ๊ณผ ๋ชจ๋ํฐ๋ง
/agent # ํ์ฑ ์์ด์ ํธ ์ค๋ ๋ ๋ชฉ๋ก ํ์ + ์ ํ
/agent๋ช ๋ น์ผ๋ก ์คํ ์ค์ธ subagent ์ค๋ ๋ ๊ฐ ์์ ๋กญ๊ฒ ์ ํ- ์คํ ์ค์ธ subagent์ ์ง์ ๋ง์ ๊ฑธ์ด ๋ฐฉํฅ ์กฐ์ , ์ค๋จ, ์ค๋ ๋ ์ข ๋ฃ ๊ฐ๋ฅ
์น์ธ ์์ฒญ ์ค๋ฒ๋ ์ด
subagent๊ฐ ๊ถํ์ด ํ์ํ ์์ (ํ์ผ ์์ , ๋ช ๋ น ์คํ ๋ฑ)์ ์๋ํ๋ฉด, ์ฌ์ฉ์๊ฐ ๋ค๋ฅธ ์ค๋ ๋๋ฅผ ๋ณด๊ณ ์๋๋ผ๋ ์น์ธ ์์ฒญ์ด ์ค๋ฒ๋ ์ด๋ก ํ์๋๋ค:
sequenceDiagram autonumber actor User participant Main as ๋ฉ์ธ ์ค๋ ๋ participant A1 as reviewer (Subagent) User->>Main: ๋ฉ์ธ ์ค๋ ๋์์ ์์ ์ค A1->>User: โ ๏ธ ์น์ธ ์์ฒญ ์ค๋ฒ๋ ์ด<br/>[source: reviewer] Note over User: `o` ํค๋ก reviewer ์ค๋ ๋ ์ด๊ธฐ User->>A1: approve / reject / answer
Claude Code์์ ๊ฐ์ ๋ชจ๋ธ ๋น๊ต
| Codex | Claude Code | |
|---|---|---|
| ์คํ ์ค ์ฌ์ฉ์ ๊ฐ์ | ๊ฐ๋ฅ โ ์ค๋ ๋ ์ ํ, ๋ฐฉํฅ ์กฐ์ (steer), ์ค๋จ(stop) | ๋ถ๊ฐ โ ๊ฒฐ๊ณผ๋ง ๋ฐํ |
| ์น์ธ ์์ฒญ | ์ค๋ฒ๋ ์ด๋ก ์ค์๊ฐ ํ์, o ํค๋ก ์ ํ ํ approve/reject/answer | ์ฌ์ ์ ํ์ํ ํผ๋ฏธ์ ์น์ธ ํ ์์ |
| ์์ฒญ์ ์๋ต | subagent์ ์์ฒญ์ answer ๊ฐ๋ฅ (๊ณต์ ๋ฌธ์ ๋ช ์) | ๋ถ๊ฐ โ Skill์ด ์ค์ผ์คํธ๋ ์ดํฐ ์ญํ ํ์ |
| ์ค์ผ์คํธ๋ ์ด์ ํจํด | ๋ฉ์ธ ์ค๋ ๋๊ฐ ์ง์ ์กฐ์จ ๊ฐ๋ฅ | ๋ฐ๋์ Skill์ด Agent๋ฅผ ์กฐ์จ (Agent โ Agent ๋ถ๊ฐ) |
Claude Code์์๋ subagent๊ฐ ์ฌ์ฉ์์ ์ํธ์์ฉํ ์ ์์ด์, Skill์ด ์ค์ผ์คํธ๋ ์ดํฐ ์ญํ ์ ๋งก์ โAgent ํธ์ถ โ ๊ฒฐ๊ณผ ๋ฐ๊ธฐ โ ์ฌ์ฉ์ ํ์ธ โ ๋ค์ Agent ํธ์ถโ ๋ฃจํ๋ฅผ ๊ตฌํํด์ผ ํ๋ค. Codex์์๋ ์ฌ์ฉ์๊ฐ subagent ์ค๋ ๋์ ๊ฐ์ (steer, stop, approve/reject/answer)ํ ์ ์์ผ๋ฏ๋ก, ์ด๋ฐ ์ค์ผ์คํธ๋ ์ด์ ํจํด์ ํ์์ฑ์ด ์๋์ ์ผ๋ก ๋ฎ์ ์ ์๋ค. (๋จ, ๊ณต์ ๋ฌธ์์์ ์ด ๋น๊ต๋ฅผ ์ง์ ์ธ๊ธํ์ง๋ ์์ผ๋ฉฐ, steer/answer์ ๊ตฌ์ฒด์ ๋์ ๋ฒ์๋ ๋ช ์๋์ง ์์๋ค.)
์คํ ํจํด: ๋ณ๋ ฌ ์์
์ฌ์ฉ์๊ฐ ๋ช ์์ ์ผ๋ก ์์ด์ ํธ ๋ถ๋ฆฌ๋ฅผ ์์ฒญํ๋ฉด Codex๊ฐ ์๋ธ์์ด์ ํธ๋ฅผ ์์ฑํ๋ค:
User: "Spawn one agent per point, wait for all of them, and summarize results."
sequenceDiagram autonumber actor User participant Main as Codex (Main) participant A as Agent A participant B as Agent B participant C as Agent C User->>Main: "3๊ฐ์ง ๊ด์ ์ผ๋ก ๋ถ์ํด์ค,<br/>์์ด์ ํธ๋ณ๋ก ๋๋ ์" par ๋ณ๋ ฌ ์คํฐ Main->>A: ๊ด์ 1 ๋ถ์ Main->>B: ๊ด์ 2 ๋ถ์ Main->>C: ๊ด์ 3 ๋ถ์ end A-->>Main: ๊ฒฐ๊ณผ 1 B-->>Main: ๊ฒฐ๊ณผ 2 C-->>Main: ๊ฒฐ๊ณผ 3 Main->>Main: 3๊ฐ ๊ฒฐ๊ณผ ํตํฉ Main-->>User: ํตํฉ ์๋ต
CLI์์ ์ค๋ ๋ ๊ด๋ฆฌ: /agent ๋ช
๋ น์ผ๋ก ํ์ฑ ์ค๋ ๋ ๊ฐ ์ ํ ๋ฐ ๋ชจ๋ํฐ๋ง
๋ฐฐ์น ์ฒ๋ฆฌ: spawn_agents_on_csv
์ผ๋ฐ subagent ์ํฌํ๋ก์ฐ๋ ์ ์ ๊ธฐ๋ฅ์ด์ง๋ง, spawn_agents_on_csv๋ ์คํ์ ๊ธฐ๋ฅ์ผ๋ก ํฅํ ๋ณ๊ฒฝ๋ ์ ์๋ค. CSV์ ๊ฐ ํ์ ์์ปค 1๊ฐ๊ฐ ์ฒ๋ฆฌํ๊ณ , ๊ฒฐ๊ณผ๋ฅผ ํฉ์ณ์ ๋ด๋ณด๋ธ๋ค:
flowchart LR CSV["input.csv<br/>(N rows)"] --> W1["Worker 1"] CSV --> W2["Worker 2"] CSV --> W3["Worker N"] W1 --> OUT["output.csv"] W2 --> OUT W3 --> OUT
| ํ๋ผ๋ฏธํฐ | ์ค๋ช |
|---|---|
csv_path | ์ ๋ ฅ CSV ๊ฒฝ๋ก |
instruction | ์์ปค ํ๋กฌํํธ ({column_name} ํ๋ ์ด์คํ๋ ์ฌ์ฉ) |
id_column | ํ ์๋ณ์ ์ปฌ๋ผ (์ ํ) |
output_schema | ์์ปค๋ณ JSON ์ถ๋ ฅ ํํ (์ ํ) |
output_csv_path | ๊ฒฐ๊ณผ CSV ๊ฒฝ๋ก |
max_concurrency | ๋์ ์์ปค ์ ์ ํ |
max_runtime_seconds | ์์ปค๋ณ ํ์์์ |
๊ฐ ์์ปค๋ ๋ฐ๋์ report_agent_job_result๋ฅผ ์ ํํ 1ํ ํธ์ถํด์ผ ํ๋ค. ๋ฏธํธ์ถ ์ ์๋ฌ๋ก ์ฒ๋ฆฌ.
ํ์ฉ ์์: ํ์ผ/ํจํค์ง ํ๋ณ ๋ฆฌ๋ทฐ, ์ธ์๋ํธ ๋ชฉ๋ก ๋ถ์, ๋ง์ด๊ทธ๋ ์ด์ ๋์ ์ ๊ฒ, ๊ตฌ์กฐํ๋ ์์ฝ ์์ฑ
์ปค์คํ ์์ด์ ํธ ํจํด ์์
ํจํด 1: PR ๋ฆฌ๋ทฐ ๋ถ์
# .codex/agents/pr_explorer.toml โ ์ฝ๊ธฐ ์ ์ฉ ํ์
name = "pr_explorer"
description = "์ฝ๋๋ฒ ์ด์ค๋ฅผ ์ฝ๊ธฐ ์ ์ฉ์ผ๋ก ํ์ํ์ฌ ๋ณ๊ฒฝ ๊ทผ๊ฑฐ ์์ง"
sandbox_mode = "read-only"
model = "gpt-5.3-codex-spark"# .codex/agents/reviewer.toml โ ๋ฆฌ์คํฌ ํ๊ฐ
name = "reviewer"
description = "์ ํ์ฑ, ๋ณด์, ๋๋ฝ ํ
์คํธ ๊ด์ ์ PR ๋ฆฌ๋ทฐ์ด"
sandbox_mode = "read-only"
model = "gpt-5.4"# .codex/agents/docs_researcher.toml โ API ๋ฌธ์ ๊ฒ์ฆ
name = "docs_researcher"
description = "API ๋ฌธ์์ ์ฝ๋ ๋ณ๊ฒฝ์ ์ ํฉ์ฑ ๊ฒ์ฆ"
sandbox_mode = "read-only"
model = "gpt-5.4-mini"
[mcp_servers.openaiDeveloperDocs]
url = "https://developers.openai.com/mcp"ํจํด 2: ํ๋ก ํธ์๋ ๋๋ฒ๊น ๋ถ์
| ์์ด์ ํธ | ์ญํ | sandbox | model |
|---|---|---|---|
code_mapper | ๊ด๋ จ ์ฝ๋ ๊ฒฝ๋ก ํ์ | read-only | ๊ฒฝ๋ ๋ชจ๋ธ |
browser_debugger | ๋ธ๋ผ์ฐ์ ๋๊ตฌ๋ก ์ด์ ์ฌํ | workspace (์ฐ๊ธฐ) | ๋์ ์ถ๋ก |
ui_fixer | ํ๊ฒ ์์ ๊ตฌํ | workspace (์ฐ๊ธฐ) | ๊ฒฝ๋ ๋ชจ๋ธ |
Skills์์ ๊ด๊ณ
| ๋ฐฉํฅ | ์ค๋ช |
|---|---|
| Skill โ Subagent | Skill์ dependencies.tools๋ก ์์ด์ ํธ์ ํ์ํ ๋๊ตฌ ์ ์ธ. ๋ณ๋ ์์ด์ ํธ ์ ์ ํ์ผ(.codex/agents/)์์ ์คํ |
| Subagent โ Skill | ์์ด์ ํธ TOML์ skills.config๋ก ์คํฌ์ ๋ฐ์ธ๋ฉํ์ฌ ์์ด์ ํธ ์ปจํ
์คํธ์ ์ฃผ์
|
Claude Code Subagent์ ๋น๊ต
| ํญ๋ชฉ | Codex Subagents | Claude Code Subagents |
|---|---|---|
| ์ ์ ํ์ | TOML ํ์ผ | Markdown ํ์ผ |
| ์ ์ฅ ์์น | .codex/agents/ | .claude/agents/ |
| ๊ฐ์ธ ์์ด์ ํธ | ~/.codex/agents/ | ~/.claude/agents/ |
| ์์ฑ ์กฐ๊ฑด | ์ฌ์ฉ์ ๋ช ์์ ์์ฒญ ์์๋ง | ์ฌ์ฉ์ ๋ช ์์ ์์ฒญ ์์๋ง |
| ์คํ ์ค ์ฌ์ฉ์ ๊ฐ์ | ๊ฐ๋ฅ (์ค๋ ๋ ์ ํ, ๋ฐฉํฅ ์กฐ์ , ์น์ธ/๊ฑฐ๋ถ) | ๋ถ๊ฐ (๊ฒฐ๊ณผ๋ง ๋ฐํ) |
| ์ค์ฒฉ ์์ฑ | max_depth ์ค์ ์ผ๋ก ์ ์ด (๊ธฐ๋ณธ 1) | ๋ถ๊ฐ (๊ณต์ ์ ํ) |
| ๋นํธ์ธ | default, worker, explorer | Explore, Plan, general-purpose, Bash |
| ๋ณ๋ ฌ ์ค๋ ๋ ์ | max_threads (๊ธฐ๋ณธ 6) | ์ ํ ์์ (Task ๋๊ตฌ) |
| ๋ฐฐ์น ์ฒ๋ฆฌ | spawn_agents_on_csv ์ง์ | ํด๋น ์์ |
| UI ๋๋ค์ | nickname_candidates ์ง์ | ํด๋น ์์ |
| ์คํฌ ์ฐ๋ | skills.config (TOML) | skills (frontmatter) |
| Skill์์ ์์ | ๋ณ๋ ์์ด์ ํธ ํ์ผ ์ ์ ํ์ | context: fork + agent (frontmatter ๋ด) |
| ์ค์ ํ์ผ | ~/.codex/config.toml | settings.json / ์์ด์ ํธ frontmatter |
ํต์ฌ ์ค๊ณ ์ฐจ์ด
flowchart TD subgraph Codex["Codex ๋ฐฉ์"] CS["Skill (SKILL.md)"] -.->|"๋ณ๋ ํ์ผ ์ฐธ์กฐ"| CA["Agent (TOML)"] CA -->|"๋ ๋ฆฝ ์ ์"| CE["์คํ"] end subgraph Claude["Claude Code ๋ฐฉ์"] CCS["Skill (SKILL.md)"] -->|"context: fork<br/>agent: Explore"| CCA["Subagent ์์"] CCA --> CCE["์คํ"] end
- Codex: Skill๊ณผ Agent๊ฐ ์์ ํ ๋ถ๋ฆฌ๋ ํ์ผ๋ก ์ ์. Skill์ ์ํฌํ๋ก์ฐ, Agent๋ ์คํ ์ฃผ์ฒด
- Claude Code: Skill์ frontmatter ์์์
context: fork+agent๋ก subagent ์์์ ์ ์ธ. ํ๋์ ํ์ผ์์ ๋ชจ๋ ์ ์ด
์ํฐํจํด
| ํ์ง ๋ง ๊ฒ | ์ด์ | ๋์ |
|---|---|---|
| ๋ชจ๋ ์์ ์ ์์ด์ ํธ ์์ฑ | ํ ํฐ ๋น์ฉ ๊ธ์ฆ | ๋จ์ ์์ ์ ๋ฉ์ธ ์ค๋ ๋์์ ์ง์ |
| max_depth๋ฅผ ๋๊ฒ ์ค์ | ํฌ์์์ผ๋ก ๋น์ฉ/๋ ์ดํด์ ํญ๋ฐ | ๊ธฐ๋ณธ๊ฐ 1 ์ ์ง, ํ์ ์๋ง 2 |
| ์์ด์ ํธ ํ์ผ์ ๋๋ฌด ๋์ ์ญํ | ์ญํ ์ด ๋ชจํธํ๋ฉด ํ์ง ์ ํ | ์ข๊ณ ๋ช ํํ ๋จ์ผ ์ญํ ์ ์ |
| sandbox_mode ์์ด ๋ฐฐํฌ | ์๋์น ์์ ํ์ผ ์์ /์ญ์ | ํ์ ์์ด์ ํธ๋ read-only ํ์ |
์ฐธ๊ณ ๋ฌธ์
- Codex Subagents ๊ณต์ ๋ฌธ์
- Codex Best Practices
- Codex Skills - ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ์ํฌํ๋ก์ฐ ํจํค์ง
- AGENTS.md ๊ฐ์ด๋ - ์๊ตฌ ์ปจํ ์คํธ ๊ด๋ฆฌ