체크포인트 · 되감기Checkpoint · Rewind
체크포인트는 AI 코딩 도구가 작업 도중 자동으로 저장해 두는 복구 지점이고, 되감기는 그 지점으로 코드와 대화를 되돌리는 기능입니다. AI가 파일을 잘못 고쳤을 때 손으로 복구하지 않게 해 줍니다.
- 이럴 때 만납니다
- AI가 파일 열 개를 한꺼번에 이상하게 바꿔 놨을 때. Claude Code 에서 Esc 두 번 또는 /rewind.
- 프롬프트에 쓰는 이름
- Checkpoint · Rewind · 다른 이름: 리와인드, /rewind, 체크포인트, 복구 지점, Esc Esc
되감기는 바이브 코딩에서 가장 먼저 익혀야 할 안전장치입니다. AI에게 파일 수정 권한을 준 순간부터 "열 개 파일이 한꺼번에 이상해지는" 상황이 가능해지는데, 그것을 손으로 되돌리는 것은 사실상 불가능합니다.
도구가 작업 사이사이 상태를 저장해 둡니다. 문제가 생기면 목록에서 시점을 골라 그때로 돌아갑니다.
Claude Code 에서는 입력창에 /rewind 를 치거나 Esc 를 두 번 누르면 돌아갈 지점 목록이 뜹니다. 급할 때 바로 찾아야 하는 기능이라 단축키가 따로 있습니다.
저장해 두는 것과 무엇이 다른가요
층이 다릅니다. 개발자들은 보통 깃(Git)이라는 도구로 "여기까지 완성"이라고 도장(커밋)을 찍어 둡니다. 이것은 내가 직접 찍어야 하고, 보통 몇십 분에 한 번씩 찍습니다.
되감기는 다릅니다. AI가 방금 한 수정 하나하나를 도구가 알아서 기록해 둡니다.
| 되감기 | 도장 찍기(커밋) | |
|---|---|---|
| 누가 하나 | 도구가 자동으로 | 내가 직접 |
| 간격 | 몇 초~몇 분 | 몇십 분~몇 시간 |
| 대화도 되돌리나 | 대체로 같이 되돌림 | 코드만 |
| 얼마나 남나 | 이 대화가 살아 있는 동안만 | 지우지 않는 한 계속 |
한 시간 작업하고 도장을 한 번도 안 찍었다면 한 시간 전으로밖에 못 갑니다. 되감기는 5분 전으로 갈 수 있습니다. 둘은 대체재가 아니라 촘촘한 그물과 굵은 그물입니다.
언제 쓰나요
되돌려야 할 상황인지 아닌지 구분하는 것이 실력입니다. AI가 같은 문제를 두 번 고치려다 실패했으면 그때가 되감을 때입니다.
세 번째 시도부터는 대개 앞선 실패의 잔해 위에 덧칠을 합니다. 임시 코드, 주석 처리된 옛 코드, 쓰이지 않는 함수가 쌓입니다. 이 상태에서 계속 밀어붙이는 것보다 깨끗한 지점으로 돌아가 다르게 설명해서 다시 시키는 쪽이 거의 항상 빠릅니다.
AI에게 시키기
되감기 전에 이것을 한 번 시켜 두면 같은 실패를 반복하지 않습니다.
지금 방향이 막힌 것 같아. 되돌리기 전에 정리 좀 하자.
- 이 문제를 풀려고 시도한 방법들을 순서대로 정리해줘
- 각각 왜 실패했는지, 어디까지는 맞았는지 구분해줘
- 지금 코드에 남아 있는 임시 수정이나 미완성 부분을 목록으로 알려줘
- 다시 시작한다면 어떤 접근이 나을지, 이유와 함께 하나만 제안해줘
이 답변을 받아 두고 되감으면, 되돌아간 뒤에 훨씬 나은 지시를 줄 수 있습니다.
혼동 주의
- 실행 취소(
⌘Z)와 다릅니다. 실행 취소는 내가 친 글자 단위로, 한 파일 안에서만 돌아갑니다. 되감기는 AI가 여러 파일에 걸쳐 한 작업을 통째로 되돌립니다. - 모든 변경이 돌아가는 것은 아닙니다. 되감기는 AI가 고친 파일만 되돌립니다. 내가 편집기로 직접 고친 것과 터미널 명령으로 바뀐 것은 그대로 남습니다. 그래서 되감은 뒤에는 실제로 어떤 상태인지 한 번 확인하는 것이 좋습니다.
- 코드만 돌아가는 것이 아닙니다. 되감은 지점 이후의 대화도 같이 사라집니다. 남기고 싶은 내용은 먼저 복사해 둡니다.
- 며칠 전으로 가는 용도가 아닙니다. 기록이 오래 안 남기 때문에, 그것은 커밋의 일입니다.
