Isi-APP Docs fonctionnelles
Toutes les docs
Markdown brut
Outils IA — Interface utilisateur et chat
Actif ai functional Revu le 2026-07-13 ai/ai-tool-calling-ui.md

Outils IA — Interface utilisateur et chat

À quoi ça sert

Cette fonctionnalité branche le chat IA d'ISI-APP sur le moteur d'outils (« tool calling »). Elle permet à un assistant IA de ne plus se limiter à générer du texte mais d'aller interroger l'application en temps réel pour répondre, lorsqu'on lui en a donné la capacité.

Côté utilisateur, rien à apprendre : le chat fonctionne comme avant. La différence se voit dans la qualité des réponses (données réelles et à jour) et dans un message de chargement contextualisé qui indique ce que l'IA est en train de faire.

Vue admin — Configurer un assistant

Dans /admin/aiAssistants IA → édition d'un assistant, une section Outils IA disponibles présente tous les packs d'outils enregistrés (core, project, ticket, time, crm, user, address, entity, documentation…).

  • Cocher un ou plusieurs packs active les outils correspondants pour cet assistant.
  • Décocher tous les packs ramène l'assistant à un comportement de chat classique (génération de texte uniquement, comme avant).
  • La liste des assistants affiche des badges récapitulant les packs activés sur chaque assistant — visualisation rapide des capacités.

Si aucun pack n'est enregistré dans le système, la section affiche « Aucun pack disponible ».

Vue utilisateur — Pendant le chat

Quand un assistant équipé d'outils traite une demande :

  1. L'utilisateur tape sa question normalement.
  2. L'indicateur de saisie s'affiche, accompagné d'un message de chargement contextuel mis à jour à chaque outil utilisé, avec une icône propre à l'action : l'utilisateur voit en direct quel outil l'IA emploie (par exemple « 🔍 Recherche dans vos temps… », puis « 👁 Consultation de la fiche client… », « ➕ Création d'un temps… »).
  3. L'IA peut enchaîner plusieurs appels d'outils en interne (jusqu'à un maximum d'itérations) pour construire sa réponse ; le message de chargement reflète l'outil en cours à chaque étape.
  4. Le message final affiché est identique à un message IA classique — l'utilisateur ne voit pas les détails techniques des appels.

Détails de l'assistant (bouton info du header)

Dans le header du chat, à côté des badges modèle/provider, un bouton ouvre une modale récapitulant :

  • le provider et le modèle utilisés par l'assistant ;
  • la liste des packs d'outils IA autorisés pour cet assistant (label, icône, description de chaque pack), ou un message indiquant qu'aucun pack n'est rattaché (mode chat classique).

Cette information est en lecture seule : elle sert à comprendre les capacités d'un assistant sans avoir à ouvrir l'admin.

Traçabilité

Chaque message IA généré via le moteur d'outils est enregistré avec une trace complète des opérations exécutées (outils appelés, paramètres, itérations, tokens consommés). Cette trace est stockée dans les métadonnées du message et peut être inspectée en cas de besoin (debug, audit).

Pour un assistant sans outils, les métadonnées contiennent simplement les informations classiques (provider, modèle, tokens).

Rétrocompatibilité

  • Les assistants existants sans pack coché continuent à fonctionner exactement comme avant — aucune régression.
  • L'historique des conversations reste lisible et exploitable, qu'il ait été produit avec ou sans outils.

Points d'attention pour l'admin

  • Choisir les packs avec mesure : trop de packs sur un même assistant peut saturer le contexte du LLM (surtout sur modèles « mini ») et dégrader la qualité des réponses. Privilégier des assistants spécialisés (un assistant « Projets », un assistant « Temps », etc.).
  • Modules ACL : un pack ne sera réellement exposé qu'aux utilisateurs dont le tenant a le module Laravel correspondant activé (ex. pack project → module projet). Inutile de cocher un pack pour un assistant utilisé sur un tenant qui n'a pas le module.
  • Limite d'itérations : si l'IA atteint le nombre maximum d'itérations sans aboutir, le message final l'indique. C'est généralement le signe d'une demande mal cadrée ou d'un assistant trop chargé en outils.

Doc technique : .claude/technical-docs/ai/ai-tool-calling-ui.md