AI한테 시험을 냈는데 출제자가 5번 틀렸다

John Green·2일 전

AI 검증

목록 보기
1/2

AI를 못 믿어서 시험지를 만들었다.

그리고 그 시험에서 제일 많이 틀린 사람은 나였다.

뭘 만들고 있었냐면

거래처가 카톡으로 보내는 주문을 자동으로 정리해주는 프로그램이다.

사장님들 주문은 이렇게 온다.

안녕하세요 사장님
오늘 택배박스 250 5박스랑 투명테이프 2박스 부탁드려요

지금은 사람이 이걸 읽고 주문서에 옮겨 적는다. 그 일을 AI한테 시키려는 것이다. 저 메시지를 주면 우리 상품 목록에서 맞는 걸 찾아 이렇게 정리해야 한다.

택배박스 A형 250 — 5박스
박스테이프 투명 — 2박스

문제는, 이게 틀리면 진짜 물건이 나간다는 것. 엉뚱한 상품이 배송되고, 반품비가 들고, 거래처 신뢰가 깎인다.

요즘 AI가 그럴듯한 얼굴로 헛소리하는 걸 하도 많이 봐서 믿고 맡길 수가 없었다. 그래서 정했다.

일 시키기 전에 시험부터 본다.

시험은 이렇게 생겼다

세 가지를 만들었다.

시험지 — 실제로 올 법한 카톡 메시지 29개. 상품 목록은 연습용으로 50개를 직접 만들었다.

정답지 — 문제마다 내가 미리 적었다. "이 메시지가 오면 이 상품, 이 수량이 나와야 한다."

채점기 — AI의 답과 정답지를 자동으로 비교하는 스크립트. 이것도 내가 짰다.

규칙이 하나 있다. AI한테 "모르겠으니 사람이 확인해 달라"고 답할 권리를 줬다. 헷갈리는데 대충 찍어서 확정하면 엉뚱한 물건이 트럭에 실린다. 그래서 애매한 문제는 「확인 필요」라고 답하는 게 정답이다. 틀리게 확정하는 것보다 물어보는 게 낫다.

그리고 함정을 심었다.

  • 투명테이프를 두 종류 넣었다. 48mm와 60mm. "투명테이프 주세요"라고만 오면 특정할 수 없게.
  • "250"으로 시작하는 상품을 다섯 개 깔았다. 택배박스 250, OPP봉투 250x350, 지퍼백 250x350, 쇼핑백 250x330, 에어캡봉투 250x300.
  • 주문이 아닌 메시지도 섞었다. "택배박스 250 규격이 어떻게 되나요?" — 상품명이 떡하니 있으니 주문으로 오인하기 딱 좋다.
  • 말 바꾸는 손님도 넣었다. "택배박스 250 5박스 / 아 아니다 3박스로 할게요" — 두 줄을 각각 주문으로 잡으면 8박스가 나간다.

이 정도면 AI가 꽤 나가떨어질 줄 알았다.

출제자 1패

첫 문제부터였다.

오늘 택배박스 250 5박스랑 투명테이프 2박스 부탁드려요

내 정답지 — 택배박스 250 확정. 투명테이프는 48mm짜리로 확정.

AI의 답 — 택배박스 250 확정. 테이프는 「확인 필요」, 후보가 둘.

"틀렸네." 감점 처리하려는 순간 뭔가 찜찜해서 상품 목록을 다시 열었다.

TAPE-48-CL   박스테이프 투명   48mm
TAPE-60-CL   박스테이프 투명   60mm

투명테이프가 두 개다. 내가 심은 함정이다. 함정을 파놓고, 정답지를 쓸 때는 그걸 까먹은 것이다. 손님이 폭을 안 말했으면 어느 쪽인지 알 수 없는 게 맞다.

AI가 맞았다. 정답지를 고쳤다.

출제자 2패

극도로 줄여 쓴 주문. 실제로 이렇게 보내는 분들이 있다.

250 5
테이프 2
에캡 3

내 정답지 — 첫 줄은 택배박스 250이 5박스. 이건 뭐 당연하고.

AI의 답 — 「확인 필요」. 250으로 시작하는 상품이 여러 개이고, "5"에 단위가 없음.

