Microsoft ha descritto un piano per GitHub Copilot che dovrebbe instradare i compiti verso modelli locali o servizi cloud. Microsoft indica la fine di ottobre 2026 come obiettivo per Copilot Auto: il routing automatico è quindi pianificato, non una funzione da considerare già disponibile.

Come dovrebbe funzionare Copilot Auto

Annuncio in inglese di GitHub sul routing previsto tra modelli locali e cloud

Nel suo articolo del 7 ottobre 2026, Microsoft ha spiegato che Copilot Auto dovrebbe valutare il contesto del compito e lo stato della cache durante una sessione con più scambi, per scegliere tra inferenza locale e cloud. GitHub ha inoltre presentato l’individuazione automatica dei modelli locali installati, compresi quelli usati con Ollama e Microsoft Foundry Local. Tra i compiti che prevede di affidare ai modelli sul dispositivo cita richieste semplici, spiegazioni di una codebase e automazioni in background.

BYOK e Copilot Auto lasciano la scelta a soggetti diversi

BYOK, acronimo di Bring Your Own Key, consente all’utente di configurare un provider o scegliere un modello. Copilot Auto, invece, dovrebbe selezionare automaticamente il percorso in base al compito. Microsoft descrive opzioni per modelli locali in Copilot CLI, nell’app Copilot e in Visual Studio Code, ma i dettagli e i requisiti possono variare da un prodotto all’altro.

ModalitàChi sceglie il modello o il percorsoImplicazioni per la connessione
BYOK manualeL’utente configura il provider o seleziona il modello.Il provider può essere locale oppure remoto.
Copilot AutoCopilot dovrebbe scegliere tra inferenza locale e cloud in base al contesto del compito e alla cache della sessione.Il percorso può coinvolgere il cloud: Auto non equivale a una modalità offline.

Cosa si può configurare con i modelli di Copilot CLI

Per Copilot CLI, GitHub documenta i tipi di provider openai, azure e anthropic. Il tipo openai comprende endpoint compatibili con OpenAI Chat Completions, tra cui Ollama, vLLM e Foundry Local. Un modello configurato per CLI deve supportare il tool calling e lo streaming; GitHub raccomanda una finestra di contesto di almeno 128k token per ottenere i risultati migliori.

Per collegare un’istanza locale di Ollama, l’esempio di GitHub usa http://localhost:11434 come valore di COPILOT_PROVIDER_BASE_URL e imposta COPILOT_MODEL sull’identificativo del modello installato. Se il servizio locale non richiede autenticazione, non serve configurare una chiave API.

La modalità offline di CLI non blocca un provider remoto

Impostando COPILOT_OFFLINE=true, Copilot CLI evita di contattare i server GitHub. Ma se il provider configurato è remoto, può comunque ricevere richieste e contesto del codice: per mantenere quel traffico nell’ambiente locale, occorre usare un provider locale o uno collocato nello stesso ambiente isolato.

La distinzione conta anche per Copilot Auto: il routing previsto può scegliere modelli cloud, quindi non è una modalità offline. GitHub presenta l’elaborazione locale come un modo per usare risorse sul dispositivo senza consumare crediti AI; restano comunque necessari hardware ed elettricità.

Posizione del modello e sandbox degli strumenti sono controlli distinti

Scegliere un modello locale non isola automaticamente le azioni dell’agente. Microsoft descrive controlli differenti per i vari strumenti: i comandi della shell e, per impostazione predefinita, i processi locali di server MCP e server linguistici possono rientrare nel confine di processo quando il sandbox è attivo. Gli strumenti file integrati sono invece verificati rispetto alle policy dentro Copilot, non isolati come processi secondari controllati dal sistema operativo. I server MCP remoti restano fuori dal sandbox locale dei processi; quando si applicano i controlli MCP, Copilot verifica in-process la policy di connessione.

Sistema operativoBackend indicato da Microsoft
WindowsBaseContainer nel livello ProcessContainer, tramite Microsoft Execution Containers (MXC)
macOSSeatbelt
Linuxbubblewrap

Microsoft afferma che questi backend locali non richiedono una macchina virtuale separata né un’immagine di container.