01 ▸ 워크플로우 위치
[계획]
│
▼
┌─────────────────────────────┐
│ Karpathy (ACTIVE) │
│ 예방적 가드레일 작동 중 │
└──────────────┬──────────────┘
│
▼
[실행]
│
▼
[검증]
02 ▸ 언제 사용하나요?
기능 구현 전과 코딩 중에 상시 활성화됩니다. LLM이 기존 코드를 무시하거나 과도한 변경을 시도하는 것을 사전에 차단합니다.
주요 트리거
- 기능 구현을 시작하기 전
- 기존 컨텍스트를 읽지 않고 코드를 생성하려 할 때
- 코드 수정 시 (예외 상황 발생 포함)
03 ▸ 어떻게 동작하나요?
핵심 원칙: "추측하지 말고 확인하라." 구현 중 발생하는 모든 결정은 실제 코드베이스의 증거에 기반해야 합니다.
가드레일 작동 프로세스
- 컨텍스트 동기화: 수정을 시작하기 전, 해당 파일과 관련된 의존성 파일을 반드시 읽어 컨벤션을 파악합니다.
- 가정 나열 및 검증: "이 함수는 X를 반환할 것이다"라는 가정을
grep이나 read_file로 즉시 검증합니다.
- 변경 범위 잠금: 요청받은 작업 외의 리팩토링이나 "미래를 위한" 코드가 포함되지 않도록 범위를 제한합니다.
04 ▸ 5가지 하드 규칙
예외 없는 5대 수칙
- 수술적 변경 (Minimum Edit Needed): 목표를 충족하는 최소 변경만 합니다. 리팩토링은 별도 작업으로 분리합니다.
- 기존 코드 읽기 전까지 수정 금지: 수정할 파일의 스타일과 컨벤션을 먼저 파악합니다. 읽지 않고 추측으로 코딩하지 않습니다.
- 모든 가정 검증: API, 함수 시그니처, 데이터 구조는 반드시 직접 확인합니다. 추측은 버그의 근원입니다.
- 구체적 성공 기준 정의: 코딩을 시작하기 전 "어떤 상태가 되면 완료인가"를 명확히 정의합니다.
- 가상의 미래 문제 해결 금지: "나중에 필요할 것 같아서" 추가하는 추상화, 일반화, 설정 추가를 철저히 배제합니다.