슬라이스가 너무 클 때
가끔은 "한 단계"를 골랐는데도 일이 틀어진다 — AI가 앱의 절반을 다시 쓰고, diff는 읽을 수 없고, 실행하면 새 버그가 한꺼번에 셋이나 튀어나온다. 그건 거의 운이 나빠서가 아니다. 슬라이스가 너무 컸다는 신호다.
해법은 더 얇게 자르는 것이다. "유지되는 즐겨찾기 추가"가 터졌다면, 그건 한 슬라이스가 아니었다. 단일 프롬프트를 변장으로 쓴 기능 전체였다. 마지막 좋은 커밋으로 돌아가 쪼개라:
# 이걸 한 방에 요청하지 마:
"카운터와 localStorage 유지가 있는 즐겨찾기 기능을 추가해줘."
# 대신 이렇게, 커밋마다 하나씩 요청해:
"각 항목 카드에 별 버튼을 추가해줘. 아직 동작은 없이."
"별이 로컬 상태로 채워짐/외곽선을 토글하게 만들어줘."
"채워진 별을 반영하는 카운터를 추가해줘."
"즐겨찾기된 ID를 localStorage에 유지하고 시작 시 불러와."
좋은 어림 규칙: 한 단계가 하는 일을 짧은 한 문장으로 묘사할 수 없다면, 그건 두 단계다. 그리고 어떤 단계의 diff가 1분 안에 훑어보기엔 너무 길다면, 다음 단계는 더 작아야 한다. 자르기는 직전 슬라이스가 어디서 너무 두꺼웠는지 감을 잡으며 점점 더 잘하게 되는 기술이다.