← 주제 탐구

주제 탐구 · 2026-11-10 · 심화 · 작성자 bombong

에이전트 Distillation: Teacher의 Trajectory를 작은 Student로

에이전트 Distillation은 큰 LLM 에이전트가 도구를 쓰며 문제를 푼 전 과정(Trajectory)을 작은 모델에 가르쳐, 싸게 돌아가는 도구 사용 에이전트를 만드는 기법이다. 최근 연구는 '무엇을 따라 하게 할지'(생각인지 행동인지)와 '누구의 상태에서 가르칠지'(On-policy 정도)를 더 잘게 나눠 따지는 쪽으로 가고 있다.

목차
핵심 정리
  • CoT만 Distill하면 작은 모델은 드문 사실 지식이나 정확한 계산에서 환각을 일으킨다. 그래서 검색·코드 도구를 쓰는 행동까지 통째로 옮기는 에이전트 Distillation이 나왔다.
  • Teacher가 남긴 Trajectory만 따라 하는 Off-policy 학습은 싸고 촘촘하다. 대신 Student가 실제로 마주칠 상태와 학습 데이터 사이에 어긋남이 생긴다.
  • Student가 직접 만든 상태에서 Teacher의 판단을 배우는 On-policy 방식이 이 어긋남을 줄인다. 다만 두 방식은 둘 중 하나를 고르는 문제가 아니라 단계별로 섞어 쓰는 문제에 가깝다.
  • Teacher의 '생각'을 학습시키는 효과는 생각보다 작을 수 있다. 행동에 드러나지 않는 정보가 생각에만 담겨 있을 때 특히 중요해진다.
  • 토큰 대신 '행동' 단위로 맞추면 Teacher의 내부 확률이나 같은 토크나이저 없이도 블랙박스 API 모델을 Teacher로 쓸 수 있다.

왜 필요했나: CoT Distillation의 벽

큰 LLM은 복잡한 추론을 잘하지만 실제 서비스에 그대로 올리기에는 비용이 크다. 그래서 큰 모델(Teacher)이 쓴 CoT(Chain-of-Thought, 단계별 풀이)를 작은 모델(Student)에게 학습시키는 Distillation(지식 증류)이 널리 쓰였다. Teacher의 풀이 글을 정답처럼 보여 주고 Student가 그대로 따라 쓰도록 파인튜닝하는 방식이다.

에이전트 Distillation 연구논문는 이 방식의 약점을 짚었다. 문제를 풀려면 잘 알려지지 않은 사실을 알아야 하거나 계산이 정확해야 하는 경우가 있는데, 이때 작은 모델은 능력이 모자라 환각을 일으키기 쉽다. 풀이 '글'을 아무리 잘 흉내 내도 모델 안에 없는 지식이나 정확한 산술 능력까지 생기지는 않는다.

그래서 이 연구는 생각만 옮기지 말고 문제를 해결하는 행동 전체를 옮기자고 제안했다. 모르는 사실은 검색 도구로 찾고, 계산은 코드로 실행하는 습관까지 Student에게 가르치는 것이다. 이렇게 하면 작은 모델이 모든 지식을 파라미터에 담고 있을 필요가 없다. 대신 '언제 무엇을 찾아보고 무엇을 실행할지'를 판단하는 능력이 핵심이 된다.

핵심 아이디어: 정답지가 아니라 업무 일지를 물려준다

비유로 설명하면 이렇다. CoT Distillation은 선배가 쓴 보고서 결론과 논리만 신입에게 외우게 하는 것이다. 에이전트 Distillation은 선배의 업무 일지를 통째로 넘겨준다. 일지에는 '여기서 사내 위키를 검색했다', '이 숫자는 엑셀로 다시 계산했다', '결과가 이상해서 다른 자료를 찾아봤다' 같은 기록이 남아 있다. 신입은 결론을 외우는 대신 일하는 방식을 익힌다.

이 업무 일지에 해당하는 것이 Trajectory다. 에이전트가 한 과제를 푸는 동안 남기는 생각(thought), 행동(action, 예: 검색어 입력, 코드 실행), 관찰(observation, 도구가 돌려준 결과)이 번갈아 이어진 기록이다. 에이전트 Distillation은 Teacher 에이전트가 만든 이 기록을 학습 데이터로 삼는다.

이 설계에서 무엇을 맞바꿨는지도 알아 둘 필요가 있다. 작은 모델은 지식을 외우는 부담을 덜지만 도구 실행 환경(검색 엔진, 코드 샌드박스)이 반드시 있어야 하고, 한 번 답할 때 여러 차례 도구를 호출하므로 응답 지연도 생긴다. 다시 말해 모델 크기에서 아낀 비용 일부를 인프라와 실행 단계 쪽에서 치르는 구조다.

