제3부 · Claude Code로 직접 만들기

30단계다 됐다는 말을 그대로 믿지 않는다

고쳤다는 것과 동작한다는 것은 다릅니다. 직접 돌려 봅니다.

걸리는 시간 · 읽기 약 5분 · 따라 하기 약 30분 · 난이도 ★★★ 심화 · 화면 확인 2026.09.27

이 단계를 마치면

  • Claude의 완료 보고를 "무엇을 바꿨다"와 "무엇이 동작한다"로 나눠 읽을 수 있습니다.
  • 배포된 주소에서 가장 중요한 동작을 처음 쓰는 사람처럼 끝까지 확인할 수 있습니다.
  • 테스트가 실제로 무언가를 잡아내는지 되돌려 보기로 확인하게 시킬 수 있습니다.

Claude의 보고에 "테스트 통과"라고 적혀 있습니다. 그런데 그 테스트가 사실은 아무것도 검사하지 않는다면, 여러분은 어떻게 알아챌 수 있을까요?

Claude Code는 일을 마치면 친절하게 보고합니다. "예약 기능을 추가했고 테스트도 통과했습니다." 이 문장이 말해 주는 것은 코드를 바꿨다는 사실까지입니다. 그 기능이 내가 원한 대로 동작한다는 보증은 들어 있지 않습니다. 이 부에서 자주 겪는 사고가 바로 여기서 납니다. 보고를 믿고 팀에 주소를 돌렸는데, 막상 동료가 눌러 보니 저장이 안 되는 경우입니다.

왜 이런 일이 생길까요. Claude는 자기가 이해한 목표를 향해 일합니다. 이해가 조금만 어긋나도, 어긋난 목표를 완벽하게 달성한 결과를 들고 옵니다. 스스로 만든 테스트가 통과했다는 말을 얼마나 믿을지도 그 테스트가 무엇을 검사하느냐에 달렸습니다. 제대로 검사하는 것이 하나도 없는 테스트는 언제나 통과합니다. 시킨 것 말고 다른 곳이 함께 바뀌었을 가능성도 있습니다.

보고 문장은 이렇게 나눠 읽어 봅시다.

보고 문장 실제로 말해 주는 것 내가 확인할 것
"기능을 추가했습니다" 코드가 바뀌었습니다 화면에서 그 기능을 눌러 봅니다
"테스트가 통과했습니다" 그 테스트가 검사하는 것은 괜찮습니다 테스트가 무엇을 검사하는지 묻고, 되돌려 보기로 확인합니다
"오류를 고쳤습니다" 그 오류 문구가 사라졌습니다 처음 오류가 났던 순서대로 다시 해 봅니다
"배포했습니다" 푸시했거나 배포가 시작됐습니다 배포 목록의 상태와 주소를 직접 엽니다

그래서 확인은 내 손으로 합니다. 첫째, 화면은 사람 눈으로 한 번 봅니다. 돌아간다는 것과 쓸 만하다는 것은 다릅니다. 휴대폰으로 열고 실제 사용자처럼 처음부터 끝까지 눌러 봅니다. 둘째, 고친 곳을 전부 확인합니다. "이번에 바뀐 파일 목록과 각 파일에서 바뀐 내용을 설명해 줘"라고 물으면 시키지 않은 변경이 드러납니다. 셋째, 배포된 주소까지 확인합니다. 내 노트북에서 된다고 해서 올라간 것도 된다는 보장은 없습니다. 올라간 것까지 확인해야 끝입니다.

한 걸음 더 나가는 방법도 있습니다. 테스트가 정말 무엇을 잡아내는지 보려면, 방금 고친 것을 잠깐 되돌린 상태에서 테스트를 돌려 봅니다. 이때 테스트가 떨어져야 정상입니다. 되돌렸는데도 통과한다면 그 테스트는 아무것도 증명하지 못합니다. 확인한 뒤에는 원래대로 돌려놓습니다. 코드를 몰라도 이 절차는 Claude Code에게 시킬 수 있습니다.

검증을 부탁하는 말도 중요합니다. "잘 되는지 확인해 줘"라고 하면 Claude는 자기가 만든 테스트를 다시 돌리고 "잘 됩니다"라고 답합니다. 반면 "고치지는 말고, 바뀐 파일 목록, 시키지 않은 변경, 내가 직접 확인하는 순서, 되돌려 봤을 때 테스트가 떨어지는지를 보고해 줘. 확인 못 한 것은 못 했다고 적어 줘"라고 하면 확인한 것과 못 한 것이 나뉘어 돌아옵니다.

