Xiaomi ha rilasciato MiMo Code, un agente di programmazione basato su intelligenza artificiale progettato per operare direttamente da terminale e gestire attività software lunghe, articolate e composte da molte fasi successive. Il progetto è stato pubblicato come open source su GitHub con licenza MIT ed è costruito a partire da OpenCode, una piattaforma già orientata all’interazione tra modelli linguistici, repository software e strumenti da riga di comando.
MiMo Code entra nel segmento degli AI coding agent con un’impostazione diversa rispetto ai semplici assistenti di completamento codice. Il sistema non si limita a suggerire funzioni o correggere frammenti isolati, ma è progettato per eseguire sequenze di lavoro estese, mantenere lo stato del progetto, ricordare decisioni precedenti e verificare il raggiungimento degli obiettivi definiti dall’utente. Xiaomi lo presenta come un agente terminal-native, quindi integrato nell’ambiente operativo dello sviluppatore e capace di interagire con file, comandi, test, strumenti di build e repository.
Il problema tecnico affrontato da MiMo Code è la perdita di contesto nei task di programmazione lunghi. Gli agenti basati su LLM lavorano attraverso cicli ripetuti di generazione, esecuzione, osservazione e correzione. Quando il task cresce, la finestra di contesto si riempie rapidamente e le informazioni precedenti vengono compresse, scartate o riassunte in modo incompleto. Questo può portare alla perdita di vincoli progettuali, decisioni architetturali, errori già risolti, stato dei test e obiettivi intermedi. MiMo Code è stato quindi progettato intorno a tre assi principali: calcolo, memoria ed evoluzione.
La componente di calcolo è rappresentata da Max Mode, una modalità in cui l’agente genera più soluzioni candidate per ciascun passaggio e utilizza lo stesso modello come giudice per selezionare il piano migliore. Per impostazione predefinita vengono prodotte cinque alternative parallele, poi valutate internamente prima dell’esecuzione. Xiaomi dichiara che questo approccio migliora le prestazioni del 10-20% su SWE-bench Pro rispetto al campionamento singolo, ma comporta anche un aumento significativo del consumo di token, pari a circa quattro o cinque volte rispetto alla modalità standard.
La continuità operativa viene gestita attraverso un meccanismo chiamato Goal. L’utente può definire una condizione di completamento esplicita, per esempio il superamento di tutti i test o la presenza di un commit finale. Quando l’agente tenta di terminare il lavoro, un modello di verifica indipendente analizza la cronologia completa dell’attività e controlla se l’obiettivo è stato realmente raggiunto. Se rileva elementi mancanti, restituisce un feedback strutturato e costringe l’agente a proseguire. Questo meccanismo serve a ridurre uno dei comportamenti più comuni degli agenti di coding: l’interruzione prematura del task dopo una soluzione solo parziale.
Un altro elemento tecnico rilevante è la scelta di una sintassi basata su comandi invece del classico output JSON strutturato. Xiaomi sostiene che, in alcuni scenari, i modelli generano in modo più stabile comandi concisi in stile shell rispetto a strutture JSON complesse, che possono introdurre errori di formattazione e parsing. L’architettura di MiMo Code sfrutta quindi una grammatica command-line limitata per migliorare l’affidabilità delle chiamate agli strumenti e ridurre gli errori nelle interazioni tra modello, runtime e ambiente operativo.
Per i progetti complessi, MiMo Code introduce anche Dynamic Workflow. Invece di descrivere un flusso di lavoro solo tramite prompt o documenti in linguaggio naturale, il sistema può trasformare il workflow in codice JavaScript eseguibile in sandbox. Questo consente di gestire passaggi paralleli, diramazioni, retry, condizioni di completamento e logiche deterministiche senza affidare ogni decisione al modello linguistico. In questo modo il modello può concentrarsi sulla generazione di codice e sulla risoluzione dei problemi, mentre la struttura procedurale del task viene controllata da un livello eseguibile più prevedibile.
La parte più distintiva di MiMo Code è il sistema di memoria a quattro livelli. La memoria di sessione viene salvata in checkpoint.md e contiene lo stato corrente del lavoro. La memoria di progetto viene archiviata in MEMORY.md e conserva informazioni persistenti sul repository. A queste si aggiungono una memoria globale a livello utente e una memoria storica che conserva il tracciamento delle attività svolte nel tempo. La gestione dei checkpoint non viene affidata direttamente all’agente principale, ma a un sub-agente dedicato, chiamato checkpoint writer, che registra intenzione corrente, prossimi passaggi, vincoli, struttura dell’attività, errori incontrati, soluzioni adottate e decisioni progettuali.
Quando la finestra di contesto raggiunge il limite, il runtime può ricostruire un nuovo contesto a partire da questi checkpoint, permettendo all’agente di continuare il lavoro senza ripartire da zero. Questa architettura affronta uno dei limiti più evidenti degli agenti software: la difficoltà di mantenere coerenza su task che richiedono centinaia di passaggi, molte iterazioni sui test e modifiche distribuite in più file.
MiMo Code include inoltre meccanismi di evoluzione nel tempo. La funzione Dream analizza le sessioni passate ogni sette giorni, rimuove informazioni duplicate e riorganizza la memoria a lungo termine. La funzione Distill, eseguita ogni trenta giorni, identifica pattern ricorrenti nelle attività svolte e li trasforma in risorse riutilizzabili, come comandi CLI, procedure operative standard, agenti personalizzati e tecniche applicabili a task simili. L’obiettivo è costruire un agente che non riparta sempre dallo stesso livello di conoscenza, ma migliori progressivamente sulla base delle attività precedenti.
Sul piano dei benchmark, Xiaomi dichiara che MiMo Code combinato con il modello MiMo-V2.5-Pro raggiunge l’82% su SWE-bench Verified, il 62% su SWE-bench Pro e il 73% su Terminal-Bench 2. Secondo i dati pubblicati dall’azienda, questi risultati supererebbero quelli ottenuti da Claude Code basato su Claude Sonnet 4.6 nelle stesse valutazioni. Xiaomi sostiene inoltre che, utilizzando lo stesso modello MiMo all’interno dell’ambiente Claude Code, le prestazioni risultano inferiori di circa cinque punti percentuali, indicando che il miglioramento non dipenderebbe solo dal modello, ma anche dall’architettura agentica di MiMo Code.
L’azienda ha condotto anche test A/B in ambienti di sviluppo reali, coinvolgendo 576 sviluppatori, 474 repository privati e 1.213 valutazioni comparative. Nei task inferiori a 200 passaggi, MiMo Code e Claude Code avrebbero mostrato prestazioni simili. Nei task superiori a 200 passaggi, invece, MiMo Code avrebbe raggiunto un tasso di preferenza superiore al 65%, confermando l’orientamento del sistema verso attività lunghe e multi-step. Questi risultati restano comunque dati interni a Xiaomi e non costituiscono ancora una validazione indipendente.
MiMo Code può essere installato su macOS e Linux con un singolo comando, mentre su Windows è disponibile tramite pacchetto npm. Per impostazione predefinita si collega al canale MiMo Auto basato su MiMo-V2.5, con supporto a una finestra di contesto da un milione di token. Il sistema può importare automaticamente le configurazioni di Claude Code e supporta anche modelli esterni come DeepSeek, Kimi, GLM e API compatibili con OpenAI.
