AI 코딩 도구를 오래 써 보면 결국 같은 문제를 만나게 됩니다.
- 계획은 잘 나오는데 실행이 불안정하다
- 구현은 빨리 되는데 방향이 흔들린다
- 같은 실수를 반복한다
- AI가 점점 프로젝트 컨텍스트를 잃는다
- 프롬프트가 길어질수록 품질이 무너진다
특히 Claude Code, Codex, Cursor 같은 AI 에이전트 기반 개발을 하다 보면 “계획”, “실행”, “회고"를 하나의 도구에게 모두 맡기는 순간 품질이 급격히 흔들리기 시작합니다.
그래서 최근에는 역할을 명확하게 분리한 워크플로우를 사용하고 있습니다.
flowchart TD
GSD["🗺️ GSD
계획"] --> SP["⚙️ Superpowers
실행"]
SP --> HF["🔄 Hookify
회고"]
HF -->|"다음 계획"| GSD
classDef planNode fill:#c5dcef,stroke:#5a8fc8,color:#333
classDef execNode fill:#c0ecd3,stroke:#4aad6e,color:#333
classDef retroNode fill:#fde8c0,stroke:#d4a035,color:#333
class GSD planNode
class SP execNode
class HF retroNode이 구조가 장기 프로젝트에서 반복 실수를 크게 줄여줬습니다.
왜 역할 분리가 중요한가?
AI 개발 도구는 각각 강점이 다릅니다.
GSD는 프로젝트 구조화와 phase 설계에 강합니다. 반면 실제 구현 단계에서는 테스트, verification, incremental commit, task execution discipline 같은 부분이 더 중요해집니다. 여기서는 Superpowers가 훨씬 안정적입니다.
그리고 대부분 사람들이 놓치는 부분이 있습니다. 바로 회고(retrospective) 입니다.
AI 워크플로우에서 가장 중요한 건 사실 같은 실패를 반복하지 않는 것 입니다. 이걸 담당하는 게 Hookify입니다.
flowchart TD
PROB["❌ 하나의 AI에게
모든 역할 부여"] --> FAIL
subgraph FAIL ["발생하는 문제들"]
F1["컨텍스트 오염"]
F2["로드맵 이탈"]
F3["verification 약화"]
F4["반복 실수"]
end
SOL["✅ 역할 분리"] --> STABLE
subgraph STABLE ["안정화 효과"]
S1["전략가 = GSD"]
S2["엔지니어 = Superpowers"]
S3["학습자 = Hookify"]
end
classDef problemNode fill:#ffc8c4,stroke:#e05a4e,color:#333
classDef solNode fill:#c0ecd3,stroke:#4aad6e,color:#333
classDef failNode fill:#fde8c0,stroke:#d4a035,color:#333
classDef stableNode fill:#c5dcef,stroke:#5a8fc8,color:#333
class PROB problemNode
class FAIL,F1,F2,F3,F4 failNode
class SOL solNode
class STABLE,S1,S2,S3 stableNode각 도구의 역할
1. GSD — 프로젝트 설계 담당
GSD는 아래 역할만 맡깁니다.
- requirements
- architecture
- roadmap
- phase decomposition
즉 무엇을 만들지, 어떤 순서로 만들지, phase를 어떻게 나눌지까지만 담당합니다.
중요한 건 실행권을 오래 주지 않는 것 입니다.
2. Superpowers — 구현 및 검증 담당
Superpowers는 실행 discipline이 강합니다.
- 계획 비판 검토
- task 단위 실행
- verification
- incremental changes
- debugging discipline
어떻게 안전하게 구현할 것인가 를 담당합니다.
3. Hookify — 회고 및 메타 학습 담당
역할은:
- retrospective
- pattern extraction
- workflow optimization
- prompt improvement
- failure analysis
이번 작업에서 무엇을 배웠는가 를 담당합니다.
전체 워크플로우
핵심은 계획 → 실행 → 학습 → 다음 계획 루프를 만드는 것입니다.
flowchart TD
A["📋 1단계
GSD plan-phase"] --> B["⚙️ 2단계
Superpowers execute"]
B --> C["🔄 3단계
Hookify retrospective"]
C --> D["📋 4단계
GSD next phase"]
D --> E["⚙️ 반복
Superpowers execute"]
E -.->|"계속 반복"| C
classDef planNode fill:#c5dcef,stroke:#5a8fc8,color:#333
classDef execNode fill:#c0ecd3,stroke:#4aad6e,color:#333
classDef retroNode fill:#fde8c0,stroke:#d4a035,color:#333
class A,D planNode
class B,E execNode
class C retroNode실제 사용 흐름
1단계 — GSD로 계획 생성
먼저 코드베이스를 분석합니다.
/gsd-map-codebase
그 다음 프로젝트 생성:
/gsd-new-project
이후 phase별 논의:
/gsd-discuss-phase 1
그리고 실행 계획 생성:
/gsd-plan-phase 1
여기서 가장 중요합니다.
반드시 여기서 멈춥니다.
plan-phase완료 직후가 가장 좋은 절단점입니다.
많은 사람들이 여기서 실수합니다. new-project 이후 계속 진행하도록 놔두면 GSD가 실행까지 관여하면서:
- 컨텍스트가 길어지고
- 실행 품질이 흔들리고
- verification discipline이 약해지고
- 구조보다 구현 디테일에 빨려 들어가기 시작합니다.
flowchart TD
NP["gsd-new-project"] --> DP["gsd-discuss-phase"]
DP --> PP["gsd-plan-phase"]
PP --> STOP["🛑 여기서 멈춤
GSD 역할 종료"]
STOP --> HAND["Superpowers에게 인계"]
classDef gsdNode fill:#c5dcef,stroke:#5a8fc8,color:#333
classDef stopNode fill:#ffc8c4,stroke:#e05a4e,color:#333
classDef handNode fill:#c0ecd3,stroke:#4aad6e,color:#333
class NP,DP,PP gsdNode
class STOP stopNode
class HAND handNode2단계 — Superpowers로 실행
이제 GSD가 만든 phase plan을 기반으로 Superpowers에게 실행을 맡깁니다.
Use superpowers:executing-plans.
Read the GSD phase 1 plan.
Before coding:
- critique the plan
- identify ambiguities
- identify architectural risks
- improve task ordering if necessary
Then:
- execute task-by-task
- verify each task
- run tests after every meaningful change
- commit incrementally
Do not use GSD execute-phase.
이 흐름의 장점은 GSD는 방향 유지, Superpowers는 실행 안정성 유지를 각각 담당하게 된다는 점입니다.
왜 GSD Execute를 쓰지 않는가?
물론 써도 됩니다. 하지만 장기 프로젝트에서는 보통 아래 문제가 생깁니다.
flowchart TD
GEX["GSD execute-phase 사용"] --> P1["계획과 실행이 섞임"]
P1 --> P2["context pollution 발생"]
P2 --> P3["roadmap drift"]
P3 --> P4["verification 약화"]
P4 --> P5["구현 디테일 과몰입"]
classDef problemNode fill:#ffc8c4,stroke:#e05a4e,color:#333
class GEX,P1,P2,P3,P4,P5 problemNode반면 역할을 분리하면 GSD는 전략가, Superpowers는 엔지니어 구조가 되면서 훨씬 안정적입니다.
3단계 — Hookify로 회고
Superpowers 실행이 끝나면 바로 Hookify 회고를 진행합니다.
Use Hookify retrospective mode.
Analyze the completed implementation session.
Identify:
- what worked well
- what caused friction
- architectural mistakes
- unnecessary complexity
- repeated prompting patterns
- missing requirements from GSD
- verification gaps
- debugging bottlenecks
Then produce:
1. lessons learned
2. reusable workflow improvements
3. prompt improvements
4. coding standards updates
5. recommendations for the next phase
Hookify에서 꼭 추출해야 하는 것
회고에서 특히 중요한 3가지입니다.
flowchart TD
HF["🔄 Hookify 회고"] --> R1["반복 실패 패턴
API boundary confusion
missing type validation
context drift"]
HF --> R2["프롬프트 개선점
task size too large
insufficient verification
ambiguous wording"]
HF --> R3["다음 phase 개선점
split phase smaller
stronger testing gates
earlier schema validation"]
classDef retroNode fill:#fde8c0,stroke:#d4a035,color:#333
classDef r1Node fill:#ffc8c4,stroke:#e05a4e,color:#333
classDef r2Node fill:#c5dcef,stroke:#5a8fc8,color:#333
classDef r3Node fill:#c0ecd3,stroke:#4aad6e,color:#333
class HF retroNode
class R1 r1Node
class R2 r2Node
class R3 r3Node추천 디렉토리 구조
.ai/
gsd/
roadmap.md
phases/
superpowers/
execution-logs/
verification/
hookify/
retrospectives/
lessons/
prompt-patterns/
이렇게 분리하면 컨텍스트 관리가 쉬워지고, 실패 패턴 재사용이 가능하며, 다음 프로젝트 품질도 계속 올라갑니다.
정리
이 워크플로우의 핵심은 하나의 AI에게 모든 역할을 맡기지 않는 것 입니다.
flowchart TD
subgraph GSDRole ["🗺️ GSD — 전략가"]
G1["roadmap"]
G2["architecture"]
G3["planning"]
end
subgraph SPRole ["⚙️ Superpowers — 엔지니어"]
S1["implementation"]
S2["verification"]
S3["debugging"]
end
subgraph HFRole ["🔄 Hookify — 학습자"]
H1["learning"]
H2["retrospectives"]
H3["optimization"]
end
GSDRole --> SPRole
SPRole --> HFRole
HFRole -->|"개선된 계획"| GSDRole
classDef gsdNode fill:#c5dcef,stroke:#5a8fc8,color:#333
classDef spNode fill:#c0ecd3,stroke:#4aad6e,color:#333
classDef hfNode fill:#fde8c0,stroke:#d4a035,color:#333
class GSDRole,G1,G2,G3 gsdNode
class SPRole,S1,S2,S3 spNode
class HFRole,H1,H2,H3 hfNodeAI 개발 도구를 오래 쓰다 보면 결국 중요한 건 더 강한 모델이 아니라 더 좋은 workflow 라는 걸 느끼게 됩니다.
특히 장기 프로젝트에서는 계획, 실행, 회고를 분리하는 순간 품질이 급격히 안정되기 시작합니다.
만약 지금 AI가 점점 산으로 가고, 같은 버그를 반복하고, phase가 길어질수록 품질이 무너지는 문제를 겪고 있다면 한 번쯤 GSD + Superpowers + Hookify 구조를 시도해 보는 걸 추천합니다.