M&A 실사(인수합병 실사)를 위한 RLM 에이전트의 사후 학습
원문 링크: https://www.harvey.ai/blog/post-training-rlm-agents-for-m-and-a-diligence
최근 Harvey Tenet 연구 프리뷰에서 우리는 복잡한 종단 간 법률 작업을 해결하기 위한 모델-하네스 공동 최적화의 중요성을 강조했으며, 단일 작업이 최대 80M 토큰의 문서 컨텍스트를 탐색해야 하는 M&A 실사에 대한 초기 결과를 미리 공개했습니다. 오늘은 지속적인 실험을 통해 얻은 업데이트된 결과를 공유합니다.
Baseten과 함께, 우리는 M&A 실사를 위한 재귀적 언어 모델(RLM) 하네스를 구축했습니다. RLM 공식에서, 완전한 데이터룸은 Python REPL에 로드되며, 루트 에이전트는 자체 컨텍스트 윈도우 내에서 작업하는 하위 에이전트에게 제한된 검토 및 분석을 위임합니다. LAB Diligence 작업에서, 이 하네스는 평가한 7개 모델 전체에서 평균적으로 루브릭 기준 통과율을 39.1% 포인트 향상시킵니다.
RLM 하네스 내에서의 사후 학습은 추가적인 성능 향상과 품질-효율성 트레이드오프를 탐색할 수 있는 옵션을 제공합니다. 우리는 강화 학습을 통해 Qwen3.5-122B-A10B 오케스트레이터를 사후 학습했으며, 사후 학습을 통해 50개의 보류된 LAB Diligence 데이터룸에서 루브릭 기준 통과율이 29.9%에서 63.0%로 증가한 것을 발견했습니다.

그림 1: 표준 툴-루프 하네스의 기본 모델, 자체 하네스의 코딩 에이전트, RLM 하네스의 모델에 대한 LAB Diligence의 평균 기준 통과율. 별표는 SFT 전후의 일치된 GLM-5.2 결과를 표시하며, 별도의 20개 룸 보류 세트에서 평가되었습니다. 다른 모든 결과는 50개 룸 보류 세트를 사용합니다.
이러한 결과는 작업별 하네스 내에서의 사후 학습이 M&A 실사와 같은 문서 집약적 법률 작업에 실용적인 경로이며, RLM 하네스 내에서 RL을 확장하는 것이 향후 작업을 위한 유망한 방향임을 시사합니다. 이러한 이유로, 우리는 지속적인 확장 실행에서 루트 모델로 대형 프론티어 오픈 웨이트 모델인 GLM-5.3도 학습하고 있습니다.
이 게시물의 나머지 부분에서는 평가한 LAB Diligence 환경, 방법론, 그리고 사후 학습 실험에 대해 더 자세히 설명합니다.
M&A 실사를 위한 환경
우리는 최근 M&A 실사를 위한 합성 환경을 포함하는 LAB의 확장판인 LAB Diligence를 소개했습니다. LAB Diligence의 단일 데이터룸은 최대 5,000개의 문서를 포함하며, 카테고리별로 수십 개의 폴더에 정리되어 있고, 최대 80M 토큰의 총 컨텍스트를 포함합니다.

그림 2: LAB Diligence 데이터룸 예시. Aravon Bridge Bank는 14개 카테고리의 82개 폴더에 2,270개의 문서를 포함하며, 총 31M 토큰입니다. 이 작업에 대한 에이전트의 실사 메모는 571개의 루브릭 기준에 대해 평가됩니다.
이 데이터룸 내에서 작업하는 에이전트는 문서 인용과 함께 발견 사항, 관련된 경우 정량화된 노출, 그리고 거래에 대한 권장 다음 단계를 포함하는 완전한 실사 메모를 생성하는 임무를 맡습니다. LLM 판정자는 수백 개의 통과 또는 실패 기준이 있는 전문가 루브릭에 대해 실사 메모를 평가합니다. Aravon Bridge Bank 예시는 총 571개의 루브릭 기준을 가지고 있습니다.

