Blog

La nostra raccolta di articoli e approfondimenti tecnici

Video

Una raccolta di video dai nostri eventi, webinar e molto altro

Use case

Una raccolta dei nostri Casi di successo

Introduzione

GitLab è una piattaforma che consente di gestire e automatizzare tutte le fasi che riguardano lo sviluppo di un software, garantendone non solo il corretto sviluppo, ma agevolando anche la pianificazione delle attività e la collaborazione asincrona.

Nonostante sia già di per sé uno strumento completo, di recente è stata introdotta una nuova funzionalità, interamente basata sull’Intelligenza artificiale: GitLab Duo, una suite di strumenti che integra l’AI in tutte le fasi che costituiscono lo sviluppo del software.

Ma cosa rende GitLab Duo così unico e rivoluzionario? In questo articolo illustreremo le potenzialità di questo strumento.

Funzionalità di GitLab Duo

Mentre le altre tecnologie di Intelligenza artificiale attualmente disponibili vengono utilizzate per svolgere singoli task, come la generazione automatica del testo e code suggestion, GitLab Duo integra le potenzialità dell’intelligenza artificiale in tutte le fasi dello sviluppo software, dal planning al coding, dal testing alla sicurezza.

Con GitLab Duo, è possibile:

  1. Migliorare il planning: Generazione automatica di contenuti per le issue e la documentazione, accelerando il tempo di sviluppo e facilitando il processo di onboarding e collaborazione all’interno delle aziende. Ad esempio, posso chiedere a Duo di generare il riassunto di un’epica evitando così la spiegazione o la lettura completa di tutte le issue correlate.
  2. Velocizzare il coding, merge e push: Code completion e suggestion, suggerimenti per le merge requests, individuazione del reviewer più adatto, summary e spiegazioni per i commit e i push, nonché l’identificazione automatica dei fallimenti delle pipeline attraverso la Root Cause Analysis (RCA);
  3. Migliorare la sicurezza: GitLab Duo permette di identificazione e risolvere automaticamente le vulnerabilità, aiutando anche nella revisione del codice in termini di sicurezza e di correttezza;
  4. Facilitare le analisi e previsioni: Duo utilizza le tecniche di AI per agevolare la predizione delle metriche di produttività, per individuare anomalie nel ciclo di vita del software

Un’ulteriore funzionalità introdotta da GitLab Duo è la Chat, la quale consente agli utenti di ricevere risposte istantanee e assistenza su una vasta gamma di domande legate a GitLab e al codice stesso. GitLab Duo Chat è, infatti, in grado di: rispondere a domande su GitLab, sul codice e sulle pipeline CI/CD, fare refactoring e scrivere automaticamente del codice all’interno dell’IDE, risolvere eventuali vulnerabilità e, infine, restituire informazioni su una specifica issue o epica.

Alcune di queste features sono sperimentali (es. discussion summary) o in beta (merge request summary).

Di seguito un’immagine che mostra l’integrazione delle features di Duo in tutto il ciclo di sviluppo software.

Modelli di AI in GitLab Duo

GitLab Duo non utilizza un modello di intelligenza artificiale proprietario e comune a tutte le features. Questa scelta consente di preservare la sicurezza del dato e allo stesso tempo garantire la corretta esecuzione dei task.

I Large Language Models adottati, infatti, non usano il codice proprietario degli utenti come dati di addestramento e per ciascuna feature viene utilizzanto un modello differente adatto a svolgere quel particolare task.

Nello specifico, le funzionalità introdotte da GitLab Duo si basano sulla combinazione di tecnologie avanzate fornite dai modelli di Anthropic, azienda che si occupa dello sviluppo di modelli di intelligenza artificiali e Google Vertex AI, piattaforma di Google Cloud per lo sviluppo e l’implementazione di modelli di intelligenza artificiale, ciascuno ottimizzato per compiti specifici.

I modelli di Anthropic, vengono utilizzati in tutte le funzionalità di Duo che riguardano la generazione automatica di dati testuali. Si utilizza Claude 3, un modello avanzato che offre prestazioni elevate, risposte più lunghe e accesso tramite API. In particolare si utilizza Claude-3-Sonnet per la generazione di codice e Claude 3 Haiku per la generazione di testo.

I modelli di VertexAI vengono invece utilizzati per svolgere altri task come la summarize del testo (modello text-bison), la trasformazione del codice in vettori e la manipolazione del codice (modello code-bision per la code generation). In alcune features si utilizza, inoltre, una combinazione delle due famiglie di modelli. Ad esempio nella code suggestion si utilizza code-gecko di VertexAi per il completamento del codice e claude-3-sonnet di Anthropic per la generazione del codice.

Una lista completa delle features è disponibile qui

Privacy e sicurezza del dato

Un aspetto fondamentale di GitLab Duo, e in generale nel panorama dell’Intelligenza Artificiale, è l’attenzione alla privacy e alla sicurezza del dato.

Riguardo alla data retention, ossia il range temporale in cui il dato rimane a disposizione del modello,sia i modelli Anthropic che quelli di Google mantengono i dati di input e output solo per il tempo richiesto per elaborare l’output dall’input corrispondente in linea con le normative di compliance in tema di privacy e compliance definite all’interno del GDPR.

GitLab, invece, conserva gli input e gli output per un massimo di 30 giorni allo scopo di risolvere i problemi di latenza e di debugging.

Conclusioni

GitLab Duo rappresenta un passo avanti significativo nell’integrazione dell’AI nello sviluppo software. Offrendo un’assistenza completa in tutte le fasi del ciclo di vita del software, GitLab Duo aiuta i team a lavorare in modo più efficiente, sicuro e produttivo.

Se sei alla ricerca di una soluzione AI che possa davvero trasformare il tuo modo di sviluppare software e il modo in cui utilizzi le funzionalità di GitLab, GitLab Duo è la scelta ideale. 

Partecipa al prossimo webinar per saperne di più su GitLab Duo, la nuova major release di GitLab 17 e l’importanza dell’AI nel Software Development Life Cycle (SDLC). Iscriviti qui.