기능을 하나 추가해 달라고 했는데, Claude가 예상보다 많은 파일을 바꾼 적이 있나요? Plan Mode는 실제 코드를 수정하기 전에, 어떤 파일을 왜 고칠지 먼저 확인하는 기능입니다. Claude는 프로젝트의 파일을 읽고 필요한 작업을 정리해 계획을 제안합니다. 사용자는 그 계획을 검토한 뒤 구현을 진행할 수 있습니다.
예를 들어 할 일 목록에 마감일을 추가하려면 화면만 바꾸면 될까요? 날짜를 저장하는 곳과 날짜를 표시하는 방식도 살펴봐야 할 수 있습니다. 이런 작업에서 Plan Mode를 쓰면, Claude가 코드를 고치기 전에 고려한 범위를 확인할 수 있습니다.
언제 쓰면 좋을까요?
여러 파일을 함께 수정해야 하거나, 처음 보는 프로젝트여서 구조를 파악해야 할 때 유용합니다. 구현 방법이 두 가지 이상이라 먼저 장단점을 비교하고 싶을 때도 쓸 수 있습니다.
반대로 버튼 문구의 오타처럼 바꿀 내용과 위치가 분명한 작업은 곧바로 수정을 요청해도 됩니다. 모든 작업에 계획 단계가 필요한 것은 아닙니다.
1. Plan Mode로 시작하기
터미널에서 프로젝트 폴더로 이동한 뒤 다음 명령으로 Claude Code를 실행합니다.
claude --permission-mode plan
이미 Claude Code를 사용 중이라면 Shift+Tab을 눌러 상태 표시줄에 plan mode on이 나타나는지 확인하세요. 이 표시가 보이면 계획 모드가 켜진 상태입니다.
2. 원하는 결과와 지켜야 할 범위를 알려주기
아래는 할 일 관리 앱에 마감일을 추가한다고 가정한 요청입니다. 그대로 사용하거나 자신의 작업에 맞게 바꿔 보세요.
할 일 목록에 마감일 기능을 추가하고 싶습니다.
아직 파일을 수정하지 말고, 현재 코드를 살펴본 뒤 계획을 세워 주세요.
원하는 결과:
- 각 할 일에 마감일을 입력하고 목록에서 확인할 수 있어야 합니다.
- 날짜를 입력하지 않은 기존 할 일도 정상적으로 표시되어야 합니다.
이번에는 바꾸지 않을 것:
- 로그인 기능과 목록의 전체 디자인은 유지해 주세요.
계획에 포함할 것:
1. 수정할 파일과 각 파일을 수정해야 하는 이유
2. 구현할 순서
3. 완료 후 실행할 테스트와 확인할 화면
날짜 표시 형식을 정해야 한다면 구현 전에 질문해 주세요.
“마감일을 넣어 줘”라는 짧은 요청에 결과와 범위를 더한 예시입니다. 특히 기존 할 일도 정상적으로 보여야 한다는 조건을 적으면, 새 기능뿐 아니라 기존 동작을 유지할 방법도 계획에 포함하도록 요청할 수 있습니다.
3. 계획을 읽고, 필요한 부분을 고친 뒤 승인하기
Claude가 계획을 제안하면 다음 세 가지를 확인하세요.
- 수정 범위: 마감일과 관계없는 로그인 기능이나 전체 디자인까지 바꾸려고 하지는 않나요?
- 빠진 경우: 날짜가 없는 할 일도 처리하나요? 저장한 날짜를 다시 열었을 때 제대로 보여줄 방법이 있나요?
- 확인 방법: 구현 후 어떤 테스트를 실행하고, 어떤 화면을 확인할지 적혀 있나요?
부족한 부분이 있으면 바로 승인하지 말고 “날짜가 없는 기존 항목을 처리하는 방법도 계획에 넣어 줘”처럼 보완을 요청하세요. 계획을 더 다듬으려면 승인 화면에서 keep planning을 선택하면 됩니다.
계획이 적절하면 승인해 구현을 진행합니다. 구현이 끝난 뒤에는 실제 변경 내용과 테스트 결과를 확인하세요. 계획을 잘 세웠다는 사실만으로 코드가 올바르게 동작하는 것은 아닙니다.
Plan Mode에서도 코드 조사에 필요한 명령을 실행할 수 있습니다. 단순한 메모 화면으로 생각하기보다는, 파일 수정에 앞서 작업 범위를 검토하는 단계로 사용하면 됩니다.