Laravel AI v1.0.1: provider on-demand, macro decide() e approvazioni dei tool più chiare
È disponibile la v1.0.1 di laravel/ai, la prima patch dopo il rilascio della 1.0. Una release compatta ma con due novità API concrete e una serie di rifiniture sul ciclo di vita delle tool call, sulla gestione dei file e sulla configurazione dei provider.
Le novità principali
Ai::build() per configurare i provider on-demand
Il cambiamento più utile per chi lavora con più driver è l'introduzione di Ai::build() (#1071): ora puoi costruire un'istanza configurata al momento, senza dover passare dalla configurazione globale o dal container. Comodo quando il provider dipende dal contesto — un tenant, un job in coda, un tenant-specific API key — invece che da un binding fisso.
La macro decide() sulle Collection
Firmata da Taylor Otwell (#1073), decide() aggiunge alle Collection un modo idiomatico per scegliere un elemento in base a un criterio. È il tipo di helper compatto che si sposa bene con le pipeline di classificazione e con il parsing delle risposte del modello, evitando filter() + first() ripetuti a mano.
Tool call e approvazioni
- Una tool call viene ora annunciata prima della richiesta di approvazione (#1070): il flusso di conferma risulta più leggibile anche lato UI, perché l'utente vede cosa sta per essere eseguito prima di dare l'ok. È la prima contribution di @SantosVilanculos.
- Le pending call delle tool che non possono richiedere approvazione vengono ora chiuse correttamente (#1083), evitando stati appesi quando il tool non partecipa al meccanismo di approval.
File: trait condivisi e fetch remoti
- Il contenuto dei file locali e di quelli nello storage viene ora condiviso tramite trait (#1066): meno duplicazione tra le implementazioni e un comportamento più coerente quando alleghi file da fonti diverse.
- Migliorato il recupero dei file remoti (#1082), un punto sensibile per affidabilità e gestione degli errori di rete.
Pulizia interna e test
- Rimosso codice dei provider inutilizzato e ridondante (#1063).
- La suite di test è migrata da Mockery a Double (#1061), prima contribution di @jasonmccreary: cambia poco per chi usa il package, ma semplifica la manutenzione del repository.
In sintesi
Se state già usando laravel/ai, l'aggiornamento alla 1.0.1 è consigliato: Ai::build() e decide() vi danno due nuove primitive da sfruttare subito, mentre gli interventi su approvazioni e file rendono il comportamento del package più prevedibile. Il changelog completo è disponibile nel diff v1.0.0...v1.0.1.
Fonte originale:
https://github.com/laravel/aiAltri 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.