이 시험지, 그대로 훔쳐가는 법

John Green·4일 전

AI 검증

목록 보기
7/10

지금까지 주문 읽기 AI한테 시험 내는 이야기를 썼다.

읽은 분들 중에 이런 생각이 들었을 것이다. "제 건 주문이 아니라 회의록 요약인데요." "저는 메일 분류를 시키는데요."

좋은 소식 — 시험지는 훔쳐가라고 만드는 것이다. 바꿀 건 두 가지뿐이다. 대조할 데이터(내 경우 상품 목록)와 최악의 사고(내 경우 엉뚱한 물건이 실려 나가는 것). 순서대로 가자.

1단계 · 최악부터 적는다

시험 문제를 만들기 전에, 이것부터 쓴다.

이 AI가 틀렸을 때 벌어지는 일 중, 되돌릴 수 없는 것은 무엇인가.

내 주문 프로그램에선 "엉뚱한 물건이 트럭에 실리는 것"이었다. 당신 것에서는 뭔가. 몇 가지 예를 들면 —

메일 자동 회신 AI      잘못된 답이 고객에게 발송됨.  발송은 취소가 안 된다
회의록 요약 AI         결정 안 된 걸 "결정됨"으로 적음.  그대로 공유되면 일이 진행된다
조사·리서치 AI         지어낸 수치가 보고서에 들어감.  보고서는 위로 올라간다
데이터 정리 AI         원본을 덮어씀.  백업 없으면 끝

공통점이 보일 것이다. "나갔다 / 지워졌다 / 윗선에 올라갔다"는 못 되돌린다. 이게 당신의 트럭이다.

2단계 · 등급표를 만든다

최악을 적었으면 등급은 자동으로 나온다. 기준은 하나 — 되돌릴 수 있는가.

치명   되돌릴 수 없다        발송됨, 삭제됨, 보고됨, 결제됨
위험   애매한 걸 확정했다     이번엔 맞았어도 다음엔 치명
누락   놓쳤다               사람이 발견할 수 있다
무해   "확인해 주세요" 남발    느려질 뿐이다

이 표에서 당신이 정할 건 첫 줄뿐이다. 나머지 세 줄은 어느 프로젝트든 같다.

그리고 원칙도 그대로 가져가면 된다. 틀린 확정이, 확정 못 한 것보다 나쁘다.

3단계 · 함정을 심는다

시험 문제는 정상 케이스가 아니라 함정에서 나온다. 함정의 종류는 네 가지고, 어느 도메인에나 있다.

헷갈리는 쌍 — 내 경우엔 투명테이프 48mm와 60mm였다. 회의록이면 "홍길동 대리와 홍길동 과장", 메일이면 "회신과 전달". 당신 데이터에서 비슷해서 헷갈리는 쌍을 찾아 일부러 둘 다 넣어라.

그럴듯한 비대상 — "택배박스 250 규격이 어떻게 되나요?"는 상품명이 있지만 주문이 아니다. 회의록이면 "그건 다음에 정하시죠"(결정 아님), 메일이면 광고 메일(회신 대상 아님). AI가 잡아야 할 것과 생김새만 같은 것을 넣어라.

말 바꾸기 — "5박스 주세요, 아 아니다 3박스로". 회의록이면 "A로 갑시다 → 아니 그래도 B가 낫겠다". 앞부분만 읽으면 틀리는 문제다.

배운 다음의 사고 — 학습·기억 기능이 있다면 반드시. 학습된 값을 새 정보가 이겨야 하는 상황("테이프 60"), 학습이 있어도 판단을 바꾸면 안 되는 상황(질문은 질문).

몇 개나 만드냐면, 기준은 개수가 아니라 1단계에서 적은 사고 목록이다. 사고 유형 하나마다 그 사고를 일으켜볼 문제를 최소 하나씩 만든다. 내 목록으로 예를 들면 이렇다.

문의를 주문으로 오인해 안 시킨 물건이 나감   → "택배박스 250 규격이 어떻게 되나요?"
취소·변경을 새 주문으로 오인해 두 번 나감    → "5박스 주문했는데 3박스만 보내주세요"
단위를 오해해 수량이 50배로 나감           → "250 5"

