Se rendre au contenu

L'intelligence artificielle

À l'issue de ce chapitre

À l'issue de ce chapitre, vous saurez : - distinguer les niveaux d'assistance et ce que chacun engage ; - vérifier les prérequis avant d'ouvrir l'assistance aux équipes ; - configurer un agent, ses instructions, ses compétences et ses sources ; - reconnaître les cas où l'assistant décide et agit sans relecture.

Odoo 20 intègre l'assistance par intelligence artificielle à plusieurs endroits du logiciel. Ce ne sont pas des variantes d'une même fonction : elles ne s'utilisent pas au même moment, et surtout elles n'engagent pas la même confiance.

Les quatre niveaux d'assistance

Niveau Ce qu'il fait
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 rempli par l'assistant Champ ordinaire dont la valeur est calculée par l'assistant à partir des autres données de la fiche, sur toute une table. Ce n'est pas un type de champ à part : c'est une case à cocher dans ses propriétés, avec Studio. La procédure figure au chapitre 9.
Agent Interlocuteur configuré pour un domaine, doté de ses instructions, de ses compétences et de ses sources. Il répond dans une conversation, et il peut aussi se déclencher seul.
Action serveur IA Décide quels traitements appeler sur un enregistrement, et les exécute.

Point d'attention

La ligne de partage n'est plus entre l'agent et l'action serveur. Un agent de la version 20 porte des déclencheurs : il peut s'exécuter à heure fixe ou sur événement, sans que personne ne lise sa réponse. Un agent sans déclencheur répond et attend ; un agent avec déclencheur agit.

C'est cette distinction, et non le niveau lui-même, qui décide des précautions à prendre.

Les prérequis

Deux conditions, à vérifier dans cet ordre, avant même de parler de configuration.

L'extension PostgreSQL

Les agents indexent leurs sources 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, et l'active lui-même si elle est disponible : il n'y a donc rien à faire à la main quand le serveur la fournit. En revanche, si elle n'est pas fournie, le socle d'assistance refuse purement et simplement de s'installer.

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.

Le traitement par le service Odoo

Odoo n'héberge pas de modèle : il appelle un service extérieur et lui transmet les éléments nécessaires à la demande. Cet appel passe par le service d'achats intégrés d'Odoo, qui facture à la consommation.

Point d'attention

Deux conséquences à trancher avant d'ouvrir l'assistance aux équipes.

Les données envoyées dans une demande sortent de votre base et transitent chez un tiers. Le point mérite un arbitrage explicite sur des documents nominatifs ou couverts par un engagement de confidentialité.

Et aucun réglage ne permet de brancher votre propre compte chez un fournisseur de modèle : le passage par le service Odoo est le seul chemin. Vous ne choisissez donc ni le fournisseur, ni la région de traitement.

L'application

  1. Ouvrir Apps.
  2. Rechercher IA.
  3. Cliquer sur Activer.

Un menu IA apparaît, portant les entrées Agents et Configuration.

Note

L'assistance rédactionnelle, elle, s'utilise sans rien installer, dès lors que l'extension PostgreSQL est présente. Une base peut donc proposer la rédaction assistée sans qu'aucun menu IA ne soit visible.

Note

L'installation entraîne celle du serveur d'exposition, qui arrive tout seul et sans écran d'annonce. Il permet à un assistant extérieur d'interroger vos données Odoo, à condition qu'on l'y autorise : rien n'est exposé et personne n'est connecté à l'installation. Le sujet est traité à la section 20.5.1.

L'écran des agents

IA › Agents n'ouvre pas une liste d'enregistrements mais une conversation, organisée en trois volets.

Volet Contenu
À gauche L'historique des conversations, avec les filtres Tous et Unread.
Au centre La conversation en cours et le champ de saisie du message.
À droite La configuration de l'agent, répartie en quatre onglets.
Écran de conversation d'un agent
Figure 20.1 : Écran de conversation d'un agent

Le volet de droite est le cœur du paramétrage. Il n'y a plus de formulaire d'agent distinct : la configuration se fait à côté de la conversation, et son effet s'éprouve immédiatement dans le volet central.

