"다 해줘"라고 했다가 다 꼬였던 이야기 — Claude Code ②


지난 편에서는 Claude Code가 뭔지, 왜 채팅 코딩이랑 다른지, 시작할 때 알아두면 좋은 것들(CLAUDE.md, 권한 모드, Plan Mode)을 봤어요. (**1편은 여기**에 있습니다.)

이번 편은 “그래서 실제로 어떻게 시키느냐“예요. 사실 저도 처음엔 “AI한테 다 맡기면 알아서 해주겠지” 했다가 여러 번 꼬였거든요. 그 삽질로 배운 것들을 정리해봤어요. 거창한 노하우가 아니라, 저처럼 비전공자가 옆에서 같이 쓰면서 “아 이렇게 하니까 덜 꼬이네” 했던 정도예요.

“다 해줘”가 제일 위험하더라고요

제가 제일 많이 했던 실수가 이거예요. “이 프로젝트 전체적으로 한번 최적화해줘” 같은 막연하고 광범위한 지시.

이렇게 시키면 편할 것 같지만, 실제로는:

  • AI가 어디서부터 손대야 할지 헤매고,
  • 안 시킨 것까지 건드리고,
  • 멀쩡하게 잘 돌던 부분을 고치다가 오히려 망가뜨려요.

한 번은 “다 해줘” 했다가 멀쩡하던 기능이 깨져서, 어디서부터 잘못된 건지 찾느라 더 오래 걸린 적도 있어요. 빨리 가려다 더 느려진 거죠. ㅎㅎ

막연한 지시와 쪼갠 지시의 비교 — 막연하게 시키면 헤매고 깨지고, 쪼개서 하나씩 가면 덜 꼬인다 막연하게 다 시키면 꼬이기 쉽고, 진단부터 쪼개서 하나씩 가면 덜 꼬이더라고요.

그래서 지금은 이렇게 해요:

  1. 진단부터 시킵니다. “고치지 말고, 개선할 만한 후보만 목록으로 뽑아줘.” (읽기만 시키는 거예요. 이 단계에선 아무것도 안 건드리니까 안전해요.)
  2. 그 목록을 보고 위험도랑 효과로 우선순위를 정해요. 위험은 낮은데 효과는 좋은 것부터요.
  3. 하나씩 시킵니다. 한 작업이 끝나면 결과를 보고, 그다음으로 넘어가요.
  4. 몇 개 고쳤으면 실제로 한 번 돌려봐요. 잔뜩 쌓아두고 한꺼번에 확인하면, 막상 뭔가 깨졌을 때 어느 변경이 범인인지 찾기가 너무 힘들거든요.

말로 쓰니까 당연해 보이는데, 저는 이걸 몇 번 데이고 나서야 몸에 익었어요.

게임을 안 켜고도 결과를 확인하는 법

이게 저한텐 좀 신기했던 부분이에요. 제가 만든 것 중에 **포켓몬 챔피언스 계산기**가 있는데, 이런 건 “비가 올 때 데미지 계산이 맞나?” 같은 걸 확인하려면 매번 게임에서 그 상황을 만들어야 해요. 날씨 바뀔 때까지 기다리고… 너무 번거롭죠.

그런데 이걸 테스트 스크립트로 대신 확인할 수 있더라고요.

쉽게 말하면, “이 입력이면 결과가 이렇게 나와야 한다”를 미리 적어두고, 그게 맞는지 자동으로 검사하는 작은 프로그램이에요. 가짜 상황(예: “지금 비가 오는 상태”)을 만들어서 한 번에 쭉 확인하는 거죠. 이것도 그냥 Claude Code한테 “이런 경우들 검증하는 테스트 짜줘” 하면 만들어줘요.

테스트 스크립트 실행 결과 예시 — 여러 경우가 한 번에 통과(PASS)로 뜨는 화면 테스트 스크립트 예시. 게임을 켜지 않고도 여러 경우를 한 번에 확인할 수 있어요.

게임 안 켜고도 여러 경우를 한 번에 확인할 수 있고, 어쩌다 한 번 눈으로 보는 것보다 훨씬 확실해요. “어, 이 경우는 계산이 틀렸네?“를 게임 켜기 전에 잡을 수 있으니까요.

알아두니까 편했던 명령어들

1편에서 /init(CLAUDE.md 초안 자동 생성)이랑 #(말한 내용을 CLAUDE.md에 자동 추가)은 얘기했는데, 그 외에 제가 쓰면서 “이건 알아두니 편하다” 했던 것들이에요.

  • /clear — 대화를 비우고 새로 시작해요. 주제가 완전히 바뀔 때 깔끔해서 좋아요. (CLAUDE.md 규칙은 그대로 살아있어요.)
  • /compact — 지금까지 대화를 요약·압축해줘요. 대화가 너무 길어졌을 때요.
  • /resume — 끊긴 세션을 다시 이어갈 수 있어요. (창을 닫았어도요.)
  • /model — Opus / Sonnet 모델을 바꿔요. (이건 바로 아래 사용량에서 다시 얘기할게요.)
  • /usage, /status — 사용량 얼마나 남았는지 확인해요.
  • ! — 문장 앞에 느낌표를 붙이면 셸 명령을 직접 실행해요. (예: !git status)
  • Esc — AI가 엉뚱한 방향으로 가고 있으면, 끝날 때까지 기다리지 말고 Esc로 멈추고 다시 안내하면 돼요. 저는 이거 모르고 한참 끝나길 기다린 적 있어요. ㅋㅋ