그림 3: LAB Diligence의 Aravon Bridge Bank 작업에 대한 루브릭 예시, 각 유형별로 하나의 축어적 기준이 포함되어 있습니다.
실사에 필요한 증거는 데이터룸 전체에 분산되어 있습니다. 일부 발견 사항은 여러 문서를 결합해야 하는 반면, 다른 발견 사항은 지원 증거가 누락되었는지 확인해야 합니다. 기준 실행에서 에이전트는 선택적으로 검색하고 읽었으며, 데이터룸의 많은 부분을 검토하지 않은 채로 남겨두었습니다. 이러한 작업은 많은 제한된 컨텍스트에 검토를 분산하고 발견 사항을 함께 모을 수 있는 하네스를 요구합니다.
M&A 실사를 위한 RLM 하네스
기준을 설정하기 위해, 우리는 Legal Agent Bench의 표준 툴-루프 하네스로 시작했습니다. 이 하네스에서 기본 모델은 50개의 보류된 데이터룸 전체에서 평균적으로 루브릭 기준의 23.3%를 통과하며, 어떤 모델도 어떤 데이터룸에서 모든 기준을 통과하지 못합니다.

그림 4: 50개의 보류된 실사 데이터룸에 대한 표준 툴-루프 하네스의 평균 기준 통과율.
이러한 결과는 작업과 하네스 간의 불일치를 시사합니다. LAB Diligence 데이터룸은 단일 모델 컨텍스트에 맞추기에는 너무 크지만, 초기 검토의 대부분은 카테고리별로 나눌 수 있습니다. 그런 다음 루트는 카테고리 전반의 발견 사항을 결합하여 메모를 생성할 수 있습니다. 로펌 내의 딜 팀도 비슷한 방식으로 실사 작업을 분할합니다.

그림 5: 깊이-1의 RLM 하네스. 데이터룸은 쿼리 가능한 변수로 Python REPL에 로드됩니다. 루트 에이전트는 코드로 데이터룸에서 작업하며, 제한된 읽기 작업을 하위 에이전트에 위임하고, 하위 에이전트는 발견 사항을 REPL 변수로 반환합니다. 루트 에이전트가 출력하는 결과만 컨텍스트 윈도우에 들어가므로, 루트는 전체 데이터룸을 보유하지 않습니다.
이것은 우리가 M&A 실사를 위한 하네스로 RLM을 탐구하게 이끌었습니다. RLM 하네스에서, 루트 에이전트는 데이터룸이 쿼리 가능한 변수로 로드된 Python REPL을 제공받으며, 이를 통해 말뭉치를 프로그래밍 방식으로 검색할 수 있습니다. 루트 에이전트는 검토를 계획하고 범위를 지정하며, 하위 작업을 하위 에이전트에 전달합니다. 각 하위 에이전트는 말뭉치의 제한된 조각과 루트 에이전트의 지침을 받고, 자체 컨텍스트 윈도우 내에서 작업하며, 발견 사항을 REPL 변수로 반환합니다. 아래 실험은 별도로 명시되지 않는 한 단일 레이어의 하위 에이전트를 사용하며, 실제로 루트는 많은 호출을 병렬로 전달합니다.

그림 6: 50개 룸 보류 세트에서 표준 툴-루프 하네스와 RLM 하네스(깊이-1, Qwen3.6-35B-A3B 하위 에이전트)의 루트로서의 7개 모델에 대한 평균 기준 통과율.
7개 모델 전체에서 RLM 하네스는 평균 통과율을 23.3%에서 62.4%로 높이며, 39.1% 포인트의 향상을 보여줍니다. 또한 웹 도구가 비활성화된 두 개의 범용 코딩 에이전트, Opus-5를 사용한 Claude Code와 GPT-5.6 Sol을 사용한 Codex를 툴-루프 하네스와 동일한 최소 지침으로 실행했습니다. Claude Code는 기준의 24.6%를 통과하고 Codex는 12.0%를 통과하여, 동일한 모델의 툴-루프 하네스보다 각각 17.9 및 4.6 포인트 낮습니다. 추적에서, 두 에이전트 모두 일찍 읽기를 중단하고 더 짧은 메모를 작성하며, 능력이 있음에도 불구하고 하위 에이전트를 생성하지 않습니다.
커버리지 및 비용
RLM 하네스는 에이전트 컨텍스트가 되는 유용한 콘텐츠의 양을 실질적으로 증가시킵니다. 우리는 하네스의 루트 또는 하위 에이전트에 도달하는 데이터룸 콘텐츠의 비율을 측정하는 프로브로 커버리지를 추정합니다. 표준 툴-루프 하네스에서, 어떤 실행도 데이터룸의 1% 이상을 읽지 않으며, 대부분은 0.1%에서 0.5% 사이를 읽습니다. RLM 하네스에서, 거의 모든 실행이 데이터룸의 10% 이상을 읽고, 대부분은 거의 전체를 읽습니다. 더 높은 커버리지는 이 범위에서 더 높은 루브릭 기준 통과율과 관련이 있습니다.

