Se rendre au contenu

L'intelligence artificielle

À l'issue de ce chapitre

  • situer les quatre niveaux d'assistance intelligente et savoir lequel répond à quel besoin ;
  • vérifier les prérequis techniques avant d'ouvrir l'usage aux équipes ;
  • créer un agent, lui donner des sources documentaires et le mettre à l'épreuve ;
  • confier une décision à une action serveur, en connaissant ce qu'elle contrôle et ce qu'elle ne contrôle pas.

Odoo 19 intègre l'assistance par intelligence artificielle à plusieurs endroits du logiciel. Ce ne sont pas des variantes d'une même fonction : elles n'ont ni les mêmes prérequis, ni le même degré d'autonomie, ni les mêmes conséquences quand elles se trompent. Ce chapitre les distingue avant de détailler celles qui se configurent.

Les quatre niveaux d'assistance

Niveau Ce qu'il fait, et où il est traité
Assistance rédactionnelle Rédige ou reformule un texte à la demande, dans un champ ou un message. L'utilisateur relit et valide avant tout enregistrement. Voir la section 4.3.2.
Champ IA Champ dont la valeur est calculée par l'assistant à partir des autres données de la fiche, sur toute une table. Il se pose avec Studio ; la procédure figure au chapitre 9.
Agent Interlocuteur configuré pour un domaine, doté de ses instructions, de ses documents de référence et de ses outils. Il répond, il n'agit pas de lui-même.
Action serveur IA Décide seule quels traitements appeler sur un enregistrement, et les exécute. C'est le seul niveau où l'assistant décide d'un traitement et l'applique sans relecture.

L'écart entre les deux derniers est celui qui compte : un agent propose une réponse qu'un humain lit, une action serveur applique une décision que personne ne voit passer. Les précautions ne sont pas les mêmes.

Les prérequis

Trois conditions distinctes, à vérifier dans cet ordre.

Une précision d'abord, parce qu'elle explique la suite : l'assistance repose sur deux modules portant tous deux le nom IA, et qui ne s'installent pas de la même façon.

Module Installation
Le socle d'assistance S'installe tout seul, à condition que le serveur fournisse l'extension PostgreSQL décrite ci-dessous. C'est lui qui apporte la rédaction assistée, les champs IA et les actions serveur IA. Il n'apparaît pas dans la liste des applications.
L'application IA Ne s'installe pas toute seule et doit être ajoutée à la main. Elle n'apporte pas de nouvelle capacité : elle donne les écrans pour configurer les agents, les sujets et les instructions par défaut.

Autrement dit, une base peut très bien proposer la rédaction assistée sans qu'aucun menu IA ne soit visible : le socle est là, l'application ne l'est pas.

L'extension PostgreSQL

Les agents indexent leurs documents de référence pour pouvoir s'y référer. Cette indexation repose sur l'extension PostgreSQL vector, que le serveur doit fournir. Odoo la contrôle avant d'installer : le socle d'assistance refuse purement et simplement de s'installer si l'extension manque. En installation automatique, il s'abstient sans message ni trace visible ; à l'installation manuelle, l'opération échoue avec une erreur.

Note

Le point ne se pose pas sur Odoo Online, où l'extension est fournie. Sur odoo.sh et en hébergement sur site, c'est la question à poser à l'hébergeur ou à l'administrateur système avant toute autre. Sans l'extension, aucune fonction d'assistance n'est disponible : ni les agents, ni la rédaction assistée, ni les champs IA. Ce n'est pas une fonctionnalité amputée, c'est un module qui ne s'installe pas.

La clé d'accès au fournisseur

Odoo n'héberge pas de modèle : il appelle un service extérieur (OpenAI ou Google) et lui transmet les éléments nécessaires à la demande. Cet appel suppose une clé d'accès, dont les conditions dépendent de l'hébergement. La procédure figure à la section 3.3.4.

Point d'attention

Ce que cela implique en pratique : les données envoyées dans une demande d'assistance sortent de votre base et transitent chez un tiers. Le point mérite d'être tranché avant l'ouverture aux équipes, en particulier sur des documents nominatifs ou couverts par un engagement de confidentialité.

L'application

