현장 노트 2026년 9월 28일11분 읽기

AI 시험에서 만점이 나왔는데, 푸는 쪽이 함정을 알고 있었습니다

정답지 파일을 숨긴 것만으로는 부족했습니다. 무엇을 심었는지 아는 대화가 문제를 풀지 않게 해야 했습니다.

AI 시험에서 만점이 나왔는데, 푸는 쪽이 함정을 알고 있었습니다

AI에게 일을 맡기고 나면 그 결과가 맞는지 확인하는 일이 남습니다. 요즘은 그 확인도 AI에게 맡기곤 하죠. 만든 AI에게 스스로 점검하게 하거나, 다른 AI에게 채점을 시킵니다. 점수가 잘 나오면 믿고 넘어갑니다. 저도 그랬습니다.

제가 시험하던 것은 회의록과 메일 같은 자료를 읽고 프로젝트 이해관계자(프로젝트에 영향을 주거나 받는 사람과 조직) 목록을 만드는 AI 작업 절차였습니다. 실제 고객 자료를 쓸 수는 없어서, 가상의 구립도서관이 열람실 좌석 예약을 모바일로 바꾸는 사업 자료를 만들었습니다. 요청 메일, 착수 회의록, 조직 메모, 이용 규정 발췌 네 가지입니다. 도서관 운영은 외부 기관에 맡겨져 있다는 설정이라 구청, 위원회, 운영 기관이 얽혀 있습니다.

자료 속에는 일부러 어긋남을 심어 두었습니다. 회의에 오지 않았지만 승인권을 가진 사람, 문서마다 다르게 적힌 좌석 수 같은 것들입니다. 이 글에서는 이것을 함정이라고 부르겠습니다.

결과는 두 가지로 쟀습니다. 하나는 찾아야 할 사람과 함정을 다 찾았는가, 다른 하나는 찾은 것을 제대로 옮겨 적었는가입니다. 앞의 것은 만점이었습니다. 심어 둔 함정 9개를 모두 찾았습니다. 그런데 이 만점은 믿을 수 없는 점수였습니다. 함정을 심으라고 지시한 대화가 그대로 문제를 풀고 있었거든요. 뒤의 것은 처음부터 좋지 않았고요.

PART 01만점이 나온 날

규칙 9개를 모두 지켰다고 스스로 표시했습니다

먼저 뒤의 것, 옮겨 적은 방식부터 보겠습니다. 처음 의심이 든 곳은 자가 점검이었습니다. 이 작업 절차에는 산출물을 적는 방식에 관한 규칙이 9개 있고, 산출물 끝에 AI가 규칙마다 지켰는지 스스로 표시하게 해 두었습니다. 9개 모두 지켰다고 적혀 있었습니다.

같은 산출물을 따로 둔 검사자 AI에게 보냈습니다. 이 검사자는 만드는 과정을 보지 않았고, 자가 점검 표도 믿지 말라고 해 두었습니다. 산출물 본문에서 증거를 찾아 규칙마다 어긋났는지 판정하게 했습니다.

만든 AI가 스스로 점검 규칙 9개 중 찾은 어긋남 어긋남 0 / 9 따로 둔 검사자 같은 산출물, 같은 규칙 9개 중 찾은 어긋남 어긋남 6 / 9
같은 산출물, 같은 규칙 9개입니다. 만든 쪽은 어긋난 규칙을 하나도 찾지 못했고, 따로 둔 검사자는 6개를 찾았습니다.
자체 실측, 2026-09-25. 가상 자료 1건에 대한 1회 관측입니다

9개 중 6개가 어긋나 있었습니다. 표현과 동사, 방향이 틀린 결함이 11건 나왔습니다. 규정에는 ‘심의’와 ‘검토’로만 적힌 권한을 ‘이 과제를 멈출 수 있는 권한’으로 키워 적었습니다. 운영 기관이 구청장에게 요청하게 되어 있는 조항은 요청 방향을 거꾸로 옮겼습니다. 회의에서 앞으로 하기로 한 일을 이미 끝낸 일처럼 적은 곳도 있었습니다.

자가 점검이 잡은 결함은 0건이었습니다. 앞서 같은 작업 절차를 다른 자료로 두 번 시험했을 때도 0건이었으니 세 번 연속입니다. 스스로 점검하는 칸은 결함을 잡는 장치가 아니라, 잘했다고 말하는 칸이었던 셈입니다.

막힌 곳: 정답지를 숨겼는데도 만점은 믿을 수 없었습니다