그림 7: LAB Diligence의 50개 보류된 데이터룸에 대한 각 하네스의 7개 모델에 대해, 실행당 한 포인트씩, 프로브 기반 커버리지 대비 루브릭 기준 통과율. 커버리지는 로그 스케일입니다.
RLM 하네스로 이동하면 그림 8에 표시된 대로 7개의 기준 모델 중 6개에 대해 데이터룸당 생성 비용이 증가합니다. Claude Opus 5는 예외입니다. 툴-루프 하네스에서 데이터룸당 약 $18을 자체적으로 읽는 데 사용합니다. RLM 루트로서 약 $7을 사용하며 35포인트 더 높은 점수를 얻습니다.

그림 8: 50개의 보류된 데이터룸에 대해 평균화된, 각 하네스의 7개 모델에 대한 데이터룸당 평균 기준 통과율 대비 생성 비용. 점선은 하네스 간 동일한 모델을 연결합니다. 비용은 캐시 인식 추정치이며, 목록 가격 기준, 로그 스케일입니다.
업무 분담
성능이 루트 에이전트 대 하위 에이전트에 얼마나 의존하는지 조사하기 위해, 우리는 30개의 보류된 데이터룸에서 4개의 루트 모델을 3개의 Qwen 하위 에이전트 모델과 짝지었습니다(그림 9 참조). 테스트한 구성 전체에서 루트를 변경하는 것이 더 큰 효과를 보였습니다. 하위 에이전트 모델을 고정하고 루트 모델을 변경할 때, 가장 높은 점수와 가장 낮은 점수의 루트 간 격차는 평균 약 38% 포인트였습니다. 루트를 고정하고 하위 에이전트를 변경할 때, 하위 에이전트 모델 간의 해당 격차는 평균 약 8포인트였습니다(그림 9b).

그림 9: 30개의 보류된 데이터룸에 대해 4개의 루트 모델과 3개의 하위 에이전트 모델에 걸쳐 집계된 RLM 하네스의 업무 분담. (a) 하위 에이전트 선택에 대해 평균화된 입력 및 출력 토큰의 루트 비율. (b) 하위 에이전트 선택에 대해 평균화된 가장 높은 점수와 가장 낮은 점수의 루트 간 격차, 그리고 루트에 대해 평균화된 하위 에이전트 간의 해당 격차.
이 차이는 RLM 하네스에서 루트가 에이전트의 총 토큰 사용량의 소수를 차지한다는 점에서 주목할 만합니다. 예를 들어 Opus 5가 오케스트레이션할 때, 루트는 입력 토큰의 3.8%와 출력 토큰의 1.1%를 차지합니다(그림 9a 참조). 하위 에이전트가 대부분의 텍스트를 처리하는 반면, 루트는 검토를 어떻게 분할하고 발견 사항을 조합할지 결정합니다.