Les fonctions d'assistance rédactionnelle s'utilisent sans rien installer. Configurer des agents, des sujets ou des instructions par défaut suppose en revanche d'ajouter l'application, qui n'arrive jamais d'elle-même.

  1. Ouvrir Apps.
  2. Rechercher IA. L'application se présente comme une application ordinaire, sans qu'il soit besoin de retirer le filtre par défaut.
  3. Cliquer sur Activer.
  4. Un menu IA apparaît, portant l'entrée Agents. L'entrée Configuration, qui donne accès aux clés d'accès et aux instructions par défaut, n'est visible que pour un administrateur des paramètres.

Point d'attention

L'installation de l'application déplace les clés d'accès. Elles quittent le bloc des intégrations des Paramètres généraux décrit à la section 3.3.4 pour rejoindre le volet IA des paramètres, désormais atteignable par IA › Configuration › Paramètres. Une clé déjà saisie n'est pas perdue : c'est son emplacement qui change.

Les agents

Un agent est un interlocuteur configuré pour un usage précis. Il se distingue de l'assistant générique par trois choses : une consigne permanente qui cadre ses réponses, des documents de référence sur lesquels il s'appuie, et des sujets qui lui donnent des outils.

Créer un agent

  1. Ouvrir IA › Agents › Agents.
  2. Cliquer sur Nouveau.
  3. Renseigner le Nom de l'agent, puis le sous-titre placé juste dessous, qui résume l'agent pour ses utilisateurs. Ce champ n'a pas d'étiquette : il se repère à son texte d'exemple.
  4. Choisir le Modèle LLM parmi ceux des fournisseurs configurés.
  5. Régler le Style de réponse : Analytique, Équilibrée ou Créatif.
  6. Rédiger le Prompt système : la consigne permanente qui cadre le rôle et le ton.
  7. Enregistrer.
Formulaire d'un agent IA
Figure 20.1 : Formulaire d'un agent IA

Note

Le Style de réponse disparaît du formulaire sur les modèles de la génération GPT-5, qui ne l'exposent pas. Le champ n'est pas supprimé : il cesse simplement d'être proposé tant que ce modèle est retenu.

Point d'attention

Les modèles vieillissent. Un modèle retiré par son fournisseur reste sélectionnable sur les agents déjà configurés, mais toute demande échoue alors avec un message indiquant qu'il n'est plus disponible et qu'il faut en choisir un plus récent. Un agent en service depuis longtemps mérite qu'on vérifie son Modèle LLM avant de conclure à une panne.

Donner des documents de référence

L'onglet Sources rassemble les documents sur lesquels l'agent s'appuie : catalogue, conditions générales, procédure interne, page de site.

  1. Ouvrir l'onglet Sources de l'agent.
  2. Cliquer sur Ajouter une source et choisir un fichier ou une adresse web.
  3. Attendre l'indexation.

Chaque ligne porte un statut :

Statut Signification
Traitement en cours Le document est en cours d'indexation. Il n'est pas encore exploitable.
Indexé Le document est disponible. L'interrupteur de la ligne permet de le retirer du périmètre sans le supprimer.
Échec L'indexation a échoué. Le détail de l'erreur est conservé sur la ligne, et un bouton Réessayer relance l'opération.

Le bouton Traiter à nouveau réindexe une source déjà traitée : il sert aux adresses web, dont le contenu change sans qu'Odoo en soit averti. Un fichier joint n'en a pas besoin, son contenu étant figé.

Astuce

La case Restreindre aux sources enferme l'agent dans ses documents : il ne répond plus qu'à partir d'eux. C'est le réglage à retenir quand l'exactitude prime sur la couverture : un agent de support qui doit citer la procédure, pas l'inventer.

Les sujets

Un sujet est une compétence : un jeu d'instructions détaillées assorti des outils nécessaires pour l'exercer. Il se rattache ensuite à un ou plusieurs agents, ce qui évite de tout écrire dans le prompt système et permet de réutiliser la même compétence ailleurs.

Odoo en livre. La liste ouverte par IA › Agents › Sujets n'est pas vide sur une base neuve : les modules installés y déposent leurs sujets, avec leurs instructions et leurs outils déjà rattachés.

Sujet livré Ce qu'il apporte
Natural Language Search Interprète une demande formulée en langage courant et ouvre la vue Odoo correspondante, filtres et regroupements compris.
Information retrieval Va chercher des informations dans les modèles de données pour répondre à une question.
Create Leads Assiste la création de pistes. Il n'apparaît que si le CRM est installé en plus de l'application IA.