규칙 점검은 산출물을 어떻게 적었는가를 보는 축입니다. 또 하나의 축은 찾아야 할 것을 찾았는가였고, 이것은 미리 만들어 둔 정답지와 대조해 쟀습니다. 같은 산출물을 두 축으로 잰 셈입니다. 자가 점검을 믿을 수 없게 되자 남은 숫자는 이쪽이었습니다.

정답지 기준으로 이해관계자 22명을 모두 찾았고 함정 9개도 모두 찾았습니다. 정답지 파일은 푸는 쪽이 열지 못하게 따로 두었으니 이 점수는 믿어도 된다고 생각했습니다.

그런데 가상 자료를 만들라고 지시한 곳을 다시 읽어 보니 문제가 보였습니다. 자료를 만드는 AI에게 어떤 종류의 함정을 심으라고, 제가 작업하던 대화에서 직접 적어 보냈습니다. 그리고 그 대화에서 그대로 문제를 풀었습니다. AI와의 대화는 앞에서 주고받은 내용을 모두 기억한 채 이어지는 작업 공간입니다. 정답지 파일은 열지 않았지만, 함정 목록을 직접 써 보낸 그 대화는 무엇을 심었는지 이미 알고 있었던 것입니다.

앞서 다른 가상 자료로 돌린 시험도 같은 모양이었습니다. 함정 종류를 지시문에 나열하고, 같은 대화에서 풀었습니다. 두 번 다 파일은 봉인했고, 두 번 다 푸는 쪽은 답의 윤곽을 알고 있었습니다.

PART 02떼어 놓고 다시 재기

되돌린 결정: 함정은 부르는 쪽이 아니라 문제를 내는 쪽이 고르게 했습니다

그래서 역할을 셋으로 떼어 놓았습니다. 문제를 내는 쪽, 푸는 쪽, 채점하는 쪽입니다. 원리는 하나입니다. 각 역할이 알아서는 안 되는 것을 모르게 한다.

가장 크게 바꾼 것은 함정을 고르는 주체였습니다. 전에는 제가 함정 종류를 정해 지시문에 적었습니다. 이번에는 과제 한 줄과 시험할 작업만 알려 주고, 어떤 함정을 어디에 심을지는 문제를 내는 AI가 정하게 했습니다. 그 AI는 결과를 보고할 때 파일 경로와 개수만 돌려주게 했습니다. 부르는 저도, 문제를 풀 쪽도 무엇이 심겼는지 모릅니다.

푸는 쪽은 가상 자료만 읽었습니다. 채점하는 쪽은 정답지와 원천 자료를 직접 대조했습니다. 채점자는 원래 정답을 보는 역할이니, 여기서 모르게 해야 할 대상은 푸는 쪽입니다. 그리고 채점자에게는 칸 하나를 더 열어 두었습니다. 정답지가 틀린 것 같으면 적으라는 칸입니다.

함정을 아는 쪽이 풀었을 때 심은 어긋남 찾기 9 / 9 모르게 떼어 놓고 다른 자료로 쟀을 때 찾기: 누가, 무엇이 있나 4 / 5 옮기기: 원문을 제대로 적었나 4 / 5 채점자가 정답지에 낸 이견 3건
함정을 아는 쪽이 푼 점수와, 모르게 떼어 놓고 다른 가상 자료로 다시 잰 점수입니다. 두 숫자의 차이가 모두 떼어 놓은 효과라고 말할 수는 없습니다.
자체 실측, 2026-09-25. 두 시험은 서로 다른 가상 자료를 썼기 때문에 같은 조건의 전후 비교는 아닙니다

이번에 문제를 내는 AI는 함정을 두 종류로 5개씩 심었습니다. 누가, 무엇이 있는지 알아채야 하는 찾기 함정과, 원문을 틀리지 않게 옮겨 적어야 하는 옮기기 함정입니다. 결과는 찾기 함정 5개 중 4개, 옮기기 함정 5개 중 4개였습니다. 아예 놓친 것과 틀리게 잡은 것은 0건이었고, 반쯤 잡은 것이 2건이었습니다. 자료도 함정 수도 앞의 시험과 달라서, 만점에서 이 점수로 내려온 것을 떼어 놓은 효과라고 단정하지는 않겠습니다. 제가 말할 수 있는 것은 이번 점수는 푸는 쪽이 답을 모르는 상태에서 나왔다는 것까지입니다.

