Freek Van der Herten présente une chaîne de classification mise en place dans There There, un helpdesk lancé la veille de la publication. L’article est daté du 18 septembre 2026. Taylor avait annoncé l’arrivée de Jev dans la branche 1.x de Laravel AI SDK. L’équipe l’a adopté le même jour pour filtrer le spam.

classification.php
<?php

use Laravel\Ai\Classification;
use Laravel\Ai\Classification\Boolean;

$result = Classification::of('I have asked three times now. Can I please talk to a real person?')
    ->question('urgent', new Boolean('Does this request need an immediate response?'))
    ->classify();

$result['urgent']->probability; // 0.94
$result['urgent']->isTrue(threshold: 0.8); // true

Jev est développé par TypeSafe. Le système reçoit un état en langage naturel et une question, puis renvoie une valeur numérique. TypeSafe classe ces modèles dans la famille System One et calibre leurs probabilités sur des résultats réels. Une probabilité de 0,9 doit ainsi correspondre à une réponse correcte dans environ neuf cas sur dix sur un ensemble de données. Le code de l’application conserve la décision et ses règles. Jev propose des questions Noul de type oui ou non, des choix nommés avec Choice et des niveaux numériques avec Score. Une question booléenne renvoie une probabilité. Choice donne aussi la probabilité de chaque option et un score de confiance. Score autorise des valeurs intermédiaires, par exemple 1,4. L’état transmis peut être une chaîne ou un tableau nommé contenant plusieurs éléments métier.

There There reçoit des messages générés automatiquement, parmi lesquels des réponses d’absence, des retours d’échec, des confirmations d’abonnement et des rapports DMARC. Les contrôles d’en-têtes passent en premier. Ils examinent notamment `Auto-Submitted`, une enveloppe de retour vide et l’expéditeur `mailer-daemon`. Une ancienne solution complétait ces contrôles avec des préfixes de sujet pour les réponses automatiques dans 15 langues, neuf préfixes dédiés aux bounces et des exceptions pour les clients qui posent une question sur ces messages. Chaque nouveau cas manqué imposait une modification des listes.

Le nouveau traitement réserve Jev aux messages que les en-têtes ne permettent pas de trancher. L’enum `InboundJudgement` regroupe `IsAutoResponse`, `IsBounce` et `IsSpam`. Chaque cas possède sa question et son seuil. Le seuil des réponses automatiques est fixé à 0,75. Celui des bounces et du spam est fixé à 0,9. Les descriptions des réponses true et false donnent des exemples, notamment les messages humains enrichis par un formulaire et les sollicitations commerciales ou tentatives de phishing non demandées. Ces descriptions restent facultatives, mais l’article conseille de les fournir. Ajouter une nouvelle question revient à ajouter un cas à l’enum.

Les questions non résolues partent ensemble dans une seule requête et sont traitées en parallèle. L’action fournit le sujet, le nom et l’adresse de l’expéditeur, l’adresse du contact et le corps du message limité à 10 000 caractères avec `Str::limit`. Le délai d’expiration est de 10 secondes. Une erreur est enregistrée avec l’identifiant du message et le texte de l’exception, puis le pipeline de messagerie continue son travail. Les réponses brutes sont conservées avec les verdicts booléens. Les seuils peuvent ainsi être modifiés et comparés après coup. Une règle de workflow telle que `Is spam` consulte une colonne déjà enregistrée et ne relance pas Jev. La clé `TYPESAFE_API_KEY` configure le fournisseur dans `config/ai.php`.

Trois questions ont pris 639 millisecondes lors du test rapporté. L’exécution parallèle atteint environ 48 classifications par seconde. Aucun réglage particulier n’a été effectué. Le tarif annoncé est de $0.042 par million de tokens d’entrée, sans facturation des tokens de sortie. Pour There There, cela représente environ quatre centièmes de centime par message et 36 cents par mois. L’auteur prévoit d’utiliser Jev dans d’autres fonctions de There There et dans d’autres produits. Les ressources citées sont la documentation TypeSafe, Laravel AI SDK et l’application There There.