Configurer un agent

Les quatre onglets du volet de droite, dans l'ordre où ils se remplissent.

Instructions

La consigne permanente de l'agent. Elle cadre son rôle, son ton et sa façon de procéder. C'est le texte le plus structurant de la configuration : un agent bien instruit refuse les demandes hors de son domaine plutôt que d'y répondre approximativement.

Astuce

Écrivez la consigne comme une fiche de poste : ce que l'agent fait, ce qu'il ne fait pas, ce qu'il doit demander avant d'agir. Les consignes vagues produisent des réponses vagues.

Compétences

Une compétence regroupe des instructions et les outils qui vont avec. Elle s'ajoute à l'agent par Ajouter, et elle lui donne une capacité précise plutôt qu'une connaissance.

La liste complète se gère par IA › Configuration › Compétences. Chaque compétence porte un Titre, des Instructions et des Outils IA.

Formulaire d'une compétence
Figure 20.2 : Formulaire d'une compétence

Connaissances

Les sources sur lesquelles l'agent s'appuie pour répondre. Elles s'ajoutent par Ajouter, et elles sont indexées pour être retrouvées au fil de la conversation.

Une case Restrict answers to Sources restreint l'agent à ces seules sources. Cochée, elle l'empêche de répondre à partir de ses connaissances générales.

Astuce

C'est le réglage à cocher pour un agent qui répond à des questions de procédure interne. Sans lui, l'agent complètera les lacunes de vos sources par des généralités plausibles, et rien ne distinguera les deux dans sa réponse.

Triggers

Les déclencheurs qui font tourner l'agent sans intervention : à heure fixe, ou lorsqu'un événement survient sur un enregistrement.

Note

Cet onglet porte son intitulé anglais à l'écran, la traduction française n'étant pas publiée à ce jour.

Point d'attention

Un agent déclenché s'exécute sans qu'aucun humain ne lise sa réponse. Toutes les précautions du niveau le plus engageant s'appliquent donc dès qu'un déclencheur est posé : les règles métier, les plafonds et les contrôles de cohérence doivent être portés par les outils que l'agent appelle, pas supposés acquis.

Posez les déclencheurs en dernier, une fois les instructions, les compétences et les sources éprouvées en conversation.

Les outils

Un outil est un traitement que l'agent peut appeler. La version 20 en livre un catalogue fourni, consultable par IA › Configuration › Outils.

Colonne Ce qu'elle indique
Nom L'intitulé de l'outil.
Modèle La table sur laquelle il opère.
Type La nature du traitement.
Utilisation Le contexte dans lequel il est proposé.
Disponible en MCP S'il est exposé aux assistants extérieurs. Voir ci-dessous.
Outil d'accès en lecture S'il se contente de lire, ou s'il écrit.
Catalogue des outils
Figure 20.3 : Catalogue des outils

L'exposition aux assistants extérieurs

La colonne Disponible en MCP ouvre un outil aux assistants extérieurs à Odoo : un assistant installé sur le poste d'un utilisateur peut alors interroger votre base par cet outil.

Trois verrous indépendants commandent cette ouverture, et les trois sont fermés à l'installation.

Verrou État initial et où il se règle
L'outil Disponible en MCP est décoché sur chaque outil du catalogue. C'est une case à cocher, outil par outil, dans IA › Configuration › Outils.
La clé Aucun assistant ne se connecte sans une clé d'accès de portée MCP, que l'utilisateur génère lui-même depuis ses préférences. Elle lui donne l'URL du serveur et la clé à recopier dans l'assistant.
L'autorisation La seconde voie de connexion passe par une autorisation déléguée, réservée aux assistants dont l'adresse figure dans une liste blanche : Paramètres › Paramètres généraux, section MCP OAuth.

Point d'attention

Dans cette même section, l'option Allow Dynamic Client Registration (DCR) lève le verrou de la liste blanche : n'importe quel assistant peut alors s'enregistrer seul et demander un accès. Elle est désactivée par défaut, et il n'y a pas de raison de l'activer sur une base de production.

