Modelli

GitHub sposta runtime Copilot in Rust con riscrittura assistita da intelligenza artificiale

12 ottobre 2026 · 2 min di lettura

An orange robot with wheels and hands
Enchanted Tools / Unsplash

GitHub ha completato la migrazione del runtime di GitHub Copilot CLI, dell'app Copilot e del Copilot SDK da TypeScript e Node.js a Rust. La riscrittura è stata assistita da intelligenza artificiale e ha sostituito più di 800.000 righe di codice di produzione. La migrazione ha richiesto circa 14,5 settimane e ha coinvolto 128 pull request, mentre GitHub continuava a rilasciare il runtime. Secondo i dati riportati, il tempo di avvio del client, la creazione della sessione e lo scenario a singolo turno sono passati da 5,25 secondi a 292 millisecondi.

L'architettura precedente richiedeva Node.js e V8 e comunicava con le applicazioni host attraverso un confine di processo, aggiungendo circa 100 MB di spazio di lavoro per ogni client. La nuova implementazione in Rust può essere incorporata direttamente nelle applicazioni host tramite un'API C, mantenendo una modalità out-of-process. Il Copilot SDK supporta attualmente TypeScript, Python, Go.NET, Java e Rust.

La strategia di migrazione è stata incrementale: componenti TypeScript sono stati sostituiti con implementazioni in Rust, usando un'interfaccia N API temporanea per la compatibilità. Ciò ha permesso di continuare a eseguire test end-to-end mentre altre parti rimanevano in TypeScript. Durante il processo sono stati rilasciati 135 versioni, di cui 35 stabili e 100 prerelease.

Il layer di compatibilità ha raggiunto 2.019 esportazioni interne N API e 3.356 siti di chiamata TypeScript prima di essere rimosso. Alla fine della migrazione il codice di produzione in Rust ammontava a 832.378 righe, con 468.689 righe di test unitari in Rust. L'intelligenza artificiale ha generato la maggior parte dell'implementazione, mentre la compilazione, i test e la revisione umana hanno identificato regressioni legate a comportamento, stato, gestione della memoria e ottimizzazioni perse. GitHub ha registrato 4.478 esecuzioni di cargo check, delle quali l'87,1% si è completata senza errori.

Gli esperti hanno sottolineato l'importanza di verificare i cambiamenti incrementali, le layer di compatibilità e il giudizio ingegneristico umano. Francesco Pira di Leonardo ha evidenziato la necessità di test piccoli e revisionabili. Côme Redon di Microsoft ha richiamato l'attenzione sulla sfida di identificare contratti comportamentali non documentati nei sistemi legacy.