Programmare con un agente AI

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

Problemi di ordine e duplicazione

Gli agenti AI hanno difficoltà a rispettare l’ordine corretto del codice. Ad esempio, possono posizionare inizializzazioni alla fine di un file, causando errori a runtime. Inoltre, l’AI può definire senza esitazione più versioni della stessa classe o funzione all’interno di un progetto, 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 memoria e strutture di progetto. Questo aiuta a mantenere la coerenza in progetti complessi. Purtroppo queste funzionalità non sono sempre applicate in modo coerente. Di conseguenza, può succedere che l’AI perda il contesto di un progetto e introduca duplicazioni indesiderate o dipendenze errate durante la programmazione.

La maggior parte delle piattaforme di coding AI funziona con cosiddetti strumenti che possono richiamare il modello di linguaggio di grandi dimensioni (LLM). Questi strumenti si basano su un protocollo standard aperto (MCP). È quindi possibile collegare un agente di coding AI a un IDE come Visual Code. Eventualmente puoi configurare localmente un LLM con llama o ollama e scegliere un server MCP con cui integrarti. 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 controllano la correttezza del codice. Strumenti come linters, type checker e strumenti avanzati di analisi del codice aiutano a individuare e correggere errori precocemente. Essi rappresentano un complemento essenziale al codice generato dall’AI per garantire qualità e stabilità.

La causa degli errori ricorrenti: contesto e ruolo nelle API

Una delle ragioni principali per cui gli agenti AI continuano a ripetere errori risiede nel modo in cui l’AI interpreta le API. I modelli AI hanno bisogno di contesto e di una chiara definizione del ruolo per generare codice efficace. Ciò significa che i prompt devono essere completi: non devono contenere solo i requisiti funzionali, ma anche esplicitare il risultato atteso e le condizioni al contorno. Per facilitare questo, puoi salvare i prompt in un formato standard (MDC) e inviarli sempre insieme all’AI. Questo è particolarmente utile per regole di programmazione generiche che applichi e per i requisiti funzionali e tecnici e la struttura del tuo progetto.

Strumenti come FAISS e LangChain aiutano

Prodotti come FAISS e LangChain offrono soluzioni per far gestire meglio il contesto all’AI. FAISS aiuta ad esempio nella ricerca efficiente e nel recupero di frammenti di codice rilevanti, mentre LangChain aiuta a strutturare il codice generato dall’AI e a mantenere il contesto all’interno di un progetto più ampio. Anche qui puoi eventualmente configurare 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 complessa senza controllo umano. I programmatori devono considerare l’AI come un assistente che può automatizzare compiti e generare idee, ma che necessita ancora di guida e correzione per arrivare a un buon risultato.

Contatta qui per aiutare a configurare l’ambiente di sviluppo e supportare i team a sfruttare al massimo l’ambiente di sviluppo, dedicandosi maggiormente all’ingegneria dei requisiti e al design piuttosto che al debugging e alla scrittura del codice.

 

Gerard

Gerard

Gerard è attivo come consulente e manager AI. Con molta esperienza in grandi organizzazioni, è in grado di svelare rapidamente un problema e lavorare verso una soluzione. Combinato con un background economico, garantisce scelte commercialmente responsabili.

AIR (Artificial Intelligence Robot)