I responsabili della nota piattaforma di code hosting basata su Git hanno annunciato la disponibilità di una nuova estensione GitHub CLI che permette di utilizzare l'assistente al coding da linea di comando. Direttamente dal proprio terminale. Il progetto è attualmente in fase di beta pubblica e mette a disposizione un'interfaccia chat-like che permette di ricevere suggerimenti riguardo ai comandi, al loro significato e al loro funzionamento.
Come funziona GitHub Copilot in the CLI
GitHub Copilot in the CLI, questo il nome del plugin per esteso, è in grado di effettuare il parsing delle query formulate dall'utilizzatore. Gli output vengono quindi prodotti tramite una combinazione di algoritmi per il Machine Learning e l'elaborazione del linguaggio naturale. L'estensione processa le richieste e le invia al servizio di GitHub che è collegato ad un apposito LLM (Large Language Model). Quest'ultimo genera la sua risposta tenendo conto del prompt e del contesto in cui è stato espresso.
GitHub Copilot in the CLI now in public beta https://t.co/PMj2u7Ew5r
— GitHub Changelog (@GHchangelog) November 8, 2023
È inoltre disponibile una lista predefinita di comandi sui quali si possono richiedere informazioni e, in generale, il sistema è stato implementato proprio per rispondere a quesiti su argomenti legati alle linea di comando. Il modello linguistico utilizzato è animato da una rete neurale che è stata addestrata sfruttando grandi volumi di dati testuali. Esso analizza il prompt con particolare attenzione ai possibili comandi oggetto della richiesta.
I comandi restituiti in output non possono essere eseguiti direttamente. Per utilizzarli li si dovrà copiare in un'altra finestra o in una scheda separata del terminale.
Ambiti di utilizzo dell'estensione
GitHub Copilot in the CLI può essere utilizzato ad esempio per trovare il giusto comando con cui eseguire un task. Nello stesso modo può rivelarsi utile per familiarizzare con i comandi meno conosciuti. Il fatto che gli output supportino l'evidenziazione della sintassi li rende inoltre maggiormente comprensibili.
Vi sono naturalmente anche dei limiti. L'estensione dispone ad esempio di un scope molto limitato, con un aggiornamento dei dati di training risalente al 2021. L'addestramento è stato effettuato con informazioni reperite online. Cosa che in alcuni casi espone la generazione degli output a bias, potenziali errori e risposte sintatticamente o semanticamente inaccurate.