어떻게 작동하나: 수집에서 추론까지

기본 흐름은 네 단계다. 첫째, 큰 LLM을 에이전트로 돌려 여러 과제를 풀게 하고 Trajectory를 모은다. 둘째, 결과가 좋은 Trajectory를 골라 학습 데이터로 만든다. 셋째, 작은 모델이 같은 상황에서 Teacher와 같은 생각과 행동을 내도록 지도 학습(SFT)한다. 이때 도구가 돌려준 관찰 결과는 Student가 만들어 낼 대상이 아니라 주어지는 맥락이다. 넷째, 학습된 Student를 실제 도구와 연결해 에이전트로 쓴다.

에이전트 Distillation 연구논문는 이 흐름에서 두 곳을 손봤다. 하나는 Teacher 쪽에 쓰는 first-thought prefix라는 프롬프트 기법으로, Teacher가 만드는 Trajectory의 질을 높인다. 다른 하나는 Student 쪽에 쓰는 self-consistent action generation이다. 추론할 때 행동을 한 번만 만들지 않고 여러 후보를 만들어 일관된 것을 고르는 방식으로, 작은 에이전트가 테스트 때 덜 흔들리게 한다. 학습 데이터를 좋게 만드는 일과 추론을 안정시키는 일을 서로 보완하는 두 축으로 본 것이다.

이 연구는 사실 지식과 수학 영역의 추론 과제 8개에서, 학습한 분야(in-domain)와 처음 보는 분야(out-of-domain) 모두를 평가했다. 그 결과 0.5B, 1.5B, 3B 크기의 Student가 CoT Distillation으로 학습한 한 단계 더 큰 1.5B, 3B, 7B 모델과 견줄 만한 성능을 냈다고 보고했다.

에이전트 Distillation 기본 흐름과제 모음 → Teacher 에이전트; Teacher 에이전트 → Trajectory(기록); Teacher 에이전트 → 검색·코드 도구(호출); first-thought prefix → Teacher 에이전트; Trajectory → Student 학습; Student 학습 → Student 에이전트; 자기 일관 행동 생성 → Student 에이전트; Student 에이전트 → 답변과제 모음Teacher 에이전트큰 LLM검색·코드 도구Trajectory생각·행동·관찰first-thoughtprefixTeacher 기록 품질 개선Student 학습SFTStudent 에이전트0.5B~3B자기 일관 행동 생성추론 안정화답변기록호출
에이전트 Distillation 기본 흐름 위 줄은 Teacher가 도구를 쓰며 Trajectory를 만드는 수집 단계이고, 아래 줄은 그 기록으로 Student를 학습시켜 배포하는 단계다. 점선은 각 단계에서 쓰는 보조 기법이다.

발전 흐름: 무엇을 옮길 것인가

출발점이 된 연구들은 '무엇을 Student에게 넘길 것인가'를 각각 다르게 답했다. 먼저 에이전트 Distillation논문은 생각·행동·관찰이 섞인 전체 Trajectory를 넘기는 기본형을 세웠다. 앞 절에서 본 대로 Teacher 데이터의 질과 Student 추론의 안정성을 함께 다뤘다.

AgentDistill논문은 아예 학습을 하지 않는 쪽을 택했다. 이 연구는 기존 에이전트 Distillation이 Teacher Trajectory를 통째로 재생하거나 도구 사용을 한 단계씩 흉내 내는 탓에, 처음 보는 환경에서 Student가 스스로 계획하고 행동하기 어렵다고 지적했다. 대안으로 Teacher 에이전트가 과제를 풀며 스스로 만든, 구조화되고 재사용 가능한 문제 해결 모듈(MCP 형태의 'MCP Box')을 Student가 그대로 가져다 쓰게 했다. 생물의학과 수학 벤치마크에서 작은 언어 모델 기반 Student가 GPT-4o를 쓰는 OctoTools 같은 시스템과 비슷한 성능을 냈다고 보고했다. 가중치를 바꾸는 대신 도구를 물려주는 방식이라 볼 수 있다.

