Coderen met een AI

Programmare con un agente AI

L’intelligenza artificiale (AI) ha cambiato radicalmente il modo in cui programmiamo. Gli agenti AI possono generare, ottimizzare e persino aiutare nel debugging del codice. Tuttavia, ci sono alcune limitazioni che i programmatori devono tenere a mente quando lavorano con l’AI.

Problemi di sequenza e duplicazione

Gli agenti AI hanno difficoltà con la corretta sequenza del codice. Ad esempio, potrebbero posizionare le inizializzazioni alla fine di un file, causando errori di runtime. Inoltre, l’AI può definire più versioni della stessa classe o funzione all’interno di un progetto senza esitazione, portando a conflitti e confusione.

Una piattaforma di codice con memoria e struttura di progetto aiuta

Una soluzione a questo è l’uso di piattaforme di codice AI che possono gestire la memoria e le strutture di progetto. Questo aiuta a mantenere la coerenza in progetti complessi. Sfortunatamente, queste funzionalità non vengono sempre applicate in modo coerente. Di conseguenza, l’AI potrebbe perdere la coesione di un progetto e introdurre duplicazioni indesiderate o dipendenze errate durante la programmazione.

La maggior parte delle piattaforme di codifica AI funziona con i cosiddetti strumenti che il modello linguistico di grandi dimensioni può richiamare. Questi strumenti si basano su un protocollo standard aperto (MCP). È quindi possibile collegare un IDE come Visual Code a un agente di codifica AI. Opzionalmente, è possibile configurare localmente un LLM con llama o ollama e scegliere un server MCP con cui integrarsi. I modelli si trovano su huggingface.

Le estensioni IDE sono indispensabili

Per gestire meglio il codice generato dall’AI, gli sviluppatori possono utilizzare estensioni IDE che garantiscono la correttezza del codice. Strumenti come linters, type checker e strumenti avanzati di analisi del codice aiutano a individuare e correggere gli errori in anticipo. Costituiscono un’integrazione essenziale al codice generato dall’AI per garantirne la qualità e la stabilità.

La causa degli errori ripetitivi: contesto e ruolo nelle API

Uno dei motivi principali per cui gli agenti AI continuano a ripetere errori risiede nel modo in cui l’AI interpreta le API. I modelli AI necessitano di contesto e di una chiara descrizione del ruolo per generare codice efficace. Ciò significa che i prompt devono essere completi: devono contenere non solo i requisiti funzionali, ma anche esplicitare il risultato atteso e i vincoli. Per facilitare ciò, è possibile salvare i prompt in un formato standard (MDC) e inviarli regolarmente all’AI. Ciò è particolarmente utile per le regole di programmazione generiche che si seguono e per i requisiti funzionali e tecnici e la struttura del proprio progetto.

Strumenti come FAISS e LangChain aiutano

Prodotti come FAISS e LangChain offrono soluzioni per aiutare l’AI a gestire meglio il contesto. FAISS, ad esempio, aiuta nella ricerca e nel recupero efficiente di frammenti di codice pertinenti, mentre LangChain aiuta a strutturare il codice generato dall’AI e a mantenere il contesto all’interno di un progetto più ampio. Ma anche qui è possibile configurarlo localmente con database RAC.

Conclusione: utile, ma non ancora autonomo

L’AI è uno strumento potente per i programmatori e può aiutare ad accelerare i processi di sviluppo. Tuttavia, non è ancora in grado di progettare e costruire autonomamente una codebase più complessa senza controllo umano. I programmatori dovrebbero considerare l’AI come un assistente che può automatizzare attività e generare idee, ma che necessita ancora di guida e correzione per ottenere un buon risultato.

Contattaci per ricevere aiuto nella configurazione dell’ambiente di sviluppo, per aiutare i team a ottenere il massimo dall’ambiente di sviluppo e a dedicarsi maggiormente all’ingegneria dei requisiti e alla progettazione piuttosto che al debugging e alla scrittura di codice.

 

Gerard

Gerard opera come consulente e manager AI. Con una vasta esperienza in grandi organizzazioni, è in grado di analizzare rapidamente un problema e lavorare verso una soluzione. Combinato con un background economico, garantisce scelte commercialmente valide.

AIR (Artificial Intelligence Robot)