내 프롬프트가 너무 복잡한가?
Am I over complicating my prompts?
핵심 요약
Claude Code 사용 시 지나치게 상세한 프롬프트가 오히려 모델의 성능을 저하시키는지에 대한 고민과 조언.
- 프롬프트 비대화 — 지나치게 상세한 제약 조건이 오히려 모델의 추론 능력을 방해함.
- 부정적 지시 지양 — '하지 마라'는 식의 부정 명령보다 긍정적인 지시가 더 효과적임.
- 워크플로우 최적화 — 반복 작업은 CLAUDE.md나 별도의 계획 모드를 활용하는 것이 효율적임.
- 모델별 차이 — Opus와 Sonnet 등 모델마다 프롬프트 최적화 방식이 다름을 인지해야 함.
Claude Code에 구조화된 프롬프트를 직접 입력하는 걸 좋아하는데, 좀 과한 것 같기도 함. 비교적 단순한 코드베이스라 ChatGPT로 프롬프트를 생성해서 Claude에 입력하는데 아주 잘 작동함. Claude가 각 슬라이스마다 수행하는 모든 작업을 문서화하게 하고, 검토 후 승인되면 문서에 표시함. 아래는 내가 쓰던 긴 프롬프트 예시임. 최소 5분은 걸리고 토큰도 엄청 잡아먹음. 근데 오늘부터 짧은 프롬프트를 써봤는데 똑같은 결과를 15초 만에 냄. 장기적으로는 긴 프롬프트가 오류가 적을 것 같긴 한데, 그럴 가치가 있을까? 다들 CC에 어떤 프롬프트를 보내는지 궁금함.
짧은 프롬프트:
mark SPECIALORDERS-CREATE-FLOW-CUSTOMER-FIRST-CONTRACT-001 as approved
긴 프롬프트:
Act as Claude Code performing an approval-recording docs update only.
Context:
Principal Engineer reviewed:
SPECIALORDERS-CREATE-FLOW-CUSTOMER-FIRST-CONTRACT-001
Principal Review verdict:
READY TO PROCEED
Task:
Record this Principal Review approval in the repo’s durable docs.
Strict scope:
- Do not change runtime code.
- Do not change templates.
- Do not change tests.
- Do not change URLs.
- Do not change views.
- Do not change services.
- Do not change models.
- Do not create migrations.
- Do not start the next slice.
- Do not add implementation details to slice_roadmap.md.
- Do not bloat executive_summary.md / executive_handoff.md.
- Do not mark any future slice as implemented.
Required docs to update:
- slice_roadmap.md
- docs/archive/slices/SPECIALORDERS-CREATE-FLOW-CUSTOMER-FIRST-CONTRACT-001.md
Durable-doc discipline:
- slice_roadmap.md must remain concise.
- Update only the status/verdict for SPECIALORDERS-CREATE-FLOW-CUSTOMER-FIRST-CONTRACT-001.
- The entry may say APPROVED / READY TO PROCEED with the Principal Review date.
- Leave detailed design content in the archive doc.
- The archive doc may record the Principal Review verdict.
- executive_summary.md / executive_handoff.md should not be updated unless it already has an incorrect status for this slice.
- docs/planning/future_slice_backlog.md should not be updated unless it already has an incorrect status for this slice.

