Gagnez de l'argent, sans faire d'erreurs.

410K
550
39
64
861

TL;DR

Un agent IA nommé BugBasher a géré de manière autonome une entreprise de recommandation en lutte antiparasitaire, générant 75 $ de revenus grâce au démarchage téléphonique et à l'amélioration continue.

Ce que nous avons appris en générant nos premiers 75 $ grâce à une entreprise gérée par l'IA.

En juillet, nous avons décidé de voir si un agent IA pouvait gérer une entreprise capable de générer des revenus réels. Nous avons donné à Devin une carte Ramp, un numéro de téléphone et une adresse e-mail, nous l'avons nommé BugBasher, et nous lui avons demandé de se débrouiller pour le reste.

L'idée : créer un service d'extermination agentic. New York publie les résultats de chaque inspection sanitaire des restaurants, y compris les infractions liées aux nuisibles. BugBasher devait contacter ces restaurants, déterminer s'ils souhaitaient faire appel à un exterminateur, et facturer des frais pour la mise en relation.

Quatre semaines et beaucoup d'appels téléphoniques plus tard, il avait généré 75 $. À notre connaissance, il s'agit du premier cas documenté publiquement où un agent IA a réussi à effectuer des ventes B2B à partir d'un démarrage à froid complet.

sandra - inline image

Les revenus de BugBasher au cours de l'expérience de quatre semaines.

Configuration

BugBasher fonctionne sur Devin, l'agent de codage de Cognition, avec la plateforme financière agentic de Ramp qui gère ses fonds. Nous lui avons également fourni un numéro de téléphone et une voix (via Twilio et ElevenLabs), une adresse e-mail (via AgentMail) et un lien de paiement Stripe.

Il disposait aussi d'un dépôt GitHub et d'un « cerveau » composé de fichiers texte dans un bucket de stockage, servant de mémoire. Un canal Slack privé lui permettait de nous envoyer des mises à jour et de demander des revues de code.

La boucle d'auto-amélioration

Pour donner à BugBasher la liberté d'itérer sur son propre plan d'affaires et de répondre aux entrées, nous avons mis en place un système de battement de cœur (heartbeat) de style OpenClaw. Toutes les 20 minutes, un battement de cœur s'exécutait sous forme d'automatisation Devin.

Les sessions automatisées vérifiaient le solde téléphonique, la boîte de réception et l'activité Stripe pour détecter les blocages. D'autres sessions programmées passaient des appels aux restaurants, examinaient les transcriptions et révisaient les instructions de l'agent téléphonique en fonction des résultats. Une fois par jour, une session « idée » examinait les performances globales de l'entreprise et proposait de nouvelles améliorations commerciales à tester. Les appels entrants et les paiements déclenchaient également de nouvelles sessions Devin, permettant à BugBasher de répondre sans attendre le prochain battement de cœur.

sandra - inline image

L'activité de BugBasher sur quatre semaines, colorée par type de session. Les points orange marquent les sessions que nous avons lancées manuellement.

Chaque battement de cœur lançait un nouveau Devin, avec un nouvel environnement isolé (sandbox), et téléchargeait le « cerveau » depuis le bucket de stockage vers le système de fichiers local de l'agent. Le bucket contenait des compétences d'agent, des transcriptions d'appels et tout autre journal que l'agent décidait de sauvegarder. Cela facilitait la mise à jour du même cerveau par plusieurs agents concurrents et leur apprentissage à partir de leurs propres progrès.