Ouvrir l'un d'eux donne la mesure de ce qu'est un sujet abouti : plusieurs pages d'instructions, énonçant les règles à respecter, les formats attendus, les enchaînements interdits et les cas de repli , et une dizaine d'outils rattachés, du type IA : Recherche ou IA : Obtenir les champs.

Astuce

Avant d'écrire un sujet, ouvrez-en un livré et lisez ses instructions. Elles montrent le niveau de précision qu'attend l'exercice : on n'y trouve pas une consigne générale mais une procédure, avec ses garanties et ses interdits. C'est aussi la meilleure façon de comprendre ce que le mécanisme sait faire avant d'y investir du temps.

Créer un sujet.

  1. Ouvrir IA › Agents › Sujets.
  2. Cliquer sur Nouveau.
  3. Renseigner le Titre, puis le sous-titre sans étiquette placé dessous, qui résume la compétence en une ligne.
  4. Rédiger les Instructions : la procédure à suivre, dans le détail.
  5. Désigner les Outils IA que le sujet met à disposition. Odoo en livre une dizaine, et toute action serveur cochée Utiliser dans l'IA vient s'y ajouter , voir la section 20.5.2.
  6. Enregistrer, puis rattacher le sujet à l'agent voulu par son champ Sujets.

Note

Le champ Outils IA d'un sujet est réservé à l'administrateur de la base. Un utilisateur autorisé à créer des sujets peut donc en rédiger les instructions sans pouvoir leur attacher d'outils.

Point d'attention

Les sujets livrés par Odoo se modifient, mais les modifications sont perdues à la montée de version, comme pour tout enregistrement livré par un module. Pour adapter une compétence durablement, dupliquez le sujet plutôt que d'écrire dans l'original.

Mettre l'agent à l'épreuve

Le bouton Test, en tête du formulaire, ouvre une conversation avec l'agent tel qu'il est configuré. C'est le moyen de vérifier le comportement avant de l'exposer aux utilisateurs : reformuler la même question de plusieurs façons, vérifier qu'il cite bien ses sources, contrôler qu'il refuse ce qui sort de son périmètre.

Les instructions par défaut

Quand un utilisateur déclenche l'assistance, Odoo appelle un agent et lui transmet une consigne. Ni l'un ni l'autre ne sont figés : ils dépendent de l'endroit d'où la demande part, et ce rattachement se configure par des règles.

Chaque règle répond à une question de la forme « lorsque les utilisateurs font ceci, à quel agent s'adresser et avec quelle consigne ». Odoo en livre sept, une par point d'entrée de l'interface : huit si l'application Connaissances est installée.

  1. Ouvrir IA › Configuration › Prompts par défaut.
  2. Ouvrir une règle, ou cliquer sur Nouveau.
Règle d'appel d'un agent
Figure 20.2 : Règle d'appel d'un agent

Le formulaire tient en cinq champs et un onglet :

Champ Rôle
Nom de la règle Intitulé interne, sans effet sur le comportement.
Lorsque les utilisateurs ont besoin de Le point d'entrée de l'interface auquel la règle s'applique , voir la liste ci-dessous.
Sur le modèle Restreint la règle à certains modèles de données. Laissé vide, il affiche Tous les modèles et la règle vaut partout.
Appeler l'agent L'agent sollicité. C'est par ce champ qu'on substitue un agent maison à l'agent générique d'Odoo.
Instructions La consigne transmise à l'agent en plus de la demande de l'utilisateur.
Onglet Boutons Des demandes toutes faites, proposées d'un clic à l'utilisateur. Chaque ligne porte le texte envoyé à l'agent, et l'ordre des lignes se règle par glissement.

Les huit points d'entrée :

Point d'entrée Où l'utilisateur le rencontre
Écrire dans un champ HTML Rédaction dans un champ de texte enrichi.
Réécrire le contenu Reformulation d'un texte sélectionné.
Rédiger un e-mail Composition d'un message ou d'une note.
Convertir un prompt en e-mail Transformation d'une consigne en message rédigé, depuis un modèle d'e-mail.
Obtenir de l'aide sur un enregistrement Assistance depuis le fil de discussion d'un document.
Demander de l'aide à l'IA Assistance générale depuis la barre supérieure. Ce point d'entrée ne se restreint pas par modèle.
Boutons de résumé pour le composant de transcription vocale Résumé d'une transcription vocale.
Rédiger un nouvel article Connaissances Rédaction d'un article. N'apparaît qu'avec l'application Connaissances.