Un assistant connecté agit avec les droits de l'utilisateur dont il porte la clé. Il voit donc ce que cet utilisateur voit, et il écrit ce que cet utilisateur peut écrire. La colonne Outil d'accès en lecture est le tri à faire avant de cocher : un outil qui lit ne peut pas abîmer vos données, un outil qui écrit le peut.

Les instructions par défaut

IA › Configuration › Prompts par défaut rassemble les consignes appliquées aux fonctions d'assistance rédactionnelle, en dehors de toute conversation. Chaque entrée porte un Nom, une Action et un Agent.

C'est là que se règle le comportement de l'assistant quand un utilisateur demande de reformuler un texte ou de résumer un message : l'instruction s'applique sans qu'il ait à la répéter.

L'automatisation assistée

Au-delà de la conversation, l'assistance se branche sur les actions de serveur, donc sur tout ce qui déclenche une action : un bouton, une règle d'automatisation, une action planifiée. Deux formes distinctes existent, et elles n'engagent pas la même chose.

L'action de décision

La première confie la décision à l'assistant : on lui donne une consigne et une liste d'outils, et il choisit lesquels appeler sur l'enregistrement. Elle ne propose pas, elle applique.

  1. Ouvrir Paramètres › Technique › Actions › Actions de serveur, puis Nouveau.
  2. Nommer l'action et renseigner le Modèle sur lequel elle porte.
  3. Choisir le Type IA parmi les vignettes qui apparaissent alors.
  4. Dans l'onglet Pop-up, renseigner les Outils que l'assistant peut appeler, puis les Instructions qui décrivent ce qu'il doit faire.

Note

Les vignettes de type ne s'affichent qu'une fois le Modèle renseigné. Sur une action neuve, l'écran ne montre d'abord que le nom et le modèle : c'est normal, il n'y a rien à corriger.

L'onglet qui porte la consigne s'intitule Pop-up à l'écran en français, alors qu'il contient bien les instructions de l'assistant et rien d'autre.

Action de serveur de type IA
Figure 20.4 : Action de serveur de type IA

Point d'attention

Les Instructions sont le seul fondement de la décision. Aucun garde-fou implicite n'existe : les règles métier, les plafonds, les contrôles de cohérence et les vérifications de droits doivent être écrits dans les outils appelés, pas supposés acquis.

Les restrictions par groupe posées sur un outil ne s'appliquent pas quand l'assistant l'appelle. L'écran signale le cas par un avertissement à côté des Outils dès qu'un outil restreint figure dans la liste.

Enfin, une action qui échoue partiellement peut se terminer normalement, l'erreur étant renvoyée à l'assistant sous forme de texte. Un contrôle en aval reste nécessaire.

Le champ mis à jour par l'assistant

La seconde forme est plus étroite, et sensiblement moins engageante : l'assistant ne décide de rien, il calcule la valeur d'un champ désigné.

  1. Sur une action de serveur, choisir le Type Mettre à jour l'enregistrement.
  2. Désigner le champ à écrire.
  3. Choisir Mettre à jour avec l'IA au lieu d'une valeur fixe.
  4. Renseigner la consigne qui décrit la valeur attendue.

Le périmètre est borné : un champ, un enregistrement, une consigne. C'est la forme à préférer quand le besoin se ramène à remplir une case, par exemple qualifier un ticket ou résumer un échange.

Créer un outil

Le catalogue livré couvre les cas courants. Un traitement propre à votre organisation s'ajoute comme une action de serveur ordinaire, que l'on rend disponible à l'assistance depuis son onglet Utilisation : cocher Utiliser dans l'IA, puis renseigner le Nom de l'outil IA et la Description de l'outil IA.

Astuce

La description est lue par l'assistant, pas par vos utilisateurs. C'est elle qui décide s'il appelle l'outil au bon moment : écrivez-la du point de vue de la décision, en disant à quoi l'outil sert et quand il convient, pas ce qu'il fait techniquement.

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.