슬래시 명령어 목록 예시 — / 를 입력하면 쓸 수 있는 명령들이 뜬다 /를 치면 쓸 수 있는 명령들이 떠요. (예시)

전부 외울 필요는 없고, Esc/clear 정도만 알아도 처음엔 충분했어요.

사용량 이야기 (이거 모르면 당황해요)

이건 기능이라기보단 알아두면 좋은 거예요. 저도 처음에 “왜 갑자기 막히지?” 했거든요.

  • 사용량은 “하루에 몇 개” 식이 아니라 5시간 롤링 세션 + 주간 한도로 돌아가요. 첫 메시지를 보내면 그때부터 5시간 창이 열려요.
  • 중요한 건, 브라우저 채팅이랑 Claude Code가 같은 사용량을 나눠 써요. 그래서 채팅을 많이 하면 터미널에서 쓸 게 줄어들어요.
  • Opus가 Sonnet보다 사용량이 빨리 닳아요. 그래서 저는 평소엔 Sonnet으로 쓰다가, 진짜 어려운 것만 Opus로 바꿔요. (/model로요.)

사용량 확인 화면 예시 — 현재 세션과 주간 한도가 막대로 표시된다 /usage로 남은 사용량을 확인하는 화면. (예시)

⚠️ 하나 주의할 점: 컴퓨터에 ANTHROPIC_API_KEY라는 게 설정돼 있으면, 구독(정액제)이 아니라 API 종량제로 따로 돈이 나갈 수 있어요. 구독으로 쓰려는 거면 그 키 없이 로그인해서 쓰는 게 맞아요. 저처럼 구독 쓰는 입장에선 모르고 켜두면 돈이 새니까 한 번 확인해두면 좋아요.

더 큰 작업은 — 이런 것도 있더라고요

여기서부턴 저도 아직 거의 안 써본 영역이라 가볍게만 적을게요. Claude Code는 혼자 일하는 것 말고도 여러 일꾼을 동시에 굴리는 기능들이 있어요.

  • 서브에이전트: 한 작업 안에서 전문 일꾼을 잠깐 불러요 (대부분 알아서 해줘요).
  • 에이전트 뷰: 여러 세션을 한 화면에서 관리해요. 여러 프로젝트를 동시에요.
  • 에이전트 팀: 여러 AI가 자율적으로 나눠서 협업·검증해요. 큰 작업을 쪼갤 때요.

다만 이건 처음부터 욕심내서 켤 건 아닌 것 같아요. 단일 세션 → 서브에이전트 → 에이전트 뷰 → 팀 순으로 점점 무거워지고, 토큰(사용량)도 그만큼 많이 먹어요. 저는 아직 단일 세션으로도 충분해서, 이런 게 있다는 것만 알아두고 있어요. 나중에 진짜 큰 걸 만들게 되면 그때 써보려고요.

(참고로, 여러 프로젝트를 가로질러 작업시키려면 그 폴더들이 한 곳에서 접근 가능해야 해요. AI는 자기가 접근할 수 있는 파일만 보거든요. git에만 올라가 있고 내 PC엔 없으면, 일단 내려받아야 읽을 수 있어요.)

마무리 — 결국은 “같이” 쓰는 느낌

두 편에 걸쳐 써봤는데, 제가 느낀 걸 한 줄로 줄이면 이거예요. AI한테 다 떠넘기는 게 아니라, 옆에서 같이 본다는 느낌으로 쓰는 게 저한텐 제일 덜 꼬였어요.

  • “다 해줘” 말고, 범위를 좁혀서 하나씩 시키기
  • 잘 가고 있는지 중간중간 실제로 돌려서 확인하기
  • 위험한 건 계획부터(Plan Mode) 보고, 아니다 싶으면 Esc로 멈추기

빨리 가려고 한 방에 다 시켰다가 깨지면, 그게 결국 제일 느리더라고요. 비전공자라 더 그런지도 모르겠어요. 코드를 줄줄 읽진 못하니까, 한꺼번에 와르르 바뀌면 뭐가 잘못됐는지 저도 모르거든요. 그래서 천천히, 하나씩, 확인하면서. 이게 제 결론이에요.

부족한 글이지만 저처럼 시작하는 분들께 조금이라도 도움이 됐으면 좋겠습니다. 틀린 부분이 있으면 알려주세요. 저도 배우는 중이라서요. 🙂

📄 원본 공부 노트

1편과 마찬가지로, 이 글도 제가 쓰면서 적어둔 공부 노트를 풀어 쓴 거예요. 정리된 글은 아니지만 도움 될까 해서 같이 올려둡니다. 가볍게 참고만 해주세요.

📄 claude_code_notes.md 내려받기