Couche 6 sur 8 d'un agent IA fiable

Le cache, pour qu'une question déjà posée ne se repaie pas.

Le cache garde de côté ce qui a déjà été calculé pour le resservir sans tout refaire : la partie fixe des instructions envoyées au modèle, une réponse générale déjà validée, une donnée lue il y a quelques instants. Pour une boutique, il évite de payer le modèle encore et encore pour la même question un jour de pic. Sa règle d'or : ne jamais servir à un client ce qui a été préparé pour un autre.

Sans : Le lundi matin, la même question sur les délais de livraison arrive en série, et chaque message relance le modèle depuis zéro, avec toutes ses instructions, comme si c'était la première fois.

Avec : Les instructions fixes sont mises en cache chez le fournisseur, la réponse générale sur les délais est resservie telle quelle, et seule la partie propre à chaque client est calculée.

Diagnostic IA offert

Laissez votre numéro. Je vous rappelle sous 24 heures ouvrées, je passe votre boutique au crible des 8 couches et je vous remets :

  • Ce que votre boutique peut confier à un agent, et ce qu'elle doit garder
  • L'état de chacune des 8 couches, avec la preuve
  • Les pièges testés sur votre cas : réponse inventée, consigne cachée, fuite entre clients
  • Une solution construite à partir de votre budget, dans l'ordre : ce qui protège d'abord, ce qui rend service ensuite

Gratuit et sans engagement. Votre numéro sert uniquement à vous rappeler.

Pourquoi un cache change-t-il la facture d'un agent IA ?

Un modèle se paie à la consommation : le texte qu'on lui envoie et celui qu'il produit. À chaque message, l'agent renvoie son prompt système, la description de ses outils et souvent des extraits de documents. Cette partie fixe est la même d'un message à l'autre, et sans cache elle est relue intégralement à chaque fois.

Une boutique reçoit beaucoup de questions qui se ressemblent : délais de livraison, frais de retour, disponibilité d'une taille. Les jours de pic, ce sont souvent les mêmes, en série. Servir une réponse générale déjà validée évite de solliciter le modèle pour une question dont la réponse ne change pas.

Mais un cache mal pensé est dangereux. Une réponse sur « votre commande » ne vaut que pour un client. Si elle est resservie à quelqu'un d'autre, c'est une fuite de données. C'est pour cela que je sépare strictement ce qui peut être partagé de ce qui ne doit jamais l'être.

Comment je monte le cache

Il y a plusieurs caches, à des endroits différents, et chacun a sa règle.

  1. 1

    Ordonner le prompt pour le cache du fournisseur

    Les fournisseurs de modèles savent réutiliser un début de prompt identique. Je place la partie fixe en tête, prompt système et description des outils, et la partie variable à la fin.

  2. 2

    Identifier les questions générales

    Délais, frais, conditions de retour : les réponses qui ne dépendent d'aucun client peuvent être resservies, avec la version du document qui les fonde.

  3. 3

    Exclure tout ce qui est personnel

    Commande, adresse, suivi, historique : jamais partagés. Une donnée personnelle ne se met en cache que pour la même personne, et pour peu de temps.

  4. 4

    Séparer par canal et par langue

    Une réponse valable sur un canal ou dans une langue ne l'est pas forcément ailleurs. La clé du cache inclut ces paramètres.

  5. 5

    Vider quand la règle change

    Quand vous modifiez une condition ou un délai, les réponses qui en dépendent sont effacées. Le cache ne doit jamais servir une règle périmée.

Ce que le cache change, cas par cas

« Où en est ma commande ? » en série

Sans : Chaque message relance le modèle avec toutes ses instructions, depuis zéro.

Avec : La partie fixe est en cache chez le fournisseur ; seul le statut propre à chaque client est lu et rédigé.

Les frais de retour sur Sylius

Sans : La même explication est régénérée pour chaque client, avec de légères variations.

Avec : Une réponse validée, liée au canal Sylius et à la version du document, est resservie à l'identique.

Une réponse sur une commande Sylius

Sans : Un cache naïf, construit sur le texte de la question, ressert à un client le suivi d'un autre qui avait écrit la même phrase.

Avec : Tout ce qui touche une commande est exclu du cache partagé : chaque client reçoit ses propres données.

Une condition modifiée

Sans : Vous changez votre délai de retour, mais le cache continue de servir l'ancien.

Avec : La mise à jour du document efface les réponses qui en dépendent ; la nouvelle règle s'applique tout de suite.

Le cache sur une boutique Sylius

Sur Sylius, la clé du cache reprend les dimensions que la boutique connaît déjà : le canal, la locale et la devise. Une réponse sur les frais de livraison du canal professionnel ne doit pas être resservie sur le canal grand public. Je m'appuie sur l'infrastructure de cache de Symfony déjà présente dans la boutique, sans service supplémentaire à payer.

Les données vivantes restent lues en direct par l'API de Sylius ou par les services internes : prix, stock, statut de commande et d'expédition. Il m'arrive de garder une lecture quelques instants pour un même client et une même conversation, jamais d'un client à l'autre. Le cache sert à éviter de repayer le modèle, pas à figer l'état de la boutique.