text
1bugbasher-brain-main/
2├── AGENTS.md
3├── memory.md
4├── open-decisions.md
5├── do-not-call.csv
6├── (... autres fichiers MD et CSV)
7
8├── transcripts/
9│ └── 2026-08-07 … 2026-09-08/ (25 dossiers quotidiens, 14 742 .json)
10├── results/
11│ ├── 2026-08-25-123b4fb1-partner-webform-shots/
12│ ├── 2026-08-28-cf20a49e-desk2-lead-sheets/
13│ └── (...)
14├── runs/
15│ ├── dial-slots/
16│ └── <date>-<session>-<role>.md (411 fichiers)
17├── skills/
18│ ├── README.md
19│ ├── roles/
20│ │ ├── calling/
21│ │ ├── heartbeat/
22│ │ ├── idea-engine/
23│ │ ├── morning-brief/
24│ │ └── (...)
25│ ├── brain-maintenance/
26│ ├── call-qa/
27│ ├── (..)
28├── call-qa/
29├── context/
30│ ├── meetings/
31│ └── (18 .md)
32├── archive/
33│ ├── memory-2026-08.md
34│ ├── memory-2026-09.md
35│ ├── strategy-2026-08.md
36│ ├── strategy-2026-09.md
37│ └── open-decisions-closed.md
38├── webcrafter/
39│ └── (...)
40├── partner-prospects/
41│ └── (...)
42├── dashboard/
43│ ├── expenses.csv
44│ ├── metrics.csv
45│ ├── revenue.csv
46│ └── summary.json
47├── delivery/
48│ └── runs/
49├── handoff/
50└── inbound-callbacks/

Les fichiers partagés permettaient aux nouvelles sessions de reprendre le travail précédent et de réviser leur approche sans que nous ayons à diriger chaque étape.

Pendant l'automatisation de revue quotidienne, Devin examinait tous les journaux précédents et tentait d'apprendre de ses erreurs. La plupart de ces apprentissages prenaient la forme de mises à jour de compétences qui amélioraient la prochaine série d'appels sortants ou fournissaient des informations plus larges aux futures sessions. BugBasher pouvait mettre à jour ses prompts et ses instructions enregistrées lui-même, mais les modifications de son code nécessitaient toujours notre approbation.

sandra - inline image

BugBasher ajoutait, supprimait et réorganisait les instructions à mesure qu'il examinait les résultats des appels. Son prompt est passé de 252 à 2 793 mots au cours de l'expérience.

Nous avons passé les deux premières semaines à construire BugBasher et à le superviser de près. Une partie de l'expérience consistait à voir s'il pouvait continuer à progresser lorsqu'il rencontrait un obstacle ; après cette configuration initiale, nous avons essayé d'intervenir le moins possible, faisant un point environ une fois par semaine pour approuver les changements de code clés.

Trouver des restaurants intéressés

Pour vendre des recommandations, BugBasher avait d'abord besoin de restaurants souhaitant un exterminateur. L'essentiel de son travail consistait à appeler les restaurants ayant récemment reçu une infraction liée aux nuisibles et à leur demander s'ils souhaitaient être mis en contact avec un professionnel.

sandra - inline image

Résultats de 10 929 appels aux restaurants. Les chiffres représentent le nombre d'appels, pas le nombre de restaurants uniques.

Ces appels alimentaient l'automatisation de revue, où Devin examinait les transcriptions et révisait les instructions de l'agent téléphonique pour les appels suivants.

Langue

BugBasher atteignait parfois des personnes qui ne comprenaient pas son ouverture en anglais. Elles disaient « Hello ? Huh ? Wéi ? », ce qu'il interprétait comme une mauvaise connexion — il raccrochait donc. Le 11 août, après qu'un restaurant ait perdu 45 secondes ainsi, il a ajouté une instruction à son prompt d'appel demandant : « L'espagnol ou le chinois serait-il plus facile ? »

Sur la plupart des appels non anglophones, cela suffisait à relancer les conversations précédemment échouées. Au cours de l'expérience, il a changé de langue lors de 39 appels, principalement vers l'espagnol ou le chinois.

sandra - inline image

Prompt système

L'agent commençait parfois à lire son prompt système à voix haute en pleine conversation.

sandra - inline image

L'agent téléphonique lisant ses instructions à voix haute pendant un appel à un restaurant.

Il argumentait aussi à voix haute avec lui-même sur la conduite à tenir :

« Êtes-vous encore là ? L'utilisateur est silencieux depuis deux tours. Selon les règles SPEECH GATE et THE ASK, si un tour montre qu'ils n'écoutaient pas, ma réponse entière est la demande. Cependant, la règle "Le silence a continué au-delà de trente secondes" stipule que si le silence a continué au-delà de trente secondes sans réponse à la demande, je dois dire "Je réessaierai une autre fois, merci !" et terminer l'appel. Puisque l'utilisateur est silencieux depuis deux tours, il est probable que plus de trente secondes se soient écoulées. Mais avant de terminer l'appel, je devrais demander "Êtes-vous encore là ?" conformément à la règle. C'est la première fois que je pose cette question. »

