Microsoft MAI-Code-1-Flash: 적응형 솔루션 길이 제어 (Adaptive Solution-Length Control)
요약
Microsoft가 출시한 MAI-Code-1-Flash는 작업 난이도에 따라 추론 토큰 사용량을 스스로 조절하는 '적응형 솔루션 길이 제어' 기술을 탑재했습니다. 이를 통해 불필요한 연산을 줄여 비용과 지연 시간을 최적화하면서도 높은 성능을 유지합니다.
핵심 포인트
- 작업 난이도에 따라 추론 토큰 양을 스스로 결정
- 고정 예산 방식 대비 토큰 소모량 최대 60% 절감
- 정답 도달 시 추론을 멈춰 비용 및 지연 시간 최적화
- SWE-Bench Pro에서 높은 성능 입증
개요: Microsoft의 첫 자체 개발 코딩 모델인 MAI-Code-1-Flash (Build 2026에서 MAI-Thinking-1 추론 모델과 함께 출시됨)는 적응형 솔루션 길이 제어 (adaptive solution-length control) 기능을 탑재했습니다. 이 모델은 작업의 난이도에 따라 얼마나 많은 추론 토큰 (reasoning tokens)을 사용할지 스스로 결정합니다.
이유: 추론 토큰은 사고형 모델 (thinking model) 비용의 대부분을 차지합니다. 모든 토큰은 지연 시간 (latency)과 비용 측면에서 지불해야 하는 **디코딩 단계 (decode step)**입니다. 한 줄짜리 수정 작업에 여러 파일에 걸친 리팩토링 (refactor)과 동일한 긴 추론 체인을 사용하는 것은 예산의 대부분을 낭비하는 것입니다. 적응형 길이 제어는 정확도를 높일 수 있는 곳에만 예산을 사용합니다.
이전 방식과의 차이: **고정 예산 추론기 (fixed-budget reasoner)**는 모든 프롬프트에 대해 대략 동일한 길이만큼 생각합니다. 반면, 적응형 제어는 정답에 도달하는 시점에 멈춥니다. 따라서 Microsoft는 이 모델이 고정 예산을 사용할 때보다 최대 60% 적은 토큰을 소모하면서도 목표 점수에 도달했다고 보고했습니다.
비유하자면
문제의 난이도에 따라 할당 시간을 조절하는 수험생과 같습니다.
동일한 시험: 쉬움 · 중간 · 어려움
│
고정 예산 (FIXED BUDGET) │ 적응형 제어 (ADAPTIVE CONTROL)
...
- 작업 (task) = 시험 문제 하나
- 추론 토큰 (reasoning tokens) = 문제를 푸는 데 소비하는 시간(분)
- 고정 예산 (fixed budget) = 모든 문제에 동일하게 긴 시간을 배정하는 것
- 적응형 제어 (adaptive control) = 각 문제의 난이도에 맞춰 시간을 조절하는 것
- 정답 도달 (answer reached) = 정답을 얻은 순간, 다음 문제로 넘어가는 것
주요 용어 정리
추론 토큰 (Reasoning tokens) — 모델이 최종 답변을 내놓기 전, 한 번에 하나씩 생성하는 중간 "사고" 토큰 (사고의 사슬, chain-of-thought)입니다. 추론 토큰이 많을수록 디코딩 비용 (decode cost)이 증가합니다.
솔루션 길이 (Solution length) — 모델이 답변을 확정하기 전까지 추론 체인 (reasoning chain)이 지속되는 길이입니다. **적응형 솔루션 길이 제어 (Adaptive solution-length control)**를 통해 모델은 고정된 상한선 대신 작업별로 이 길이를 선택할 수 있습니다.
테스트 시간 연산 (Test-time compute) — (학습이 아닌) 추론 (inference) 단계에서 소비되는 연산량으로, 주로 더 많은 추론 토큰을 생성함으로써 발생합니다. 더 많은 연산을 사용하는 것은 일반적으로 어려운 문제 해결에는 도움이 되지만, 쉬운 문제에서는 낭비가 됩니다.
SWE-Bench Pro / Verified — 모델이 작동하는 코드로 해결해야 하는 실제 GitHub 이슈의 벤치마크 (Benchmarks)입니다. Microsoft의 보고에 따르면, MAI-Code-1-Flash는 SWE-Bench Pro에서 Claude Haiku 4.5의 35.2% 대비 **51.2%**를 기록했으며
잠시 시험을 치르는 수험생을 상상해 보십시오. 두 명의 학생이 동일한 시험을 봅니다. 첫 번째 학생은 문제당 정확히 10분을 쓰라는 지시를 받았습니다. 그래서 그녀는 "2 + 2" 문제에 10분을 통째로 써버리고, 이미 결정된 답을 두고 계속 의구심을 품으며 앉아 있다가, 마지막 증명 문제에서 시간이 부족해집니다. 두 번째 학생은 각 문제를 읽고 필요한 노력을 가늠한 뒤, 확신이 서는 즉시 다음 문제로 넘어갑니다. 산수 문제에는 30초를 쓰고, 증명 문제에는 10분을 온전히 사용합니다. 같은 시험지, 같은 점수, 하지만 훨씬 적은 시간입니다. **적응형 솔루션 길이 제어 (Adaptive solution-length control)**는 바로 이 두 번째 학생과 같습니다. 모델은 모든 작업에 일률적인 세금을 매기는 대신, 난이도가 실제로 요구하는 곳에 추론 (reasoning)을 집중합니다.
내부적으로 이 "시간"은 **추론 토큰 (reasoning tokens)**입니다. 사고형 모델 (thinking model)은 답변하기 전에 사고의 사슬 (chain-of-thought)을 한 번에 하나의 토큰씩 생성하며, 이 토큰 하나하나가 지연 시간 (latency)과 비용으로 지불해야 하는 디코딩 (decode) 단계입니다. 고정된 예산 (fixed budget)은 모든 프롬프트에 대해 동일한 길이를 설정합니다. 반면 적응형 제어는 얼마나 오래 생각할지, 그리고 결정적으로 언제 멈출지를 결정합니다. Microsoft는 정확한 컨트롤러 (controller)를 공개하지 않았습니다. 즉, 길이가 학습된 것인지, 사전에 예측된 것인지, 아니면 사고 사슬 중간에 학습된 정지 신호 (stop signal)가 있는 것인지는 알 수 없으므로, 그 *메커니즘 (mechanism)*은 미공개 상태로 간주해야 합니다. 보고된 것은 결과입니다. 즉, 훨씬 적은 토큰으로 동일한 벤치마크 점수를 달성했다는 것입니다.
토큰이 실제로 사용되는 곳
간단한 계산을 통한 과정 살펴보기 (예시 수치이며, 60%라는 수치는 Microsoft의 발표 기준입니다). 세 가지 Copilot 작업을 가정해 봅시다: 쉬운 한 줄 수정, 중간 난이도의 다단계 버그 수정, 그리고 어려운 파일 간 리팩토링 (refactor). 약 2,000개의 추론 토큰을 사용하는 고정 예산 방식은 세 작업 모두에 동일하게 소모하여 → 쉬운 수정 작업이 약 200개 토큰 만에 답을 얻었음에도 불구하고 총 ~6,000개의 토큰을 사용합니다. 적응형 제어는 각 사고 사슬이 답을 찾으면 멈춥니다. 즉, 동일한 결과에 대해 대략 ~200 + ~650 + ~1,650 ≈ ~2,500 토큰을 사용합니다. 이 예시 조합에서는 토큰을 약 58% 절감한 것이며, 이는 Microsoft가 보고한 최대 60% 절감 수치와 일치합니다. 어려운 작업은 거의 변하지 않으며, 절감액은 거의 전적으로 쉬운 작업과 중간 난이도 작업에서 과도하게 생각하지 않음으로써 발생합니다.
추론 길이를 설정하는 세 가지 방법
| 전략 | 쉬운 작업 | 어려운 작업 | 주요 리스크 |
|---|---|---|---|
| 고정 최대 예산 (Fixed-max budget) | 정답을 훨씬 지나서까지 생각함 | 적절함 — 여유가 있음 | 과잉 사고 (over-thinking): 불필요한 토큰을 소모함 |
| ... |
함정은 마지막 셀에 있습니다. 고정된 예산은 어리석지만 안전합니다. 반면 적응형 길이 (adaptive length)는 '언제 끝났는지'를 판단하는 감각에 따라 성능이 결정됩니다. 어려운 작업에서 토큰 하나라도 너무 일찍 멈추면 과소 사고 (underthinking)가 발생합니다. 이는 느리지만 옳은 답변보다 더 나쁜, 확신에 찬 오답을 초래합니다. 이것이 바로 코딩 모델에서 헤드라인 수치가 중요한 이유입니다. 소프트웨어에서는 테스트나 검증기 (verifier)가 모델에게 실제로 작업이 완료되었는지 알려줄 수 있는 경우가 많으며, 이는 중단 신호 (stop signal)가 의지할 수 있는 구체적인 근거를 제공합니다. 이 방식의 이점은 실질적이고 구체적입니다. 즉, 동일한 정확도를 유지하면서 추론 토큰 (reasoning tokens)을 더 적게 사용하는 것이며, 이는 전적으로 중단 시점을 정확하게 잡는 것에 달려 있습니다.
더 자세한 내용: AI 에이전트 (AI Agents) → 계획 및 성찰 (Planning & Reflection) → 추론 예산 (Reasoning budget)
관련 설명 자료
- Compute Where It Counts — Per-token compute controller — 적응형 연산 (adaptive compute)의 또 다른 축: 체인이 실행되는 토큰의 수와 대비하여 각 토큰이 수행하는 작업량에 관한 내용
- LongTraceRL — Rubric reward (process supervision) — 추론 체인 (reasoning chains)이 훈련되는 방식, 그리고 좋은 중단 신호가 어디에서 오는지에 관한 내용
- Gemini 3.5 Flash — Agent-first model design — 관련된 관점: 채팅용 모델을 사후 수정(retrofit)하는 것이 아니라 에이전트 루프 (agent loop)를 위해 모델을 구축하는 방식
FAQ
적응형 솔루션 길이 제어 (adaptive solution-length control)란 무엇인가요?
모델이 작업의 난이도에 맞춰 추론 체인 (reasoning chain)의 길이를 조절하는 능력입니다. 모든 프롬프트에 대해 추론 토큰 (reasoning tokens)의 상한선을 고정하는 대신, 모델은 쉬운 작업에는 짧은 체인을 사용하고 어려운 작업에만 긴 체인을 사용하며, 정답에 도달하면 멈춥니다. Microsoft의 MAI-Code-1-Flash는 이 기술을 사용하여 고정된 예산을 사용할 때보다 최대 60% 적은 토큰으로 벤치마크 점수를 달성합니다.
정확도를 잃지 않으면서 어떻게 그렇게 많이 절약할 수 있나요?
절약되는 부분은 생각이 부족했던 작업이 아니라, 과하게 생각되었던 작업에서 나오기 때문입니다. 쉬운 수정 작업의 경우, 긴 추론 체인은 정답에 조기에 도달한 후 그 이후에도 토큰을 생성합니다. 이러한 추가 토큰은 지연 시간 (latency)과 비용을 발생시키지만 결과는 바꾸지 않습니다. 정답에 도달한 시점에서 체인을 다듬으면 순수한 낭비를 제거할 수 있습니다. 긴 체인이 진정으로 필요한 어려운 작업은 거의 영향을 받지 않습니다.
토큰당 연산 제어기 (per-token compute controller)와는 어떻게 다른가요?
이들은 서로 다른 조절 장치를 조정합니다. 토큰당 연산 제어기 ("Compute Where It Counts" 논문에서 다루는 방식)는 각 개별 토큰이 받는 연산량(attention sparsity, layer pruning, bit-width 등)을 변경합니다. 적응형 솔루션 길이 제어 (adaptive solution-length control)는 체인이 총 몇 개의 추론 토큰을 실행할지를 변경합니다. 하나는 토큰당 작업량을 조절하고, 다른 하나는 토큰의 수를 조절합니다. 이들은 상호 보완적입니다.
원문은 Learn AI Visually에 게시되었습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기