터미널 에이전트의 자기 검증 연구논문는 Trajectory의 특정 구간에 주목했다. 명령줄 환경에서 일하는 에이전트 10개를 TerminalBench2.1로 진단해 보니, 해답 후보를 만든 뒤 검증은 거의 항상 하지만 틀린 후보 중 61.43%만 잡아냈고 잡아낸 오류 중 49.36%만 고쳐냈다. 약점은 검증을 시작하느냐가 아니라 오류를 찾고 고치는 능력이었다. 그래서 제안한 SCVD(Student-Conditioned Verification Distillation)는 Student가 먼저 해답 후보를 만들게 한 다음, 같은 상황에서 더 강한 Teacher가 이어서 하는 검증과 복구 과정을 Distill한다. Qwen3.5 모델 세 가지에서 TerminalBench2.1 Pass@1이 기본 모델보다 9.74~16.85%p, 일반적인 전체 Trajectory Distillation보다 4.49~8.61%p 올랐다. 전체 Trajectory Distillation에서 나타난 SWE-bench 분포 밖 성능 저하도 피했다고 밝혔다.

터미널 에이전트 자기 검증 진단

61.43%틀린 후보 중 잡아낸 비율
49.36%잡아낸 오류 중 고친 비율
9.74~16.85%pSCVD의 기본 모델 대비 Pass@1 향상
4.49~8.61%p전체 Trajectory Distillation 대비 향상
TerminalBench2.1에서 에이전트 10개를 진단한 결과와 SCVD의 개선 폭이다(2609.38812).

요즘 어디로 가고 있나: 생각인가 행동인가, 누구의 상태인가

최근 연구는 두 질문을 더 파고든다. 첫째 질문은 Teacher의 생각까지 배워야 하느냐다. '에이전트는 도움이 될 때만 생각하라' 연구논문는 Distillation 중에 Teacher의 생각과 행동을 따로따로 바꿔 보며 각각의 영향을 분리했다. 널리 쓰이는 에이전트 벤치마크에서 모델 크기를 바꿔 가며 실험했더니, 생각을 바꾸거나 빼도 Student 성능에는 큰 차이가 없었다. 다만 생각에 담긴 정보가 그에 따르는 행동에 드러나지 않는 경우에는 생각 학습이 중요해졌다. 그러니 Trajectory 전체를 무조건 학습시키는 관행을 다시 볼 필요가 있다. 생각을 넣을지는 효율을 따져 고를 수 있는 선택지가 된다.

둘째 질문은 누구의 상태에서 가르치느냐다. Teacher가 만든 시연만 학습하면(Off-policy) Student는 Teacher가 거쳐 간 상황만 보게 된다. 실제로 쓰일 때는 자기가 한 실수로 생긴 낯선 상황을 만나는데, 이것이 상태 분포 불일치다. 계층적 에이전트 Distillation 연구논문는 On-policy 여부를 두 층으로 나눴다. 하나는 지금까지의 상호작용 기록을 누가 만들었는지이고, 다른 하나는 현재 행동의 앞부분 토큰을 누가 만드는지다. 실험 결과 Student가 만든 기록 위에 Teacher가 만든 행동 앞부분을 붙인 조합이 단독으로는 가장 강한 학습 신호를 줬고, 두 층 모두 Student를 따른 조합은 대체로 가장 약했다. 그렇지만 완전 On-policy 데이터도 다른 조합과 섞으면 도움이 됐다. 같은 비율로 섞더라도 어떻게 짝짓느냐에 따라 성능이 크게 달랐고, Teacher가 만든 맥락을 학습 초반에, 완전 On-policy 맥락을 후반에 두면 결과가 나아졌다.

ActionOPD논문는 맞추는 단위를 바꿨다. 토큰 단위 On-policy Distillation은 상태 불일치를 해결하지만 Teacher의 토큰 확률이 필요하고 두 모델의 토큰화가 호환되어야 한다. ActionOPD는 Student가 마주친 상태마다 Student와 블랙박스 Teacher 양쪽에서 행동을 뽑는다. 그리고 Student의 행동이 Teacher의 행동과 의미상 얼마나 맞는지를 보상으로 삼아 정책을 최적화한다. Teacher가 쓴 추론 글을 재현할 필요도, Teacher의 확률을 볼 필요도 없다. Qwen3-4B와 Qwen3-8B를 학습시켜 분포 밖 벤치마크 4개에서 평균 3.3~6.9%p를 올렸고, Teacher와 Student가 같은 모델 계열이나 토크나이저를 쓰지 않아도 됐다.

에이전트 Distillation 연구 지도 왼쪽은 무엇을 옮길지 정한 출발점 연구, 오른쪽은 생각의 필요성과 On-policy 수준을 따지는 최근 연구다. 묶음은 관점의 차이를 나타내며 직접 계승 관계를 뜻하지 않는다.

한계와 쟁점: 실무에서 고를 때 따질 점