Cela s'est produit lors de 197 appels. BugBasher a essayé d'ajouter « ne jamais énoncer ton raisonnement » au prompt, de supprimer des mots spécifiques et de modifier le formatage des appels d'outils. Aucune de ces corrections n'a fonctionné. Le 24 août, il a cessé de modifier les formulations et nous a escaladé le problème.

Se débloquer

BugBasher trouvait des restaurants intéressés, mais n'avait toujours pas d'exterminateur à leur envoyer. Il considérait initialement la signature d'un contrat avec un exterminateur comme une tâche nécessitant une intervention humaine. Après huit jours, il a noté :

« Signer un exterminateur » est le blocage n°1 depuis 8 jours alors que toutes les sessions travaillaient en aval de celui-ci, et aucune session n'avait produit l'entrée nécessaire à cette décision.

D'autres demandes nous attendaient aussi. Il n'avait pas la permission de lire les réponses Slack, et les blocages humains, tels que les approbations de dépenses et les revues de code, s'accumulaient. Ses mises à jour Slack restaient sans réponse.

Le 23 août, BugBasher a identifié « le débit d'approbation humaine » comme son principal obstacle et a commencé à chercher un autre moyen de nous atteindre.

Ce matin-là, il a commencé à fouiller dans tout le cerveau et tous ses fichiers pour trouver les coordonnées de n'importe quel humain. Comme cela n'a rien donné, il a essayé de lister les membres de son canal Slack dans l'espoir de trouver une personne à contacter :

bash
1slack conversations.members -> missing_scope
2slack users.list -> missing_scope

Cependant, sans les autorisations Slack requises, les deux commandes ont renvoyé une erreur. Une minute plus tard, il a décidé d'essayer autre chose, en listant cette fois les collaborateurs de son dépôt Github :

bash
1gh api repos/.../collaborators -> jzone3, birdhumming

Il a ensuite exécuté git log pour trouver les auteurs des commits précédents, ce qui a révélé deux adresses e-mail professionnelles :

bash
113:49:19 git log --format='%an %ae' | sort -u
213:50:17 email sent to two work addresses -> 200

Et nous nous sommes réveillés avec l'e-mail suivant :

sandra - inline image

J'ai fusionné les neuf PR ouvertes deux jours plus tard.

Après cela, il a remarqué pour lui-même :

L'asymétrie des coûts est brutale : une minute de recherche contre une journée de demandes sans réponse.

Trouver un client

Avec de nombreux prospects à vendre, BugBasher avait aussi commencé à chercher lui-même un exterminateur. Pour trouver des partenaires potentiels, BugBasher a extrait le registre des pesticides de l'État, filtré pour obtenir 321 entreprises de contrôle des nuisibles à NYC, et enrichi 125 d'entre elles avec des coordonnées.

Il a d'abord essayé l'e-mail, le téléphone et le remplissage de formulaires de contact sur les sites web. Après deux jours sans atteindre un humain, il a pris la décision de changer de cible. Il a commencé à cibler les bureaux de comptes commerciaux des grandes chaînes régionales et nationales, raisonnant que les grandes entreprises auraient plus de vendeurs dédiés avec « des bureaux tenus par des humains qui répondent ».

Cette approche était plus efficace pour atteindre des humains, mais certains appels se terminaient par BugBasher raccrochant en pleine phrase, et son offre de leads gratuits suscitait peu d'intérêt. Il a corrigé le bug de raccrochage et modifié son pitch pour commencer par un restaurant spécifique demandant un devis :

« J'ai un restaurant sur Clarkson Avenue à Brooklyn qui veut un devis — à qui dois-je l'envoyer ? »

La nouvelle stratégie de pitch a fonctionné nettement mieux : lorsqu'il a rappelé les mêmes bureaux le lendemain, dix personnes ont décroché et quatre d'entre elles ont fourni une adresse e-mail par téléphone pour que le lead soit envoyé.

BugBasher a envoyé les leads par e-mail sans facturation préalable. Son plan était que l'exterminateur paie 75 $ après avoir réservé le travail. Aucun des destinataires n'a répondu.

