Ce qui se passe
Le Laravel AI SDK, en bêta depuis le début de l'année, passe en 1.0 le 23 septembre 2026. Il reste une API unique, à la manière de Laravel, pour tous les fournisseurs de modèles. La version apporte de vraies nouveautés, et quelques ruptures qu'il faut traiter avant de mettre à jour.
Des outils qui attendent un feu vert
Un outil peut implémenter le contrat Approvable avec le trait
InteractsWithApprovals. Quand le modèle veut l'appeler, l'agent s'arrête au
lieu de l'exécuter, et la réponse décrit l'appel en attente avec les arguments
choisis par le modèle. On reprend la conversation avec une décision par appel :
- approuver l'appel ;
- refuser, avec une raison transmise au modèle ;
- modifier les arguments avant l'exécution.
Cela fonctionne avec prompt, stream, queue et les méthodes de broadcast.
Un middleware à chaque étape
Le middleware d'agent ne tournait qu'une fois par prompt. Il enveloppe
désormais chaque étape de génération, reçue sous forme de PendingStep : un
agent qui appelle trois outils avant de répondre le traverse trois fois. Les
méthodes withModel, withInstructions, withMessages, withTools,
onlyTools, withToolChoice, withMaxTokens et withProviderOptions
permettent de retirer un outil coûteux déjà utilisé, de changer de modèle en
cours de route, de résumer un long historique ou de renvoyer une réponse en
cache sans appeler le fournisseur.
Conséquence à vérifier : un middleware existant qui journalise ou compte « par requête » compte désormais par étape.
Classer sans générer
La classification devient une capacité à part, aux côtés du texte, des images,
de l'audio et des embeddings. Elle s'appuie sur des modèles spécialisés comme
Jev, de TypeSafe, qui répondent en quelques millisecondes pour une fraction
du prix d'un LLM : router un ticket, signaler un commentaire, choisir une
branche de workflow. Elle tourne aujourd'hui via TypeSafe et OpenRouter.
Str::decide() pose une question fermée et renvoie un booléen, avec un
paramètre threshold pour exiger plus ou moins de certitude.
Le reste
- Protocoles front :
Vercel::chatlit et répond au format Vercel Chat (message, historique, décisions d'approbation en une route), et le SDK parle AG-UI, utilisé par CopilotKit. ToolSearch: les outils rares ne sont chargés par le fournisseur que lorsque le prompt les demande, au lieu de décrire les trente à chaque requête. OpenAI et Anthropic.CodeExecution: exécution de code dans le bac à sable du fournisseur. Anthropic, OpenAI, Azure, Gemini et xAI.
Avant de mettre à jour
Les ruptures portent sur le stockage des conversations, le middleware, le comptage des tokens et les protocoles de streaming.
- Chaque message stocke ses allers-retours dans une colonne JSON
steps, chaque résultat rangé avec l'appel qui l'a produit. L'ancien format perdait cette correspondance, au point que certains fournisseurs refusaient l'historique reconstruit. Les accesseurstoolCallsettoolResultsfonctionnent toujours, mais tout SQL écrit contretool_callsoutool_resultsest à reprendre. - Une migration de rattrapage, fournie dans le guide, doit tourner une fois avant le déploiement de la 1.0.
promptTokensetcompletionTokensdeviennentinputTokensetoutputTokens, qui incluent désormais les tokens en cache et de raisonnement.
Le guide de mise à jour
détaille chaque rupture avec une estimation de sa probabilité d'impact.
Laravel propose aussi de confier le travail à un assistant via Boost, son
serveur MCP, qui fournit la commande /upgrade-ai-sdk-v1 pour Claude Code,
Cursor, OpenCode, Gemini ou VS Code :
composer require laravel/boost --dev
php artisan boost:installSource : Introducing Laravel AI SDK v1.0, blog Laravel, 23 septembre 2026.