본문 바로가기
전체보기

클로드 코드에 «다시 고쳐봐» 대신 «설명해봐»를 넣으면 턴이 34% 줄었습니다

클로드 코드에 «다시 고쳐봐» 대신 «설명해봐»를 넣으면 턴이 34% 줄었습니다
한 줄 요약같은 곳을 두 번 고쳤는데 또 실패하면, 고치라고 한 번 더 말하는 대신 «고치지 말고 중학생에게 설명하듯 번호를 매겨 설명해 주세요»를 먼저 넣습니다.
제 맥에서 같은 트랩으로 다섯 번씩 재 보니 둘 다 결국 고쳐졌지만(5/5 · 5/5), 주고받은 횟수가 28.4턴과 18.6턴으로 갈렸습니다.
원인 자체는 9.4턴에 이미 짚혔습니다.

맥에서 클로드를 쓰는 이야기입니다.

클로드 코드에게 고쳐 달라고 했는데 또 실패해서, 같은 말을 두 번 세 번 반복해 보신 적 있으실 겁니다.
저도 그 자리에서 늘 이렇게 씁니다. "아직 안 되는데, 다시 고쳐 주세요."

그러다 어느 날 화면을 보고 멈췄습니다.
같은 파일을 네 번째 고치고 있었어요.

이게 정말 가장 빠른 길이 맞나 싶었습니다.

이 글에서 확인하실 수 있는 것

하나. 「다시 고쳐 주세요」와 「설명해 주세요」를 같은 지점에서 다섯 번씩 잰 숫자를 보실 수 있습니다.

둘. 제가 예상했던 것과 결과가 달랐던 지점도 그대로 적었습니다.

셋. 이 한마디를 언제 넣고 언제 넣지 말아야 하는지 기준이 생기실 겁니다.


한 줄 결론

고치라고 한 번 더 말해도 결국 고쳐집니다. 다만 주고받는 횟수를 1.5배 씁니다.

같은 자리에 다른 말을 먼저 넣어 봤습니다.
「고치지 말고, 중학생에게 설명하듯 번호를 매겨 설명해 주세요」입니다.

결과는 같았는데 평균 28.4턴이 18.6턴으로 줄었습니다.

같은 막힌 상태에서 출발해 다음 한마디만 바꾼 실험 설계
같은 막힌 상태에서 출발해 다음 한마디만 바꾼 실험 설계

바꾼 건 한 문장뿐입니다

여기서 «턴»은 클로드가 한 번 응답하는 것을 셉니다.
파일을 읽고, 고치고, 확인하는 각 단계가 한 턴씩입니다.
턴이 많다는 건 시간이 오래 걸리고 사용량도 그만큼 나간다는 뜻이에요.

먼저, 제 예상이 빗나간 부분부터

저는 「다시 고쳐 주세요」가 헛돌 것이라고 생각했습니다.
같은 파일만 만지다 못 고칠 거라고요.

아니었습니다. 다섯 번 다 고쳤습니다.
5/5입니다.

숫자가 제 생각을 반박한 셈이라, 이 글의 제목이 바뀌었습니다.
「고치라고 하지 마세요」로 쓰려다가 그럴 수 없게 됐어요.
실제로 잰 건 성공이냐 실패냐가 아니라 몇 번 만에 도착하느냐였습니다.

그래서 이 글은 「이걸 안 하면 못 고친다」는 이야기가 아닙니다. 「같은 데 가는데 왜 더 돌아가나」에 대한 이야기입니다.

어떻게 쟀나 — 일부러 헛돌게 만든 함정

재려면 매번 똑같이 막히는 상황이 필요했습니다.
그래서 작은 함정을 하나 만들었습니다.

판매 수수료를 계산하는 코드입니다.
파일은 넷뿐이에요.

fee.py       수수료를 계산하는 코드
rates.py     수수료율 0.22
check.py     10,000원을 넣으면 8001이 나와야 한다
POLICY.md    회계팀이 확정한 정산 규칙

check.py를 돌리면 8001이 나와야 하는데 7800이 나옵니다.

핵심은 여기입니다. 정답은 fee.py 안에 없습니다.

