https://arxiv.org/abs/2504.11536
ReTool: Reinforcement Learning for Strategic Tool Use in LLMs
While reasoning models (e.g., DeepSeek R1) trained with reinforcement learning (RL), excel in textual reasoning, they struggle in scenarios requiring structured problem-solving, such as geometric reasoning, concise computation, or complex equation solving-
arxiv.org

Introduction
- 기존 LLM의 텍스트 기반 Chain-of-Thought(CoT) 방식은 추론 능력을 향상시켰지만, 정확한 수치 계산이나 기호 조작(수학, 기하 등)에는 여전히 취약 → 언어 모델이 본질적으로 언어 패턴에 기반한 확률 예측에 의존하기 때문
- Code Interpreter(CI)의 등장으로 텍스트 추론의 모호성을 줄이고, 정확한 수치 검증, 계산, 프로그래밍 기반 탐색을 가능하게 함
- 기존 Supervised Fine-Tuning 기반의 도구 사용 방식은 일반화 부족, 도구 호출 판단 능력 부재 등의 한계가 있음
- ReTool 프레임워크는 LLM이 외부 도구(CI)를 효과적으로 사용하도록 학습시키는 강화학습 기반 프레임워크
Methodology
- Cold-start Supervised Fine-Tuning(SFT)
- 코드 실행을 포함한 강화학습(RL with interleaved code execution)
cold-start SFT를 위해 별도로 설계한 데이터 수집 파이프라인을 통해 데이터를 구축하고, 이를 통해 강화학습에 앞서 모델에 안정적인 초기 상태를 제공한다.
※ 초기화 기반: 모델이 도구를 언제, 어떻게 사용할지에 대한 기초적인 사용법과 개념을 익히게 하는 것
Cold-start for Tool-Integrated Reasoning Foundation
고품질의 데이터를 수집하고 정제하기 위한 파이프라인을 설계하였다.
- OpenThoughts 등 다양한 오픈소스 데이터셋을 포함하여 기존의 수학적 추론 데이터를 여러 출처에서 수집
- 전문가의 수작업 검토와 DeepSeek-R1 기반 평가를 결합한 이중 검증 방식을 적용하여 불완전하거나 부적절한 데이터를 효과적으로 필터링 → 고품질 텍스트 기반 추론 데이터셋인 $\mathcal D_\mathrm{init}$을 구축하며, 이를 바탕으로 코드가 통합된 추론 데이터를 자동으로 생성
- 변환 과정에서는 먼저 구조화된 프롬프트 템플릿을 활용하여, 원본 사고 과정을 변형하고, 수작업 계산 단계를 코드 스니펫과 그 실행 결과로 대체함으로써 도구 활용 기반 추론 형태로 데이터를 재구성

이 초기 변환 이후, 두 단계로 구성된 검증 절차를 수행
- 형식 검증 (Format Verification): 가독성 개선 & 문법적 일관성 보장 → 강화학습 단계에서 도구 호출 트리거의 자동 감지를 용이하게 함
- 정답 검증 (Answer Verification): 수학 문제의 정답과 일치하지 않는 출력 결과를 가지는 데이터를 제거 → 데이터셋의 정확도와 신뢰도를 높임
→ 코드가 삽입된 장문 추론 데이터셋 $\mathcal D_\mathrm{CI}$를 구축하며 이를 바탕으로 SFT를 수행
→ 코드 인터프리터를 언제, 어떻게 호출해야 하는지를 학습하게 되며, 계산 도구를 적절히 활용하는 능력을 효과적으로 향상
ReTool: Reinforcement Learning for Strategic Tool Use
- Training Algorithm: PPO

※ $\pi_\theta(o_t|q,o_{<t};\mathcal{CI})$: 코드 인터프리터의 실행 및 피드백이 중간에 삽입된 상태로 수행되는 rollout 과정을 나타냄
- 도구 통합형 추론에 보다 적합하도록 PPO 알고리즘을 수정
- 학습 과정에서 Policy LLM은 Code Sandbox와 협력하여, 주어진 문제를 해결하기 위한 multi-turn 실시간 코드 실행을 포함한 rollout 생성
- rule-based outcome reward를 구현하여, 모델이 다음과 같은 전략들을 자율적으로 탐색하고 학습할 수 있도록 유연성 부여
- 코드 사용 인식
- 코드 선택
- 코드 호출 시점의 결정
- 그 외 다양한 도구 활용 행동 패턴

- Reward Design
- 정확도 기반의 규칙형 보상 → 응답의 정답 여부를 기준으로 평가
- 최종 정답을 특정 형식(ex. \boxed{} 내에 표시)으로 출력하도록 요구 → 신뢰 가능한 규칙 기반 검증 가능
- 보상 해킹 완화 & 결과 중심의 피드백만을 기반으로 보다 다양한 문제 해결 전략의 학습을 유도하기 위해 보상 설계를 단순화