그림 10: 30개의 보류된 데이터룸에 대해 3개의 하위 에이전트 모델과 짝지어진 4개의 루트 모델에 대한 평균 기준 통과율.
이러한 결과는 이 설정에서 조정(코디네이션)을 개선하는 것이 중요한 기회임을 시사하므로, 우리는 초기 사후 학습 실험을 루트에 집중했습니다.
RLM 하네스에서의 사후 학습
위의 결과는 사후 학습의 대상으로 루트 에이전트를 지목합니다. 이 섹션에서는 RLM 하네스 내에서 오픈 웨이트 루트 모델을 사후 학습한 결과를 보고합니다.
자기 증류 SFT
먼저, 거부 샘플링 자기 증류 SFT를 사용하여 GLM-5.2 루트를 사후 학습했습니다. 이 실험은 다른 곳에서 보고된 50개 룸 평가와는 다른 20개 룸 보류 평가 세트를 사용합니다. 이 보류 세트에서 일치된 기본 모델 점수는 46.1%로, 더 큰 보류 세트에 대해 그림 6에 보고된 65.4% GLM-5.2 결과보다 낮습니다.
기본 GLM-5.2는 즉시 높은 점수의 정책을 안정적으로 실행하지 않습니다. 기본 모델이 루트 에이전트로 작동할 때 일찍 포기하거나, 덜 위임하거나, 하위 에이전트 출력을 강력한 결과물로 변환하지 못하는 빈번한 성능 붕괴가 있습니다. 강력한 정책이 이미 모델의 분포 내에 있지만 더 견고하게 만들어야 한다는 점을 고려하여, 우리는 거부 샘플링 자기 증류를 사용하여 GLM-5.2의 분포를 원하는 모드로 날카롭게 했습니다. 높은 데이터룸 커버리지를 가진 성공적인 GLM-5.2 실행을 선택하고, 해당 궤적에 대해 루트를 미세 조정했습니다.

그림 11: 거부 샘플링 자기 증류 SFT 전후의 RLM 루트로서의 GLM-5.2, 별도의 20개 룸 보류 세트에서 평가됨. 이는 SFT 실험 내에서 일치된 결과이며, 그림 6에 사용된 50개 룸 평가가 아닙니다.
이 20개 데이터룸 보류 세트에서, SFT 학습된 루트는 기본 모델의 46.1%에 비해 60.1%의 점수를 기록했습니다(그림 11 참조). 사후 학습된 에이전트의 추적을 검토한 결과, 학습이 루트 에이전트가 데이터룸을 포괄적으로 검토하고 하위 에이전트 발견 사항의 더 큰 비율을 최종 메모에 포함시키는 데 도움이 된다는 것을 시사합니다.
표 1은 사후 학습 후 관찰된 다른 행동 변화를 요약합니다. 가장 주목할 만한 것은, 하위 에이전트 호출 볼륨과 데이터룸 크기 간의 상관관계가 0.17에서 0.84로 상승하여, 학습된 루트 에이전트가 데이터룸 크기에 따라 위임을 확장한다는 것을 나타냅니다. 학습된 루트는 또한 RL 실행에서 발견한 것과 유사하게, 하위 에이전트가 여전히 읽는 동안 메모 작성을 시작하는 법을 배웁니다.

표 1: SFT 전후의 GLM-5.2 루트의 행동, 별도의 20개 룸 보류 세트에 대해 평균화됨. 커버리지는 백분율이며, 마지막 행은 상관 계수입니다.
강력한 루트 실사 에이전트를 만드는 행동(예: 철저한 위임)은 특권 정보나 레이블이 지정된 법률 지식 없이도 비교적 적은 수의 온-폴리시 궤적으로부터 학습 가능합니다. 여기서 자기 증류가 효과적인 이유는 좋은 행동이 이미 모델의 분포 내에 존재하고 학습이 이를 안정화하기 때문입니다.
이 실험은 우리가 RL 기반 사후 학습을 탐구하도록 동기를 부여했으며, 이는 모델을 분포 너머로 밀어내고 작업의 보상을 통해 직접 새로운 행동을 이끌어내려는 시도입니다.
강화 학습
강화 학습을 위해, 초기 RL 실험 루프를 다루기 쉽게 유지하기 위해 더 작은 루트 모델인 Qwen3.5-122B-A10B로 시작했습니다.
우리는 판정된 루브릭 기준 통과율을 보상으로 사용하고 하위 에이전트 모델을 고정(하위 에이전트는 각각 Qwen3.6-35B-A3B 모델)하여 GRPO로 RLM 루트를 학습했습니다. 40개의 학습 단계에 걸쳐, 평균 롤아웃 통과율이 약 23%에서 약 56%로 상승한 것을 발견했습니다. 50개 룸 보류 세트에서, 최종 체크포인트는 기본 모델의 29.9%에 비해 63.0%의 점수를 기록합니다.