숫자도 조심합시다. Claude가 화면에 넣은 숫자, 보고에 쓴 숫자가 실제로 어디서 왔는지 묻습니다. 기억으로 지어낸 숫자와 찾아본 숫자는 겉보기에 똑같습니다. 모르면 모른다고 말하도록 CLAUDE.md에 적어 두는 것도 방법입니다. 가장 비싼 대가를 치르게 하는 것은 지어낸 답입니다.

칼럼에서 읽기 「[AGI 경영전략] 화려한 기획자가 아니라 유능한 확인자가 필요하다」

“AI의 결과물은 대체로 유창하고 완성도가 높아 보인다. 그래서 더 위험하다. 명백한 오류는 쉽게 발견되지만, 그럴듯한 문장 속에 숨은 잘못된 전제와 미세한 누락은 발견하기 어렵다.”

“AI를 믿지 않는 사람이 아니라, AI를 어디까지 믿을 수 있는지 판단할 수 있는 사람이 필요하다.”

되돌려 보기로 테스트를 시험하는 일이 곧 어디까지 믿을지 재는 방법입니다. 완료 보고를 나눠 읽고, 바뀐 파일을 묻고, 배포된 주소를 직접 여는 사람이 칼럼에서 말한 확인자입니다.

CEO경제신문, 2026.09.14

Codex에서는 만든 쪽과 다른 에이전트에게 검토를 맡기면 같은 가정에 갇힐 위험이 줄어듭니다. Codex CLI의 /review는 작업 폴더의 변경을 검토하고, GitHub의 PR에 @codex review라고 댓글을 달면 Codex가 리뷰를 올립니다. PR 리뷰는 36단계, Claude Code로 만든 것을 Codex가 검토하는 교차 검토는 38단계에서 다룹니다.

현장 장면

윤 과장은 "새로고침해도 기록이 남게, 하루치를 표로 내려받게" 해 달라고 했고, Claude의 보고는 깔끔했습니다. "저장 기능과 내려받기 기능을 추가했습니다. 테스트도 모두 통과했습니다." 윤 과장은 노트북에서 기록 두 건을 적고 새로고침했습니다. 기록이 남아 있었습니다. 내려받기도 됐습니다. 팀 단톡방에 자신 있게 올렸습니다. "이제 저장됩니다."

다음 날 아침, 영업 사원 한 명에게서 연락이 왔습니다. 어제 적은 기록이 없다는 것입니다. 윤 과장이 자기 휴대폰으로 배포된 주소를 열어 기록을 적은 뒤, 브라우저 앱을 닫았다가 다시 열었습니다. 기록이 사라져 있었습니다. 노트북에서는 되고 휴대폰에서는 안 되는 경우였습니다. 윤 과장은 아래 프롬프트로 검증을 요청했습니다. 돌아온 보고에는 시키지 않은 변경이 하나 있었습니다. 기록을 저장하는 위치의 이름을 바꾸면서, 예전 이름으로 저장된 기록을 읽지 못하게 된 것입니다. 테스트는 "저장 함수가 존재하는가"만 보고 있었습니다. 고친 것을 되돌려도 통과했습니다.

돌아보면 노트북에서만, 그것도 자기가 만든 기록으로만 확인한 것이 화근이었습니다. 윤 과장은 저장한 뒤 다시 읽어 와 같은지 비교하는 테스트를 Claude에게 만들게 하고, 되돌렸을 때 그 테스트가 떨어지는 것까지 확인하게 했습니다. 그리고 확인 순서를 CLAUDE.md의 "끝났다고 말하기 전에" 항목에 적었습니다. 배포된 주소를 휴대폰으로 열어 적고, 브라우저를 닫았다 다시 열어 남아 있는지 봅니다. 그 뒤로 윤 과장은 단톡방에 올리기 전에 이 순서를 자기 휴대폰에서 꼭 한 번 돌립니다.