- Rollout with interleaved Code Execution
- 실시간 코드 실행이 자연어 기반 추론 흐름과 동적으로 혼합될 수 있도록 지원하는 rollout 방식 제안
- 텍스트, 코드 스니펫, 실행 결과가 혼합된 하이브리드 추론 경로를 생성할 수 있도록 설계
- 구체적으로, 프롬프트 템플릿을 사용하여 모델이 <code>...</code> 태그를 활용해 생성된 코드의 경계를 명시적으로 구분 & Code Sandbox와 상호작용할 수 있도록 유도
- rollout 과정
- 정책 모델이 자연어 기반 추론 $t_1$ 생성
- 코드 종료 트리거(/code) 감지되면 생성 일시 중단 & 생성된 코드 $c_1$은 파싱되어 Code Sandbox 환경으로 전송되어 실행
- 실행 완료 후, 정상적인 결과 또는 오류 메시지가 <interpreter>...</interpreter> 태그 내에 삽입되며, 해당 결과 $f_1$은 모델에 피드백으로 제공
- 모델은 이 피드백을 기반으로 추론을 계속 이어가거나, 새로운 코드를 생성하며, 최종적으로 정답 o 또는 새로운 코드 $c_2$를 생성하기까지 반복된다.
→ 최종 하이브리드 추론 경로: $[t_1\oplus c_1\oplus f_1\oplus\cdots\oplus o]$
- 코드 실행 성공 뿐 아니라 인터프리터 오류 메시지 또한 모델에 반환 → 모델의 추론 및 도구 활용 전략을 탐색, 수정, 최적화할 수 있도록 지원
- Training Details
- Cold-start & RL: Qwen2.5-32B-Instruct, 2 epoch
- Interpreter Feedback Mask: 모델이 생성한 <interpreter>...</interpreter> 내부의 코드 실행 결과 피드백 출력은 손실 계산에서 masking → 외부 실행 결과 토큰이 손실 계산에 간섭하는 것을 차단 → 학습 중 모델의 일관된 추론 시퀀스가 손상되지 않도록 하고, 학습 안정성 확보
- KV-Cache Reuse: rollout 중 메모리 사용량을 줄이기 위해, 코드 종료 트리거(</code>)가 감지될 때마다 코드 실행 이전까지의 KV-cache를 저장하고, 이후에는 인터프리터 피드백에 해당하는 KV-cache만 계산 및 추가하도록 설계 → 각 rollout에 필요한 KV-cache 양 감소
- Sandbox Construction: 비동기 코드 샌드박스 환경 설계, 각 샌드박스 pod는 worker로 작동하며, 자신의 현재 처리 가능 용량에 따라 작업을 자율적으로 할당받는 pool 구조를 통해 효율적인 부하 분산(load-balancing)을 달성
Experiment

Cognitive Analysis
- 응답 길이 (Figure 3(a))
- 초기에는 복잡한 계산 과정을 간결한 코드로 대체했으나 이후 다양하고 복합적인 코드 활용 패턴이 출현하여 응답 길이의 증가 추세를 보임
- 최종 평균 응답 길이는 약 40% 짧아진 수준을 유지(기울기가 완만해서)하며, 이는 CI 기반 추론 방식이 복잡한 계산 과정을 코드로 대체하여 추론 과정에서의 토큰 사용 효율을 향상시켰음을 시사함
- 코드 비율 (Figure 3(b))
- RL 과정 전반에 거쳐 평균 코드 비율이 지속적 증가, 최종적으로는 전체 문제의 약 98%에서 코드가 포함된 응답 생성
- RL을 통해 코드 활용 능력을 향상시킴
- 코드 라인 수 (Figure 3(c))
- RL 훈련 전체 기간 동안 일관된 증가 추세
- 모델이 RL 과정에서 점차적으로 더 복잡하고 정교한 코드 전략 학습
- 테스트 세트 정답 코드 수 (Figure 3(d))
- 모델이 코드 도구를 보다 정확하고 효과적으로 활용하는 능력이 점진적으로 향상
- 코드 통과율 (Figure 3(e))
- 정답 응답의 코드 통과율은 지속적으로 높게 유지되어 약 100%에 근접
- 오답 응답의 코드 통과율은 점진적으로 감소하는 경향
- 코드 실행 가능성이 추론 과정 및 최종 결과에 중요한 영향을 미침
- 코드 호출 시점 분석 (Figure 3(f))
- RL 과정 동안 코드 호출 시점이 점차 앞당겨지는 경향
- 모델이 도구 사용의 적절한 시점을 스스로 학습하고 있음

- "Aha Moment" of Code Self-correction: 명시적으로 code self-correcton에 대한 학습 데이터가 없는 상황에서도, 실행 불가능한 코드를 스스로 수정하는 능력을 보여줌(아래 name 'greedy' is not defined 부분)

- Code Purpose Analysis
- RL 이후 코드 목적이 보다 다양화
- 모델이 상황에 따라 도구를 적절히 선택하는 메타인지적 전략을 습득하고, 모델이 더 넓은 범주의 문제에 대해 일반화 될 수 있는 가능성을 보여준다.

- CI-powered Reasoning vs. Text-based Reasoning
- 동일한 문제 상황에서,
- 텍스트 기반 추론은 복잡하고 장황한 수치 계산에 의존 → 오류 가능성 높고, 잘못된 추론 결과로 이어짐
- CI 기반 추론은 복잡한 계산 과정을 간결한 코드로 대체 & 외부 코드 인터프리터의 실행 결과를 통해 계산 정확도를 보장함과 동시에, 모델이 보다 전체적인 추론 전략에 집중할 수 있도록 도움
