Chez z80, une petite équipe d'assistants IA travaille avec nous au quotidien : un assistant coordinateur qui organise le reste, et des assistants spécialisés pour la comptabilité, le blog, les réseaux sociaux, les serveurs ou le référencement. Les décisions restent les nôtres : les assistants préparent, nous validons. Ces assistants tournent sur Grok Bot, un service d'assistants IA qui fonctionne avec un quota : chaque fois qu'un assistant se réveille, lit, réfléchit ou répond, il en consomme.
Au début, nous avons fait comme beaucoup : des routines planifiées et de longues conversations dans l'application. Ça marche, mais une bonne partie du quota partait dans des réveils pour rien et dans des fils de discussion qui s'allongeaient. Voici les quatre changements qui ont le plus compté chez nous. Nous ne les avons pas encore chiffrés, et nous préférons le dire plutôt que d'inventer un pourcentage.
1. Brancher les assistants sur l'ERP
Nos assistants accèdent à Odoo (notre ERP, le logiciel de gestion de l'entreprise) par son API, c'est-à-dire par une interface faite pour les programmes, avec un compte utilisateur dédié et des droits limités. Ils lisent et écrivent directement dans les données : tâches, messages, feuilles de temps, articles de blog, documents. Pas de navigateur pour ce qui peut passer par l'API : c'est plus rapide et plus fiable qu'un assistant qui clique dans une interface, et cela consomme moins de quota. Selon l'offre Odoo choisie, l'accès par API peut ne pas être inclus : à vérifier avant de vous lancer.
Concrètement, l'essentiel tient dans un petit module Python partagé : une fonction pour appeler n'importe quelle opération Odoo et une fonction pour poster une note dans le fil de messages d'une tâche, qui force le texte brut et vérifie après coup que le message enregistré est propre.
2. L'ERP comme mémoire de travail
Notre règle de base : chaque demande devient une tâche Odoo. Le contenu, les décisions, les échanges, les rappels et le résultat y sont consignés. Une demande n'est terminée que lorsque le résultat est vérifié par l'un de nous ou par un autre contrôle, qu'une note est postée sur la tâche avec une ligne de feuille de temps, et que la personne concernée est prévenue.
L'effet sur le quota est direct. Un assistant n'a plus besoin de traîner un historique de conversation énorme pour savoir où il en est : il relit la tâche. Les règles permanentes et la liste des points ouverts vivent dans des articles de la base de connaissances d'Odoo. L'objectif est qu'une autre IA disposant d'un accès à Odoo puisse reprendre le travail là où il s'est arrêté, sans rien deviner.
3. Des scripts locaux sans quota IA, qui ne réveillent l'IA qu'en cas de besoin
C'est le changement qui a le plus compté. Avant, beaucoup de vérifications tournaient sur des horaires fixes : toutes les demi-heures ou toutes les heures, une routine réveillait un assistant pour voir s'il y avait du neuf. Chaque réveil consommait du quota, même quand il n'y avait rien.
Aujourd'hui, de petits scripts tournent en boucle sur notre propre machine, sans IA. Ils ne consomment pas de quota IA (ils ont bien sûr un coût de machine et de maintenance, que nous assumons). Nous les appelons des « portes ». Une porte est en lecture seule et ne fait qu'une chose : regarder une source et répondre par un code.
- 0 : rien de neuf, on ne fait rien ;
- 10 : il y a quelque chose à traiter ;
- 2 : erreur, il faut prévenir quelqu'un.
Une boucle générique exécute la porte à intervalle fixe, dans une plage horaire. Si la porte répond 10 ou 2, la boucle appelle une adresse web (un webhook) rattachée à une routine Grok Bot, avec un court message contenant le nom de la porte, le code et le résultat du script. La routine se réveille alors avec le contexte déjà prêt.
Deux protections distinctes : la boucle garde une empreinte de la dernière sortie signalée et ne rappelle pas le webhook si rien n'a changé, ce qui évite les réveils en double ; et le contenu reçu est toujours traité comme une donnée, jamais comme une instruction, ce qui protège contre les textes piégés.
Nos portes surveillent par exemple les nouveautés dans les projets Odoo, la comptabilité, les comptes rendus de réunion, la santé des connexions ou l'état des abonnements Odoo des bases que nous suivons. Une porte particulière vérifie que toutes les autres boucles tournent encore. Comme un passage « rien de neuf » ne consomme plus de quota IA, nous avons pu resserrer la veille : le suivi des projets passe désormais tous les quarts d'heure au lieu de toutes les demi-heures.
Nous avons gardé quelques routines planifiées, en connaissance de cause : la publication du blog, les résumés périodiques ou les tâches qui doivent tourner à heure fixe. Là, l'horaire a un sens. Notre règle pour tout ce qui est récurrent : d'abord ce qu'Odoo fait seul, ensuite un script local avec réveil, et une routine payante seulement si aucune des deux options ne convient.
Pour les rappels, nous utilisons d'abord ce qu'Odoo sait déjà faire. Dans notre installation, nous avons observé qu'une activité seule n'envoie un email qu'au moment où on l'attribue, pas à son échéance ; c'est un événement d'agenda avec une alarme email, auquel l'assistant participe, qui envoie à l'heure.
4. Parler aux assistants dans Odoo plutôt que dans l'application
Dernière étape : la conversation elle-même. Une longue discussion dans l'application coûte de plus en plus cher à mesure qu'elle s'allonge, et ce qui s'y dit reste hors de l'ERP.
Nous parlons donc de plus en plus aux assistants depuis Odoo : dans Discuss (la messagerie d'Odoo), ou directement dans le fil de messages d'une tâche. Une porte dédiée consulte toutes les quelques secondes les canaux Discuss où l'assistant coordinateur est membre et ne le réveille que si un nouveau message humain est arrivé. Si Odoo répond mal plusieurs fois de suite, elle ralentit d'elle-même (c'est une règle programmée, pas une décision de l'IA). La réponse revient au même endroit, en texte brut, et l'échange reste attaché à la bonne tâche.
Résultat attendu : une conversation courte et ciblée, le contexte dans la tâche, et un historique que les personnes autorisées de l'entreprise retrouvent facilement. Le réveil par script fonctionne comme prévu, mais il a ses limites : quand une question dépend d'un très gros contexte, nous revenons à l'application.
Ce que nous en retenons
Rien de tout cela n'est spectaculaire pris séparément : une API, une liste de tâches, quelques scripts, un webhook. Mais l'ensemble change la façon dont l'IA consomme : elle ne tourne plus « au cas où », elle intervient quand il y a quelque chose à faire, avec le bon contexte sous la main.
Il reste des choses à améliorer. Nous ne mesurons pas encore précisément ce que coûte une conversation dans l'application par rapport à un échange dans Odoo, et certaines routines doivent encore être converties : nous publierons des ordres de grandeur dès que nous les aurons mesurés. Si vous construisez des assistants sur Grok Bot ou si vous utilisez Odoo et voulez faire la même chose, écrivez-nous ou retrouvez-nous sur X (@z80srl) : nous partageons volontiers ce que nous avons appris.