Brahim Bousnguar

Notes · Article

Ce qui casse quand un agent IA gère un vrai commerce

Par · · 8 min de lecture

Prosus a confié six vrais distributeurs automatiques d’Amsterdam à un agent construit avec le Claude Agent SDK, et l’a laissé les gérer pendant quatre mois. Le commerce a perdu de l’argent. L’agent a distribué 30 boissons en testant une API en production, acheté des nouilles en gobelet qui ne rentraient pas dans les emplacements, et baissé les prix tout l’été : le chiffre d’affaires a augmenté, le bénéfice a disparu.

Le talk, c’est Everything wrong with AI agents running your business de Floris Fok, staff AI engineer chez Prosus, à l’AGNTCon + MCPCon. C’est le regard le plus honnête que j’aie vu sur un agent qui travaille dans le monde physique plutôt que dans un dépôt.

Un distributeur avant un restaurant

Prosus possède des places de marché, et la plupart de ses vendeurs sont de petites entreprises. La vraie question, c’est de savoir si un agent peut gérer un restaurant. Floris a poussé pour commencer par le plus simple des vrais commerces, un distributeur automatique, en affirmant qu’il pouvait le monter en une journée.

Ça n’a pas pris une journée. Et ils sont passés directement à six machines, snacks et boissons, au lieu d’une.

Point de départ

Un distributeur

Le plus simple des vrais commerces

Snacks et boissons

puis

La vraie question

Un restaurant

Vendeurs Prosus : surtout des PME

Un agent peut-il en gérer une ?

L’idéeMonté en un jour

En vraiPas un jour, et six machines au lieu d’une

Le point de départ, raconté par Floris : d’abord le plus simple des vrais commerces, le restaurant plus tard.

D’un tableau de bord humain à des outils

Les machines qu’ils pouvaient obtenir rapidement aux Pays-Bas venaient avec un tableau de bord d’exploitation à distance et un point de vente (POS) qui tourne sur un téléphone. Les deux étaient conçus pour des humains.

  • Tableau de bord : ils ont récupéré le jeton de session et rétro-ingénié ses appels d’API pour en faire des appels d’outil. Moins d’une journée.
  • POS : celui du fournisseur ne permettait de choisir les noms et les images que dans une liste prédéfinie. Ils l’ont reconstruit de zéro, ce qui a ajouté deux jours.

Ils ont testé les outils en les branchant sur un simple chatbot Claude SDK et en pilotant les machines par prompt pendant quelques minutes. Au final, toute l’exploitation (ouvrir la porte, distribuer, changer un produit, un nom ou un prix) tenait dans deux skills, chacun avec sa propre CLI à l’intérieur.

  1. Conçu pour des humainsTableau de bord opérateur

    Jeton de session, appels d’API rétro-ingéniés en appels d’outil

    moins d’un jour

  2. Conçu pour des humainsPOS sur téléphone

    Noms et images d’une liste fixe uniquement, donc refait de zéro

    +2 jours

TestUn simple chatbot Claude SDK avec les outils, qui pilote les machines par prompt quelques minutes

SkillCLI maison dedans

SkillCLI maison dedans

  • ouvrir la porte
  • distribuer
  • changer un produit
  • changer un nom
  • changer un prix
Les deux outils étaient faits pour des gens. Le temps à droite, c’est ce qu’il a fallu à chacun pour devenir quelque chose que l’agent peut appeler.

L’architecture que je réutiliserais

Cette diapo, c’est la partie que j’ai préférée. C’est un modèle propre pour faire tourner un agent Agent SDK en production :

Porte d’entrée

Cloudflare Worker

  • Frontend
  • Sessions partagées

Runtime · VM Cloudflare

Claude Agent SDK

  • Boucle d’agent + exécution des outils
  • Skills · montage de fichiers R2
  • Docs · montage de fichiers R2

Connectés

Services

  • API Claude · traces dans D1
  • Navigateur Browserbase
  • Secrets · base chiffrée + CLI
  • Twilio · e-mail · Slack