사고 목록이 다섯 줄이면 문제도 최소 다섯 개다. 나는 사고마다 변형을 더 넣다 보니 29개가 됐지만, 시작은 10개면 충분하다.

잘 되는 경우(정상 케이스)는 마지막에 몇 개만 넣는다. AI는 쉬운 문제를 거의 안 틀려서, 정상 문제는 늘려봤자 잡아내는 게 없다. 시험의 목적은 잘하나 보기가 아니라 어디서 사고 나나 찾기다.

4단계 · 정답지를 쓰되, 의심한다

문제마다 기대하는 답을 적는다. 여기서 이 시리즈 1편의 교훈이 온다.

당신의 정답지가 틀릴 것이다. 나는 정답지에서 세 번, 채점기에서 두 번 틀렸다.

그래서 규칙 세 개만 지켜라.

  • 애매한 문제의 정답은 "확인 필요"다. 그럴듯한 확정이 아니라
  • AI가 당신 정답과 다르게 답하면, 감점하기 전에 데이터를 다시 봐라. AI가 맞았을 수 있다. 다만 고치는 방향이 "확인 필요"를 "확정"으로 바꾸는 쪽이면 의심부터 해라
  • 문제마다 "자료만 보고 답이 하나로 정해지는가"를 미리 적어둬라. 나중에 AI와 답이 달랐을 때 이 표시가 심판이 된다

세 번째 규칙을 예로 들면 — "테이프 60 2박스"는 목록에 60mm가 있으니 답이 정해지는 문제다. 이런 문제에서 AI가 다른 답을 내면 AI가 틀린 것이니 정답지를 안 고친다. "투명테이프 2박스"는 폭이 없어서 답이 안 정해지는 문제다. 이런 문제의 정답은 처음부터 "확인 필요"여야 하고, 내가 다른 걸 적어놨다면 정답지 쪽이 틀린 것이다.

이 방식은 1편에 댓글을 준 독자 한 분이 알려줬다. 표시를 붙이려면 문제마다 자료를 열어봐야 하니, 정답지 실수를 출제 단계에서 미리 잡는 효과가 덤으로 따라온다.

5단계 · 채점하고, 저장하고, 판단한다

채점은 등급으로 센다. 그리고 AI 답안 원본은 파일로 저장해라. 채점 기준은 계속 바뀌는데, 원본이 있으면 AI를 다시 부르지 않고 재채점할 수 있다.

다 통과했으면 마지막으로 세 줄 장부를 쓴다. 시험이 보증하는 것과 못 하는 것을 스스로에게 정직하게 적는 것이다.

확인했다      사고 유형마다 문제를 냈고 치명 0건이었다
확인 못 했다   실전 데이터는 아직 안 넣어봤다. 시험 문장은 전부 내가 지어냈다
막아놨다      시험에 없던 상황이 와도, 확신이 없으면 확정하지 않고 사람한테 넘기게 만들었다

내놓는 근거는 첫째 줄이 아니라 첫째 줄과 셋째 줄의 조합이다. 시험 점수가 보증하는 건 내가 상상한 범위까지고(둘째 줄이 그 고백이다), 상상 밖의 문장은 셋째 줄의 안전장치가 받친다. 셋째 줄이 없으면 시험 점수는 그냥 숫자다 — 상상 못 한 첫 문장에서 바로 사고가 난다.

전부 합치면

  1. 되돌릴 수 없는 사고를 적는다 — 그게 당신의 트럭
  2. 등급표를 만든다 — 첫 줄만 당신 것
  3. 함정 네 종류를 심는다 — 헷갈리는 쌍, 그럴듯한 비대상, 말 바꾸기, 배운 다음
  4. 정답지를 쓰고, 정답지를 의심한다
  5. 등급으로 채점, 원본 저장, 세 줄 장부

시험지는 훔쳐가도 된다. 정답지는 당신이 써야 한다.

그리고 그 정답지가 틀릴 것이다. 그걸 잡는 게 시험이다.


덧. 이 구조 그대로 돌아가는 테스트 러너·채점기 코드는 통째로 공개해뒀다 → github.com/ramses203/llm-test-harness

덧2. 새 실험이 끝날 때마다 메일로도 보냅니다 → AI 검증 노트

profile
AI 결과를 믿어도 되는지 확인하는 방법을 씁니다

0개의 댓글