Sur un agent qui traite les messages en différé, comme celui que je construis pour une boutique sous Sylius 2, le cache du fournisseur porte sur la partie fixe : consignes, description des outils et règles écrites du commerçant. Chaque passage est tracé avec son coût, ce qui permet de vérifier que le cache fait réellement son travail.

Intégrer un agent IA à une boutique Sylius

Où en est cette couche dans votre boutique ?

Je la vérifie avec les sept autres pendant le diagnostic offert, et je vous propose la solution qui rentre dans votre budget. Laissez votre numéro, je vous rappelle sous 24 heures ouvrées.

Gratuit et sans engagement. Votre numéro sert uniquement à vous rappeler.

Ce que vous y gagnez

Une facture qui tient les jours de pic

La consommation du modèle ne suit plus mécaniquement le nombre de messages identiques.

Des réponses cohérentes

La même question générale reçoit la même réponse validée, pas une variation à chaque fois.

Des réponses plus rapides

Une réponse déjà prête arrive sans attendre le modèle.

Aucune fuite entre clients

Ce qui est personnel n'entre jamais dans un cache partagé.

Ce qui vous protège

La séparation est écrite dans le code : une réponse qui contient une donnée de commande, d'adresse ou de paiement ne peut pas être stockée dans le cache partagé. Les tests de référence vérifient précisément ce cas, en envoyant la même phrase depuis deux clients différents.

Côté fournisseur, OpenAI indique que ses caches de prompt ne sont pas partagés entre organisations. Anthropic garde par défaut un préfixe en cache cinq minutes, avec une option d'une heure. Ces durées courtes limitent ce qui reste stocké, et je n'y place que la partie fixe.

Les tests qui vérifient cette couche

Les tests du cache portent autant sur la sécurité que sur l'économie.

Deux clients envoient la même phrase « Où en est ma commande ? ».

Réponse attendue : Chacun reçoit les données de sa propre commande ; aucune réponse n'est resservie de l'un à l'autre.

Quels sont vos frais de retour ? posée deux fois de suite.

Réponse attendue : La seconde réponse vient du cache, identique, avec la même source citée.

La même question sur deux canaux Sylius différents.

Réponse attendue : Deux réponses distinctes, chacune conforme à son canal.

Une question posée juste après la modification d'une condition.

Réponse attendue : La nouvelle règle est appliquée ; l'ancienne réponse n'est plus servie.

Une série de messages identiques, trace par trace.

Réponse attendue : Le coût enregistré baisse après le premier passage, preuve que le cache du fournisseur est utilisé.

En Belgique : un cache par langue

Une boutique belge qui répond en français et en néerlandais ne peut pas resservir une réponse d'une langue à l'autre. La langue fait partie de la clé du cache, au même titre que le canal, et chaque version de vos réponses générales est validée dans sa langue. Un client néerlandophone ne reçoit jamais une réponse française tirée du cache, et l'inverse non plus.

Questions fréquentes

Le cache peut-il servir une réponse fausse ?

Seulement s'il garde une règle périmée. C'est pour cela que la modification d'un document efface les réponses qui en dépendent, et que les tests le vérifient.

Le cache du fournisseur d'IA est-il automatique ?

Cela dépend du fournisseur. OpenAI l'active par défaut sur les modèles compatibles au-delà d'une certaine longueur ; chez Anthropic, il se déclenche automatiquement ou par des repères explicites. Dans tous les cas, l'ordre du prompt doit être pensé pour qu'il fonctionne.

Combien le cache fait-il économiser ?

Cela dépend de votre volume, de la part de questions répétées et du fournisseur. Je ne donne pas de chiffre a priori : les traces de coût, passage par passage, le mesurent sur votre boutique.

Le cache peut-il mélanger les clients ?

Pas dans ma méthode. Tout ce qui est personnel est exclu du cache partagé, et un test envoie la même phrase depuis deux clients pour le vérifier.

Faut-il un cache dès le départ ?

L'ordre du prompt pour le cache du fournisseur, oui, car il ne coûte rien à mettre en place. Le cache de réponses générales vient quand le volume de messages le justifie.

Pour aller plus loin

Un agent qui tient ses promesses, dans votre budget

Je pars de votre budget et de vos demandes les plus fréquentes, et je monte d'abord ce qui protège. Le diagnostic est offert et vous appartient, même si vous confiez la construction à quelqu'un d'autre.

Diagnostic IA offert

Laissez votre numéro. Je vous rappelle sous 24 heures ouvrées, je passe votre boutique au crible des 8 couches et je vous remets :

  • Ce que votre boutique peut confier à un agent, et ce qu'elle doit garder
  • L'état de chacune des 8 couches, avec la preuve
  • Les pièges testés sur votre cas : réponse inventée, consigne cachée, fuite entre clients
  • Une solution construite à partir de votre budget, dans l'ordre : ce qui protège d'abord, ce qui rend service ensuite

Gratuit et sans engagement. Votre numéro sert uniquement à vous rappeler.