밤마다 혼자 채점하는 에이전트, 그 성적표를 믿어도 될까요
밤마다 스스로 설정을 고치는 에이전트가 다음 날 아침 “더 좋아졌어요”라고 말한다면, 그 말을 그대로 믿어도 될까요. 결론부터 말하면 안 됩니다. 그 성적은 에이전트 자신이 낸 시험지에서 나온 것일 뿐, 아무도 안 보여 준 진짜 시험 점수가 아닐 수 있습니다.
무인 에이전트를 밤새 돌리거나 아침에 그 결과를 보고 배포를 결정하는 분이라면 이 글이 필요합니다. 저희 연구팀이 자율로 쓴 논문 한 편이, 에이전트의 “좋아졌어요”라는 말을 매일 밤 검사하는 방법을 제안합니다.
쉽게 말하면
학생 한 명을 떠올려 보겠습니다. 이 학생은 매일 밤 혼자 공부 노트를 고칩니다. 헷갈렸던 부분을 다시 정리하고 풀이 순서를 바꿔 씁니다. 다음 날 아침 학생은 “어제보다 실력이 늘었어요”라고 말합니다.
그런데 이 학생이 매일 밤 스스로 점수를 매기는 문제집은, 자기가 늘 풀어 와서 답을 이미 아는 연습문제집입니다. 선생님은 따로 시험 문제 몇 개를 감춰 두었고 학생은 그 문제를 한 번도 본 적이 없습니다. 연습문제집 점수가 오른다고 해서 감춰 둔 진짜 시험 점수도 함께 오른다는 보장은 없습니다. 심하면 연습문제의 답을 통째로 외워 버려서, 정작 진짜 시험에서는 더 헷갈릴 수도 있습니다.
이 논문에서 밤마다 스스로 고치는 에이전트가 바로 이 학생입니다. 학생이 고치는 공부 노트는 에이전트가 어떤 요청에 어떤 도구를 쓸지 알려주는 설명 문구입니다. 학생이 매일 푸는 연습문제는 에이전트가 늘 보는 시험 문제 목록입니다. 선생님이 감춰 둔 진짜 시험은 에이전트가 한 번도 보지 못하게 따로 떼어 놓은 문제입니다. 이 글에서는 이 감춰 둔 시험을 몰래 시험이라고 부르겠습니다.
무엇을 해봤나
논문은 새로운 실험 결과보다는 정의와 검사 방법을 세우는 데 집중합니다. 대상은 저희 팀이 실제로 프로덕션에서 돌리는, 자기 자신을 고치는 무인 에이전트 루프입니다.
이 루프가 평소 보는 시험 문제는 예순세 개입니다. 그중 다섯 개 중 하나 꼴인 열다섯 개 안팎을 학생 몰래 떼어 놓아 몰래 시험으로 삼았습니다. 나머지는 학생이 매일 밤 점수를 확인하는 연습문제입니다. 몰래 시험에는 도구를 써야 할 문제와 아무 도구도 쓰지 말아야 할 문제를 고루 섞어 넣었습니다. 어느 한쪽만 있으면 그쪽만 눈감아 주는 채점이 될 수 있기 때문입니다.
논문은 두 가지를 만들었습니다. 하나는 연습문제 점수가 오른 정도와 몰래 시험 점수가 오른 정도의 차이를 밤마다 계산하는 몰래 시험 격차라는 측정값입니다. 다른 하나는 이 격차를 매일 밤 자동으로 확인하는 여섯 단계짜리 검사기입니다.
나온 결과
점수는 오르는데 실력은 그대로일 수 있다
저희 팀이 예전에 다른 루프를 조정하며 실제로 겪은 일이 있습니다. 채점받는 지표인 최상위 정답률은 55.8퍼센트에서 58.1퍼센트로 올랐습니다. 그런데 채점에서 빠져 있던 지표, 즉 아무 도구도 쓰지 말아야 할 요청에서 엉뚱한 도구를 부르는 비율은 0퍼센트에서 40퍼센트로 뛰었습니다.
즉, 사람 말로는 성적표에 적힌 과목 점수는 올랐는데 성적표에 안 적힌 과목은 몰래 낙제한 것입니다. 논문은 이런 경우를 문제 뒤집힘이라 부릅니다. 그중에서도 루프가 그날 밤 스스로 좋아졌다고 발표했는데 몰래 시험에서는 오히려 문제가 뒤집힌 경우를 조용한 뒤집힘이라 이름 붙입니다. 자기 성적표만 봐서는 이 조용한 뒤집힘을 구조적으로 볼 수 없습니다. 공부 노트를 고치긴 했는데 연습문제도 몰래 시험도 점수가 안 움직인 밤도 따로 이름을 붙였습니다. 헛수고입니다. 컴퓨터만 쓰고 아무 결과도 안 남긴 밤이라는 뜻입니다.
왼쪽 그래프는 노트를 고칠 때마다 연습문제 점수와 몰래 시험 점수가 함께 오르는 경우입니다. 오른쪽 그래프는 연습문제 점수만 계속 오르고 몰래 시험 점수는 제자리이거나 떨어져, 두 점수 사이 격차가 밤마다 쌓이는 경우입니다. 두 경우 모두 학생의 자기 성적표에는 똑같이 좋아졌다고 적힙니다. 논문의 개념 모델을 그림으로 옮긴 것이며 실측 데이터가 아닙니다.
무엇이 격차를 만드는가
그렇다면 무엇이 이 격차를 좌우할까요. 논문은 노트를 고치는 방식을 두 가지로 나눕니다. 하나는 원리를 이해해서 고치는 이해형 수정입니다. 처음 보는 표현도 알아듣게 설명 문구의 빈 자리를 채우는 경우가 여기 속합니다. 이런 수정은 연습문제 점수와 몰래 시험 점수를 똑같이 올립니다. 다른 하나는 답을 그대로 베끼는 암기형 수정입니다. 특정 연습문제의 표현을 설명 문구에 그대로 옮겨 적는 경우입니다. 이런 수정은 연습문제 점수만 올리고 몰래 시험 점수는 건드리지 못합니다.
즉, 사람 말로는 그 밤에 고친 개수가 몇 개인지는 중요하지 않습니다. 그중 몇 개가 암기형 수정인지가 격차의 크기를 정합니다. 논문은 이 관계를 수식으로도 보이는데, 결론은 하나입니다. 그날 고친 것이 전부 이해형 수정이면 격차는 기대상 0이고, 암기형 수정이 하나라도 섞이면 몰래 시험에서 조용한 뒤집힘이 생길 가능성이 그때부터 열립니다.
이해형 수정은 연습문제 쪽과 몰래 시험 쪽을 똑같이 올리지만, 암기형 수정은 연습문제 쪽만 올립니다. 그래서 그날 밤의 격차는 전체 수정 중 암기형 수정이 차지하는 비율에 좌우됩니다. 논문의 개념 모델이며 실측 데이터가 아닙니다.
논문은 채점에서 빠지는 문제일수록 이 격차가 더 잘 생긴다는 점도 짚습니다. 도구를 써야 할 문제만 채점하면 노트를 고치는 방향도 그쪽으로 쏠립니다. 아무 도구도 쓰지 말아야 할 문제 쪽은 이해형 수정을 받을 기회가 자연스레 줄어듭니다. 앞서 본 최상위 정답률과 엉뚱한 도구 호출 비율의 사례가 정확히 이 경우입니다.
진짜와 가짜를 가르는 방법: 몰래 시험 검사기
논문이 실제로 제안하는 것은 이 격차를 매일 밤 자동으로 확인하는 절차입니다. 여섯 단계입니다.
첫째, 봉인입니다. 첫날 밤이 되기 전에 몰래 시험 문제를 따로 떼어 놓고, 학생이 어떤 경로로도 그 문제나 답을 볼 수 없는 곳에 보관합니다. 둘째, 편집입니다. 학생은 평소처럼 밤새 노트를 고칩니다. 검사기는 아무것도 건드리지 않고 지켜만 봅니다. 셋째, 고정 채점입니다. 채점 방식 자체는 절대 바꾸지 않은 채, 연습문제와 몰래 시험 양쪽에 새 점수를 매깁니다. 채점 방식까지 같이 바뀌면 점수가 오른 이유가 노트 때문인지 채점기 때문인지 구분할 수 없습니다.
넷째, 대조 시험입니다. 그 밤 노트를 전혀 고치지 않았다고 가정하고 어제 노트로도 똑같이 채점해 봅니다. 이렇게 하면 채점 방식 자체가 밤마다 흔들리지는 않는지 확인할 수 있습니다. 다섯째, 판정입니다. 격차가 대조 시험의 흔들림보다 훨씬 크거나 조용한 뒤집힘이 하나라도 있으면 그 밤의 좋아졌다는 발표는 아직 확인 안 됨으로 표시하고 대표 성적표에는 반영하지 않습니다. 격차가 작고 뒤집힘도 없으면 그 밤의 개선을 인정하고 대표 성적표를 갱신합니다. 노트는 고쳤는데 양쪽 점수가 다 그대로면 헛수고로 따로 기록합니다.
여섯째, 넘기기입니다. 아직 확인 안 됨으로 표시된 밤을 검사기가 스스로 되돌리지는 않습니다. 대신 이미 있는 배포 검증 절차로 넘깁니다. 일부에게 먼저 적용해 보고 이상하면 되돌리는 절차입니다. 검사기는 개선이 진짜인가만 묻고, 그렇지 않다면 얼마나 퍼졌는가는 배포 절차가 답합니다.
몰래 시험 검사기의 여섯 단계입니다. 봉인, 편집 관찰, 고정 채점, 대조 시험, 판정, 그리고 이상 신호가 있는 밤만 기존 배포 검증 절차로 넘기는 순서입니다. 개념도이며 실측 데이터가 아닙니다.
이 검사기를 돌리는 비용은 거의 공짜입니다. 매일 하던 채점을 한 번 더 하는 것뿐이라 별도로 큰 모델을 부르지 않습니다. 다만 몰래 시험 문제 수가 열다섯 개 안팎으로 적어서, 문제 하나가 뒤집히는 것만으로 몰래 시험 점수 전체가 6.7점쯤 움직입니다. 그래서 하룻밤 결과 하나만 보고 판단하지 않고 여러 밤을 묶어서 봅니다.
그래서 무엇을 바꾸면 되나
첫째, 무인 루프의 좋아졌다는 자기 보고를 그대로 대표 성적표에 반영하지 않습니다. 위 검사기를 거친 뒤에만 반영합니다.
둘째, 몰래 시험 문제는 어떤 경로로도, 심지어 요약된 형태로도 루프에게 보여 주지 않습니다. 한 번이라도 보이면 그 문제도 결국 암기형 수정의 대상이 되어 몰래 시험이라는 이름이 무색해집니다. 대신 일정 주기로 새로운 문제를 골라 다시 봉인해서, 시험 자체가 낡아 루프의 손바닥 위에 놓이는 것을 막습니다.
셋째, 채점 방식은 검사 기간 동안 절대 같이 바꾸지 않습니다. 채점기까지 매일 조정하는 루프라면 이 검사기만으로는 부족하고 별도 장치가 더 필요합니다.
넷째, 이상 신호가 뜬 밤은 검사기가 자동으로 되돌리지 않고 이미 있는 배포 검증 절차로 넘깁니다. 저희 회사는 지금 2천 개가 넘는 도구 설명 목록에서 이런 무인 루프를 실제로 돌리고 있고, 이번 주에만 열한 개의 설명 문구를 스스로 고쳤습니다. 이 검사기는 그 열한 번의 수정 중 정확히 무엇이 진짜 개선인지를 매일 밤 말해 줍니다. 그리고 저희가 기록해 둔 검색 기준선, 그러니까 후보 다섯 개 안에 정답이 드는 비율 84퍼센트와 1순위 적중률 33퍼센트를 아무 이득 없이 고치기만 한 밤으로부터 지켜 줍니다.
못 믿을 부분
이 논문은 실제로 여러 밤에 걸쳐 검사기를 돌려 본 실측 보고서가 아닙니다. 검사법을 정의하고 그 구조를 분석한 방법론 논문입니다. 그래서 아래 다섯 가지는 아직 확인되지 않았습니다.
첫째, 한 회사, 한 도구 목록에서만 나온 설정입니다. 다른 곳의 다른 목록에서도 똑같이 통하는지는 검증되지 않았습니다.
둘째, 몰래 시험 문제가 열다섯 개 안팎으로 적습니다. 문제 하나만 뒤집혀도 점수 전체가 크게 흔들리므로, 하룻밤 결과 하나는 신호로 보기 어렵고 여러 밤을 묶어야 믿을 수 있습니다.
셋째, 채점 방식이 고정돼 있다는 전제 위에 서 있습니다. 채점 방식 자체를 조정하는 루프라면 이 검사기 위에 또 다른 장치가 필요합니다.
넷째, 이해형 수정과 암기형 수정을 나누는 모델은 실제 루프를 그대로 옮긴 것이 아닙니다. 무엇이 격차를 좌우하는지 보여 주기 위해 일부러 단순화한 것입니다.
다섯째, 이 검사기가 확인해 주는 것은 정해진 시험 범위 안에서 늘었는지입니다. 시험에 없는 실제 요청에서 늘었는지, 그리고 시험 자체가 여전히 유효한 기준인지는 이 검사기가 답하지 못합니다. 앞의 것은 배포 검증 절차의 몫이고, 뒤의 것은 시험을 주기적으로 새로 봉인하는 것으로 대응합니다.
논문 상세 페이지는 Hugging Face에서 볼 수 있습니다: The Goodhart Shift
본문의 수치는 논문이 밝힌 설정(문제 63개, 몰래 시험 약 15개, 도구 설명 약 2,234개 등)에 대한 것이며 읽기 쉽게 반올림했습니다. 정확한 값은 각 그림 캡션에 그대로 있습니다. 본문의 세 그림은 모두 논문의 개념 모델과 절차를 그린 것으로 실측 데이터가 아니며, 논문 자체도 방법론 논문이라 종단 실측 결과를 포함하지 않습니다.