생성형 AI 도구를 활용하여 작성 및 편집된 노트입니다.
DeepMath와 smolagents로 만든 경량 수학 추론 에이전트의 비밀
수학 문제를 LLM에게 맡기면 의외로 자주 마주치는 장면이 있습니다. 풀이가 길어질수록 “말은 그럴듯한데 계산이 틀린” 답이 슬쩍 끼어드는 순간이죠. DeepMath는 이 지점을 정면으로 겨냥한 경량 수학 추론 에이전트입니다. 핵심은 ‘장황한 설명’ 대신 ‘짧은 파이썬 코드’를 만들고, 이를 안전한 샌드박스에서 실행한 결과를 추론에 반영해 실수를 줄이는 방식입니다. 게다가 smolagents로 구현되어 구조가 비교적 단순하고, GRPO(그룹 상대 정책 최적화)로 추가 훈련해 정확도와 출력 효율을 함께 끌어올렸습니다.
DeepMath가 노리는 문제: “수학은 말빨이 아니라 계산이다”
요즘 추론형 모델들은 긴 체인오브쏘트로 성능을 올리는 흐름이 강합니다. 그런데 수학에서는 길게 생각한다고 늘 안전해지지 않습니다. 길어질수록 숫자 하나를 잘못 옮기거나, 사칙연산 실수가 누적되기 쉬우니까요.
DeepMath는 “LLM이 잘하는 것(문제 이해, 전략 선택)”과 “컴퓨터가 잘하는 것(결정적 계산)”을 분리합니다. 모델은 풀이를 글로 길게 늘어놓기보다, 필요한 계산을 작은 파이썬 코드 조각으로 바꿔 실행합니다. 그 결과를 다시 답 도출에 사용하니, 사람이 계산기 두드리듯 오류 가능성이 확 줄어드는 구조가 됩니다.
smolagents 기반 구조: 가벼운 에이전트가 더 실용적인 이유
DeepMath가 흥미로운 이유는 “거대한 툴체인”을 쌓는 대신, smolagents 같은 비교적 경량 에이전트 프레임워크로 구현했다는 점입니다. 많은 에이전트 프로젝트가 도구를 잔뜩 붙이다가, 배포 단계에서 컨텍스트 비용·지연시간·디버깅 난이도로 고생하곤 합니다.
DeepMath의 철학은 반대입니다. 꼭 필요한 도구는 ‘작은 파이썬 실행기’ 하나로 압축하고, 나머지는 모델이 짧게 판단하게 만듭니다. 도구 메타데이터가 커질수록 프롬프트도 비대해지는데, 도구 수를 최소화하면 컨텍스트도 덜 먹고 지연도 줄어듭니다. “에이전트인데 더 가벼움”이 실제 서비스에서 큰 장점이 됩니다.
“짧은 파이썬 코드 + 샌드박스 실행”이 만드는 정확도 상승
DeepMath 접근은 간단히 말해 이렇습니다. 문제를 읽고, 계산이 필요한 구간은 코드로 바꾸고, 실행 결과를 근거로 다음 결정을 합니다.
여기서 중요한 단어가 ‘샌드박스’입니다. 로컬 파일 접근이나 네트워크 같은 위험한 권한 없이, 정해진 안전한 실행 환경에서만 코드를 돌리는 방식이죠. 덕분에 운영 관점에서도 “모델이 코드를 실행한다”는 불안감을 줄일 수 있습니다.
또 하나의 효과는 출력 길이 절감입니다. 글로 계산 과정을 설명하면 중간식이 길어지는데, 코드는 짧고 결과는 결정적이라서 불필요한 토큰이 줄어듭니다. 실제로 DeepMath는 출력 길이를 최대 66%까지 줄이면서도 정확도를 개선할 수 있다고 보고됩니다.1
GRPO 세밀 조정: 정확도와 ‘장황함’ 둘 다 잡는 훈련법
DeepMath의 성능을 끌어올린 핵심 훈련 기법이 GRPO입니다. GRPO는 여러 답안을 한 그룹으로 뽑아 상대적으로 어떤 행동이 더 좋은지 학습시키는 방식인데, 수학처럼 “정답 여부를 검증하기 쉬운 문제”에 특히 잘 맞습니다.
여기서 DeepMath는 보상을 단순히 “맞으면 1, 틀리면 0”으로 끝내지 않고, 짧고 명료한 출력도 장려하는 보상 설계를 결합합니다. 즉, 맞히는 것뿐 아니라 “쓸데없이 길게 말하지 않는 습관”도 같이 학습시키는 셈이죠. 긴 추론이 비용을 키운다는 문제의식은 다른 연구에서도 반복해서 강조됩니다. 길이가 늘수록 추론 비용이 커지고, 모델이 ‘길게 쓰는 걸 잘한다고 착각’하는 현상도 생길 수 있다는 지적이 있습니다.2
벤치마크에서 확인된 포인트: 짧아지는데 성능이 오른다
DeepMath는 MATH500, AIME, HMMT, HLE 네 가지 수학 벤치마크로 평가되었고, “짧게 말하면서도 더 잘 맞히는” 방향을 목표로 합니다. 특히 에이전트 구성 자체가 출력 토큰을 줄이는 데 유리하고, GRPO 세밀 조정이 모든 벤치마크에서 성능을 추가로 올리는 것으로 요약됩니다.1
수학 에이전트 흐름 전반으로 보면, DeepMath는 AgentMath 같은 “도구 실행을 적극적으로 섞는 에이전트” 계열과 철학적으로 맞닿아 있습니다. 다만 AgentMath가 초장문 시퀀스·대규모 툴 호출·학습 인프라까지 확장하는 ‘대형 시스템’의 느낌이라면, DeepMath는 “작게 만들어도 핵심만 챙기면 실용적이다”에 더 가깝습니다.3
시사점: 수학 에이전트는 ‘더 큰 모델’보다 ‘더 좋은 분업’이 답일 때가 많다
DeepMath가 던지는 메시지는 꽤 현실적입니다. 수학을 잘하려고 무작정 모델을 키우거나, 추론을 길게 만드는 것만이 답은 아닙니다. 모델이 판단해야 할 것은 판단하게 두고, 계산은 계산기로 넘기면 됩니다. 그 분업을 ‘작은 파이썬 실행기’ 하나로 정리해낸 점이 DeepMath의 미덕입니다.
실무적으로는 이런 조언이 유효합니다. 수학·정산·통계·리포팅처럼 결정적 계산이 많은 업무라면, “설명형 LLM”보다 “계산형 에이전트”가 비용과 신뢰성에서 이길 가능성이 큽니다. 에이전트를 설계할 때도 도구를 많이 붙이기 전에, 정말 필요한 도구가 무엇인지 먼저 줄여보는 편이 배포 난이도를 낮춰줍니다.
참고
1Intel DeepMath Introduces a Smart Architecture to Make LLMs Better at Math - InfoQ
2Shorter but not Worse: Frugal Reasoning via Easy Samples as Length Regularizers in Math RLVR
3AgentMath: Empowering Mathematical Reasoning for Large Language Models via Tool-Augmented Agent