김홍도, 서당 (『단원 풍속도첩』, 조선 후기). 훈장 앞에서 꾸중을 들은 아이가 훌쩍이고, 둘러앉은 아이들은 웃는다. 이 교실에서 무엇을 잘했다고 인정할지는 훈장이 정한다. Public domain. 변경 없음.
※ 필자는 LG AI연구원에서 일한다. 이 글은 회사 입장이 아닌 개인 의견이며, 회사 내부 수치나 시스템 이름은 쓰지 않았다. 참고자료는 모두 2026년 11월 11일까지 공개된 글과 논문이다.
요즘 터미널에서 일하는 에이전트를 학습시키는 일을 하고 있다. 모델에게 셸을 쥐여 주고, 서버를 고치거나 빌드를 통과시키는 과업을 수백, 수천 번 풀게 한 뒤, 그 기록으로 다시 모델을 가르치는 일이다. 몇 달 해 보니 처음 예상과 다른 것이 세 가지 보였다.
하나. 환경보다 채점기가 먼저다
처음에는 환경을 잘 만드는 일이 핵심이라고 생각했다. 현실적인 저장소, 그럴듯한 장애 상황, 다양한 도구가 갖추어지면 좋은 데이터가 나올 것이라고 기대했다. 그런데 실제로 과업의 가치를 결정한 것은 환경이 아니라 채점기(verifier)였다. 아무리 정교한 환경이라도 "풀었는가"를 판정할 수 없다면, 그 과업에서 나온 기록은 잘한 것인지 못한 것인지 알 수 없는 로그일 뿐이다.
운전면허 시험에 비유하면 이해하기 쉽다. 도로를 실제와 똑같이 꾸미는 것보다 감독관이 무엇을 보고 합격을 주는지가 더 중요하다. 감독관이 "출발선과 도착선을 통과했는가"만 본다면, 수험생은 신호를 무시하고 달리는 방법을 배운다. 강화학습에서는 이 현상이 더 노골적이다. 모델이 채점 기준의 허점을 파고든 사례만 모아 둔 목록이 따로 있을 정도다 [1].
채점기는 두 방향으로 틀릴 수 있고, 어느 쪽으로 틀리느냐에 따라 피해가 다르다. 틀린 답을 통과시키는 오류는 강화학습에서 치명적이다. 모델이 그 허점을 찾아서 반복하기 때문이다. 맞는 답을 떨어뜨리는 오류는 지도학습에서는 데이터가 조금 줄어드는 정도로 끝나지만, 강화학습에서는 올바른 행동을 처벌하는 결과가 된다. 그래서 지금은 과업을 볼 때 환경이 얼마나 그럴듯한지보다, 채점기가 판정할 근거를 환경이 남기는지를 먼저 본다.
둘. 도와줄수록 답이 샌다
어려운 과업은 교사 모델도 잘 풀지 못한다. 그러면 자연스럽게 도와주고 싶어진다. 힌트를 주고, 이전 시도에서 왜 실패했는지 알려 주고, 어떤 검사를 통과해야 하는지 귀띔한다. 성공률은 분명히 올라간다. 문제는 그렇게 얻은 기록으로 다른 모델을 가르칠 때 드러난다.
기록 속의 에이전트는 파일을 열어 보지도 않고 정확한 값을 써 넣는다. 힌트를 받았기 때문에 가능했던 행동이다. 그런데 학생 모델은 힌트를 보지 못한 채 그 행동만 배운다. 답안지를 옆에 두고 쓴 풀이를 모범 답안으로 받아 든 학생과 같은 처지다. 풀이에서 "왜 이 값인지"가 빠져 있으니, 학생이 배우는 것은 추론이 아니라 근거 없이 맞히는 습관이다.
힌트를 기록에서 지워도 이 문제는 풀리지 않는다. 근거는 지워져도 근거 없는 행동은 그대로 남기 때문이다. 내가 지금 쓰는 기준은 단순하다. 그 정보가 실제로 쓰일 때도 에이전트에게 주어지는지 묻는다. 주어진다면 정당한 지시이고, 주어지지 않는다면 누설이다.
로봇 학습 분야에는 이 문제를 다루는 오래된 구조가 있다. 행동을 고르는 쪽(actor)에는 실제로 관측할 수 있는 정보만 주고, 그 행동을 평가하는 쪽(critic)에는 시뮬레이터만 아는 정보까지 모두 준다 [2]. 자율주행 연구에서는 도로 배치와 주변 차량 위치를 모두 아는 교사를 먼저 학습시킨 뒤, 카메라 영상만 보는 학생이 그 교사를 따라 하게 한다 [3]. 두 방법 모두 "많이 아는 쪽은 가르치거나 평가하는 일만 맡고, 행동하는 쪽은 볼 수 있는 것만 본다"는 원칙을 따른다. 이 원칙은 첫 번째 관찰과 이어진다. 정답에 가까운 지식은 프롬프트에 넣으면 누설이 되지만, 채점기에 넣으면 제대로 된 학습 신호가 된다.
셋. 생각보다 훨씬, 훨씬 손이 많이 간다
마지막은 깨달음이라기보다 고백에 가깝다. 이 일에는 엔지니어링이 예상보다 많이 들어간다.
시행 한 번이 돌아가려면 컨테이너 이미지가 빌드되어야 하고, 샌드박스가 떠야 하고, 교사 모델의 API가 응답해야 하고, 에이전트 하네스가 도구 호출을 정확히 전달해야 하고, 채점기가 실행되어야 하고, 그 결과가 학습 형식으로 변환되어야 한다. 이 중 하나만 어긋나도 그 시행은 망가진다. 구성 요소가 많은 것보다 더 어려운 점은 실패가 조용하다는 것이다. 일반적인 학습 파이프라인은 문제가 생기면 에러를 내고 멈춘다. 이 작업은 문제가 생겨도 멈추지 않고, 0점짜리 기록을 하나 더 쌓을 뿐이다.
샌드박스가 죽어서 0점이 된 시행과 모델이 풀지 못해서 0점이 된 시행은 점수만 봐서는 구분되지 않는다. 강화학습에서는 채점기가 매긴 점수가 곧 보상이니, 인프라의 잡음이 그대로 보상의 잡음이 된다. 채점기가 가장 중요하다는 첫 번째 관찰을 받아들이면, 인프라에 손이 많이 가는 것도 당연하다. 머신러닝 시스템에서 모델 코드는 전체의 작은 일부이고 나머지는 모델을 둘러싼 배관이라는 오래된 지적이 있다 [4]. 에이전트 학습에서는 그 배관이 학습 신호의 품질까지 결정한다.
맺으며
세 가지를 나란히 놓으면 결국 같은 이야기다. 에이전트를 가르치는 일의 중심에는 "무엇을 잘했다고 인정할 것인가"라는 질문이 있다. 채점기는 그 질문에 내놓는 답이고, 힌트의 누설은 그 답을 엉뚱한 경로로 흘려보내는 일이며, 엔지니어링 공수는 그 답을 잡음 없이 전달하는 데 드는 비용이다. 모델이 똑똑해질수록 이 질문은 더 중요해질 것이다. 똑똑한 학생일수록 채점 기준을 더 정확하게 배우기 때문이다. 명세 게이밍(specification gaming) 사례를 정리한 DeepMind 글도 강화학습 알고리즘이 좋아질수록 의도를 정확히 명세하는 일이 더 중요해진다고 짚는다 [1].
참고자료
•
•
•
•