따라 하기

  1. 지금 만든 도구에서 가장 중요한 동작 하나를 정합니다. 예를 들어 "적은 기록이 다시 열어도 남아 있다". 성공 기준: 동작이 눈으로 확인할 수 있는 한 문장입니다.
  2. 배포된 주소를 휴대폰으로 열고, 처음 쓰는 사람처럼 그 동작을 끝까지 해 봅니다. 브라우저를 닫았다 다시 엽니다. 성공 기준: 그 동작이 휴대폰에서 끝까지 됩니다.
  3. 아래 프롬프트로 최근 변경 파일 목록과 확인 방법을 받습니다. 성공 기준: 시키지 않은 변경이 있는지 없는지 답을 받았습니다.
  4. 테스트가 있다면, 고친 것을 잠깐 되돌려 테스트가 떨어지는지 보게 하고 다시 원래대로 돌려놓게 합니다. 성공 기준: 되돌렸을 때 테스트가 떨어지고, 원래대로 돌린 뒤 다시 통과합니다.
  5. 확인한 방법을 CLAUDE.md의 "끝났다고 말하기 전에" 항목과 커밋 메시지에 짧게 적어 둡니다. 성공 기준: 다음 사람이 그 문장만 보고 같은 확인을 할 수 있습니다.

복사해 쓰는 프롬프트

방금 한 작업을 검증하고 싶어. 고치지는 말고 먼저 보고만 해 줘.
1. 이번에 바뀐 파일 목록과 파일마다 바뀐 내용을 짧게.
2. 내가 요청하지 않았는데 바뀐 것이 있으면 따로 표시.
3. [중요한 동작]이 배포된 주소에서 제대로 되는지 내가 휴대폰으로 직접 확인하는 방법을 순서대로.
4. 테스트가 있다면, 방금 고친 것을 잠깐 되돌렸을 때 그 테스트가 실제로 실패하는지 확인하고 결과를 알려 준 뒤 원래대로 돌려놔.
확인하지 못한 것이 있으면 확인했다고 말하지 말고 못 했다고 적어 줘.

막히면 이렇게

증상 원인 처방
보고는 완료인데 휴대폰에서 안 됩니다 노트북에서만 확인했습니다 배포된 주소를 휴대폰으로 열어 처음부터 다시 해 봅니다
고친 것을 되돌려도 테스트가 통과합니다 테스트가 실제 동작을 검사하지 않습니다 결과를 직접 비교하는 테스트로 바꾸게 하고, 되돌려 보기를 다시 합니다
시키지 않은 곳이 바뀌어 있습니다 범위를 정하지 않고 맡겼습니다 그 변경만 되돌리게 하고, CLAUDE.md에 "시키지 않은 파일은 고치지 않는다"를 확인합니다

실습 파일

공개 저장소에 올려 둔 가공 자료와 양식입니다. 회사 자료 대신 먼저 이것으로 해 보세요.

  • 샘플 자료 연구노트_샘플.md · 공공·연구 사례용. 가람시 리필스테이션 시민 설문(400명) 결과표와 연구원 메모
  • 채워 쓰는 양식 CLAUDE_예시.md · 내 작업 폴더에 CLAUDE.md로 이름을 바꿔 두는 규칙 파일 양식

스스로 점검

  • ☐ 가장 중요한 동작을 배포된 주소에서, 휴대폰으로 확인했습니까?
  • ☐ 이번 변경에서 시키지 않은 변경이 있는지 물어봤습니까?
  • ☐ 테스트를 믿기 전에 되돌려 보기로 확인했습니까?
점검 해설 보기
  1. 배포된 주소를 휴대폰으로 열어 가장 중요한 동작을 끝까지 하고, 브라우저를 닫았다 다시 열어도 결과가 남아 있으면 통과입니다. 노트북에서만 확인했다면 「막히면 이렇게」 첫째 행대로 휴대폰에서 처음부터 다시 해 봅니다.
  2. 검증 프롬프트로 바뀐 파일 목록과 요청하지 않은 변경이 따로 표시된 보고를 받았으면 통과입니다. "잘 되는지 확인해 줘"라고만 물었다면 「현장 장면」 앞의 검증 부탁 설명을 읽고, 「복사해 쓰는 프롬프트」로 다시 묻습니다.
  3. 고친 것을 잠깐 되돌렸을 때 테스트가 떨어지고, 원래대로 돌린 뒤 다시 통과하는 것을 확인했으면 통과입니다. 되돌려도 통과한다면 그 테스트는 아무것도 증명하지 않으니, 결과를 직접 비교하는 테스트로 바꾸게 한 뒤 되돌려 보기를 다시 합니다.

기억할 것

  • "완료했다"는 보고보다 내가 눌러 본 결과로 판단합니다.
  • 고친 것을 되돌려도 통과하는 테스트는 아무것도 증명하지 않습니다.
v2026.09.27.7 · 2026년 9월 27일 기준 · CEO비즈니스스쿨 김문수 교수 · 기능과 화면은 자주 바뀝니다. 책과 화면이 다르면 부록의 공식 문서가 기준입니다.