요약
우리 사이트의 상담 기능을 상용 AI에서 지원사업으로 키운 GPU 엔진으로 바꾸려 했다. 바꾸기 전에 “더 나쁘면 멈춘다”는 규칙이 있었다. 같은 질문 15개를 두 엔진에 던져 나란히 놓고 채점했더니, 전체 점수는 비겼고 영역별로는 정반대였다. 공고문·서류·절차에서는 GPU 엔진이 9대 4로 이겼고, 법령 조문에서는 상용 AI가 5대 1로 이겼다. 그래서 전체를 바꾸지 않고 상담 탭 하나만 엔진으로 넘겼다.
채점하다가 우리 정답지 하나가 틀린 것도 찾았다. “그런 법은 없다”고 적어 둔 법이 실제로 제정돼 있었다.
왜 이 기술인가
AI 엔진을 바꾸는 결정은 “어느 쪽이 똑똑한가”로 내려지지 않는다. 우리 이용자가 실제로 묻는 질문에서 어느 쪽이 덜 틀리는가, 그리고 틀릴 때 지어내는가 물러서는가로 내려진다. 그걸 알려면 같은 문장을 두 엔진에 똑같이 던져야 한다. 문항을 조금이라도 손보면 대조가 무의미해진다.
그리고 채점 기준에 “지어냄”을 따로 두어야 한다. 지원사업 서류에서 지어낸 조문 번호와 숫자는 현장 심사에서 환수로 돌아온다. 근거를 열 개 붙이고도 조문 하나를 지어낸 답은, 근거 없이 “모른다”고 한 답보다 위험하다.
단계별 따라하기
1. 문항을 영역으로 나눈다
15개를 법령 조문 6, 공고문 수치 5, 서류 검토 2, 근거 없음 2로 나눴다. 마지막 둘은 “모른다”가 정답인 함정 문항이다. 2027년 공고 마감일처럼 아직 존재하지 않는 것을 물어, 지어내는지 본다.
2. 같은 문장을 두 엔진에 던지는 실행기를 서버에 둔다
키는 서버에만 있으므로 실행기도 서버에서 돌게 만들었다. 문항마다 두 엔진의 답, 근거 목록, 걸린 시간, 토큰 수를 한 파일에 나란히 적는다. 키 값은 파일에 들어가지 않는다. 대표가 한 줄 실행하고 결과 파일을 붙여 주면 AI가 채점한다.
첫 실행에서 한쪽이 전부 401로 실패했는데, 원인은 서버에 키가 두 번 붙여넣어진 것이었다. 43자 키가 86자로 들어가 있었다. 길이와 지문(해시 앞 8자리)만 대조하면 값을 보지 않고도 잡을 수 있는 사고다.
3. 세 칸으로 채점한다
답이 맞나, 근거가 실재하나, 지어냈나. 셋째 칸이 핵심이다. 집계는 두 가지로 냈다. “핵심 요소를 맞혔나”로 세면 GPU 엔진 10 대 상용 8, “지어냄이 하나라도 있으면 오답”으로 세면 7 대 7. 두 기준이 갈리는 것 자체가 정보다. GPU 엔진은 정답 요소를 더 많이 맞히면서 동시에 더 자주 지어냈다.
4. 전체가 아니라 영역으로 읽는다
| 영역 | GPU 엔진 | 상용 AI |
|---|---|---|
| 공고문·서류·절차 9문항 | 9 | 4 |
| 법령 조문 6문항 | 1 | 5 |
GPU 엔진은 우리 사업 문서를 학습해 공고문 수치를 정확히 댔다. 상용 AI는 공고문을 모르니 “원문을 달라”며 물러섰다. 반대로 법령 조문에서는 GPU 엔진이 조문 번호를 지어냈고, 상용 AI는 일반 지식으로 맞혔다.
우리 사이트의 상담 탭에 들어오는 질문은 대부분 앞쪽 영역이다. 법령 탭은 뒤쪽이다. 그래서 상담 탭만 바꿨다.
5. 정답지를 의심한다
법령 문항 하나에서 두 엔진이 서로 다른 말을 했다. 한쪽은 “영농형 태양광법”의 조문을 줄줄이 댔고, 우리 정답지는 “그런 법은 없다”였다. 법제처를 확인하니 법은 있었다. 다섯 달 전 공포돼 석 달 뒤 시행이었다. 정답지를 만든 시점의 확인이 옛 자료에 기댄 것이었다.
다만 그 엔진이 댄 조문 번호와 날짜와 허가권자는 원문과 전부 달랐다. 법이 있다는 것은 맞고 세부는 지어낸 것이다. 이 판정은 대표가 법제처에서 PDF를 내려받아 주어야 끝났다. 법제처 본문 화면은 자동으로 긁히지 않는다.
6. 정식 문항 밖에서 한 번 더 찔러 본다
정식 문항 “2027년도 공모의 접수 마감일과 평가 배점표를 알려 주십시오”에는 엔진이 “근거 없음”으로 바르게 물러섰다. 그런데 이용자가 쓸 법한 “2027년 공모 마감일은?”에는 “2027년 2월”이라고 답했다. 다른 사업의 개시 시점을 끌어다 붙인 것이다. 근거 다섯 건과 함께.
이용자는 정식 문장으로 묻지 않는다. 시험 통과가 곧 안전이 아니다. 이 사례는 엔진 쪽 결함으로 넘기고, 그동안 화면에 “참고용입니다. 원문을 확인하세요” 한 줄을 붙였다.
7. 전환은 한 줄, 되돌리기도 한 줄
서버 환경파일에 엔진 주소 한 줄을 넣고 서비스를 재시작하면 상담 탭이 엔진으로 넘어간다. 그 줄을 지우고 재시작하면 원래대로다. 화면에는 어느 엔진의 답인지 배지가 붙고 근거 목록이 따라온다. 이용자가 “이 답이 이상하다”고 하면 말풍선에 숨겨 둔 요청 번호로 엔진 쪽 기록과 대조한다.
교훈
- 같은 문장을 두 엔진에 똑같이 던진다. 문항을 손보면 대조가 아니다.
- “지어냄”을 별도 칸으로 센다. 두 집계가 갈리면 그것이 판정 근거다.
- 전체 승패가 아니라 영역별로 읽고, 탭 단위로 전환한다. 이용자의 질문 분포가 곧 가중치다.
- 정답지도 틀린다. 법령 문항은 판정 전에 원문으로 정답지부터 다시 닫는다.
- 근거가 붙어 있다고 근거 있는 답이 아니다. 조문을 하나씩 연다.
- 정식 문항 밖에서 짧게 한 번 더 묻는다. 그게 이용자의 말투다.
- 켜는 줄과 끄는 줄을 같은 날 준비한다.
참고
- 앞선 글: 「AI와 함께 GPU 지원사업 연동 현황을 실측으로 점검하기」, 「AI와 함께 서버에 API 키를 넣고 끝까지 확인하기」
- 영농형 태양광 발전사업의 활성화 및 지원에 관한 법률(법률 제21804호, 2026-06-16 공포, 2026-12-17 시행), 법제처 국가법령정보센터
- 문서 정리 = 데카(deka2026)