์‹œ๋ฆฌ์ฆˆ: oh-my-codex ์•„ํ‚คํ…์ฒ˜ ํ•ด๋ถ€

์ด ์‹œ๋ฆฌ์ฆˆ๋Š” OpenAI Codex CLI ํ™•์žฅ ๋Ÿฐํƒ€์ž„์ธ oh-my-codex(OMX)์˜ ๋‚ด๋ถ€ ๊ตฌ์กฐ๋ฅผ ๋‹จ๊ณ„๋ณ„๋กœ ํ•ด๋ถ€ํ•˜๋Š” ๊ณผ์ •์ด๋‹ค.

ํŽธ๋‚ด์šฉํ•ต์‹ฌ
0ํŽธOverview3-Plane ์•„ํ‚คํ…์ฒ˜, OMC์™€์˜ ์ฐจ์ด, ์ „์ฒด ํ๋ฆ„
1ํŽธCodex CLI FoundationCodex CLI ์ž์ฒด์˜ ๊ตฌ์กฐ์™€ ํ™•์žฅ ํฌ์ธํŠธ
2ํŽธOMX IntegrationOMX๊ฐ€ Codex์— ์–ด๋–ป๊ฒŒ ์—ฐ๊ฒฐ๋˜๋‚˜
3ํŽธSkill System์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ์–ด๋–ป๊ฒŒ ์ •์˜ํ•˜๋‚˜
4ํŽธ (๋ณธ๋ฌธ)Prompt & Agent System์—์ด์ „ํŠธ๋Š” ๋ญ๊ณ  ์–ด๋–ป๊ฒŒ ์„ ํƒ๋˜๋‚˜
5ํŽธMCP Servers์–ด๋–ค MCP ๋„๊ตฌ๋ฅผ ์“ธ ์ˆ˜ ์žˆ๋‚˜
6ํŽธState & Lifecycle์ƒํƒœ๋ฅผ ์–ด๋–ป๊ฒŒ ์œ ์ง€ํ•˜๋‚˜
7ํŽธTeam OrchestrationTeam ๋ชจ๋“œ๋Š” ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋‚˜
8ํŽธNative & SparkRust ๋„ค์ดํ‹ฐ๋ธŒ ๋„๊ตฌ๋Š” ๋ญ”๊ฐ€

  • Prompt & Agent System์€ OMX์˜ 33๊ฐœ ์—์ด์ „ํŠธ ์—ญํ•  ์ •์˜์™€ ๋ชจ๋ธ ๋ผ์šฐํŒ… ์ฒด๊ณ„
  • prompts/*.md๋กœ ์ •์˜๋˜๋Š” XML ํƒœ๊ทธ ๊ธฐ๋ฐ˜ ์—ญํ•  ํ”„๋กฌํ”„ํŠธ์™€, definitions.ts๋กœ ์ค‘์•™ ๊ด€๋ฆฌ๋˜๋Š” ์—์ด์ „ํŠธ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ(reasoningEffort, posture, modelClass)๋ฅผ ๋ถ„๋ฆฌํ•œ 2ํŒŒ์ผ ์•„ํ‚คํ…์ฒ˜
  • /prompts:name์œผ๋กœ ํ˜ธ์ถœ๋˜๋ฉฐ, ๋นŒ๋“œ ํƒ€์ž„์— ํ”„๋กฌํ”„ํŠธ + ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ + posture overlay๊ฐ€ ํ•ฉ์„ฑ๋˜์–ด .toml ์—์ด์ „ํŠธ ์„ค์ • ํŒŒ์ผ๋กœ ์„ค์น˜๋˜๋Š” ๊ตฌ์กฐ

ํ•ด๋‹น ๊ฐœ๋…์ด ํ•„์š”ํ•œ ์ด์œ 

  • 3ํŽธ์—์„œ Skill์ด โ€œ์—์ด์ „ํŠธ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ณ‘๋ ฌ๋กœ ์‹คํ–‰ํ•˜๋ผโ€๊ณ  ์ง€์‹œํ•˜๋Š” ๊ตฌ์กฐ๋ฅผ ์ดํ•ดํ–ˆ์Œ
  • ํ•˜์ง€๋งŒ **โ€œ์–ด๋–ค ์—์ด์ „ํŠธ๊ฐ€ ์žˆ๊ณ , ๊ฐ๊ฐ ๋ญ˜ ํ•  ์ˆ˜ ์žˆ๊ณ , ์–ด๋–ค ๋ชจ๋ธ์„ ์“ฐ๋Š”์ง€โ€**๊ฐ€ ๋น ์ ธ ์žˆ์Œ
  • ์ด ํŒŒํŠธ๋Š” ์—์ด์ „ํŠธ์˜ ์ •์˜(prompts/*.md), ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ(definitions.ts), ๋ชจ๋ธ ๋ผ์šฐํŒ…(3-Tier), ์œ„์ž„ ํ”„๋กœํ† ์ฝœ์„ ๋‹ค๋ฃจ์–ด ๊ทธ ๊ฐ„๊ทน์„ ๋ฉ”์›€

AS-IS (OMC Agent โ€” Claude Code ๋ฐฉ์‹)

sequenceDiagram
    autonumber
    participant U as User
    participant CC as Claude Code
    participant AD as agents/executor.md
    participant SA as Subagent

    U->>CC: Task(subagent_type="omc:executor")
    CC->>AD: YAML frontmatter์—์„œ model ํ•„๋“œ ์ฝ๊ธฐ
    Note over AD: model, disallowedTools ๋“ฑ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๊ฐ€<br/>ํ”„๋กฌํ”„ํŠธ ํŒŒ์ผ ์ž์ฒด์— ๋‚ด์žฅ
    CC->>SA: subagent spawn (model ์ง€์ •)
    SA-->>CC: ๊ฒฐ๊ณผ ๋ฐ˜ํ™˜

TO-BE (OMX Agent โ€” Codex CLI ๋ฐฉ์‹)

sequenceDiagram
    autonumber
    participant U as User
    participant CX as Codex CLI
    participant PM as prompts/executor.md
    participant DF as definitions.ts
    participant NC as native-config.ts
    participant TM as ~/.omx/agents/executor.toml

    Note over NC,TM: omx setup ์‹œ (๋นŒ๋“œ ํƒ€์ž„)
    NC->>PM: โ‘  prompts/*.md ๋กœ๋“œ + frontmatter ์ œ๊ฑฐ
    NC->>DF: โ‘ก ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ํ™•์ธ (posture, modelClass)
    NC->>NC: โ‘ข ํ”„๋กฌํ”„ํŠธ + posture overlay + modelClass overlay ํ•ฉ์„ฑ
    NC->>TM: โ‘ฃ .toml ํŒŒ์ผ ์ƒ์„ฑยท์„ค์น˜

    Note over U,CX: ์„ธ์…˜ ์‹œ (๋Ÿฐํƒ€์ž„)
    U->>CX: "/prompts:executor refactor API"
    CX->>TM: executor.toml ๋กœ๋“œ (developer_instructions)
    CX->>CX: ์ง€์นจ์— ๋”ฐ๋ผ ์ž‘์—… ์ˆ˜ํ–‰

ํ•ต์‹ฌ ์ฐจ์ด: OMC๋Š” ํ”„๋กฌํ”„ํŠธ ํŒŒ์ผ ๋‚ด frontmatter์— ๋ชจ๋“  ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ์ง€๋งŒ, OMX๋Š” ํ”„๋กฌํ”„ํŠธ(prompts/*.md)์™€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ(definitions.ts)๋ฅผ ๋ถ„๋ฆฌํ•˜๊ณ  ๋นŒ๋“œ ํƒ€์ž„์— ํ•ฉ์„ฑํ•œ๋‹ค.

Agent Prompt ๊ตฌ์กฐ โ€” prompts/*.md ํ•ด๋ถ€

XML ํƒœ๊ทธ ๊ตฌ์กฐ

๋ชจ๋“  ์—์ด์ „ํŠธ ํ”„๋กฌํ”„ํŠธ๋Š” YAML frontmatter + XML ํƒœ๊ทธ ์„น์…˜์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. 3ํŽธ์˜ SKILL.md์™€ ๊ฐ™์€ ํŒจํ„ด์ด์ง€๋งŒ ๋‹ค๋ฅธ ํƒœ๊ทธ ์„ธํŠธ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

---
description: "์—ญํ•  ์„ค๋ช… (complexity tier)"
argument-hint: "task description"
---
 
<identity>         # ์—์ด์ „ํŠธ์˜ ์ •์ฒด์„ฑ๊ณผ ๋ฏธ์…˜ (1-2๋ฌธ์žฅ)
<constraints>      # ํ–‰๋™ ์ œ์•ฝ
  <reasoning_effort>   # ์ถ”๋ก  ๋…ธ๋ ฅ ์ˆ˜์ค€ ์ง€์นจ
  <scope_guard>        # ๋ฒ”์œ„ ์ œํ•œ ๊ทœ์น™
  <ask_gate>           # ์งˆ๋ฌธ vs ์ง์ ‘ ํƒ์ƒ‰ ํŒ๋‹จ ๊ธฐ์ค€
<execution_loop>   # ๋‹จ๊ณ„๋ณ„ ์‹คํ–‰ ์ ˆ์ฐจ
  <success_criteria>   # ์™„๋ฃŒ ์กฐ๊ฑด
  <verification_loop>  # ๊ฒ€์ฆ ์ ˆ์ฐจ
<tools>            # ์‚ฌ์šฉ ๊ฐ€๋Šฅ ๋„๊ตฌ ๋ชฉ๋ก
<style>            # ์ถœ๋ ฅ ํ˜•์‹
  <output_contract>    # ์‘๋‹ต ๊ตฌ์กฐ ํ…œํ”Œ๋ฆฟ

SKILL.md vs prompts/*.md โ€” ํƒœ๊ทธ ๋น„๊ต

๊ตฌ๋ถ„SKILL.md (์›Œํฌํ”Œ๋กœ์šฐ)prompts/*.md (์—์ด์ „ํŠธ)
์—ญํ• ๋ฌด์—‡์„ ํ• ์ง€ (์›Œํฌํ”Œ๋กœ์šฐ ์ ˆ์ฐจ)๋ˆ„๊ฐ€ ํ• ์ง€ (์—์ด์ „ํŠธ ํ–‰๋™)
์ •์ฒด์„ฑ<Purpose><identity>
์‚ฌ์šฉ ์กฐ๊ฑด<Use_When> / <Do_Not_Use_When><constraints> / <scope_guard>
์‹คํ–‰ ์ ˆ์ฐจ<Steps><execution_loop>
์™„๋ฃŒ ํ™•์ธ<Final_Checklist><success_criteria> + <verification_loop>
๋„๊ตฌ ๊ณ„์•ฝ<Tool_Usage><tools>
์ถœ๋ ฅ ํ˜•์‹(์—†์Œ)<style> / <output_contract>

๋Œ€ํ‘œ ํ”„๋กฌํ”„ํŠธ ๋น„๊ต โ€” complexity ๋ณ„ ์ฐจ์ด

ํ•ญ๋ชฉexplore.md (Low)executor.md (Standard)architect.md (High)
identityโ€find files, code patterns""implement, verify, finish""diagnose, analyze, recommendโ€
scope_guard์ฝ๊ธฐ ์ „์šฉ, ํŒŒ์ผ ์ˆ˜์ • ๊ธˆ์ง€์ตœ์†Œ viable diff ์„ ํ˜ธํŒŒ์ผ ์“ฐ๊ธฐ/์ˆ˜์ • ๊ธˆ์ง€ (read-only)
ask_gateโ€search first, ask never""explore first, ask last""ask only when scope changesโ€
๊ฒ€์ฆ๋ชจ๋“  ๊ฒฝ๋กœ ์ ˆ๋Œ€๊ฒฝ๋กœ, ๊ด€๊ณ„ ์„ค๋ช…diagnostics + tests + buildevidence ๊ธฐ๋ฐ˜ root cause
outputfiles, relationships, next_stepsChanges, Verification, SummarySummary, Analysis, Root Cause, Recommendations, Trade-offs

33๊ฐœ ์—์ด์ „ํŠธ ๋ถ„๋ฅ˜

prompts/ ๋””๋ ‰ํ† ๋ฆฌ์— 33๊ฐœ .md ํŒŒ์ผ์ด ์กด์žฌํ•˜๋ฉฐ, ์ด ์ค‘ definitions.ts์— ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๊ฐ€ ๋“ฑ์žฌ๋œ ๊ฒƒ์€ 30๊ฐœ๋‹ค. ๋‚˜๋จธ์ง€ 3๊ฐœ(team-orchestrator, sisyphus-lite, explore-harness)๋Š” ํŠน์ˆ˜ ๋ชฉ์ ์œผ๋กœ ๋ณ„๋„ ๊ด€๋ฆฌ๋œ๋‹ค.

Build Lane (7๊ฐœ)

์—์ด์ „ํŠธ์—ญํ• reasoningposturemodelClass
explore๋น ๋ฅธ ์ฝ”๋“œ๋ฒ ์ด์Šค ํƒ์ƒ‰ (์ฝ๊ธฐ ์ „์šฉ)lowfast-lanefast
analyst์š”๊ตฌ์‚ฌํ•ญ ๋ช…ํ™•ํ™”, ์ˆ˜์šฉ ๊ธฐ์ค€mediumfrontier-orchestratorfrontier
planner์ž‘์—… ๋ถ„ํ•ด, ์‹คํ–‰ ๊ณ„ํšmediumfrontier-orchestratorfrontier
architect์‹œ์Šคํ…œ ์„ค๊ณ„, ์ธํ„ฐํŽ˜์ด์Šค (์ฝ๊ธฐ ์ „์šฉ)highfrontier-orchestratorfrontier
debugger๊ทผ๋ณธ ์›์ธ ๋ถ„์„, ํšŒ๊ท€ ๊ฒฉ๋ฆฌmediumdeep-workerstandard
executor์ฝ”๋“œ ๊ตฌํ˜„, ๋ฆฌํŒฉํ„ฐ (๊ธฐ๋ณธ ๊ตฌํ˜„ ์—ญํ• )mediumdeep-workerstandard
verifier์™„๋ฃŒ ์ฆ๊ฑฐ ๊ฒ€์ฆ, ํ…Œ์ŠคํŠธ ์ ์ •์„ฑmediumfrontier-orchestratorstandard

Review Lane (6๊ฐœ)

์—์ด์ „ํŠธ์—ญํ• reasoningposturemodelClass
style-reviewerํฌ๋งทํŒ…, ๋„ค์ด๋ฐ, lint ์ปจ๋ฒค์…˜lowfast-lanefast
quality-reviewer๋กœ์ง ๊ฒฐํ•จ, ์œ ์ง€๋ณด์ˆ˜์„ฑmediumfrontier-orchestratorstandard
api-reviewerAPI ๊ณ„์•ฝ, ํ•˜์œ„ ํ˜ธํ™˜์„ฑmediumfrontier-orchestratorstandard
security-reviewer์ทจ์•ฝ์ , ์‹ ๋ขฐ ๊ฒฝ๊ณ„, ์ธ์ฆmediumfrontier-orchestratorstandard
performance-reviewerํ•ซ์ŠคํŒŸ, ๋ฉ”๋ชจ๋ฆฌ/์ง€์—ฐ ์ตœ์ ํ™”mediumfrontier-orchestratorstandard
code-reviewer์ „์ฒด ๊ด€์‹ฌ์‚ฌ ํ†ตํ•ฉ ๋ฆฌ๋ทฐhighfrontier-orchestratorfrontier

Domain Specialists (11๊ฐœ)

์—์ด์ „ํŠธ์—ญํ• reasoningposturemodelClass
dependency-expert์™ธ๋ถ€ SDK/API/ํŒจํ‚ค์ง€ ํ‰๊ฐ€mediumfrontier-orchestratorstandard
test-engineerํ…Œ์ŠคํŠธ ์ „๋žต, ์ปค๋ฒ„๋ฆฌ์ง€mediumdeep-workerstandard
build-fixer๋นŒ๋“œ/ํƒ€์ž… ์˜ค๋ฅ˜ ์ˆ˜์ •mediumdeep-workerstandard
designerUX/UI ์•„ํ‚คํ…์ฒ˜, ์ธํ„ฐ๋ž™์…˜ ์„ค๊ณ„mediumdeep-workerstandard
writer๋ฌธ์„œ, ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๋…ธํŠธlowfast-lanefast
qa-testerCLI/์„œ๋น„์Šค ๋Ÿฐํƒ€์ž„ ๊ฒ€์ฆlowdeep-workerstandard
git-master์ปค๋ฐ‹ ์ „๋žต, ํžˆ์Šคํ† ๋ฆฌ ๊ด€๋ฆฌmediumdeep-workerstandard
code-simplifier์ฝ”๋“œ ๋‹จ์ˆœํ™”, ์ผ๊ด€์„ฑ ๊ฐœ์„ highdeep-workerfrontier
researcher์™ธ๋ถ€ ๋ฌธ์„œ, ๋ ˆํผ๋Ÿฐ์Šค ๋ฆฌ์„œ์น˜lowfast-lanestandard
quality-strategistํ’ˆ์งˆ ์ „๋žต, ๋ฆด๋ฆฌ์Šค ์ค€๋น„mediumfrontier-orchestratorstandard
team-executor๊ฐ๋…๋œ Team ์‹คํ–‰mediumdeep-workerstandard

Product Lane (4๊ฐœ)

์—์ด์ „ํŠธ์—ญํ• reasoningposturemodelClass
product-manager๋ฌธ์ œ ํ”„๋ ˆ์ด๋ฐ, ํŽ˜๋ฅด์†Œ๋‚˜, PRDmediumfrontier-orchestratorstandard
ux-researcherํœด๋ฆฌ์Šคํ‹ฑ ๊ฐ์‚ฌ, ์‚ฌ์šฉ์„ฑ, ์ ‘๊ทผ์„ฑmediumfrontier-orchestratorstandard
information-architect๋ถ„๋ฅ˜ ์ฒด๊ณ„, ๋‚ด๋น„๊ฒŒ์ด์…˜, ํƒ์ƒ‰์„ฑlowfrontier-orchestratorstandard
product-analystํ”„๋กœ๋•ํŠธ ๋ฉ”ํŠธ๋ฆญ, ํผ๋„ ๋ถ„์„lowfrontier-orchestratorstandard

Coordination (2๊ฐœ)

์—์ด์ „ํŠธ์—ญํ• reasoningposturemodelClass
critic๊ณ„ํš/์„ค๊ณ„ ๋น„ํŒ์  ๋ฆฌ๋ทฐhighfrontier-orchestratorfrontier
vision์ด๋ฏธ์ง€/์Šคํฌ๋ฆฐ์ƒท/๋‹ค์ด์–ด๊ทธ๋žจ ๋ถ„์„lowfast-lanestandard

definitions.ts ๋ฏธ๋“ฑ์žฌ (3๊ฐœ)

์—์ด์ „ํŠธ์—ญํ• ๋น„๊ณ 
team-orchestratorTeam Worker ์กฐ์œจteam ์Šคํ‚ฌ์ด ์ง์ ‘ ์ฒ˜๋ฆฌ
sisyphus-lite๊ฒฝ๋Ÿ‰ ์ถ”๋ก /๋ผ์šฐํŒ…specialized prompt contract๋กœ ๋ณ„๋„ ๊ฒ€์ฆ
explore-harness์ œํ•œ๋œ ํƒ์ƒ‰ ํ•˜๋„ค์Šคexplore์˜ ์ œํ•œ ๋ณ€ํ˜•

Agent Metadata โ€” definitions.ts ์‹ฌ์ธต ๋ถ„์„

AgentDefinition ์ธํ„ฐํŽ˜์ด์Šค

export interface AgentDefinition {
  name: string;
  description: string;
  reasoningEffort: 'low' | 'medium' | 'high';
  posture: 'frontier-orchestrator' | 'deep-worker' | 'fast-lane';
  modelClass: 'frontier' | 'standard' | 'fast';
  routingRole: 'leader' | 'specialist' | 'executor';
  tools: 'read-only' | 'analysis' | 'execution' | 'data';
  category: 'build' | 'review' | 'domain' | 'product' | 'coordination';
}

๊ฐ ํ•„๋“œ์˜ ์—ญํ• :

ํ•„๋“œ์—ญํ• ๊ฐ’ ๋ฒ”์œ„
reasoningEffortCodex CLI์˜ ์ถ”๋ก  ๋…ธ๋ ฅ ์ˆ˜์ค€ ์ง€์ •low / medium / high
postureํ–‰๋™ ์„ฑํ–ฅ ์˜ค๋ฒ„๋ ˆ์ดfrontier-orchestrator / deep-worker / fast-lane
modelClass์‚ฌ์šฉํ•  ๋ชจ๋ธ ๋“ฑ๊ธ‰frontier / standard / fast
routingRole์œ„์ž„ ์ฒด๊ณ„์—์„œ์˜ ์—ญํ• leader / specialist / executor
toolsํ—ˆ์šฉ๋œ ๋„๊ตฌ ๋ฒ”์œ„read-only / analysis / execution / data
category์—์ด์ „ํŠธ ๋ถ„๋ฅ˜build / review / domain / product / coordination

๋ชจ๋ธ ๋ถ„ํฌ ์š”์•ฝ

graph LR
    subgraph Frontier["frontier (6๊ฐœ)"]
        F1["architect"]
        F2["analyst"]
        F3["planner"]
        F4["code-reviewer"]
        F5["critic"]
        F6["code-simplifier"]
    end

    subgraph Standard["standard (20๊ฐœ)"]
        S1["executor, debugger, verifier ..."]
        S2["quality/api/security/perf-reviewer"]
        S3["dependency-expert, test-engineer ..."]
        S4["product-manager, ux-researcher ..."]
    end

    subgraph Fast["fast (4๊ฐœ)"]
        FA1["explore"]
        FA2["style-reviewer"]
        FA3["writer"]
        FA4["vision"]
    end

    style Frontier fill:#d4edda
    style Standard fill:#cce5ff
    style Fast fill:#fff3cd

Model Routing โ€” 3-Tier Complexity

๋ชจ๋ธ ํ•ด์ƒ๋„ ์šฐ์„ ์ˆœ์œ„

Frontier ๋ชจ๋ธ (๊ธฐ๋ณธ: gpt-5.4):

  1. ํ™˜๊ฒฝ๋ณ€์ˆ˜: OMX_DEFAULT_FRONTIER_MODEL
  2. ์„ค์ • ํŒŒ์ผ: .omx-config.json โ†’ env.OMX_DEFAULT_FRONTIER_MODEL
  3. ๋ชจ๋“œ๋ณ„ ์„ค์ •: .omx-config.json โ†’ models.<mode-name>
  4. ๊ธฐ๋ณธ ์„ค์ •: .omx-config.json โ†’ models.default
  5. ํ•˜๋“œ์ฝ”๋”ฉ ํด๋ฐฑ: gpt-5.4

Fast/Spark ๋ชจ๋ธ (๊ธฐ๋ณธ: gpt-5.3-codex-spark):

  1. ํ™˜๊ฒฝ๋ณ€์ˆ˜: OMX_DEFAULT_SPARK_MODEL
  2. ๋ ˆ๊ฑฐ์‹œ: OMX_SPARK_MODEL
  3. ์„ค์ • ํŒŒ์ผ: .omx-config.json โ†’ env.OMX_DEFAULT_SPARK_MODEL
  4. Low-complexity ํ‚ค: models.team_low_complexity
  5. ํ•˜๋“œ์ฝ”๋”ฉ ํด๋ฐฑ: gpt-5.3-codex-spark

Low-Complexity ์—์ด์ „ํŠธ ์ž๋™ ๊ฐ์ง€

const LOW_COMPLEXITY_AGENT_TYPES = new Set([
  'explore', 'explorer', 'style-reviewer', 'writer'
]);
 
// ์ด๋ฆ„์ด '-low'๋กœ ๋๋‚˜๋Š” ์—์ด์ „ํŠธ๋„ ์ž๋™์œผ๋กœ low-complexity ์ทจ๊ธ‰
// ์˜ˆ: 'executor-low' โ†’ spark ๋ชจ๋ธ ์‚ฌ์šฉ

reasoningEffort โ†’ model_reasoning_effort ๋งคํ•‘

definitions.ts์˜ reasoningEffort๋Š” ์ƒ์„ฑ๋œ .toml ํŒŒ์ผ์˜ model_reasoning_effort ํ‚ค์— ์ง์ ‘ ๋งคํ•‘๋œ๋‹ค. ์ด ๊ฐ’์€ Codex CLI๊ฐ€ ๋ชจ๋ธ์—๊ฒŒ ์ „๋‹ฌํ•˜๋Š” ์ถ”๋ก  ๋…ธ๋ ฅ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ, LLM์˜ think ์‹œ๊ฐ„์„ ์ œ์–ดํ•œ๋‹ค.

reasoningEffort์ ์šฉ ์—์ด์ „ํŠธ ์˜ˆ์‹œํšจ๊ณผ
lowexplore, writer, style-reviewer, vision๋น ๋ฅธ ์‘๋‹ต, ์ตœ์†Œ ์ถ”๋ก 
mediumexecutor, debugger, planner, designer๊ท ํ˜• ์žกํžŒ ์ถ”๋ก 
higharchitect, code-reviewer, critic, code-simplifier๊นŠ์€ ์ถ”๋ก , ๋А๋ฆฐ ์‘๋‹ต

Posture ์‹œ์Šคํ…œ โ€” ํ–‰๋™ ์˜ค๋ฒ„๋ ˆ์ด

Posture๋Š” ์—์ด์ „ํŠธ์˜ ํ–‰๋™ ์„ฑํ–ฅ์„ ๊ฒฐ์ •ํ•˜๋Š” ์˜ค๋ฒ„๋ ˆ์ด๋‹ค. native-config.ts๊ฐ€ ํ”„๋กฌํ”„ํŠธ ํ•ฉ์„ฑ ์‹œ posture๋ณ„ ํ–‰๋™ ์ง€์นจ์„ <posture_overlay> ํƒœ๊ทธ๋กœ ์‚ฝ์ž…ํ•œ๋‹ค.

3๊ฐ€์ง€ Posture

frontier-orchestrator โ€” ์˜๋„ ๋ถ„๋ฅ˜ + ์œ„์ž„ ์šฐ์„ 

โ€œPrioritize intent classification before implementation.โ€

  • ์ฒซ ๊ฒฐ์ •์„ ๋ผ์šฐํŒ… ๋ฌธ์ œ๋กœ ์ทจ๊ธ‰ (๋ฆฌ์„œ์น˜ vs ๊ณ„ํš vs ๊ตฌํ˜„ vs ๊ฒ€์ฆ)
  • ์ „๋ฌธ executor๊ฐ€ ์žˆ์œผ๋ฉด ์œ„์ž„ ์„ ํ˜ธ
  • ์ž˜๋ชป๋œ ์‚ฌ์šฉ์ž ๊ฐ€์ •์— ์‹คํ–‰ ์ „ ๊ฐ„๊ฒฐํžˆ ๋ฐ˜๋ก 
  • ํ•ด๋‹น ์—์ด์ „ํŠธ: analyst, planner, architect, code-reviewer, critic, verifier, ๋Œ€๋ถ€๋ถ„์˜ reviewer, product ๊ณ„์—ด

deep-worker โ€” ์ง์ ‘ ์‹คํ–‰ + ๊ฒ€์ฆ ํ•„์ˆ˜

โ€œBias toward direct execution and end-to-end completion.โ€

  • ๊ตฌํ˜„ ์ง€ํ–ฅ ํƒœ์Šคํฌ๋ฉด ์ง์ ‘ ์‹คํ–‰์— ํŽธํ–ฅ
  • ํƒ์ƒ‰ โ†’ ์ตœ์†Œ ๋ณ€๊ฒฝ โ†’ ๊ธฐ์กด ํŒจํ„ด ๋”ฐ๋ฅด๊ธฐ
  • diagnosticsยทtestsยทbuild ์ฆ๊ฑฐ ํ•„์ˆ˜ (์™„๋ฃŒ ์„ ์–ธ ์ „)
  • ์—์Šค์ปฌ๋ ˆ์ด์…˜์€ ๋‹ค๋ฅธ ์ ‘๊ทผ์ด ์‹คํŒจํ•œ ํ›„์—๋งŒ
  • ํ•ด๋‹น ์—์ด์ „ํŠธ: executor, team-executor, debugger, test-engineer, build-fixer, designer, qa-tester, git-master, code-simplifier

fast-lane โ€” ๋น ๋ฅธ ๋ถ„๋ฅ˜ + ์—์Šค์ปฌ๋ ˆ์ด์…˜

โ€œOptimize for fast triage, search, lightweight synthesis.โ€

  • ๋น ๋ฅธ ๊ฒ€์ƒ‰ยท๋ถ„๋ฅ˜ยท๊ฒฝ๋Ÿ‰ ํ•ฉ์„ฑ์— ์ตœ์ ํ™”
  • ๊นŠ์€ ๊ตฌํ˜„์ด ํ•„์š”ํ•˜๋ฉด ์—์Šค์ปฌ๋ ˆ์ด์…˜ (frontier-orchestrator ๋˜๋Š” deep-worker๋กœ)
  • ๋ชจํ˜ธํ•  ๋•Œ ๋ณด์ˆ˜์  ์‘๋‹ต
  • ํ•ด๋‹น ์—์ด์ „ํŠธ: explore, style-reviewer, writer, vision, researcher

Posture โ†’ Model Class ๋งคํ•‘ ๋‹ค์ด์–ด๊ทธ๋žจ

graph TD
    subgraph Posture["Posture (ํ–‰๋™ ์„ฑํ–ฅ)"]
        FO["frontier-orchestrator<br/>์˜๋„ ๋ถ„๋ฅ˜ + ์œ„์ž„"]
        DW["deep-worker<br/>์ง์ ‘ ์‹คํ–‰ + ๊ฒ€์ฆ"]
        FL["fast-lane<br/>๋น ๋ฅธ ๋ถ„๋ฅ˜ + ์—์Šค์ปฌ๋ ˆ์ด์…˜"]
    end

    subgraph ModelClass["Model Class (๋ชจ๋ธ ๋“ฑ๊ธ‰)"]
        FR["frontier<br/>gpt-5.4"]
        ST["standard<br/>๊ธฐ๋ณธ ๋ชจ๋ธ"]
        FA["fast<br/>gpt-5.3-codex-spark"]
    end

    FO --> FR
    FO --> ST
    DW --> ST
    DW --> FR
    FL --> FA
    FL --> ST

    style FO fill:#d4edda
    style DW fill:#cce5ff
    style FL fill:#fff3cd

Posture์™€ ModelClass๋Š” ๋…๋ฆฝ์ ์ธ ์ถ•์ด๋‹ค. frontier-orchestrator posture๋ผ๊ณ  ๋ฐ˜๋“œ์‹œ frontier ๋ชจ๋ธ์„ ์“ฐ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ฉฐ (์˜ˆ: verifier๋Š” frontier-orchestrator์ด์ง€๋งŒ standard ๋ชจ๋ธ), deep-worker๋ผ๊ณ  ๋ฐ˜๋“œ์‹œ standard ๋ชจ๋ธ์„ ์“ฐ๋Š” ๊ฒƒ๋„ ์•„๋‹ˆ๋‹ค (์˜ˆ: code-simplifier๋Š” deep-worker์ด์ง€๋งŒ frontier ๋ชจ๋ธ).

Delegation Protocol โ€” ์œ„์ž„ ํŒ๋‹จ๊ณผ Child Agent ๊ทœ์น™

๊ธฐ๋ณธ ์ž์„ธ: ์ง์ ‘ ์ž‘์—…

โ€œDefault posture: work directly. Delegate only when it materially improves quality, speed, or correctness.โ€

AGENTS.md <delegation_rules>์— ๋ช…์‹œ๋œ ์›์น™์ด๋‹ค. ์—์ด์ „ํŠธ๋Š” ํ•ญ์ƒ ์ง์ ‘ ์ž‘์—…์„ ๋จผ์ € ์‹œ๋„ํ•˜๊ณ , ์‹ค์งˆ์  ์ด์ ์ด ์žˆ์„ ๋•Œ๋งŒ ์œ„์ž„ํ•œ๋‹ค.

์œ„์ž„ ์กฐ๊ฑด 4๊ฐ€์ง€

์กฐ๊ฑด์˜ˆ์‹œ
multi-file์—ฌ๋Ÿฌ ํŒŒ์ผ์— ๊ฑธ์นœ ๋ณ€๊ฒฝ์ด ํ•„์š”ํ•  ๋•Œ
specialist-heavy์ „๋ฌธ SDK/API/ํ”„๋ ˆ์ž„์›Œํฌ ์‚ฌ์šฉ โ†’ dependency-expert
highly parallel๋…๋ฆฝ์  ํƒœ์Šคํฌ๋ฅผ ๋™์‹œ ์‹คํ–‰ ๊ฐ€๋Šฅํ•  ๋•Œ
์•ˆ์ „์„ฑ์ „๋ฌธ ์—ญํ• ์ด ์ž‘์—…ํ•˜๋Š” ๊ฒƒ์ด ๋” ์•ˆ์ „ํ•  ๋•Œ

Child Agent Protocol

sequenceDiagram
    autonumber
    participant L as Leader Agent
    participant PM as prompts/{role}.md
    participant C1 as Child Agent 1
    participant C2 as Child Agent 2

    L->>PM: โ‘  ์—ญํ•  ํ”„๋กฌํ”„ํŠธ ์ฝ๊ธฐ
    L->>C1: โ‘ก ํ”„๋กฌํ”„ํŠธ + ๊ตฌ์ฒด์  ํƒœ์Šคํฌ๋กœ spawn
    L->>C2: โ‘ก ํ”„๋กฌํ”„ํŠธ + ๊ตฌ์ฒด์  ํƒœ์Šคํฌ๋กœ spawn
    Note over L: ์ตœ๋Œ€ 6๊ฐœ ๋™์‹œ child agent
    C1-->>L: โ‘ข ๊ฒฐ๊ณผ ๋ฐ˜ํ™˜ (์žฌ๊ท€ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ๊ธˆ์ง€)
    C2-->>L: โ‘ข ๊ฒฐ๊ณผ ๋ฐ˜ํ™˜
    Note over C1,C2: child๋Š” ํ• ๋‹น๋œ ์—ญํ•  ๋‚ด์—์„œ๋งŒ ์™„๋ฃŒ

ํ•ต์‹ฌ ๊ทœ์น™:

  • ์ตœ๋Œ€ 6๊ฐœ ๋™์‹œ child agent (AGENTS.md <child_agent_protocol>)
  • child ํ”„๋กฌํ”„ํŠธ๋Š” AGENTS.md ๊ถŒํ•œ ํ•˜์— ๋™์ž‘
  • worker๋Š” team ๋ชจ๋“œ ์ „์šฉ โ€” ์ผ๋ฐ˜ ์œ„์ž„์— ์‚ฌ์šฉ ๊ธˆ์ง€
  • child agent๋Š” ํ• ๋‹น๋œ ์—ญํ•  ๋‚ด์—์„œ ์™„๋ฃŒํ•ด์•ผ ํ•จ (์žฌ๊ท€ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ๊ธˆ์ง€)

Child Agent vs Team Worker โ€” ์ฐจ์ด

ํ•ญ๋ชฉChild Agent (์œ„์ž„)Team Worker (team ๋ชจ๋“œ)
์ตœ๋Œ€ ๋™์‹œ ์ˆ˜6๊ฐœ20๊ฐœ
๊ฒฉ๋ฆฌ๊ฐ™์€ ์„ธ์…˜ ๋‚ดtmux ๊ฐœ๋ณ„ pane
์—ญํ•  ์ง€์ •/prompts:namerole-router.ts ์ž๋™ ๋ฐฐ์ •
์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜leader agent๊ฐ€ ์ง์ ‘ ๊ด€๋ฆฌteam ์Šคํ‚ฌ์ด ํŒŒ์ดํ”„๋ผ์ธ ๊ด€๋ฆฌ
์ƒํƒœ ๊ด€๋ฆฌ์—†์Œ.omx/state/team/

Prompt Guidance Contract โ€” ํ”„๋กฌํ”„ํŠธ ๊ตฌ์กฐ ๊ฒ€์ฆ

4๊ฐœ ํ•ต์‹ฌ ํ–‰๋™ ํŒจํ„ด

OMX์˜ ๋ชจ๋“  ํ”„๋กฌํ”„ํŠธ ํ‘œ๋ฉด(AGENTS.md, prompts/.md, skills//SKILL.md)์— ๊ฐ•์ œ ์ ์šฉ๋˜๋Š” 4๊ฐ€์ง€ ํ–‰๋™ ๊ณ„์•ฝ์ด๋‹ค. src/hooks/prompt-guidance-contract.ts๊ฐ€ regex ํŒจํ„ด ๋งค์นญ์œผ๋กœ ๊ฒ€์ฆํ•œ๋‹ค.

#ํŒจํ„ด๋Œ€ํ‘œ ๋ฌธ๊ตฌ
1Compact outputโ€Default to compact, information-dense responsesโ€
2Automatic follow-throughโ€Proceed automatically on clear, low-risk, reversible next stepsโ€
3Scoped overridesโ€Treat newer user task updates as local overridesโ€
4Evidence-backed completionโ€Persist with tool use when correctness depends on retrievalโ€

๊ณ„์•ฝ ์นดํ…Œ๊ณ ๋ฆฌ์™€ ๊ฒ€์ฆ ๊ณ„์ธต

graph TD
    PGC["prompt-guidance-contract.ts<br/>regex ํŒจํ„ด ๋งค์นญ"]

    PGC --> ROOT["ROOT_TEMPLATE<br/>AGENTS.md"]
    PGC --> CORE["CORE_ROLE<br/>executor, planner, verifier"]
    PGC --> W2["WAVE_TWO<br/>architect, critic, debugger ..."]
    PGC --> CAT["CATALOG<br/>analyst, api-reviewer, designer ..."]
    PGC --> SPEC["SPECIALIZED<br/>sisyphus-lite"]
    PGC --> SKILL["SKILL<br/>skills/*.md"]

    style PGC fill:#e8f0fe

๊ฐ ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„๋กœ required regex patterns๊ฐ€ ์ •์˜๋˜์–ด ์žˆ์œผ๋ฉฐ, ํ…Œ์ŠคํŠธ(prompt-guidance-contract.test.ts)๊ฐ€ ๋ชจ๋“  ํ”„๋กฌํ”„ํŠธ ํŒŒ์ผ์— ๋Œ€ํ•ด ํŒจํ„ด ์กด์žฌ๋ฅผ ์ž๋™ ๊ฒ€์ฆํ•œ๋‹ค. ํŒจํ„ด์ด ๋ˆ„๋ฝ๋œ ํ”„๋กฌํ”„ํŠธ๋Š” CI์—์„œ ์‹คํŒจํ•œ๋‹ค.

Guidance Schema โ€” 6๊ฐœ ํ‘œ์ค€ ์„น์…˜

docs/guidance-schema.md์— ์ •์˜๋œ ๋ชจ๋“  ํ”„๋กฌํ”„ํŠธ ํ‘œ๋ฉด์˜ ํ‘œ์ค€ ๊ตฌ์กฐ:

์„น์…˜์—ญํ• 
Role & Intent์—์ด์ „ํŠธ์˜ ์ •์ฒด์„ฑ๊ณผ ์„ฑ๊ณต ๊ธฐ์ค€
Operating Principles๊ณ ์ˆ˜์ค€ ํŒ๋‹จ ๊ทœ์น™ (ํ’ˆ์งˆ, ์†๋„, ์•ˆ์ „, ๊ฒ€์ฆ)
Execution Protocolํƒœ์Šคํฌ ์‹คํ–‰ ์›Œํฌํ”Œ๋กœ์šฐ
Constraints & Safety๊ธˆ์ง€ ํ–‰๋™, ํ˜ธํ™˜์„ฑ ์ œ์•ฝ
Verification & Completion์™„๋ฃŒ ์„ ์–ธ ์ „ ํ•„์š”ํ•œ ์ฆ๊ฑฐ
Recovery & Lifecycle์ทจ์†Œ/์ •๋ฆฌ/์žฌ๊ฐœ ํ–‰๋™

OMC Agent์™€์˜ ๋น„๊ต

ํ•ญ๋ชฉOMC (19๊ฐœ)OMX (33๊ฐœ)
์ •์˜ ํŒŒ์ผagents/*.md + definitions.tsprompts/*.md + definitions.ts
ํ˜ธ์ถœ ๋ฐฉ์‹Task(subagent_type="omc:name")/prompts:name
๋ชจ๋ธ ์ง€์ •YAML frontmatter์— model ํ•„๋“œdefinitions.ts์˜ modelClass
๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์œ„์น˜ํ”„๋กฌํ”„ํŠธ ํŒŒ์ผ์— ๋‚ด์žฅ๋ถ„๋ฆฌ (ํ”„๋กฌํ”„ํŠธ / ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ / overlay)
๋ฆฌ๋ทฐ์–ดcode-reviewer 1๊ฐœ6๊ฐœ ์„ธ๋ถ„ํ™” (code/security/quality/style/perf/api)
๋„๋ฉ”์ธ ์ „๋ฌธ๊ฐ€designer 1๊ฐœ7๊ฐœ (designer, PM, analyst, UX, IA, vision, QS)
๋„๊ตฌ ์ œํ•œdisallowedToolstools ์นดํ…Œ๊ณ ๋ฆฌ (read-only/analysis/execution/data)
์ตœ๋Œ€ ๋™์‹œ agent์ œํ•œ ์—†์Œ์ตœ๋Œ€ 6๊ฐœ (child), 20๊ฐœ (team)
ํ–‰๋™ ์˜ค๋ฒ„๋ ˆ์ด์—†์ŒPosture ์‹œ์Šคํ…œ (frontier-orchestrator/deep-worker/fast-lane)
๊ตฌ์กฐ ๊ฒ€์ฆ์—†์ŒPrompt Guidance Contract (regex ๊ธฐ๋ฐ˜ CI ๊ฒ€์ฆ)

์ฐธ๊ณ  ๋ฌธ์„œ