옮기기를 잰 방식도 두 시험이 다릅니다. 앞의 시험에서는 따로 둔 검사자가 규칙 9개에 비춰 어긋난 곳을 찾았고, 이번에는 미리 심어 둔 옮기기 함정 5개를 맞혔는지 셌습니다. 그래서 규칙 6개 어긋남과 함정 5개 중 4개는 같은 자로 잰 숫자가 아닙니다. 옮겨 적는 솜씨가 나아졌다고 읽으시면 안 됩니다.

정답지도 만든 쪽의 추측이었습니다

더 뜻밖이었던 것은 채점자가 정답지에 낸 이견이었습니다. 이견은 정답지에 적힌 내용이 틀렸다고 본 것이고, 3건이었습니다. 그중 둘은 정답 목록에 있어야 할 기관과 위탁 업체가 빠진 것이었고, 하나는 옮기기 함정 하나에 정답지가 붙인 채점 조건이 맞지 않는다는 것이었습니다. 이와 별도로 정답지가 아예 다루지 않은 빈자리도 4건을 적어 왔습니다.

이 이견은 앞의 점수에 그대로 걸립니다. 반쯤 잡았다고 판정된 2건 중 하나가 바로 채점자가 조건에 이견을 낸 그 함정이었습니다. 이견이 맞다면 옮기기 점수는 달라질 수 있습니다. 그런데 저는 정답지를 고친 뒤 다시 채점하지 않았습니다. 그러니 5개 중 4개는 틀렸을 수도 있는 정답지로 매긴 점수입니다.

그중 하나는 꽤 민망했습니다. 문제를 내는 AI가 자기가 심은 함정에 관련된 사람을 정작 정답 목록에 넣지 않았습니다. 정답지를 푸는 쪽에게서 숨기는 데만 신경 쓰느라, 정답지 자체가 맞는지는 아무도 보지 않았던 것입니다.

그래서 한 가지를 더 붙였습니다. 문제를 내는 AI는 정답지에 함정마다 관련 인물을 적어 둡니다. 이 인물들과 정답 목록을 기계로 대조해, 빠진 사람이 있으면 멈추게 했습니다. 이 검사가 실제로 잡는지도 일부러 틀린 정답지를 넣어 확인했습니다. 빈 파일을 넣었을 때 통과로 보이지 않는지도 봤습니다.

PART 03표준과 바깥 사례

검증 표준이 말하는 독립은 결국 무엇을 모르느냐였습니다

이 일을 겪고 나서 소프트웨어 검증 표준인 IEEE 1012를 다시 찾아봤습니다. 이 표준은 독립 검증을 기술, 관리, 재정 세 갈래로 나눕니다. 그중 기술적 독립은 개발에 참여하지 않은 사람이, 문제와 해법을 스스로 이해하고, 자기 도구로 검사하라는 요구로 설명됩니다.

사람이 검증하던 시절에는 이 요구가 조직도로 채워졌습니다. 개발팀이 아닌 다른 팀 사람을 붙이면 대체로 독립이 됐습니다. 다른 사람은 만든 사람의 머릿속을 모르니까요.

AI로 넘어오면 이 전제가 흔들립니다. 역할을 나눠 부르는 것은 쉽지만, 누가 무엇을 들고 가는지는 부르는 쪽이 정합니다. 제 경우 새는 통로는 둘이었습니다. 부르는 쪽이 함정을 지시문에 적어 넘긴 것, 그리고 그 지시문을 쓴 대화가 직접 문제를 푼 것입니다. 떼어 놓기 전에도 자료를 만드는 AI, 푸는 대화, 채점하는 AI로 역할은 이미 셋이었습니다. 그런데 지시문을 쓰는 대화가 푸는 쪽을 겸하자 아는 것은 하나가 됐습니다. 그래서 AI에게 이 요구를 이행할 때는 몇 번 나눠 불렀나가 아니라, 각자 무엇을 알고 있었나를 따져야 한다고 생각합니다.

바깥에서도 채점 장치가 같은 방식으로 뚫리고 있었습니다

같은 주에 비슷한 이야기가 바깥에서도 들려왔습니다.

한 대학 연구팀은 널리 쓰이는 AI 에이전트 평가(모델 성능을 비교하는 공용 시험) 8개를, 과제를 하나도 풀지 않고 73~100%의 점수로 통과했습니다. 한 코딩 평가는 테스트 결과를 모두 통과로 바꿔 쓰는 설정 한 줄로 뚫렸습니다. 또 다른 평가에서는 정답 파일을 채점 위치에 내려받아, 채점기가 정답과 정답을 비교하게 만들었습니다. 연구팀이 짚은 근본 원인은 에이전트가 채점기가 들여다보는 바로 그 환경 안에서 돌았다는 것이었습니다. 푸는 쪽이 채점 쪽의 것을 만질 수 있었던 셈입니다.