「수수료는 판매가가 아니라 부가세를 뺀 금액에 붙는다」.
이 규칙이 POLICY.md에만 적혀 있어요.

증상이 보이는 파일과 답이 적힌 파일이 다르다
증상이 보이는 파일과 답이 적힌 파일이 다르다

고치라고만 하면 증상이 난 자리를 계속 만집니다

그리고 이미 두 번 실패한 상태를 똑같이 만들어 줬습니다.
실제로 막힌 사람이 쓰는 말 그대로요.

python3 check.py 가 계속 실패합니다. 기대값은 8001 인데 안 나옵니다.
이미 두 번 고쳐 봤습니다.
- 시도 1: round() 를 내림으로 바꿨다 → 7800
- 시도 2: rates.py 의 RATE 를 0.2 로 바꿨다 → 8000
둘 다 틀렸고 원래대로 돌려놨습니다.

여기까지는 두 갈래가 똑같습니다. 뒤에 붙는 한 문장만 갈랐어요.

붙인 말
A다시 고쳐 주세요.
B고치지 말고, 중학생에게 설명하듯 이 정산 계산이 어떤 순서로 일어나야 하는지 번호를 매겨 설명해 주세요.
CB로 설명을 받은 뒤 → "좋습니다. 그 순서대로 고쳐 주세요."

각각 다섯 번씩, 같은 모델·같은 권한 설정으로 돌렸습니다.
매번 폴더를 새로 복사해서 앞 회차가 뒤에 영향을 주지 않게 했습니다.

숫자

A는 28.4턴, C는 18.6턴, 원인이 짚인 시점은 9.4턴
A는 28.4턴, C는 18.6턴, 원인이 짚인 시점은 9.4턴

갈린 건 결과가 아니라 거기까지 쓴 횟수입니다

테스트 통과평균 턴
A 다시 고쳐 주세요5/528.4
C 설명 → 그다음 고치기5/518.6
(B 설명까지만)— 고치지 말라고 했으므로9.4

34% 적습니다. 그런데 이 표에서 제일 중요한 줄은 맨 아래입니다.

원인은 9.4턴에 이미 짚혔습니다. 「부가세를 뺀 공급가액에 수수료를 건다」는 답이 그 시점에 나와 있었어요.
그렇다면 A가 쓴 28.4턴 중 나머지 19턴은 무엇이었나. 답을 찾은 게 아니라, 답을 찾아 헤맨 시간이었습니다.

평균만 보시면 안 됩니다

여기서 솔직하게 적어야 할 게 있습니다. 다섯 번은 적은 표본입니다.

개별 5회를 찍으면 두 갈래의 범위가 겹친다
개별 5회를 찍으면 두 갈래의 범위가 겹친다

가장 운 좋은 A가 가장 운 나쁜 C보다 빨랐습니다

A는 21~33턴, C는 13~27턴이었습니다. 범위가 겹칩니다.

A가 제일 잘 풀린 날은 21턴입니다.
C가 제일 안 풀린 날은 27턴이었어요.
그날만 보면 순서가 뒤집힙니다.

그래서 「항상 34% 줄어든다」고 읽으시면 안 됩니다.
제가 말할 수 있는 건 하나입니다. 이 함정에서 다섯 번 재 보니 이렇게 나왔다.

다만 한 가지는 분명합니다. 설명을 먼저 시켜도 결과는 안 나빠졌습니다. 고쳐진 비율은 5/5로 같았어요.
손해 볼 게 없는 쪽입니다.

설명을 시키면 무엇이 나오나

이게 그 9.4턴 만에 받은 답입니다.
코드는 한 줄도 안 건드린 상태예요.

번호를 매기게 하면 계산의 순서가 드러난다
번호를 매기게 하면 계산의 순서가 드러난다

두 번의 실패가 어디서 났는지가 이 네 줄에 다 보입니다

읽어 보시면 왜 앞의 두 시도가 실패했는지가 저절로 보입니다.

  • 시도 ①(반올림 → 내림)은 3단계만 만졌습니다
  • 시도 ②(수수료율 낮추기)는 2단계의 숫자만 바꿨습니다
  • 정작 빠져 있던 건 1단계 자체였습니다