Note

Sur les huit règles livrées, le Nom de la règle, le point d'entrée et le modèle sont verrouillés : Odoo interdit de les modifier. Restent modifiables l'agent appelé, les instructions et les boutons, ce qui suffit, puisque c'est là que se joue le comportement.

Astuce

C'est ici que se règle le ton d'entreprise. Plutôt que de demander à chaque utilisateur de préciser à chaque fois qu'il faut vouvoyer, rester bref et signer d'une certaine façon, écrivez-le une fois dans les Instructions de la règle Rédiger un e-mail. La consigne livrée par Odoo donne le ton du genre : elle impose au modèle de n'écrire que le corps du message, sans objet, sans signature et sans commentaire.

Astuce

Les filtres Règles du système et Règles personnalisées de la barre de recherche séparent ce qu'Odoo a livré de ce que vous avez ajouté. Utile pour retrouver vos propres règles au milieu des autres.

L'automatisation assistée par l'IA

Certaines décisions ne s'expriment pas par une condition fixe : classer une demande entrante selon son contenu, choisir un traitement selon un texte libre, extraire une information d'un message. Une action serveur assistée par l'intelligence artificielle traite ces cas.

Le principe

Le mécanisme sépare strictement la décision de l'exécution.

Rôle Responsabilité
Action serveur IA Lit l'enregistrement et son contexte, interprète l'instruction, et décide quel outil appeler avec quels arguments. Elle ne modifie aucun enregistrement.
Outil Action serveur classique portant toute la logique d'exécution : écritures, mises à jour, mouvements. C'est elle qui applique les règles métier.

Créer un outil

  1. Activer le mode développeur.
  2. Ouvrir Paramètres › Technique › Actions › Actions de serveur.
  3. Créer l'action réalisant l'opération voulue, ou ouvrir une action existante.
  4. Renseigner le Modèle sur lequel elle opère.
  5. Choisir le Type parmi les vignettes proposées. Le choix n'est pas libre : seuls certains types peuvent servir d'outil, voir le tableau ci-dessous.
  6. Ouvrir l'onglet Utilisation et cocher Utiliser dans l'IA.
  7. Renseigner le champ de texte libre qui apparaît à droite de la case, il porte le seul texte d'exemple Brève explication de ce que cela fait. C'est sur cette description, et sur elle seule, que l'action de décision choisira d'appeler cet outil.
  8. Si le type est Exécuter le code , ou Actions multiples enchaînant une action de code, renseigner le Schéma IA : le descriptif au format JSON des arguments attendus, leur type et leurs contraintes. Le laisser vide si l'outil n'attend aucun argument.
  9. Enregistrer.
Action de serveur et son champ Type
Figure 20.3 : Action de serveur et son champ Type

Note

L'onglet Utilisation n'apparaît que si le type retenu est éligible. S'il reste introuvable, c'est le Type qu'il faut revoir.

Types utilisables comme outil Types exclus
Exécuter le code \ Créer un enregistrement \ Dupliquer l'enregistrement \ Créer une activité \ Envoyer un e-mail \ Ajouter des abonnés \ Supprimer des abonnés \ Envoyer une notification webhook Envoyer un SMS \ IA : une action de décision ne peut pas être son propre outil

Deux types sont éligibles sous condition : Mettre à jour l'enregistrement, si la valeur provient d'une saisie ou d'une séquence et non d'une expression calculée, et Actions multiples, à la seule condition que toutes les actions qu'elle enchaîne soient elles-mêmes éligibles.

Point d'attention

Un outil appelé par une action serveur IA s'exécute inconditionnellement. Il n'existe aucun garde-fou implicite : toutes les règles métier (plafonds, contrôles de cohérence, vérifications de droits) doivent être écrites explicitement dans le code de l'outil. Un outil qui suppose que l'appelant a vérifié quelque chose est un outil dangereux.

