I robot stanno sostituendo i pacchetti
Installare un pacchetto Laravel richiede trenta secondi. Scrivere un'implementazione solida richiede tempo. Ma con lo sviluppo assistito dall'AI, il tempo non è più un fattore così importante perché la scrittura avviene in background.
Chiediamo all'agente di creare un uploader di file. In passato, quella richiesta avrebbe innescato un riflesso: come costruirò questo? Navigando tra i pacchetti Laravel, il pacchetto media library di Spatie sembra una scelta popolare e sicura. Lo installo, lo configuro e procedo con la mia giornata. Gli agenti non hanno quel riflesso. Si limitano a costruire.
Non tutti i problemi o i pacchetti sono uguali. Come prendiamo la decisione tra affidarci a una libreria esterna e far ballare i robot per costruirci esattamente ciò di cui abbiamo bisogno?
Categoria 1: Il problema condiviso
Molti problemi sono comuni e sono già stati risolti.
Vuoi definire la struttura del menu del tuo sito per renderizzarla come menu principale, menu nel footer e generare breadcrumb da essa. È un problema che esiste in molte applicazioni. Abbiamo costruito spatie/laravel-navigation per questo.
La navigazione del sito è un problema autonomo e stabile. Una volta costruito il tuo menu, è costruito. Sebbene un pacchetto possa avere una bella API o risolvere alcuni casi limite per te, nessuno di questi è un problema difficile. Lascia che i robot costruiscano esattamente ciò di cui hai bisogno.
Categoria 2: Il problema difficile
Alcuni problemi sembrano semplici dall'esterno e rivelano la loro vera complessità una volta dentro.
Vuoi aggiungere orari di apertura a un sito web. In superficie: dal lunedì al venerdì, dalle nove alle cinque, fatto. Poi devi aggiungere eccezioni per le festività. Poi devi aggiungere eccezioni per ferie e giorni di chiusura speciali. Poi devi aggiungere eccezioni per aperture domenicali. Hai bisogno di un modello che esprima "questi orari ricorrenti, tranne quando non lo sono". Poi Google deve poterli analizzare, quindi devi serializzare tutto in JSON-LD. Poi ti rendi conto che le persone visualizzano gli orari di apertura da fusi orari diversi, il che rende il tutto notevolmente più complicato.
Un agente è in grado di gestire tutto questo, ma devi descrivere la complessità che vuoi risolta in anticipo, o in modo reattivo mentre ci lavori. Non anticiperà i problemi comuni per te. Un pacchetto ben curato lo farà. Il nostro pacchetto opening hours codifica casi limite che hanno richiesto anni di utilizzo reale per emergere. Ottieni tutto questo senza doverci pensare.
Affidati ai pacchetti quando hai a che fare con problemi difficili di cui non vuoi assumerti la proprietà. Lascia che i robot lavorino sul tuo core business invece.
Categoria 3: Il problema esterno
Alcuni problemi sono legati a qualcosa fuori dal tuo controllo, come un'API con cui stai integrando. I servizi e i protocolli di terze parti evolvono nel tempo, e il tuo codice deve stare al passo.
Vuoi aggiungere un'integrazione con Linear alla tua app. Un agente può scriverti un client che funziona oggi, ma quando Linear aggiorna la loro API, è tua responsabilità notarlo, investigare e aggiornare il tuo codice. Un pacchetto ben mantenuto assorbe quel cambiamento per te. Tutto ciò che devi fare è composer update.
Lo stesso vale per i pacchetti costruiti attorno a pattern di driver. Potresti usare Pusher per dati in tempo reale oggi, ma potresti voler passare a Laravel Reverb in futuro. Un pacchetto con supporto driver riduce quel refactoring a un cambio di configurazione. Se il tuo agente ha costruito un'integrazione Pusher, potrebbe doverla ricostruire come integrazione Reverb in seguito.
Per i problemi esterni, l'onere di manutenzione è continuo. Un pacchetto riduce la quantità di codice che devi aggiornare nel tempo. I robot possono spendere i loro token altrove.
Categoria 4: La soluzione di buon gusto
Non ogni decisione su un pacchetto è tecnica. A volte vuoi un pacchetto perché è opinionato.
Inertia spinge te e il tuo agente verso un pattern specifico. Anche se potresti essere in grado di costruire una versione fai-da-te di Inertia con esattamente ciò di cui hai bisogno, scegli Inertia perché credi nella direzione del framework.
Allo stesso modo, non stiamo usando Livewire solo per i suoi benefici tecnici. Lo usiamo perché Caleb Porzio ha un ottimo gusto nel design delle API. Gli aggiornamenti delle librerie principali spesso includono nuove affordance e primitive. Queste sono distillate da pattern e limitazioni che l'autore e gli utenti del pacchetto hanno usato o raggiunto.
Per il codice al centro della tua architettura che influisce su come costruisci le app, affidati a un autore di cui ti fidi. I robot non hanno ancora gusto.
Dove lascia i pacchetti
Come costruttori seriali di pacchetti, abbiamo un interesse in questo. Ma il motivo per cui costruiamo pacchetti è per colmare lacune che devono essere colmate. Se gli agenti entrano in scena per colmare la lacuna dei problemi condivisi, siamo felici di mettere in pensione quei pacchetti e puntare a problemi più interessanti.
La domanda davanti a ogni composer require non è più "esiste un pacchetto per questo?" Quasi certamente sì. La nuova domanda è: "voglio possedere questo problema?"
Altri articoli recenti
Laravel AI 1.1 e 1.2: Agent Skills, Cohere e structured output più solidi
Le release 1.1.0 e 1.2.0 di laravel/ai portano gli Agent Skills, l'approvazione obbligatoria per i tool built-in e nuovi provider come Cohere e Laya self-hosted. Sul fronte qualità arrivano i fix allo structured output per Bedrock e il supporto alle provider options. Aggiornati anche i modelli di default, con Claude 4.7+ che ignora i sampling params.
Laravel 13.35.0: scheduler più controllabile, code più flessibili e response Markdown
Laravel 13.35.0 porta Schedule::alwaysOnOneServer(), il supporto a schedule:interrupt per i comandi di lunga durata, --memory in percentuale per queue:work e il nuovo metodo markdown() sulla response factory. Tante piccole migliorie anche a test, view compilate in parallelo e dischi local.
BashBox: un interprete Bash in sandbox per agenti AI in PHP
BashBox è un interprete bash scritto in puro PHP che permette di eseguire gli script generati dagli agenti AI senza mai ricorrere a proc_open, exec o shell_exec. Ogni comando è una classe PHP che lavora su un filesystem virtuale, con limiti di esecuzione, quote disco e accesso di rete configurabili. Ideale per chi sviluppa agenti con il Laravel AI SDK o altre librerie simili.