Les choix derrière, c’est la partie utile :

  • Pourquoi l’Agent SDK : sous-agents, skills et outil bash sont fournis d’origine. Ils voulaient un harnais (harness) nu, pour ne pas encore orienter l’agent.
  • Les secrets n’atteignent jamais le modèle. Un skill maison avec une CLI écrit des placeholders dans le code et injecte lui-même les vraies valeurs, si bien qu’aucun fournisseur ne voit une clé. Floris l’a trouvé « peut-être un peu usine à gaz », et l’a gardé.
  • Les skills et les docs sont des buckets R2 montés comme des fichiers dans la VM. Le dossier docs, c’est la connaissance de l’entreprise, écrite par l’agent et par des humains. Floris l’a enrichi à mesure qu’il apprenait comment fonctionne vraiment un commerce de distributeurs automatiques.
  • Il tourne selon un planning, pas en continu. Ils ont repris ça du Project Vend d’Anthropic : un planning réveille l’agent, il agit, puis une vérification séparée examine le résultat. Au début, chaque tâche revenait au vert alors que rien ne s’était passé. Dès qu’un agent touche le monde réel, une session terminée ne veut pas dire que le travail est fait.
  • L’agent appartient à une équipe. Plusieurs personnes se connectent à la même session et voient le même état, donc un agent bloqué qui demande de l’aide n’attend pas une semaine qu’une seule personne rentre de vacances.
  • La compaction garde l’histoire du commerce. La compaction par défaut résume la conversation. La leur garde le cap sur de longues séries d’appels d’outil, écrit ce qui compte dans les docs et y renvoie par des liens.

Réveil

Planning

  • Pas en continu
  • Repris de Project Vend

Action

Agent

  • Traite ses tâches
  • La session finit au vert

Vérification, à part

Contrôle du résultat

  • Examine le résultat
  • Le vert ne prouve rien

Au débutChaque tâche revenait au vert, et rien ne s’était passé.

Le planning de la diapo d’architecture. La vérification, c’est la case pleine : dès qu’un agent touche le monde réel, une session terminée ne veut pas dire que le travail est fait.

Floris a plaisanté : Cloudflare avait sorti une version packagée de tout ça quelques semaines avant le talk. La brique officielle la plus proche que j’ai trouvée, c’est Claude Managed Agents on Cloudflare. Le hic : là, la boucle d’agent tourne côté Anthropic, et Cloudflare fournit la sandbox, le navigateur, l’e-mail et les outils. Sur la diapo de Prosus, la boucle tourne dans la VM.

Là où les ennuis ont commencé

L’agent tournait sur Opus 4.8. Le construire, c’était la partie amusante. Ensuite :

  • Un test est une vraie vente. Il a « testé » l’API de la machine et distribué une trentaine de boissons, apparemment pour calibrer la taille des emplacements. Il faut lui dire quelles API sont en production.
  • Il rend compte comme un agent de code. Quand on lui a demandé un point, il a envoyé un changelog. Floris voulait des KPI et du chiffre d’affaires.
  • Les nouilles en gobelet. Quelqu’un sur Slack a suggéré des nouilles, l’agent en a commandé, et elles ne rentraient pas dans la machine. Floris les a données.
  • 1 100 bonnes affaires. Avec une tâche « trouver des bonnes affaires », il en a trouvé 1 100, dont du savon, des produits ménagers et un mix à cocktail Sex on the Beach. Il était très fier d’une savonnette. Il a aussi accumulé une grosse facture de navigateur.
  • Du marketing par message Slack. Chargé de faire sa promo, il a posté du texte brut, puis généré une seule image avec Gemini. C’est là que Floris a compris pourquoi les équipes confient le marketing à un agent dédié : un agent écrit comme si son lecteur était un autre agent.

La plupart des correctifs, c’était du contexte qui semble trop évident pour être écrit : tu es un distributeur automatique, les gens veulent manger ce qu’il y a dedans, voici la taille des emplacements.

  1. 1Un test est une vente

    Il a « testé » l’API de la machine et distribué une trentaine de boissons.

  2. 2Le point

    Quand on lui a demandé un point, il a envoyé un changelog. Floris voulait des KPI et du chiffre d’affaires.

  3. 3Nouilles en gobelet

    Quelqu’un sur Slack a suggéré des nouilles en gobelet. Elles ne rentraient pas dans la machine.

  4. 4Trouver des affaires

    Chargé de trouver des bonnes affaires, il en a trouvé 1 100. Il était très fier d’une savonnette.

  5. 5Fais ta promo

    Chargé de faire sa promo, il a posté du texte brut, puis généré une seule image.

  6. 6Le correctif

    La plupart des correctifs, c’était du contexte qui semble trop évident pour être écrit.

Les ratés du talk, une case chacun. La dernière montre le genre de contexte qui a réglé la plupart d’entre eux.

Des objectifs plutôt qu’une liste de tâches

Une liste de tâches figée ne change pas à mesure que le commerce apprend. Ils sont donc passés à des objectifs permanents. Quand l’agent vérifie un objectif, il regarde les tâches qui y sont liées, en crée s’il n’y en a pas, et les modifie si elles ne suffisent pas.

