structuredOutput.
Pourquoi TOON ?
- 30 à 60 % de tokens en moins par rapport au JSON formaté.
- Un en-tête de schéma (
collection[n]{colonnes}) qui agit comme garde-fou côté LLM. - Aller/retour unifié via
@toon-format/toon. - Le parseur convertit désormais les nombres en chaînes lorsque le schéma attend
string(utile pour les SIRET/SIREN).
Activer TOON
TOON nécessite un schémastructuredOutput. Ensuite, on peut l’activer par défaut sur l’agent ou seulement sur certains appels.
Valeur par défaut sur l’agent
Override par appel
toon: true au moment de l’appel.
Comportement du prompt
Quand TOON est actif, AI Kit :- Déduit un exemple à partir de votre schéma
structuredOutputet l’injecte dans le prompt système entre balises ```toon. - Donne l’instruction de répondre uniquement avec ce bloc, en alignant
[N]sur le nombre de lignes retournées. - Décode la réponse via
@toon-format/toon, applique une coercition simple (ex. nombres → chaînes) selon le schéma, puis valide avec Zod.
AI_NoObjectGeneratedError.
Limites et bonnes pratiques
agent.streamn’est pas encore compatible TOON.- Sans
structuredOutput, l’option est ignorée. - Ajoutez une règle claire sur la citation des IDs (ex. « garde les 14 chiffres exactement »).
- Mesurez l’économie en comparant la longueur du JSON original et celle du bloc TOON.
- Pour manipuler TOON côté DX, servez-vous du paquet ou de la CLI
@toon-format/toon.