Condividi

7 nov 2024

Potenziare gli assistenti alla programmazione basati sull'AI con il contesto lungo dei modelli Gemini

Beyang Liu

Sourcegraph

Paige Bailey

AI Developer Experience Engineer

Vishal Dharmadhikari

Product Solutions Engineer

Immagine hero della vetrina di Sourcegraph

Una delle frontiere più entusiasmanti nell'applicazione delle finestre contestuali lunghe è la generazione e la comprensione del codice. Le codebase di grandi dimensioni richiedono una profonda comprensione di relazioni e dipendenze complesse, cosa che i modelli di AI tradizionali faticano a comprendere. Ampliando la quantità di codice con finestre contestuali di grandi dimensioni, possiamo raggiungere un nuovo livello di precisione e utilità nella generazione e nella comprensione del codice.

Abbiamo collaborato con Sourcegraph, i creatori dell'assistente alla programmazione Cody AI che supporta LLM come Gemini 1.5 Pro e Flash, per esplorare il potenziale delle finestre contestuali lunghe in scenari di programmazione reali. L'attenzione di Sourcegraph all'integrazione della ricerca e dell'intelligence del codice nella generazione di codice AI e l'implementazione riuscita di Cody per le aziende con codebase grandi e complessi come Palo Alto Networks e Leidos lo hanno reso il partner ideale per questa esplorazione.

Approccio e risultati di Sourcegraph

Sourcegraph ha confrontato le prestazioni di Cody con una finestra contestuale di 1 milione di token (utilizzando Gemini 1.5 Flash di Google) con la sua versione di produzione. Questo confronto diretto ha permesso loro di isolare i vantaggi del contesto espanso. Si sono concentrati sulla risposta a domande tecniche, un'attività fondamentale per gli sviluppatori che lavorano con codebase di grandi dimensioni. Hanno utilizzato un set di dati di domande difficili che richiedevano una profonda comprensione del codice.

I risultati sono stati sorprendenti. Tre dei principali benchmark di Sourcegraph, ovvero Essential Recall, Essential Concision e Helpfulness, hanno mostrato miglioramenti significativi quando è stato utilizzato il contesto più lungo.



  • Recupero essenziale: la proporzione di fatti cruciali nella risposta è aumentata in modo sostanziale.

  • Concisezza essenziale: anche la proporzione di fatti essenziali normalizzata in base alla lunghezza della risposta è migliorata, il che indica risposte più concise e pertinenti.

  • Utilità: il punteggio complessivo di utilità, normalizzato in base alla lunghezza della risposta, è aumentato in modo significativo, a indicare un'esperienza più intuitiva.

Testo alternativo: grafico a barre che mostra il miglioramento della qualità tra Code base e Cody con Gemini 1.5 Flash

Inoltre, l'utilizzo di modelli con contesto lungo ha ridotto drasticamente il tasso di allucinazioni complessivo (la generazione di informazioni fattualmente errate). Il tasso di allucinazione è diminuito dal 18,97% al 10,48%, un miglioramento significativo in termini di accuratezza e affidabilità.

Grafico a barre che mostra la differenza nel tasso di allucinazione tra Code base e Cody con Gemini 1.5 Flash

Compromessi e direzione futura

Sebbene i vantaggi del contesto lungo siano significativi, ci sono dei compromessi. Il tempo necessario per generare il primo token aumenta in modo lineare con la lunghezza del contesto. Per risolvere questo problema, Sourcegraph ha implementato un meccanismo di prefetching e un'architettura di modello di contesto a più livelli per la memorizzazione nella cache dello stato di esecuzione del modello. Con i modelli Gemini 1.5 Flash e Pro a contesto lungo, è stato ottimizzato il tempo necessario per generare il primo token, che è passato da 30-40 secondi a circa 5 secondi per i contesti da 1 MB, un miglioramento considerevole per la generazione di codice in tempo reale e l'assistenza tecnica.

Questa collaborazione mostra il potenziale trasformativo dei modelli con contesto lungo nel rivoluzionare la comprensione e la generazione di codice. Siamo entusiasti di collaborare con aziende come Sourcegraph per continuare a sbloccare applicazioni e paradigmi ancora più innovativi con finestre contestuali di grandi dimensioni.

Per approfondire le metodologie di valutazione dettagliate, i benchmark e l'analisi di Sourcegraph, inclusi esempi illustrativi, non perderti il loro post del blog approfondito.