「手段を3つに絞れ」「自分で採点しろ」は効果的か? 60回比較した結果、効果より評価の落とし穴が見えた
요약
AI에게 '수단 제한'이나 '자가 채점' 같은 프롬프트 기법을 적용했을 때 정확도가 높아지는지에 대한 60회 비교 실험 결과를 분석합니다. 하지만 이 과제에서는 명시된 두 가지 기법 모두 정확도 향상을 입증하지 못했습니다. 다만, 수단을 제한하는 방식은 결과물의 양을 줄이고 코드를 하나의 블록으로 정리하는 등 다른 효과를 가져왔으며, 평가 과정에서 채점 오류가 가장 큰 변수였음을 발견했습니다.
핵심 포인트
- '수단 3가지 제한' 기법은 정확도 향상보다 출력 간결화에 도움을 주었습니다.
- '자가 채점(Feedback Loop)' 역시 결함 발견에는 효과적이지 않았습니다.
- 정확한 평가를 위해서는 외부 실행 및 객관적인 테스트가 필수입니다.
- 실험 결과의 신뢰도를 높이려면 비교 조건과 평가 방식을 고정해야 합니다.
결론부터 말씀드립니다
AI에게 지시로 소개되었던 두 가지 기법을 동일한 과제와 모델로 60회 비교했습니다.
| 조건 | 과제문에 추가한 지시 | 전 문항 합격 | 체크 합격률 |
|---|---|---|
| A | 없음 (기준) | 14/15 | 272/279 (97.5%) |
| ... |
- |
정확도가 높아졌다고는 할 수 없었습니다. 각 조건별 15회로는 이 정도의 차이는 우연의 범위입니다. '선택 가능한 범위를 좁힐수록 정확도가 올라간다'는 주장은 이 과제에서는 확인할 수 없었습니다.
- 스스로 채점하게 해도, 남아있는 결함은 단 한 건도 발견되지 않았습니다. C와 D에서 숨겨진 테스트에 실패했던 4번의 경우 모두 '5가지 조건을 모두 충족한다'고 자가 판정했습니다.
- 다만, 수단의 제한에는 다른 효과가 있었습니다. 결과물의 양이 약 20% 감소했고, 답변이 하나의 코드 블록으로 정리되었습니다.
- 그리고 가장 큰 발견은 제 채점 방식에 있었습니다. 초기 집계에서는 기준 A가 69.9%로 크게 뒤처져 보였습니다. 원인은 기법의 효과가 아니라, 채점할 코드를 선택하는 오류였습니다. 자세한 내용은 후술하겠습니다.
검증 계기
다음 포스트에서 두 가지 프롬프트 기법이 소개되었습니다.
첫 번째는 Solution-Space Constraint입니다. 사용 가능한 수단을 3가지로 제한하고, 풀지 못할 경우 이유와 네 번째 수단을 제안하며 중단하도록 하는 것입니다. '선택 가능한 범위를 좁힐수록 AI의 정확도가 올라간다'고 쓰여 있습니다. 두 번째는 Feedback Loop입니다. 출력 전에 정당성 조건을 5가지 제시하게 하고, 출력 후에 스스로 판정하게 하여 하나라도 충족하지 못하면 수정하도록 하는 것입니다. '만든 사람에게 채점하게 하는 것이 요점'이라고 되어 있습니다.
둘 다 구체적인 문구까지 제시되어 있어 그대로 붙여넣어 측정할 수 있었습니다.
측정 방법
결과를 보기 전에, 조건, 과제, 채점, 실행 순서를 모두 고정했습니다.
조건 (문구는 원문을 그대로)
- A: 추가 없음 -
- B: '이 작업을 할 때 사용할 수 있는 수단을 3가지로 제한해 주세요. 그 외의 방법은 생각해도 채택하지 마세요. 3가지로 풀지 못할 경우, 풀 수 없는 이유와 필요한 네 번째 수단을 제안하며 중단해주세요.' -
- C: '출력을 만들기 전에, 그것이 옳다고 말할 수 있는 조건을 5가지 제시해 주세요. 출력 후, 그 5가지를 스스로 판정해 주세요. 하나라도 충족하지 못하면 제출하지 않고 수정해주세요.' -
- D: B와 C 모두
모든 조건의 끝에는 공통적으로 '답변의 마지막에 완성된 구현 전체를 하나의 ```python 코드 블록으로 보여주세요.'를 붙였습니다.
과제
...
print(parse_duration(
## 평가 기준은 외부에서 실행한다. 스스로 보고하는 것은 신뢰할 수 없습니다. 테스트를 별도로 준비하여 실제로 돌려봅니다. -
**출력 형식은 명시한다.** '구현만 하나의 블록으로'라고 전달하면, 후속 공정의 자동 처리가 안정됩니다. 이번 A의 실패는 바로 여기서 발생했습니다. -
**수단의 제한은 간결함을 위해 사용한다.** 출력량이 줄어들고 불필요한 예시가 감소했습니다. 정확도 향상을 기대하는 지시는 아닙니다. -
**효과를 측정하려면, 비교 조건을 먼저 고정한다.** 도중에 발견한 결함도 기록하고 양쪽의 수치를 모두 제시합니다.
## 한계점 및 진행 과정 중 발생한 일들
- 각 조건당 15회, 1개 모델, 단일 응답만을 대상으로 한 소규모 검증입니다. 사고(thinking)는 기존대로 유효합니다.
- 과제는 Python 사양 구현에 치우쳐 있습니다. 문장 작성이나 설계 작업은 측정하지 않았습니다.
- 시도 4 실행 중에 터미널이 절전 모드로 들어가 해당 회차의 경과 시간을 사용할 수 없었습니다(모델 응답은 정상). 소요 시간은 Claude가 보고하는 응답 시간을 사용했습니다.
- 시도 35 실행 중에 디스크 공간 부족으로 응답 기록에 실패했습니다. 용량을 확보하여 동일 조건으로 재실시하고 있습니다.
- 시도 51은 'API Error: Overloaded'로 응답을 얻지 못해 마찬가지로 재실시했습니다. 둘 다 모델의 출력이 존재하지 않는 실패이므로, 결과를 보고 선택을 바꾼 것은 아닙니다.
## 다음에 시도할 것들
- 사람이 구체적으로 '3가지 수단'을 지정하는 경우(이번에는 모델 스스로 선택하게 한 원문 그대로).
- 테스트를 실행할 수 있는 환경에서의 자체 평가. 외부의 실행 결과를 제공했을 때 변하는지 여부.
- 문장 작성이나 요약 등, 숨겨진 테스트를 만들기 어려운 작업에서의 비교 방법들.
실험의 설계, 실행, 집계, 집필은 Claude Code (Opus 5)로 진행했으며, 시도한 모델은 `claude-haiku-4-5`입니다.
### Discussion

AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기