그림 12: 고정된 Qwen3.6-35B-A3B 하위 에이전트를 사용한 Qwen3.5-122B-A10B 루트에 대한 강화 학습. (a) 40개의 학습 단계 각각에서의 평균 롤아웃 기준 통과율. (b) 50개 룸 보류 세트에서의 기본 모델 및 최종 체크포인트.
RL 후, 평균 데이터룸 커버리지는 명시적인 보상 항목이 아님에도 불구하고 62%에서 96%로 상승합니다. 기본 실행은 전체 커버리지 범위에 걸쳐 분포되어 있으며, 20% 미만의 클러스터는 거의 0점을 기록합니다. RL 학습된 모든 실행은 데이터룸의 60% 이상을 읽고, 대부분은 전체를 읽습니다.

그림 13: 50개 룸 보류 세트에서 RL 전후의 Qwen3.5-122B-A10B 루트에 대해, 실행당 한 포인트씩, 프로브 기반 커버리지 대비 기준 통과율.
사후 학습된 루트는 데이터룸당 64% 더 많은 하위 에이전트 호출을 만듭니다. RL은 또한 SFT보다 위임 볼륨을 더 많이 변경했습니다(64% 대 29%).

표 2: RL 전후의 Qwen3.5-122B-A10B 루트의 행동, 50개 룸 보류 세트에 대해 평균화됨.
사후 학습 전, Qwen 루트 에이전트는 실사 메모를 한 번에 작성하고 모든 하위 에이전트가 반환된 후에만 작성하려고 시도했습니다. RL 사후 학습 중, 더 효율적인 접근 방식을 학습하여, 메모를 점진적으로 작성하고 섹션 작성을 하위 에이전트 작업 검토와 인터리빙합니다.
GLM-5.3으로 RL 확장
대규모로 RL 레시피를 테스트하기 위해, 현재 동일한 GRPO 스타일 구성으로 GLM-5.3을 RLM 루트로 학습하고 있습니다: 판정된 기준 통과율을 보상으로, Qwen3.6-35B-A3B 하위 에이전트 고정, 루트에 LoRA, 그룹 크기 8 및 배치 크기 24. GLM-5.3 롤아웃은 Qwen 루트가 시작한 것보다 훨씬 높은 수준에서 시작하므로, 개선 여지가 적습니다. 0단계에서 20단계(그림 14)까지, 표시된 첫 번째와 마지막 8단계의 평균으로, 평균 롤아웃 통과율은 약 51%에서 약 59%로 상승하며, 이 배치 크기에서 예상되는 단계 간 노이즈가 있습니다.