「다시 고쳐 주세요」라고 하면 이 네 단계가 머릿속에서만 돌아갑니다.
화면에는 결과만 나와요.
어느 칸이 틀렸는지 제가 볼 수가 없습니다.

번호를 매겨 밖으로 꺼내 놓으면 달라집니다. 틀린 칸을 손가락으로 짚을 수 있어요.

어떻게 말하나 — 두 단계로 끊습니다

고치지 말라고 못 박고 설명을 받은 뒤, 그 순서대로 고치게 한다
고치지 말라고 못 박고 설명을 받은 뒤, 그 순서대로 고치게 한다

한 번에 「설명하고 고쳐줘」라고 하면 설명을 건너뜁니다

문장에서 세 부분이 각각 일을 합니다.

"고치지 말고" — 이게 없으면 설명하는 척하다가 파일을 건드립니다.
그러면 설명이 대충 나와요.

"중학생에게 설명하듯" — 생략을 막습니다.
「아시다시피」로 건너뛰던 전제를 말로 꺼내게 만들어요.
제가 모르는 게 바로 그 전제입니다.

"번호를 매겨" — 순서를 드러냅니다.
계산이나 절차가 틀렸을 때, 틀린 건 대개 각 단계가 아니라 단계의 순서입니다.

그리고 2단계는 사람이 하는 일입니다.
설명을 읽고 어느 칸이 이상한지 고르는 것.

안 읽고 바로 "그럼 고쳐줘"로 넘기면, 턴만 한 번 더 쓰는 셈이 됩니다.

주의

3단계는 같은 세션에서 이어 말해야 합니다.
새 창을 열면 방금 받은 설명이 사라져서 처음부터 다시 돕니다.

언제 넣고, 언제 넣지 않나

모든 실패에 쓰는 말이 아닙니다.
첫 실패에 이걸 넣으면 오히려 느려져요.

두 번 이상 고쳤는데 또 실패할 때가 신호다
두 번 이상 고쳤는데 또 실패할 때가 신호다

설명을 읽는 내 시간도 비용입니다

제가 쓰는 신호는 하나입니다. "에러 메시지가 아까랑 똑같은가?"

메시지가 매번 달라지면 진전이 있는 겁니다.
그냥 한 번 더 고치게 두세요.
메시지가 똑같으면 같은 자리를 돌고 있는 거예요.
그때 설명을 시킵니다.

자주 묻는 것

Q. 「중학생」 말고 다른 표현도 되나요? A. 목적은 전제를 말로 꺼내게 하는 것입니다.
「처음 보는 사람에게」도 같은 일을 해요.
다만 「간단히 설명해줘」는 반대로 갑니다.
줄이라고 하면 생략하거든요.

Q. 설명이 틀리면요? A. 그게 오히려 수확입니다.
틀린 설명은 어디서 잘못 알고 있는지를 보여 줍니다.
그 칸만 바로잡아 주면 됩니다.
「다시 고쳐 주세요」로는 이 오해가 끝까지 안 보입니다.

Q. 턴이 줄면 사용량도 줄어드나요? A. 턴 수와 사용량이 정확히 비례하지는 않습니다.
긴 파일을 읽는 턴이 짧은 턴보다 많이 쓰거든요.
이번에 잰 건 턴 수까지이고, 사용량은 따로 재지 않았습니다.

Q. 이 함정은 너무 인위적이지 않나요? A. 맞습니다.
규칙이 코드 밖 문서에 있는 상황을 일부러 만들었어요.
다만 실무에서 헛도는 경우도 모양이 비슷합니다. 필요한 정보가 에이전트가 안 연 자리에 있는 상황이요.

다음 단계

이 글은 이미 막힌 뒤에 쓰는 말입니다.
막히기 전에 미리 깔아 두는 쪽은 따로 다뤘습니다.

세 편이 한 묶음입니다. 처음에 잘 시키고(390), 규칙을 고정해 두고(391), 그래도 막히면 설명을 시킨다(이 글).


2026-09 기준으로 직접 재서 썼습니다.
표본은 각 5회, 함정은 한 종류입니다.
다른 환경에서는 숫자가 다를 수 있어요.