Sono sempre stato affascinato dall'Intelligenza Artificiale e dal potenziale che offre. Da sviluppatore, ho sempre voluto esplorare come integrare le capacità dell'AI all'interno delle mie applicazioni.
Inizialmente, riuscii a realizzare un proof of concept in PHP, ma riguardando al passato posso dire come si trattasse di un sistema poco pratico seppur funzionante.

Ad oggi, la stragrande maggioranza dei progetti di AI fa affidamento su Python (oltre il 25% di share delle pagine web, secondo il TIOBE Index a Maggio 2025) e, per il deployment sul web, su JavaScript grazie a molte librerie specifiche.

Alla ricerca di un'alternativa che fosse costruita in PHP,  ho scoperto NeuronAI: un framework open source, scritto proprio in PHP, ideato per semplificare la creazione di agenti AI full-featured all'interno di progetti PHP.

 «Questa idea del semplice sviluppatore probabilmente si allargherà in ciò che viene chiamato “builder”. Penso che tutti diventeranno dei builder.»
 — Varun Mohan, CEO di Windsurf 

Recentemente, proprio su questo sito, ho creato un AI Agent che mi aiutasse a gestire le richieste dei miei clienti, utilizzando NeuronAI e l'LLM Claude di Anthropic. In questo articolo, vedremo come ho fatto nel dettaglio.

Impostare Neuron AI

Considerato che questo sito è sviluppato in Laravel, il primo passo è stato installare al suo interno NeuronAI, distribuito sotto forma di pacchetto PHP open source. Per questo, è installabile in maniera semplicissima tramite Composer:

composer require inspector-apm/neuron-ai

Tanto basta a settare le giuste dipendenze e permettendoci di creare subito degli AI Agents.

Creare un AI Agent

Il mio obiettivo era creare un Agente AI in grado di:

  1. Ricevere il primo contatto di un potenziale cliente
  2. Comprenderne le sue necessità
  3. Restituire una serie di domande volte a esplorare le richieste del cliente e verificare se il mio supporto può essere risolutivo.

Il primo passo per creare un Agente è definire una classe PHP, che ho chiamato App\Agents\FirstContactAgent.php:

Codice della classe FirstContactAgent.php

Piuttosto semplice, no?

Come funziona

Dopo aver creato la classe FirstContactAgent che estende la classe Agent, ho implementato due metodi - indicati dalla documentazione - :

  1. provider(): questo metodo specifica quale provider LLM deve utilizzare l'agente. Grazie a AIProviderInterface, si può passare molto facilmente da Anthropic a OpenAI, Gemini, Ollama e altri senza cambiare il codice dell'agente.
  2. instructions(): questo metodo definisce il "ruolo" dell'agente, fornendogli contesto, i passaggi da seguire e formato di output tramite SystemPrompt.

Utilizzare l'Agente

Dopo aver definito la classe FirstContactAgent, e creata quindi la struttura dell'Agente, l'ho integrata nel flusso di lavoro all'interno del componente Livewire che riceve i messaggi dal form di contatto.

Il codice per utilizzare l'agente all'interno dell'algoritmo

In pratica, questo metodo:

  1. Crea un'istanza di FirstContactAgent.
  2. Invia il testo del cliente all'LLM tramite il metodo chat(). Questo metodo è il punto di ingresso per avviare una conversazione con il nostro agente.
  3. Restituisce il contenuto elaborato dall'agente con getContent().

Il framework quindi si occupa di orchestrare la chiamata all'LLM, gestire il prompt e restituire il risultato, così da poterlo utilizzare immediatamente nell'applicazione.

Il contenuto elaborato poi può essere utilizzato come si preferisce: nel mio caso, lo utilizzo direttamente nel mio backoffice.

L'output finale

Pensieri finali

Con questo brevissimo esempio abbiamo visto insieme come implementare un AI Agent in contesti reali.

Importante sottolineare che il codice discusso in questo articolo va inteso come una proof of concept: un punto di partenza che però mette in luce le potenzialità dello strumento. Per renderlo più adatto a un environment di production sono stati introdotti meccanismi di gestione errori, una policy di retry per mitigare i picchi di traffico, la sanitizzazione dell'input utente e l'uso di code asincrone per garantire un'esperienza utente sempre fluida.

Utilizzare NeuronAI è risultato soprendentemente semplici e i risultati ottenuti mi hanno davvero impressionato. La facilità nell'integrare diversi modelli AI in progetti PHP apre diversi scenari interessanti per content analysis (a proposito, stay tuned!), l'automazione e tanto altro.

Ovviamente mi sento di consigliare alcuni accorgimenti per sfruttare al massimo NeuronAI:

  • Aggiornamenti costanti: mantenete sempre aggiornati i componenti del vostro stack, sia per accedere alle ultime funzionalità ma soprattutto per garantire un livello di sicurezza adeguato.
  • Monitoraggio delle risposte: l'AI generativa evolve nel tempo e l'output può essere molto variabile. Quindi prendiamoci del tempo per rivedere periodicamente i risultati ed ottimizzare i prompt per mantenerli efficaci.
  • Gestione errori e logging: tracciate ogni chiamata all'agent e registrate eventuali anomalie o fallimenti, in modo tale da sapere sempre cosa succede "sotto il cofano" ogni volta.
  • Sanitizzazione degli input: non date mai per scontata l'affidabilità dei dati in ingresso. Applicate sempre routine di Zero Trust per prevenire exploit e comportamenti inattesi.

Il mio consiglio finale, se siete sviluppatori, è sicuramente sperimentare con NeuronAI. Se invece sei stato guidato qui dalla curiosità e dalla necessità di avere qualcosa di simile nel tuo progetto, contattami senza impegno per un preventivo gratuito e andiamo subito online!