그림 14: 고정된 Qwen3.6-35B-A3B 하위 에이전트를 사용한 진행 중인 GLM-5.3 RL 실행의 초기 학습 진행 상황. 20개의 학습 단계에 걸친 평균 롤아웃 기준 통과율이 표시됩니다. 회색은 원시 단계별 값을, 검은색은 지수 이동 평균을 보여줍니다. 이 그림은 학습 점수를 보고하며, 보류된 성능이 아닙니다.
향후 계획
RLM 하네스는 테스트한 모델 전체에서 성능을 향상시키며, RL은 해당 하네스 내에서 Qwen 루트에 추가적인 이득을 제공합니다. 이러한 점수와 우리가 목표로 하는 거의 완벽에 가까운 통과율 사이에는 여전히 상당한 격차가 있습니다.
위에 상세히 설명된 학습 실험은 초기 탐색입니다. 확장된 GLM-5.3 학습 실행을 완료하는 것 외에도, SFT와 RL의 조합, 그리고 학습된 하위 에이전트를 탐색할 것입니다. RLM 하네스는 루트의 오케스트레이션을 하위 에이전트의 읽기와 분리하므로, 각각을 개별적으로 또는 공동으로 학습할 수 있으며, 하위 에이전트가 차례로 위임하도록 학습되는 설정도 포함됩니다.
마지막으로, 여기서 핵심 발견은 모델-하네스 공동 최적화가 장기 지평 환경에서 에이전트 성능을 의미 있게 향상시킬 수 있다는 것이며, 이는 실사에만 국한되지 않습니다. 우리는 동일한 하네스 구조와 학습 접근 방식을 다른 장기 컨텍스트 법률 작업에 매핑하는 방법을 탐색하고 있습니다.
부록
RLM 재귀 깊이
또한 위임의 다른 레이어를 추가하는 것이 성능을 향상시키는지 테스트했습니다. 깊이-1에서, 하위 에이전트는 도구나 자체 위임 없이 일반 LLM 완성을 반환합니다. 깊이-2에서, 하위 에이전트는 Python REPL을 받고 추가로 위임할 수 있습니다. 각 실험 내에서, 루트와 모든 하위 에이전트에 동일한 모델을 사용했습니다.
GLM-5.2와 Qwen3.5-122B-A10B를 모두 평가했습니다. 많은 GLM-5.2 깊이-2 실행이 시간 제한 내에 완료되지 않아, 아래에 Qwen 결과를 보고합니다. 14개의 데이터룸에서, 깊이-2는 4개에서 점수를 향상시키고 10개에서 감소시켰으며, 평균 기준 통과율을 19% 포인트 낮췄습니다(그림 A2). 10개의 성능 저하 중 4개에서, 깊이-2 에이전트는 데이터룸 콘텐츠를 읽었지만 보고서를 생성하지 않았습니다.

그림 A1: 14개 데이터룸에 대한 깊이-1 및 깊이-2에서의 룸별 기준 통과율. 모델을 고정하고, 일반 완성 하위 에이전트를 REPL을 사용하고 위임할 수 있는 하위 에이전트와 비교했습니다. 10개의 성능 저하 중 4개에서, 깊이-2 실행은 데이터룸을 읽지만 보고서를 작성하지 않습니다.
이러한 결과는 초기 사후 학습 실험에 깊이-1을 사용하도록 동기를 부여했습니다. 더 깊은 위임을 위해 특별히 에이전트를 학습하는 것이 추가 레이어를 유용하게 만들 수 있는지는 여전히 열린 질문입니다.
RL 인프라
특히 긴 에피소드 길이의 RL은 학습 신호 문제만큼이나 인프라 문제이기도 합니다. 이 작업의 경우, 단일 에피소드 롤아웃을 완료하는 데 1시간 이상의 벽시계 시간이 걸릴 수 있습니다. 학습 벽시계 시간을 최적화하기 위해, 비동기 오프-폴리시 추론, 연속 추론 배칭, 오버샘플링, 인플라이트 가중치 업데이트와 같은 방법을 적용했습니다. 선택적 토큰 마스킹 및 비동기 관련 캡을 적용하여 오프-폴리시니스의 효과를 제어했습니다. RLM 하네스에서 벽시계 시간의 대부분은 하위 에이전트가 완료될 때까지 기다리는 데 소요되므로, 작고 빠른 하위 에이전트를 사용할 수 있는 능력이 RL 학습 프로세스를 크게 가속화하는 데 도움이 되었습니다.
아래에 단계별 벽시계 시간을 표시합니다. 이는 에이전트가 더 철저해지고 더 큰 하위 에이전트 웨이브를 보내면서 RL 과정에 걸쳐 증가하는 롤아웃 시간에 의해 지배됩니다.

그림 A2: 40단계 실행에 대한 RL 학습 단계당 벽시계 시간(분), 5단계 이동 평균 포함. 2-10단계는 평균 48분이고 31-40단계는 평균 74분입니다. 증가는 학습된 모델이 롤아웃당 더 많은 하위 에이전트를 파견하기 때문입니다.





