[Claude System #2] Intent-based Coding: '개떡'같이 말해도 '찰떡'같이 짜는 법
Editor’s Note
AI에게 코드를 시킬 때 답답함을 느꼈다면, 그것은 AI 탓이 아니라 지시 방식(Protocol)의 문제일 확률이 높습니다.
이번 편에서는 구현의 디테일이 아닌 설계의 의도(Intent)를 전달하여, 시니어 엔지니어급의 결과물을 받아내는 프롬프트 엔지니어링을 다룹니다.
1. The Paradigm Shift: Imperative vs Declarative
우리는 코딩을 배울 때 “어떻게(How)”에 집중했습니다. “for문을 돌리고, if문으로 체크해서…” 하지만 Claude Code와 같은 Agentic AI에게는 “선언적(Declarative)”으로 명령해야 합니다.
| Level | 명령어 예시 | AI의 반응 |
|---|---|---|
| Junior | “A 파일 열어서 3번째 줄 함수 고쳐줘.” | 시키는 대로만 함 (사이드 이펙트 발생 위험) |
| Senior | “이 로직 좀 이상한데 고쳐줘.” | 문맥을 파악 못해 엉뚱한 코드 생성 |
| Master | “사용자 인증 흐름에서 토큰 갱신 실패 시 재시도 로직이 누락된 것 같아. 표준 재시도 정책(Exponential Backoff)을 적용해줘.” | 문맥 파악 + 모범 사례 적용 + 검증 |
2. Master Pattern: The “R.I.P” Prompting
제가 정립한 R.I.P 프롬프트 패턴을 소개합니다. 이 구조만 지키면 실패하지 않습니다.
1. Role & Context (역할 및 맥락)
“너는 10년 차 백엔드 아키텍트야. 지금 우리는 MSA로 전환 중이고, 이 코드는 결제 모듈의 핵심부야.”
2. Intent & Constraint (의도 및 제약)
“현재 동기식(Sync)으로 처리되는 알림 발송 로직을 비동기(Async) 큐 기반으로 변경하고 싶어. (Intent)
단, Redis가 아닌 기존에 깔려있는 RabbitMQ를 사용해야 하고, 실패 시 Dead Letter Queue로 빠져야 해. (Constraint)”
3. Plan & Verify (계획 및 검증)
“코드를 건드리기 전에 먼저 변경 계획(Step-by-step)을 브리핑해. 그리고 수정 후에는 단위 테스트를 추가해서 안전함을 증명해.”
3. Real World Case: Legacy Refactoring
실제 현업에서 가장 골치 아픈 “수천 라인짜리 스파게티 코드”를 리팩토링하는 시나리오입니다.
❌ Bad Approach
“이 파일 너무 기니까 함수로 좀 쪼개줘.” -> 결과: 의미 없는
func1,func2로 쪼개진 더 난해한 코드가 됨.
✅ Expert Approach (R.I.P 적용)
1
2
3
4
5
6
7
8
9
10
11
12
**Context**: `OrderController.java`가 3000줄이 넘어서 유지보수가 불가능해.
**Intent**: 이 클래스를 **단일 책임 원칙(SRP)**에 따라 분리하고 싶어.
**Strategy**:
1. 비즈니스 로직은 `OrderService`로 이동
2. 유효성 검사는 `OrderValidator`로 이동
3. 응답 포맷팅은 `OrderDtoMapper`로 이동
**Action**:
- 각 클래스를 생성하고 코드를 이동시켜.
- 기존 Controller는 위 클래스들을 주입(DI)받아 위임(Delegate)하는 형태로 얇게 만들어.
- 기능이 100% 동일하게 동작함을 보장하는 통합 테스트를 먼저 작성하고 리팩토링해.
이렇게 지시하면 Claude Code는 단순한 텍스트 편집이 아니라, 아키텍처 리설계(Re-architecting)를 수행합니다.
4. Pro Tip: TDD (Test-Driven Debugging)
버그를 고칠 때도 순서를 바꾸십시오. 이것이 마스터의 방식입니다.
- “버그를 재현하는 테스트 코드부터 짜줘.” (Red)
- “이제 그 테스트가 통과하도록 로직을 수정해.” (Green)
- “코드를 더 깔끔하게 다듬어.” (Refactor)
이 순서를 강제하면, AI가 “고쳤다고 거짓말(Hallucination)”하는 것을 원천 차단할 수 있습니다. 테스트가 통과했다는 증거가 있으니까요.
5. Takeaway
AI는 당신의 거울입니다. 당신이 “코더(Coder)”처럼 말하면 AI도 코딩만 하고, 당신이 “아키텍트(Architect)”처럼 말하면 AI도 설계를 합니다.
Action Item: 오늘 당장 팀 내에서 가장 복잡한 모듈을 하나 골라, 위 R.I.P 패턴으로 리팩토링을 지시해 보십시오.
다음 편 [System #3] 에서는, 이렇게 똑똑해진 Claude에게 우리 회사의 데이터베이스와 슬랙을 직접 만지게 하는 MCP(Model Context Protocol) 구축법을 다룹니다.