당연히 택배박스지 무슨, 하다가 또 찜찜해서 세어봤다.

250으로 시작하는 상품, 다섯 개. 내가 깔아둔 그 다섯 개다.

그리고 "5". 5박스인지 5장인지 아무 데도 안 적혀 있다. 이 상품은 1박스에 50장이 들어간다. 잘못 읽으면 50배 차이로 나간다.

AI가 맞았다. 2패.

출제자 3패

이번엔 힌트까지 준 문제.

저번에 시킨 그거 3박스요

AI한테 이 거래처의 과거 주문 기록도 같이 줬다. "택배박스 250, 5박스" — 딱 한 건.

내 정답지 — 기록이 하나뿐이니 당연히 그거다. 택배박스 250으로 확정.

AI의 답 — 「확인 필요」. 후보로 택배박스 250을 제시하되, 확정은 안 함.

기록이 하나밖에 없는데 뭘 또 물어봐? 이건 진짜 틀렸지.

...라고 생각했는데, 곱씹을수록 아니었다.

"저번에 시킨 그거"는 지시대명사다. 우리 기록에 한 건 있다고 그게 그걸 가리킨다는 보장이 없다. 딴 가게에서 산 이야기일 수도 있고, 우리 기록에 안 남은 더 옛날 주문일 수도 있다. 시스템이 멋대로 확정해서 출고했는데 아니면? 물건은 이미 트럭에 있다.

3패.

채점기도 2패

정답지만 문제가 아니었다. 자동 채점 스크립트도 두 번 틀렸다.

하나. AI 답안이 내용은 완벽한데, 답이 담겨 오는 데이터 형식(JSON)의 맨 끝 글자가 잘린 채로 왔다. 채점기는 "형식 깨짐 = 0점"으로 처리했다. 내용 100점짜리 답안을 마지막 중괄호 하나 때문에 빵점 준 것이다. 잘린 부분을 복구하는 로직을 넣고 나서야 제 점수가 나왔다.

둘. "250박스 5개"라는 문제에 AI가 이렇게 답했다.

판정: 확인 필요
유력 후보: 택배박스 250
사유: '개'가 박스를 뜻하면 5박스, 낱장을 뜻하면 0.1박스라 확정 불가

사람이 보면 친절한 답이다. "확인은 필요한데, 아마 이거일 거예요."

그런데 채점기는 후보 칸이 채워져 있다는 이유만으로 "어? 확정해버렸네?" 하고 오답 처리했다. AI가 잘한 것에 벌점을 준 것이다. 판정을 먼저 읽도록 채점기를 고쳤다.

최종 스코어

시험 자체의 결과는 이랬다.

  • 싼 모델(Haiku 4.5) — 29문제 중 28문제 무결점
  • 비싼 모델(Sonnet 5) — 실행된 28문제 전부 무결점
  • 엉뚱한 물건이 나가는 수준의 치명적 오답 — 둘 다 0건

AI의 진짜 실수는 딱 한 건이었다. 그마저 "확인해 주세요" 방향의 안전한 실수.

출제자 진영의 실수는 다섯 건. 정답지 3, 채점기 2.

그래서

이 시험을 안 만들었으면 어떻게 됐을까.

나는 "투명테이프 = 48mm"라고 믿는 채로 코드를 짰을 것이다. 60mm를 시킨 거래처에 48mm가 나갔을 것이다. 그리고 끝까지 몰랐을 것이다. 내 머릿속에서 그건 너무 자명했으니까.

AI를 검증하려고 만든 시험이 제일 많이 잡아낸 건 AI의 오답이 아니라 출제자의 확신이었다.

"AI 못 믿겠다"는 말은 맞다. 그런데 검증을 실제로 돌려보면 못 믿을 게 하나 더 나온다.

나 자신이다.


덧. 시험지 29문제와 채점기 코드를 공개했습니다.github.com/ramses203/llm-test-harness

케이스 파일과 상품 목록만 자기 도메인 걸로 바꾸면 그대로 돌아갑니다. 파이썬 표준 라이브러리만 씁니다.

profile
개발새발

0개의 댓글