작업이 어려워질수록 성능이 향상되는 Xiaomi의 MiMo Code, 그 비결은 무엇인가
요약
Xiaomi가 오픈 소스로 공개한 MiMo Code는 장기적인 코딩 작업(Long-horizon)에서 발생하는 에이전트의 성능 저하 문제를 해결하기 위해 설계되었습니다. 연산, 메모리, 진화라는 세 가지 핵심 테마를 통해 복잡한 단계의 작업에서도 높은 신뢰성을 유지합니다.
핵심 포인트
- Max Mode를 통해 병렬 후보 실행 및 심판 모델 검증으로 성능 향상
- 독립적인 검증기(Goal)를 도입하여 작업 완료 조건의 정확성 확보
- JavaScript 기반의 Dynamic Workflow로 오케스트레이션의 신뢰성 강화
- 체크포인트와 라이터 서브 에이전트를 활용한 효율적인 메모리 관리
Xiaomi의 MiMo 팀이 OpenCode를 기반으로 구축된 터미널 코딩 에이전트인 MiMo Code를 MIT 라이선스로 오픈 소스화했습니다. 이들의 핵심 제안은 단순한 벤치마크 수치가 아닙니다. 더 구체적인 질문을 던집니다. 작업이 50단계, 100단계, 또는 200단계 이상의 긴 과정을 거치게 될 때 어떤 일이 벌어질까요?
대부분의 코딩 에이전트(coding agents)는 규모가 커지면 무너집니다. 컨텍스트(Context)가 가득 차고, 모델은 맥락을 놓치며, 동작을 멈추거나 잘못된 결과물을 확신을 가지고 완성해 버립니다. MiMo Code는 이러한 실패 모드(failure modes)를 해결하기 위해 명시적으로 설계되었습니다.
_"인간의 교정 신호(human correction signal)가 루프 내에 없는 상태에서, 단일 단계의 오류율은 장기 실행(long-horizon runs) 과정에서 증폭됩니다."
이러한 프레임워크가 그들이 내린 모든 아키텍처(architectural) 결정의 토대가 되었습니다.
무엇이 실제로 바뀌었는가 (표준 코딩 에이전트와 비교하여)
MiMo Code는 연산(Compute), 메모리(Memory), 그리고 **진화(Evolution)**라는 세 가지 테마를 중심으로 설계를 구성합니다.
연산(Compute) — 단순한 출력이 아닌 신뢰성에 더 많은 토큰(tokens)을 소비:
- Max Mode는 매 단계마다 5개의 병렬 후보(parallel candidates)를 실행하며(temperature=1), 실행에 들어가기 전 저온(low-temperature) 심판 모델을 사용하여 최적의 후보를 선택합니다. 토큰 비용은 4
5배 증가하지만, SWE-Bench Pro에서 1020%의 성능 향상을 보입니다. 이는 실험적인 기능이며 선택 사항(opt-in)입니다. - Goal은 에이전트가 "완료(done)"를 호출하려고 할 때 작동하는 독립적인 검증기(verifier)입니다. 별도의 모델 호출이 전체 대화 기록을 검토하고 완료 조건이 실제로 충족되었는지 확인합니다. 충족되지 않았다면 에이전트에게 무엇이 누락되었는지 알려줍니다. 루프 발생률은 0.5% 미만입니다.
- Dynamic Workflow는 오케스트레이션(orchestration)을 프롬프트 텍스트에서 격리된 샌드박스(sandbox) 내의 실행 가능한 JavaScript로 변환합니다.
parallel(),pipeline(),barrier()등을 사용하여, 모델이 건너뛰거나 잘못 해석할 수 있는 자연어 단계 시퀀스를 더 이상 사용하지 않습니다.
메모리(Memory) — 컨텍스트 창(context window)을 넘어 논리적 세션을 유지:
핵심 개념은 **사이클 (Cycle)**입니다. 런타임(runtime)은 컨텍스트 예산(context budget)의 20%, 45%, 70% 지점에 체크포인트(checkpoint)를 삽입합니다(윈도우가 거의 가득 찼을 때가 아니라, 모델이 여전히 명확하게 추론할 수 있는 의도적으로 이른 시점에 삽입합니다). 백그라운드 라이터(writer) 서브 에이전트(subagent)가 대화를 읽고 11개의 필드로 구성된 구조화된 체크포인트 파일을 작성합니다. 결국 윈도우가 가득 차면, 런타임은 새로운 윈도우를 열고 해당 파일들로부터 상태를 재구축합니다. 이 과정은 65K 토큰 미만에서 수행되며, 작업(tasks), 세션 상태(session state), 프로젝트 메모리(project memory), 최근 메시지 원문(recent messages verbatim), 그리고 마지막 리마인더(tail reminder)를 포함합니다.
메인 에이전트(main agent)는 자신의 메모리를 직접 작성하지 않습니다. 오직 라이터(writer)만이 해당 파일들을 다룹니다. 단일 라이터(Single-writer) 구조로, 모호함이 없습니다.
진화(Evolution) — 매 세션마다 새로 시작하는 것이 아님:
프로젝트 레벨의 메모리(리포지토리당 하나의 MEMORY.md)는 아키텍처 결정 사항, 사용자 규칙, 검증된 사실을 유지합니다. 7일마다 드림(Dream) 에이전트가 이를 통합하고 중복을 제거합니다. 30일마다 디스틸(Distill) 에이전트가 과거 세션을 스캔하여 반복되는 패턴을 찾아내고, 이를 재사용 가능한 기술(skills)과 표준 운영 절차(SOPs)로 승격시킵니다.
중요한 벤치마크
표준 오프라인 벤치마크(단일 리포지토리, 원샷 문제)에서 MiMo Code + MiMo-V2.5-Pro는 세 가지 평가 항목에서 Claude Code + Claude Sonnet 4.6을 능가합니다. 하지만 Xiaomi 측에서도 이 점을 명시하고 있습니다. 해당 벤치마크들은 MiMo Code가 실제로 최적화된 목적을 반영하지 못한다는 것입니다.
그들의 인간 대상 A/B 테스트는 더 많은 시사점을 줍니다. 576명의 개발자, 474개의 실제 프라이빗 리포지토리, 1,213개의 매칭된 쌍을 대상으로, 동일한 작업을 두 에이전트에게 블라인드 테스트로 실행했습니다. 200단계 미만에서는 대략 50/50의 비율을 보였습니다. 하지만 200단계를 넘어가면, MiMo Code가 65% 이상의 확률로 승리합니다.
이 아키텍처는 설계된 목적을 정확히 수행하고 있습니다.
해야 할 일
- 긴 작업(long tasks)을 위한 코딩 에이전트(coding agents)를 평가 중이신가요? 한 번 살펴볼 가치가 있습니다. 설치는 한 줄이면 충분합니다:
npm install -g @mimo-ai/cli또는curl -fsSL https://mimo.xiaomi.com/install | bash. 무료 티어는 1M 토큰 컨텍스트를 가진 MiMo-V2.5를 사용합니다. - 짧은 작업에 Claude Code를 실행 중이신가요? 아마 급할 것은 없습니다. 200단계 미만의 성능은 대등한 수준입니다.
- 자신만의 에이전트 하네스(agent harness)를 구축 중이신가요? 체크포인트 조기 통찰(상태를 95%가 아닌 20/45/70%에서 추출)과 별도의 라이터 서브 에이전트(writer subagent) 패턴은 어떤 런타임(runtime)을 사용하든 상관없이 참고할 만한 가치가 있습니다.
- 모델에 관심이 있으신가요? 경쟁력 있는 벤치마크 결과를 이끌어낸 것은 MiMo-V2.5-Pro입니다. GitHub.
출처: MiMo Code: Scaling Coding Agents to Long-Horizon Tasks — Xiaomi MiMo 팀, 2026년 6월
✏️ KewBot (AI)로 초안 작성, Drew가 편집 및 승인.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기