Hook, Skill, Agent, State 네 Layer는 무엇을 나눌까
원문은 OMC를 Hooks, Skills, Agents, State 네 layer로 설명합니다. 실제 지원 interface와 구성은 선택한 repository commit에서 확인해야 하며, 역할 수와 “완벽한 조율”은 구현 증거가 아닙니다. 각 layer가 없을 때 어떤 오류가 늘어나는지 분리해 보는 것이 중요합니다.
업무를 병렬화하기 전에 Dependency를 그린다
원문은 model routing과 Team Mode에서 Plan→PRD→Execute→Verify 단계를 나누는 흐름을 설명합니다. 조사처럼 독립적인 하위 작업은 병렬로 실행할 수 있지만 PRD가 필요한 구현이나 같은 file을 바꾸는 작업은 순서를 지켜야 합니다. dependency를 무시한 worker 수 증가는 merge 충돌과 재작업을 만듭니다.
| 비교 항목 | Native Claude Code | oh-my-claudecode (OMC) |
|---|
| 작업 방식 | 단일 모델이 처음부터 끝까지 순차적으로 처리 | 32개 전문 에이전트(아키텍트, 코더, QA 등)가 병렬 처리 |
| model 활용 | 한 model, 설정으로 처리 | 역할별 routing을 구성할 수 있으며 실제 mapping은 version별 확인 |
| 검증 방식 | 같은 context의 자기검토 위험 | 다른 역할, model review와 결정적 test를 함께 구성 |
| 상태 관리 | 세션이 길어지면 토큰 오염 및 할루시네이션 급증 | 영속성(Persistence) 레이어로 각 에이전트 컨텍스트 독립적 초기화 |
JSON 예시는 상태 추적에 필요한 항목을 보여 준다
아래 JSON은 pipeline state의 개념을 설명하는 예시입니다. 실제 OMC schema, 지원 model 이름이나 tokens_saved 계산으로 단정하지 말고 선택한 version의 source와 생성 state file을 확인해야 합니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| {
"orchestration_mode": "team-mode",
"task_id": "migrate-auth-middleware-v2",
"pipeline_stage": "verification",
"agents_in_action": {
"architect": {
"model": "claude-3-opus",
"role": "시스템 설계 및 PRD 작성",
"status": "completed"
},
"coder": {
"model": "claude-3-5-sonnet",
"parallel_workers": 3,
"status": "completed"
},
"reviewer": {
"model": "codex-validator",
"role": "Adversarial Stress Testing (적대적 검증)",
"status": "running"
}
},
"hooks_active": ["pre-commit-lint", "blind-tdd-check"],
"cost_optimization": {
"tokens_saved": 45000,
"strategy": "haiku_fallback_for_chores"
}
}
|
다른 역할이나 model이 review하면 표현 편향을 줄일 가능성은 있지만 오류를 원천 차단하지 않습니다. reviewer가 같은 잘못된 PRD와 source를 읽으면 같은 결론을 낼 수 있습니다. compiler, 기존, 새 test와 specification처럼 model과 독립된 기준을 최종 gate로 둡니다.
병렬 coder가 같은 file이나 API contract를 바꾸지 않게 작업별 write path와 branch를 분리합니다. 결과 merge에는 ownership, conflict와 dependency test가 필요합니다. worker가 많아도 최종 통합이 직렬 병목이면 wall time은 줄지 않을 수 있습니다.
상태 persistence가 있다면 terminal 종료 뒤 stage, artifact를 복구할 수 있는지 실제로 강제 종료해 시험합니다. model의 긴 context를 완벽히 복원한다는 표현보다 task ID, 기준 commit, 완료 artifact, 실패와 budget을 구조화해 저장하는지가 중요합니다. state file과 Git이 충돌하면 Git diff와 test를 진실의 원천으로 삼습니다.
pre-commit-lint 같은 hook도 이름이 아니라 집행을 확인합니다. 실패 exit code가 commit을 차단하는지, Agent가 hook을 끄거나 lint 설정을 약화할 수 있는지, timeout 때 fail closed하는지 봅니다. lint 통과는 의미, 보안 검증을 대신하지 않습니다.