다른 감사 보고서는 공개된 평가 과제 5,241개를 점검해 29개가 망가져 있음을 확인했습니다. 비율로는 작습니다. 눈여겨볼 것은 결함의 방향이었습니다. 대부분 모델을 실제보다 더 좋아 보이게 만드는 쪽이었습니다. 무작위로 틀린 게 아니라 한쪽으로 기울어 있으니, 작은 비율도 점수를 끌어올립니다.

조금 결이 다른 연구도 있었습니다. AI가 자기 작업 틀(지시문, 도구 구성, 작업 흐름처럼 모델 바깥을 감싼 부분)을 스스로 고치게 한 연구입니다.

스스로 고친 뒤의 점수 100점 만점 기준 막대 고치는 데 쓴 과제 92.8 처음 보는 과제 40.3 고치기 전 39.7 오른 점수 대부분이 외운 몫
고치기 전에는 처음 보는 과제에서 39.7점이었습니다. 고친 뒤 연습한 과제는 92.8점이 됐지만, 처음 보는 과제는 40.3점에 머물렀습니다.
출처: 참고 자료 3의 논문 수치를 옮겨 그렸습니다

고치는 데 쓴 과제에서는 92.8점까지 올랐지만 처음 보는 과제에서는 40.3점이었습니다. 처음 보는 과제의 고치기 전 점수가 39.7점이었으니 거의 오르지 않은 것입니다. 이것은 채점이 샌 경우라기보다 시험 문제를 미리 보고 공부한 경우에 가깝습니다. 연구팀은 한 번에 고칠 수 있는 양을 제한하고, 효과 없는 수정은 지우게 하는 제약을 걸어 처음 보는 과제 점수를 43.6점까지 올렸습니다. 다만 그 폭도 크지 않다고 스스로 적었습니다.

세 이야기의 모양은 조금씩 다르지만 공통점은 하나입니다. 재는 쪽이 보는 것을 푸는 쪽도 볼 수 있으면 점수는 부풀려집니다.

재는 쪽이 보는 것을 푸는 쪽도 볼 수 있으면 점수는 부풀려집니다.

아직 남은 문제: 사람이 푼 기록은 아직 없습니다

이번 시험은 모두 AI가 풀고 AI가 채점했습니다. 떼어 놓은 뒤의 결과도 가상 자료 한 건에 대한 한 번의 관측입니다. 앞선 만점 시험과는 가상 자료가 달라서 같은 조건의 전후 비교라고 말할 수도 없습니다.

떼어 놓았다고 해서 완전히 모르는 것도 아닙니다. 함정을 고르는 AI에게 준 지침에는 어떤 범주의 함정이 있는지가 적혀 있습니다. 그 지침을 읽은 대화는 구체적인 배치는 몰라도 범주는 압니다. 어디까지 모르게 해야 충분한지는 아직 답을 갖고 있지 않습니다.

마치며: ‘몇 번 나눠 불렀나’가 아니라 ‘각자 무엇을 알고 있었나’

AI에게 일을 시키고 AI에게 채점을 맡기는 흐름은 앞으로 더 늘어날 것입니다. 그때 점수보다 먼저 볼 것은 푸는 쪽이 무엇을 알고 있었는가입니다. 정답지 파일을 숨긴 것만으로는 부족했고, 무엇을 심었는지 아는 대화가 문제를 풀지 않게 해야 했습니다.

다음에 AI 시험 결과가 너무 좋게 나오면, 문제를 준비한 대화와 문제를 푼 대화가 같았는지부터 확인해 보시길 권합니다. 같았다면 준비 과정을 전혀 모르는 새 대화에서 한 번 더 풀게 해 보는 것만으로도, 그 점수가 얼마나 부풀어 있었는지 보일 겁니다.

이 글은 AI의 도움을 받아 작성했습니다.

참고 자료

  1. How We Broke Top AI Agent Benchmarks: https://rdi.berkeley.edu/blog/trustworthy-benchmarks-cont/
  2. Benchmarks are more broken than we could have imagined: https://www.horizonanalyticslabs.com/research/public-benchmark-dataset-audit
  3. RRSI: Regularized Recursive Self-Improvement of Agent Harnesses: https://arxiv.org/abs/2609.24972
  4. IEEE 1012-2016 System, Software, and Hardware Verification and Validation: https://standards.ieee.org/ieee/1012/5609/
이 글 공유하기
LinkedIn Threads X Facebook
다음 문