« Devenir la machine la plus célèbre du monde » a transformé une tâche de promo hebdomadaire en d’autres tâches de promo, une étude de marché et une recherche de distributeurs autonomes concurrents. Il n’en a trouvé aucun.

Avant

Une liste de tâches

Figée. Elle ne bouge pas quand le commerce apprend.

puis

Après

Des objectifs permanents

  1. 1Vérifier l’objectif
  2. 2Voir ses tâches liées
  3. 3Aucune ? En créer
  4. 4Insuffisantes ? Les modifier

ObjectifDevenir la machine la plus célèbre du monde

Une tâche de promo hebdo est devenue

  • D’autres tâches de promo
  • Une étude de marché
  • Une recherche de distributeurs autonomes concurrents aucun trouvé
Le passage des tâches aux objectifs, avec l’exemple du talk.

Le dernier kilomètre de l’IA

« L’IA gère la machine », ça voulait quand même dire que Floris portait le stock et devinait ce que l’agent entendait par « ajoute ça dans la machine ». Ils ont donc ajouté un chat opérateur : un bouton sur le POS qui ouvre un chat sur la tâche en cours, pour que la personne qui réassortit puisse poser ses questions en travaillant.

D’après lui, ça a multiplié sa productivité par 10, comparé à une heure à jongler entre les e-mails et le tableau de bord. Il pense qu’aider les petites entreprises sur ce dernier kilomètre pourrait devenir un marché à part entière.

Avant

À la main

Floris porte le stock

Il devine ce que veut dire « ajoute ça dans la machine »

Une heure à jongler entre e-mails et tableau de bord

puis

Après

Chat opérateur

Un bouton du POS l’ouvre

Qui réassortit pose ses questions en travaillant

10×Sa productivité, selon lui, face à une heure à jongler entre e-mails et tableau de bord.

Le chat opérateur du talk. Le 10×, c’est sa formule sur scène, pas une mesure.

Les chiffres

  • Mise en route : des articles gratuits d’abord, pour apprendre ce que les gens aimaient.
  • Premiers prix : bien trop élevés.
  • L’été : l’agent n’a pas arrêté de baisser fortement les prix. Un shake protéiné y coûtait moins cher que chez Albert Heijn, si bien que le chiffre d’affaires a augmenté pendant que le bénéfice s’effondrait.
  • Tokens : environ 300 par mois pendant quatre mois. Le commerce a perdu de l’argent.
  • Concurrence : les machines affrontaient les fruits, les barres et les boissons offerts au bureau. La machine de l’AI House était de loin la plus rentable.
  1. 1Mise en route

    Articles gratuits

    Pour voir ce qui plaît

  2. 2Premiers prix

    Bien trop élevés

  3. 3L’été

    Forte baisse

    Un shake protéiné moins cher que chez Albert Heijn

    CA ↑bénéfice ↓

  4. 4Après quatre mois

    Argent perdu

    Tokens : environ 300 par mois

ConcurrenceFruits, barres et boissons offerts au bureau. La machine de l’AI House était de loin la plus rentable.

Les quatre mois en phases. Les barres schématisent le niveau de prix, ce ne sont pas de vrais prix.

À vous d’essayer

Prosus a publié en open source une version simulée, Prosus Vending Bench, sous licence Apache 2.0. Elle compte six machines, trois sites et 22 outils MCP. L’agent reçoit 1 500 € et 30 jours simulés, et le tout est livré sous forme de tâche Harbor. L’annonce indique qu’Opus 5 a terminé avec environ 61 % de trésorerie simulée de plus que GPT-5.6 Sol lors de leurs premiers essais. Selon Floris, les modèles se comportent comme sur les vraies machines.

6machines

3sites

22outils MCP

1 500 €au départ

30jours simulés

Apache 2.0livré en tâche Harbor

Trésorerie simulée à la fin, premiers essais

GPT-5.6 Solla référence

Opus 5environ 61 % de plus

FlorisLes modèles se comportent comme sur les vraies machines.

Le bench, d’après son dépôt et l’annonce. Les barres ne montrent que l’écart donné par l’annonce, pas les montants.

Pour aller plus loin, voici les travaux sur lesquels le talk s’appuie :

Regardez le talk, puis essayez votre harnais sur le bench. Floris dit qu’il l’ajoutera s’il bat le sien.

Texte brut: what-breaks-when-an-agent-runs-a-business.md · Flux Atom · Toutes les notes

Contact

Écrivez-moi.

b.bousnguar@gmail.com

Intégration SAP Commerce Cloud, MuleSoft et Salesforce · Nantes · FR / EN