Créer l'action de décision

  1. Toujours depuis les actions de serveur, créer une action et retenir le Type IA.
  2. Sélectionner le Modèle concerné.
  3. Ouvrir l'onglet Pop-up, c'est ainsi que l'interface française nomme l'onglet Prompt, qui n'apparaît que sur ce type d'action.
  4. Renseigner le champ Outils : les actions que la décision est autorisée à appeler. La liste proposée se limite aux actions cochées Utiliser dans l'IA et portant sur le même modèle. Un outil défini sur un autre modèle n'apparaîtra pas.
  5. Rédiger l'instruction dans le champ Prompt d'action IA : le contexte, la décision attendue, les critères à appliquer.
  6. Enregistrer.
  7. Rattacher enfin cette action à un déclencheur, via une règle d'automatisation (voir le chapitre 21) ou un bouton sur le document.

Rédiger l'instruction. Le champ est un éditeur de texte enrichi, doté de deux commandes propres, appelées par / comme dans les modèles d'e-mail :

  • Sélecteur de champ, sous-titré Insérer un champ : insère la valeur d'un champ de l'enregistrement traité. C'est ainsi que l'instruction reste générique tout en s'appuyant sur des données réelles.
  • Sélecteur d'enregistrements, sous-titré Insérer des enregistrements : désigne des enregistrements précis que la décision pourra consulter : un barème, une liste de référence.

Ce que vous écrivez n'est pas tout ce que reçoit le modèle. Odoo y ajoute automatiquement la date et l'heure courantes, l'identité de l'enregistrement traité, et les valeurs des champs que vos commandes ont insérés. Inutile donc de rappeler la date dans l'instruction.

Ce qui se passe à l'exécution. L'action traite les enregistrements un par un. Pour chacun, elle soumet l'instruction enrichie, reçoit la liste des outils à appeler et les exécute dans l'ordre. Le cycle s'arrête lorsque la décision estime n'avoir plus rien à faire.

Note

Sur un modèle doté d'un fil de discussion, l'exécution est tracée : Odoo journalise dans le chatter de l'enregistrement les outils appelés et leurs arguments, et attribue les modifications à un auteur dédié à l'intelligence artificielle. C'est le seul endroit où lire ce qui a réellement été décidé.

Point d'attention

L'échec d'un outil n'interrompt pas la décision : l'erreur est renvoyée au modèle sous forme de texte, à charge pour lui d'en tirer les conséquences. Une action peut donc se terminer normalement alors qu'une partie du travail a échoué. Sur un traitement à enjeu, prévoyez un contrôle en aval plutôt que de vous fier à l'absence de message d'erreur.

Note

Les instructions contenues dans les documents joints à l'enregistrement sont explicitement ignorées : la consigne système précise que le contenu d'un document sert à comprendre le sujet, jamais à commander une action. Un fournisseur ne peut donc pas piloter votre base en glissant une phrase dans un PDF.

Deux contrôles bloquent l'enregistrement d'une configuration incohérente : cocher Utiliser dans l'IA sur un type inéligible refuse la sauvegarde avec le message L'action '…' ne peut pas être utilisée comme outil d'IA., et un Schéma IA qui n'est pas du JSON valide est rejeté de même.

Point d'attention

Si l'un des outils retenus est restreint à des groupes d'utilisateurs, Odoo affiche un avertissement à côté du champ Outils. Le contrôle d'accès de l'outil n'est pas appliqué lorsque la décision l'appelle : la restriction par groupe protège le bouton, pas l'exécution.

Note

Les fonctionnalités d'intelligence artificielle relèvent de l'édition Enterprise et supposent, selon l'hébergement, une configuration préalable des accès au service (voir la section 3.3.4). Sur odoo.sh et en hébergement sur site, les appels aux modèles sont facturés par le fournisseur retenu, selon ses propres conditions.

Point d'attention

Réservez ces mécanismes aux décisions qui ne peuvent pas s'écrire sous forme de conditions. Une règle déterministe est plus rapide, moins coûteuse, reproductible et vérifiable. L'assistance intelligente se justifie sur du texte libre et des cas non catalogués, pas sur un seuil de montant.

Ce que l'assistance ne fait pas

Point d'attention

Aucune des fonctions décrites ici ne vérifie ce qu'elle produit. Un texte rédigé, une valeur calculée, une décision prise sont des propositions plausibles, pas des résultats contrôlés. Le contrôle reste à faire : par un humain sur les niveaux qui le permettent, par un contrôle en aval sur ceux qui ne le permettent pas.