첫째, 전체 Trajectory를 SFT로 학습시키는 방식이 가장 단순하고 출발점으로 좋지만 만능은 아니다. 자기 검증 연구논문에서 보듯 분포 밖 과제에서 성능이 떨어질 수 있고, Student가 Teacher가 지나간 길에서 벗어나면 회복하는 법을 배운 적이 없다. 배포 환경이 학습 과제와 많이 다르다면 Student가 직접 만든 상태에서 Teacher의 신호를 받는 On-policy 요소를 섞는 것을 검토한다.

둘째, On-policy를 무조건 늘리면 좋은 것도 아니다. 계층적 연구논문는 두 층 모두 Student를 따르는 조합이 단독으로는 가장 약했다고 보고했다. 흔한 실수는 'On-policy 비율'이라는 숫자 하나만 조절하는 것이다. 어느 층을 Student에게 맡길지, 학습 순서를 어떻게 짤지까지 함께 설계해야 한다. On-policy 방식은 학습 중에도 Student를 실제 환경에서 돌려야 하므로 환경 구축과 실행 비용이 더 든다는 점도 계산에 넣는다.

셋째, Teacher 접근 권한이 방법을 정한다. 상용 API 모델이라 토큰 확률을 받을 수 없거나 토크나이저가 다르면 토큰 단위 On-policy Distillation은 쓰기 어렵다. 이럴 때는 ActionOPD논문 같은 행동 단위 방식이나, 학습 없이 Teacher가 만든 도구를 재사용하는 AgentDistill논문 같은 방식이 후보가 된다.

넷째, 생각 학습은 비용과 맞바꿀 수 있다. 생각 토큰은 학습 데이터와 추론 출력을 모두 길게 만든다. 생각을 빼도 성능이 유지되는 경우가 많다는 결과논문가 있으니, 생각에만 담기고 행동에는 드러나지 않는 정보가 있는 과제인지부터 확인한다. 여기 나온 수치는 모두 각 논문이 정한 벤치마크와 설정에서 나온 결과다. 내 업무 과제에서 그대로 재현된다고 기대하지 말고 직접 평가 세트를 만들어 확인해야 한다.

방식별 요구 조건 비교

가중치 학습Teacher 토큰 확률 필요Student 상태에서 학습같은 토크나이저 필요
전체 Trajectory SFT✓✕✕✕
토큰 단위 OPD✓✓✓✓
ActionOPD✓✕✓✕
AgentDistill✕✕✕✕
본문에서 다룬 네 방식을 고를 때 따질 조건이다. ✓는 해당한다는 뜻이고 ✕는 해당하지 않는다는 뜻이다.

더 공부하려면

처음이라면 에이전트 Distillation논문부터 읽는다. 왜 CoT Distillation만으로 부족한지, Trajectory 품질과 추론 안정성을 어떻게 나눠 다루는지 기본 틀이 잡히고, 코드도 공개되어 있어 직접 따라 해 보기 좋다. 이어서 AgentDistill논문을 읽으면 가중치를 학습시키는 대신 도구를 물려주는 정반대 설계를 비교해 볼 수 있다.

그다음은 '무엇을 가르칠지'와 '어디서 가르칠지'를 차례로 본다. 생각 학습의 필요성을 따진 연구논문와 검증·복구 구간만 골라 Distill한 SCVD논문는 Trajectory의 어느 부분이 실제로 쓸모 있는지 묻는다. On-policy 수준을 두 층으로 나눈 계층적 연구논문와 행동 단위 On-policy Distillation인 ActionOPD논문는 Student의 상태에서 Teacher 신호를 주는 설계를 보여 준다. 이 네 편을 함께 읽으면 Trajectory를 통째로 학습시키던 방식에서 필요한 부분만 골라 배우는 방식으로 옮겨 가는 흐름이 보인다.

에이전트 Distillation 설계 점검

데이터

  • Teacher Trajectory의 품질을 걸러 냈는가
  • 생각이 행동에 드러나지 않는 정보를 담고 있는가
  • 검증·복구처럼 약한 구간을 따로 다루는가

학습 방식

  • 배포 환경이 학습 과제와 얼마나 다른가
  • Teacher의 토큰 확률과 토크나이저를 쓸 수 있는가
  • On-policy 데이터를 어느 층에, 어떤 순서로 넣을지 정했는가

평가

  • 분포 밖 과제에서 성능이 떨어지지 않는가
  • 내 업무로 만든 평가 세트로 확인했는가
본문의 판단 기준을 처음 설계할 때 확인할 항목으로 정리했다.

관련 용어

Distillation AI 에이전트 도구 사용 SLM SFT CoT 강화학습 MCP

참고 문헌

핵심 논문

최근 연구

AI가 참고 문헌을 바탕으로 작성하고 검수를 거친 해설입니다. 정확한 내용은 원문을 확인해 주세요.