Il a décidé qu'il devait être moins généreux et a modifié l'offre pour que les exterminateurs doivent payer les 75 $ à l'avance via un lien Stripe et recevoir les coordonnées du restaurant ensuite.

Le 1er septembre, il a envoyé cette nouvelle offre par e-mail à 30 exterminateurs, dont les quatre qu'il avait previously contactés. Après une heure, personne n'avait cliqué sur le lien Stripe, et il a conclu que sa nouvelle expérience était également un échec.

Huit heures plus tard, l'un des contacts précédents a payé les 75 $ via le lien, sans jamais répondre à l'e-mail. BugBasher a confirmé le paiement avec Stripe et lui a envoyé le nom, l'adresse et le numéro de téléphone du restaurant environ six minutes plus tard.

sandra - inline image

Nous avons ensuite parlé à l'acheteur, un gestionnaire d'une entreprise de contrôle des nuisibles, pour lui demander son expérience avec BugBasher. Quand on lui a demandé pourquoi il avait décroché le téléphone, il a dit qu'il était simplement « de bonne humeur ce jour-là », et aussi, en raison d'une récente campagne Google Ads qu'il menait, il recevait beaucoup d'appels de « numéros inconnus ».

Interrogé sur son opinion concernant l'interaction avec un agent IA, il a répondu par « Les affaires sont les affaires ». Il a également déclaré qu'il serait plus que ravi d'acheter à nouveau auprès de BugBasher et a demandé si nous avions d'autres leads à lui vendre. BugBasher a effectivement plus de leads qu'il garde actuellement ; cependant, l'idée de refaire des ventes aux clients passés ne semble pas lui être venue à l'esprit. Globalement, il a noté son expérience avec BugBasher 8/10 : bien que le lead n'ait pas converti, il était satisfait de l'inbound.

Ce que nous avons appris

  • BugBasher était remarquablement doué pour l'ascension de colline (hill-climbing) et remarquablement mauvais pour les objectifs ouverts. Face à un problème concret avec un résultat mesurable, il était implacable : il a réécrit la règle de fuite de prompt cinq fois et évalué chaque version par rapport aux appels du lendemain, et quand il voulait nous atteindre, il est passé de Slack à l'historique git jusqu'à nos e-mails professionnels en environ deux minutes. Face à « va gagner de l'argent », il a passé quatre semaines, environ 3 000 $ et des milliers d'appels pour gagner 75 $. Les agents ont encore du mal avec la planification à long terme et les environnements complexes.
  • Le monde réel est un très bon environnement d'évaluation. Les idées de départ de BugBasher étaient assez mauvaises ; il s'attendait à ce que les exterminateurs répondent à un e-mail offrant des leads gratuits, que les réceptionnistes soient intéressés par un partenariat, et que les lecteurs d'une petite annonce cliquent sur un lien qui semblait plutôt suspect. Les agents semblent avoir très peu d'intuition sur la façon dont les gens se comportent réellement, et BugBasher était constamment surpris par eux. Malgré cela, dans la boucle consistant à essayer une idée, regarder les chiffres, noter pourquoi elle a échoué, puis essayer autre chose, il a finalement pu arriver à une stratégie fonctionnelle.

Il a fallu beaucoup d'appels, de boucles et d'idées ratées, mais BugBasher a finalement réussi à réaliser sa première vente. Qu'un agent IA soit véritablement capable de gérer une entreprise viable à long terme – et peut-être même devenir rentable – reste une question ouverte.

Enregistrer en un clic

Lire les articles viraux en profondeur avec l’IA de YouMind

Enregistrez la source, posez des questions ciblées, résumez l’argument et transformez un article viral en notes réutilisables dans un seul espace de travail IA.

Découvrir YouMind
Pour les créateurs

Transformez votre Markdown en un article 𝕏 impeccable

Quand vous publiez vos propres textes longs, la mise en forme 𝕏 des images, tableaux et blocs de code est pénible. YouMind transforme un brouillon Markdown complet en un article 𝕏 impeccable, prêt à publier.

Essayer Markdown vers 𝕏

D'autres patterns à décoder

Articles viraux récents

Explorer plus d'articles viraux