오탈자 수정과 결제 중복 승인 버그에 같은 모델과 같은 검토 시간을 쓸 이유는 없습니다. 결제 요청이 겹쳐 승인 기록이 두 번 생기는 문제는 여러 코드 경로와 외부 결제 결과를 함께 판단해야 하고, 틀렸을 때 피해도 큽니다. 모델은 “가장 강한 것”부터 고르는 대신 판단 난도, 실패 비용, 결과를 시험할 수 있는지를 보고 정합니다.
핵심 강한 추론은 파급 범위가 넓은 설계 비교에 집중하고 반복 편집은 재현 테스트가 있는 경제적 경로로 보냅니다. 모델의 설명보다 실패 테스트와 독립 검토가 최종 판정 기준입니다.
세 질문으로 모델 수준을 먼저 고릅니다
아래 표의 “빠른 모델”과 “강한 추론 모델”은 특정 상품명이 아니라 역할입니다. 실제 모델 이름과 제공 여부는 계정·제품·시점에 따라 달라질 수 있으므로 실행 당일 공식 모델 설정 문서에서 확인합니다.
작업 장면 권장 경로 사람이 확인할 것
오탈자·반복 변환 빠른 모델 또는 자동완성 diff와 기존 검사
재현 테스트가 있는 작은 버그 빠른 모델로 수정, 필요 시 상향 실패→통과와 범위
여러 대안이 있는 설계 강한 추론 모델로 비교부터 수행 반증 조건과 롤백
결제·권한·데이터 삭제 강한 추론 + 별도 독립 리뷰 실제 효과·배포 승인
재현할 수 없는 운영 장애 모델을 바꾸기보다 증거 수집 로그·지표·안전한 재현
판단 질문
1. 여러 파일이나 시스템의 관계를 추론해야 하는가?
2. 틀렸을 때 돈·권한·데이터에 피해가 생기는가?
3. 테스트나 관찰로 답을 틀렸다고 판정할 수 있는가?
잠금만으로는 끊긴 응답을 설명하지 못했습니다
설명용 결제 사례에서는 두 요청이 같은 주문을 읽고 각각 승인 API를 호출했습니다. 행 잠금은 한 번에 한 요청만 주문 행을 바꾸게 하는 장치입니다. 동시에 읽는 문제는 줄였지만 외부 승인이 끝난 뒤 응답이 끊겨 같은 요청이 다시 오는 경우는 남았습니다.
대안 비교에 추론을 집중했습니다
멱등 키는 같은 요청이 여러 번 와도 한 번만 처리됐다고 식별하는 값이고, 승인 결과 원장은 외부 결제 결과를 나중에 다시 확인할 기록입니다. 이 둘과 행 잠금을 장애 복구·롤백 기준으로 비교하게 했습니다.
경쟁 요청 재현 테스트를 읽으세요.
행 잠금·멱등 키·결과 원장의 복구 비용을 비교하세요.
코드는 수정하지 말고 권장안과 반증 조건을 제시하세요.
관찰 결과가 선택을 바꿨습니다
가정한 판정 기준은 같은 입력을 여러 번 동시에 보내도 외부 승인과 내부 결과가 각각 하나로 수렴하는 것입니다. 주문과 시도 번호로 만든 멱등 키와 승인 결과 원장이 이 조건을 만족하는지 재현 테스트로 확인한 뒤, 반복 호출부 편집에는 변경 파일 검사와 전체 회귀를 붙입니다.
모델을 바꾸기 전에 멈출 때
재현이 실제 승인망이나 운영 주문을 요구하면 중단합니다. 두 번 연속 원인이 달라지면 입력 증거를 다시 만들고, 스키마 변경과 배포는 독립 리뷰 전까지 진행하지 않습니다.
모델 선택 전에 증거를 읽는 명령
이 시작 예시는 모델부터 고르지 않고 중복 승인 재현과 결제 경계를 읽는 단계입니다. 계획 모드에는 대안별 반증 조건만 맡기고, 외부 승인망 호출이나 코드 편집은 사람이 증거표를 확인한 뒤 별도로 승인합니다.
cd ~/projects/shop
claude --permission-mode plan
첫 프롬프트: 중복 승인 재현 테스트와 호출 경로를 읽고 행 잠금, 멱등 키, 결과 원장을 비교하세요. 코드는 수정하지 마세요.
읽을 대상: src/payments/approve.ts, tests/payments/approve.test.ts, CLAUDE.md
허용 도구: Read, Glob, Grep
Edit와 Bash는 검토 전 승인하지 않습니다.
반환 형식: 관찰 증거 / 대안별 위험 / 권장안 / 반증 조건 / 반복 편집 범위
대안 비교표에서 반증 조건을 확인합니다
대안표에서 멱등 키와 결과 원장이 선택됐다면 먼저 재현 테스트가 실패해야 합니다. 그다음 결제 경계와 테스트만 최소 수정하고 같은 키의 동시 요청이 하나의 결과로 모이는지 봅니다. 외부 승인망·운영 DB 호출이나 스키마 범위 확대가 필요하면 모델을 높이는 대신 별도 승인 작업으로 분리합니다.
강한 모델을 썼다는 사실은 검증이 아닙니다
결제 재현 테스트 뒤에는 결제 경계 밖 파일과 새 의존성이 생기지 않았는지 변경 차이로 확인합니다.
npm test -- payments\ngit diff -- src/payments/approve.ts tests/payments/approve.test.ts\ngit diff --check\ngit status --short
모델을 다시 고르기 전에 세션을 끊는 기준
재현이 외부 승인망이나 운영 주문을 요구하면 세션을 멈춥니다. 같은 재현과 승인된 대안을 구현할 때만 이어가고, 관찰이 바뀌어 원인 가설이나 스키마 경계가 달라지면 기각된 가설과 테스트 상태를 남긴 뒤 새 조사 세션을 엽니다.
모델 이름은 공식 설정에서 확인하고 결과를 기록합니다
Claude Code에서 선택할 수 있는 모델 이름과 별칭은 제품 업데이트와 계정 설정에 따라 달라질 수 있습니다. 팀 문서에 기억으로 적은 별칭을 복사하지 말고, 실행 당일 공식 모델 설정 문서와 현재 선택 화면을 확인합니다. 재현성이 꼭 필요한 자동화만 공식 지원 범위를 확인한 뒤 고정합니다.
작업 기록에는 모델 이름만 남기지 않습니다. 맡긴 판단, 사용한 입력 증거, 실행한 테스트와 남은 미검증을 함께 적습니다. 빠른 탐색, 기계적 수정, 복잡한 설계 판단과 독립 검증을 나눠야 나중에 모델이 바뀌어도 같은 품질 기준을 유지할 수 있습니다.