Condividi

7 novembre 2024

Migliorare gli assistenti alla programmazione basata sull'IA con il contesto lungo dei modelli Gemini

Beyang Liu

Sourcegraph

Paige Bailey

Ingegnere dell'esperienza dello sviluppatore AI

Vishal Dharmadhikari

Product Solutions Engineer

Immagine hero di Sourcegraph Showcase

Uno dei campi più interessanti nell'applicazione di finestre con contesto lungo è la generazione e la comprensione del codice. Le basi di codice di grandi dimensioni richiedono una conoscenza approfondita di relazioni e dipendenze complesse, qualcosa che i modelli di IA tradizionali faticano a comprendere. Espandendo la quantità di codice con finestre di contesto di grandi dimensioni, possiamo ottenere un nuovo livello di accuratezza e utilità nella generazione e nella comprensione del codice.

Abbiamo collaborato con Sourcegraph, i creator di Cody, l'assistente alla programmazione basata sull'IA 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'analisi del codice nella generazione di codice AI e il deployment riuscito di Cody in aziende con codebase di grandi dimensioni e complesse come Palo Alto Networks e Leidos hanno reso Sourcegraph il partner ideale per questa esplorazione.

Approccio e risultati di Sourcegraph

Sourcegraph ha confrontato il rendimento di Cody con una finestra contestuale di 1 milione di token (utilizzando Gemini 1.5 Flash di Google) rispetto alla versione di produzione. Questo confronto diretto ha permesso 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 impegnative che richiedevano una comprensione approfondita del codice.

I risultati sono stati sorprendenti. Tre dei benchmark principali di Sourcegraph, ovvero Copertura essenziale, Concisione essenziale e Utilità, hanno dimostrato miglioramenti significativi con l'utilizzo del contesto più lungo.



  • Richiamo essenziale: la proporzione di fatti cruciali nella risposta è aumentata notevolmente.

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

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

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 complessivo di allucinazioni (la generazione di informazioni in modo errato). Il tasso di allucinazioni è diminuito dal 18,97% al 10,48%, un miglioramento significativo in termini di precisione e affidabilità.

Grafico a barre che mostra la differenza del tasso di allucinazioni tra la base di codice e Cody con Gemini 1.5 Flash

Scelte e prospettive future

Sebbene i vantaggi del contesto lungo siano significativi, esistono dei compromessi. Il tempo necessario per il primo token aumenta in modo lineare con la lunghezza del contesto. Per ovviare a questo problema, Sourcegraph ha implementato un meccanismo di pre-caricamento e un'architettura del modello di contesto a più livelli per la memorizzazione nella cache dello stato di esecuzione del modello. Con i modelli con contesto lungo di Gemini 1.5 Flash e Pro, il tempo necessario per generare il primo token è stato ottimizzato da 30-40 secondi a circa 5 secondi per i contesti di 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 a contesto lungo nel rivoluzionare la comprensione e la generazione di codice. Siamo lieti di collaborare con aziende come Sourcegraph per continuare a sbloccare paradigmi e applicazioni ancora più innovativi con finestre di contesto ampie.

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