AI 프롬프트를 영어로 바꿔도 60쌍 중 우열이 갈린 건 9쌍뿐이었습니다
첫 실패는 모양이 멀쩡했습니다.
JSON으로 열렸고, 요구한 키도 빠짐없이 들어 있었습니다. 그런데 category 값 하나가 정답표와 달랐습니다. 한국어 지시문으로 돌린 문의 분류 과제였습니다.
형식이 깨진 게 아니라 다 읽히는데 값이 틀린 것입니다. 한국어 프롬프트를 영어로 번역해야 답이 더 정확해지는지, 아니면 지시를 명확히 쓰는 데 시간을 써야 하는지 정하려는 분을 위해 다시 쟀습니다.
같은 구조화 과제 60개를 gemma3:4b에 두 번씩 줬습니다. 입력, 정답, 출력 형식은 고정하고 지시문만 한국어와 영어로 바꿨습니다. 총 120회입니다.
먼저 결론부터 놓겠습니다
| 지시문 언어 | JSON 파싱 성공 | 스키마 준수 | 값까지 정답 |
|---|---|---|---|
| 한국어 | 60/60 | 60/60 | 36/60 |
| 영어 | 60/60 | 60/60 | 39/60 |
영어가 세 건 앞섰습니다. 하지만 이 숫자만 보고 「영어가 더 좋다」고 결론내리면 짝비교를 놓칩니다. API가 기록한 응답 토큰 중앙값은 두 언어 모두 76개였습니다. 지시문 쪽은 한국어 372토큰, 영어 314토큰이 중앙값이라 영어가 짧았지만, 출력 길이는 같았습니다.
같은 입력에서 두 언어 중 하나만 성공한 경우를 세니 한국어만 성공 3쌍, 영어만 성공 6쌍이었습니다. McNemar 정확검정 p값은 0.5078이었습니다. 이번 60쌍에서는 이 차이를 우연과 구분하지 못했습니다.
번역 비용을 들일 만큼 영어 우위가 확인된 결과가 아닙니다.
무엇을 같게 두고 무엇만 바꿨나
과제는 세 종류였습니다.
- 고객 문의를 허용된 카테고리로 분류
- 주문 문장에서 판매처·상품·수량을 추출
- 상품 설명에서 제품명·재질·재고 여부를 추출
각 과제에 입력 20개를 뒀습니다. 한국어 지시문과 영어 지시문은 같은 필드, 같은 허용값, 같은 JSON 규칙을 담았습니다. 입력 문장과 기대 정답은 바꾸지 않았습니다.
실행 순서도 한쪽으로 몰지 않았습니다. 절반은 한국어부터, 절반은 영어부터 돌려 예열이나 순서가 언어 효과로 보이는 일을 줄였습니다. 요청은 한 번에 하나씩 보냈고 keep_alive: 0으로 매 응답 뒤 모델을 내렸습니다. 하네스 오류는 0회였습니다.
형식은 언어가 아니라 규칙이 잡았습니다
두 언어 모두 JSON 파싱 60/60, 스키마 준수 60/60이었습니다. 키 이름을 고정하고, 추가 키를 금지하고, 허용값을 닫힌 목록으로 준 조건에서는 한국어로 써도 형식이 무너지지 않았습니다.
여기서 「영어 프롬프트라 JSON을 더 잘 지킨다」는 설명은 이번 데이터에 맞지 않습니다. 양쪽이 똑같이 전부 지켰기 때문입니다.
문제는 그 다음 칸이었습니다. 구조는 맞는데 값이 달랐습니다. 한국어 24건, 영어 21건이 값 오류였습니다. 파서 통과를 작업 성공으로 세면 양쪽 모두 100%가 되지만, 실제 자동화에서는 틀린 값이 그대로 다음 단계로 넘어갑니다.
과제에 따라 앞선 쪽도 바뀌었습니다
| 과제 | 한국어 성공 | 영어 성공 |
|---|---|---|
| 문의 분류 | 17/20 | 18/20 |
| 주문 정보 추출 | 16/20 | 15/20 |
| 상품 속성 추출 | 3/20 | 6/20 |
문의 분류와 상품 속성에서는 영어가 앞섰고, 주문 정보 추출에서는 한국어가 한 건 앞섰습니다. 영어가 모든 과제에서 같은 방향으로 이긴 것이 아닙니다.
가장 어려운 상품 속성 추출은 두 언어 모두 낮았습니다. 한국어를 영어로 바꾸자 성공이 세 건 늘었지만, 영어도 스무 건 중 여섯 건만 맞혔습니다. 언어를 바꿔서 해결된 과제가 아니라 입력에서 재질과 재고 상태를 정확히 뽑는 일 자체가 어려웠던 과제에 가깝습니다.
같은 입력인데 승자가 뒤집힌 아홉 쌍
60쌍을 네 칸으로 나누면 이렇습니다.
| 짝 결과 | 입력 수 |
|---|---|
| 두 언어 모두 성공 | 33 |
| 한국어만 성공 | 3 |
| 영어만 성공 | 6 |
| 두 언어 모두 실패 | 18 |
정보량이 큰 칸은 가운데 둘입니다. 한국어만 맞힌 세 건과 영어만 맞힌 여섯 건. 같은 입력인데 지시문 언어를 바꾸자 결과가 뒤집힌 사례입니다.
하지만 양쪽 모두 실패한 입력이 열여덟 건으로 더 많았습니다. 언어 선택보다 과제 난도와 값 추출 문제가 더 크게 남았다는 신호입니다. 영어 번역을 만능 손잡이로 쓰면 이 열여덟 건은 그대로 놓칩니다.
8월에도 영어가 네 건 앞섰지만 결론은 같았습니다
같은 하네스를 8월에 돌렸을 때는 한국어 35/60, 영어 39/60이었습니다. 이번에는 한국어가 한 건 늘고 영어는 같았습니다.
두 실행 모두 표면 숫자는 영어 쪽이 앞섰습니다. 두 번 모두 짝비교 검정에서는 우열을 가르지 못했습니다. 한 번 더 돌려도 숫자가 완전히 같지는 않았지만, 번역만으로 확실한 우위를 얻었다고 말할 근거가 없다는 결론은 반복됐습니다.
온도 기본값 1인 로컬 모델 한 종의 결과이며, 측정 범위는 닫힌 필드와 정답표가 있는 JSON 과제입니다.
제가 실제 자동화에 붙일 순서
한국어로 업무를 설명하는 사람이 이 결과를 가져간다면 순서는 번역부터가 아닙니다.
- 출력 필드와 허용값을 닫습니다.
category에 쓸 수 있는 값이 다섯 개라면 다섯 개를 그대로 적습니다. - 형식과 값 검사를 분리합니다. JSON 파싱 성공 뒤에 필수 키, 타입, 허용값, 합계 같은 결정론 검사를 붙입니다.
- 틀린 입력을 모아 규칙을 보강합니다. 재질과 재고처럼 자주 어긋난 필드는 예시보다 판정 기준을 먼저 명시합니다.
- 그래도 반복해서 틀리는 과제만 한·영 두 판을 시험합니다. 같은 입력 묶음으로 비교해야 언어 효과와 우연을 갈라볼 수 있습니다.
프롬프트를 정리할 때는 역할·맥락·작업·출력 형식 네 칸으로 나누는 방법을 먼저 적용할 수 있습니다. 결과값이 사실과 맞는지는 별도 문제라서, 정답표가 없는 작업은 AI 답변을 검증하는 고정 질문 절차처럼 근거를 다시 대조해야 합니다.
영어 프롬프트를 금지할 이유도 없습니다. 이미 영어 사양서가 있거나 모델별로 실제 A/B 결과가 반복된다면 영어를 쓰면 됩니다. 다만 한국어 요청을 매번 번역하는 일을 기본 절차로 넣을 근거는 이번 120회에서 나오지 않았습니다.
문장을 영어로 바꾸기 전에 검증기를 하나 붙이는 것. 이번에는 그쪽이 더 싼 선택이었습니다.
한국어·영어 지시문 120회는 로컬 gemma3:4b에서 실행한 결과입니다. 하네스와 원고 작성에 AI 도구를 썼고, 조건 승인과 발행 전 검수는 제가 합니다.
재현: cinevyze-bench의 run_lang_bench.py와 lang_score.py (문항 파일 포함). 본문의 원자료 경로(test_runs/…)는 비공개 작업 폴더라 외부에서 열 수 없습니다.
cinevyze 운영자 — RTX 4070 Ti SUPER 한 장에서 gemma3:4b로 한국어·영어 지시문 60쌍, 총 120회를 순차 실행했습니다. 운영자 소개
댓글
댓글 쓰기