Claude Code(Claude를 활용한 코드 작성/리팩터링/분석 세션)에서 효율을 극대화하기 위한 실전형 프롬프트 패턴/명령 스타일 모음
아래 내용은 Claude Code(Claude를 활용한 코드 작성/리팩터링/분석 세션)에서 효율을 극대화하기 위한 실전형 프롬프트 패턴/명령 스타일 모음입니다. 실제 UI에 /슬래시 명령이 꼭 내장된 것은 아니므로, “명령어”는 재사용 가능한 프롬프트 템플릿/패턴으로 이해하시면 됩니다.
1. 기본 권장 프롬프트 구조 (ACTION 프레임)
다음 5요소를 한 줄 또는 짧은 블록으로 구성하면 응답 품질이 올라갑니다.
ACTION + TARGET + CONTEXT + CONSTRAINTS + OUTPUT_FORMAT
작업: 리팩터링
대상: src/services/user_service.py
컨텍스트: 동시성 문제(레이스 컨디션)가 발생, 공유 캐시 접근 코드
제약: 함수 이름 변경 금지, 외부 API 호출 로직 불변, Python 3.11 호환
출력형식: 수정 전 분석 -> 변경 diff -> 최종 전체 코드
2. 컨텍스트 주입(Repository/파일 내용 요약하기)
긴 코드를 통째로 붙이기 전에 먼저 요약을 요청해 메모리 사용 최적화:
다음 파일 3개의 책임/핵심 함수/의존성을 표로 요약해줘.
[FILE: path/to/a.py]
...
[FILE: path/to/b.py]
...
[FILE: path/to/c.py]
...
요약 후 내가 "계속"이라고 하면 리팩터링 제안 진행.
3. 반복 개선 패턴 (분리된 단계 강제)
처음부터 코드를 바로 달라고 하지 말고, 분석 단계를 명시:
1단계: 문제/리스크/개선 포인트 목록만(번호+간결설명)
2단계: 내가 선택한 번호에 대해서만 해결 전략 제안
3단계: 내가 OK하면 그때 코드 수정(diff)
지금은 1단계만 수행.
대상 코드:
<CODE>
...
</CODE>
4. 다중파일 작업 패턴
파일이 많을 때 “역할표”를 먼저:
리포 구조:
- src/db/connection.js
- src/db/models/user.js
- src/routes/userRoutes.js
- src/services/userService.js
요청:
1) 각 파일 역할(한 줄)
2) 순환 의존 가능성 탐지
3) userService.js의 비즈니스 로직만 별도 계층 (use-case)으로 분리 설계 제안
형식: 표 + 개선 아키텍처 다이어그램(텍스트)
5. Diff 기반 수정 요청 (최소 변경 추적)
전체 코드 재출력 대신 patch 형식 요구:
다음 코드에 로깅 추가 (INFO 레벨, 시작/종료만).
출력: unified diff 형식 (변경 줄 위주)
코드:
<CODE>
...
</CODE>
6. 테스트 생성 패턴
테스트 유형/커버 범위를 명확히:
목표: critical 경로 단위 테스트 (성공/실패/에러 경계)
대상 함수: process_order(order, user_ctx)
제약: 외부 결제 API는 mock, pytest 스타일
출력: test_process_order.py 전체 코드 + 필요한 fixture 제안
함수 시그니처:
...
실패 케이스 먼저 강조:
1) 실패/예외 시나리오 목록
2) 누락된 edge case 추가
3) 최종 테스트 코드
단계별 출력
7. 디버깅/원인 파헤치기
“가능성 순위”를 요구하면 추측이 구조화됨:
버그 증상: 특정 상황에서 재고 수량 음수가 됨
관련 코드 (inventory_service.py 일부):
...
요청:
1) 가능한 원인 가설(우선순위 순)
2) 각 가설 검증용 로그 포인트
3) 임시 패치(낙관적 잠금 vs 비관적 잠금 비교)
지금은 1)만.
8. 단계적 사고(Chain-of-Thought 노출 제어)
생각을 먼저 분리:
먼저 '분석:' 블록에만 내부 추론/위험/대안 작성.
내가 "코드 진행"이라고 말할 때에만 실제 코드 diff 생성.
대상:
...
9. 보안/취약점 점검 프롬프트
규칙/표 형식 요구:
대상: user_input_handler.js
요청:
- 잠재 취약점 (XSS, SQLi, SSRF, RCE, 인증/인가 혼동)
- 각 항목: [취약점] | [근거 코드 줄] | [위험도 High/Med/Low] | [권장 수정]
- 마지막에 우선순위 재정렬 목록
코드:
...
10. 성능 최적화 패턴
미시/거시 구분:
대상: report_generator.py
요청:
1) O( ) 추정(핵심 루프)
2) 메모리 hot spot 후보
3) lazy loading 적용 가능 지점
4) 큰 개선(알고리즘 변경) vs 작은 개선(micro) 분리 표
출력: 표 + 한 문단 결론
코드:
...
11. 문서화/주석 패턴
Docstring 스타일 명시:
목표: NumPy 스타일 docstring 추가
대상: data_cleaner.py 의 public 함수
제약: 구현 코드 변경 금지
출력: 수정된 함수 부분만 diff
코드:
...
12. 리팩터링 설계 비교
전략 여러 개를 비교해 의사결정 지원:
리팩터링 목표: 결제 모듈 결합도 감소
요청: 3가지 아키텍처 옵션(플러그인, 전략 패턴, 이벤트 기반)
각 옵션: 구조 다이어그램(텍스트), 장점/단점, 추정 리스크, 마이그레이션 단계(번호)
마지막에 추천 1개 + 이유
13. 스타일/컨벤션 적응
기존 코드 분석 후 스타일 학습:
1) 아래 코드 스타일(명명 규칙, 예외 처리, 주석 톤) 요약
2) 동일 스타일로 새로운 함수 'sanitize_input' 구현
지금은 1)만.
기존 코드:
...
14. 커밋 메시지/변경로그 생성
Conventional Commits 적용:
변경된 diff:
<DIFF>
...
</DIFF>
요청:
1) 변경 범주(버그/feat/refactor 등) 분류
2) Conventional Commit 헤더
3) 본문(why 중심)
4) BREAKING CHANGE 여부 명시
15. 코드 리뷰 지침 명시 후 리뷰
리뷰 기준을 먼저 고정:
리뷰 기준:
- 안정성(에러 처리)
- 확장성
- 테스트 용이성
- 보안
- 성능(우선순위 낮음)
출력: 기준별 섹션, 각 항목에 [줄 근거], [위험도], [제안 수정]
코드:
...
16. 대규모 파일/리포 분할 요령
긴 코드 붙이기 전에 chunk strategy:
이 파일이 800줄이므로 200줄 단위로 1~4번 chunk로 보낼 예정.
각 chunk마다:
- 제공된 함수 목록
- 잠재 관심 영역(전역 상태, I/O, 동시성)만 기록
전체 수신 후 종합 분석 요청 예정.
준비됐으면 '준비 완료'만 응답.
17. 로깅/모니터링 주입 패턴
레벨/포맷/수준 기준:
목표: 핵심 경로에 구조화 로깅 추가 (JSON, 필드: trace_id, user_id, action, elapsed_ms)
대상: order_processor.js
기준:
- 경계: 외부 API 호출 전/후
- 에러: stack 포함
- 성능: 200ms 초과 시 warn
출력: 변경된 함수만 diff
코드:
...
18. 언어 변환(Porting) 패턴
단계적 이행:
Python -> Go 변환(파일: metrics_collector.py)
요청 단계:
1) 종속성/표준라이브러리 대응 매핑표
2) 동시성 모델 차이 고려 포인트
3) 최종 Go 코드 (go1.22)
지금은 1)만.
코드:
...
19. SQL 최적화 패턴
실행계획 기반 추론 지시:
쿼리:
SELECT ...
실행계획:
EXPLAIN ANALYZE ...
요청:
- 가장 비싼 단계 Top3 (비용/시간)
- 가능 인덱스 설계 (컬럼, 카디널리티 가정)
- 리라이팅 대안 2가지(CTE vs 서브쿼리)
- 예상 이득(정성적)
20. 안전 장치 (원치않는 대규모 변경 방지)
승인 전 전체코드 금지:
잠재 리스크: 전체 파일 재작성 금지.
1) 변경 제안 목록(함수 단위)
2) 내가 선택한 항목만 실제 diff
지금은 1)만.
코드:
...
21. 프롬프트 안티패턴 (피해야 할 것)
- “이 코드 개선해줘” (모호)
- 비현실적 다중 요구: “리팩터링+테스트+문서+성능+보안 전부 한 번에”
- 대량 파일을 순서/목적 없이 덤프
- 성공 기준/출력 형식 미제시
- “최대한 똑똑하게” 같은 추상적 요구
22. 개선된 “한 줄 명령어” 템플릿
슬래시 스타일(직접 타이핑 재사용):
/refactor 파일=src/payments/core.py 목표=의존성분리 제약=외부API변경금지 출력=diff
/testgen 함수=calculate_tax 범위=경계+에러 포맷=pytest 출력=단계(시나리오->코드)
/debug 증상="메모리 증가" 파일=worker.py 요청=원인가설Top5+로그전략
/security 파일=auth_handler.js 범위=JWT+세션 위험도표=Yes
/perf 파일=batch_runner.rb 목표=CPU hotspot 식별 출력=루프분석+개선안2
/doc 파일=data_loader.py 스타일=GoogleDocstring 변경=함수만
23. 품질 점검 체크리스트 자동화 프롬프트
요청: 아래 코드에 대해 체크리스트 평가
체크 항목:
1) 입력 검증
2) 에러 처리 일관성
3) 자원(파일/커넥션) 정리
4) 동시성/스레드 안전
5) 로깅 적절성
6) 테스트 용이성
출력: 표 + 총평 + 우선순위(번호)
코드:
...
24. 대답 형식 고정으로 안정성 상승
목록/표 템플릿을 강제:
출력 JSON 스키마:
{
"risks": [{ "id": int, "title": str, "severity": "HIGH|MED|LOW", "evidence": "..." }],
"recommendations": ["...", "..."]
}
위 스키마만 사용.
대상 코드:
...
25. 흔한 목적별 “바로 쓰는” 원샷 모음
리팩터링:
이 코드에서 단일책임원칙 위반 3가지 찾고, 각 위반에 대한 분리 전략 제안.
코드:
...
유닛테스트 보강:
현재 테스트 커버 부족 부분(분기/예외) 목록 -> 누락 시나리오 -> 보강 테스트 코드
코드:
...
에러추적:
다음 스택트레이스 기반으로 원인 후보 3개 + 재현 절차 + 즉시 가능한 임시패치.
Stack:
...
관련 코드:
...
성능:
이 루프(표시된 부분)에서 불필요한 객체 생성/IO 호출만 지적. 수정코드 금지. 분석만.
코드:
...
26. 언제 전체 코드 vs Diff?
- Diff 선호: 작은 수정, 리뷰 친화적, 리스크 낮춤
- 전체 코드: 대규모 구조 변경, 새 파일 생성, 컨텍스트 불일치 가능성 높을 때 → 프롬프트에서 명확히 “diff만” 또는 “전체 새 코드” 지시
27. 점진적 마이그레이션 전략 예시
목표: 콜백 기반 -> async/await 전환(파일: uploader.js)
요청:
1) 함수 분류(즉시 전환 가능 / 래핑 필요 / 재작성)
2) 위험 요인 (경합조건, 예외 전파)
3) 단계별 마이그레이션 플랜(스프린트 단위)
지금은 1)만.
코드:
...
28. Claude 코드 품질 높이는 핵심 요령 요약
- 명시적 출력 형태 요구 (diff / 표 / JSON / 단계)
- 한 번에 “분석→수정” 하지 말고 승인 핸드쉐이크
- 변경 범위 최소화 요청(“touch 최소화”)
- 실패/엣지 시나리오 먼저 고정
- 제약 조건(성능, 보안, 스타일) 앞쪽에 배치
- 긴 코드: “요약→세부” 흐름
- 가설/우선순위/리스크 구조화
29. 빠른 품질 점검 프롬프트(미니맥로)
(짧게 붙여 재사용)
[QA] 이 코드에 대해:
1) 함수 책임 과다 여부
2) 숨은 전역/상태 공유
3) 예외 누락
4) 데이터 경계 미검증
각 항목 Yes/No + 한 줄 근거.
코드:
...
30. 다음 단계 추천 자동화
코드 개선 후:
"이제 이어서 할 만한 개선 Top3 (가성비 기준), 각 예상 효과/비용(소/중/대)."
댓글
댓글 쓰기