Les outils du modèle
Les outils exposés au modèle sont exactement les tâches du moteur de workflows. Le schéma d'entrées et de sorties d'une tâche est un schéma d'outil : la conversion est mécanique. Une tâche apportée par un plugin devient appelable par l'assistant sans une ligne de code supplémentaire.
API
| Appel | Renvoie |
|---|---|
| K.tools.schemas() | Les tâches converties en JSON Schema, prêtes à être offertes au modèle. |
| K.tools.tache(nom) | La tâche correspondant à un nom d'outil, ou null. |
| K.tools.appeler(nom, args, ctx) | Une promesse. Ne lève jamais : les erreurs sont renvoyées dans le résultat. |
Le champ notice
Le modèle lit la description d'un outil au moment de décider s'il l'appelle, pas le prompt système en entier. Une consigne d'usage placée dans le prompt système est fréquemment ignorée ; la même consigne dans notice est lue à la décision.
Le déplacement de la consigne du prompt système vers notice a nettement augmenté le taux d'appel des outils à l'essai. Quand la consigne reste dans le prompt, le modèle répond parfois qu'il ne sait pas faire une opération dont l'outil existe.
Ce que le modèle reçoit d'un résultat
Le résultat d'un outil est résumé avant d'être transmis. Le modèle reçoit la forme, l'utilisateur voit le fond.
| Destinataire | Contenu |
|---|---|
| Le modèle | Nombre de lignes, noms et types de colonnes, statistiques, douze lignes d'exemple. |
| L'utilisateur | Le tableau complet à l'écran, triable et exportable. |
Le gain est d'environ un facteur neuf sur les jetons consommés. Sans lui, un seul appel d'outil sur une requête un peu large pousserait le modèle hors de sa fenêtre de 32k, et le début de la conversation disparaitrait sans avertissement.
core.graphique
L'outil de tracé est le plus utilisé, et le plus spécifié.
| Paramètre | Valeurs |
|---|---|
| type | bar, line, scatter, histogram |
| couleur | Dégradé continu sur une variable numérique, par exemple depth_m, avec l'échelle OCEAN |
| erreurs | Détection automatique des colonnes d'incertitude |
| axes | Titres et unités renseignés depuis les métadonnées de l'élément |
Les échantillons dupliqués sont agrégés automatiquement : une barre par échantillon, et non une barre par analyse, avec le 2SD des réplicats en barre d'erreur.
Export des figures
Toute figure produite par l'assistant ou par un workflow s'exporte dans les formats attendus par une revue.
| Format | Détail |
|---|---|
| PNG | 300 dpi, rendu à nouveau et non agrandi, fond blanc, aux largeurs de colonne de journal (90 mm et 180 mm). |
| SVG | Rendu séparé. Le fait qu'il s'agisse d'un second rendu, et non d'une conversion, est indiqué explicitement. |
| CSV | BOM UTF-8 et séparateur point-virgule, pour ouverture directe dans Excel en environnement francophone. |
| LaTeX | Tableau formaté, prêt à inclure dans un manuscrit. |
Recherche documentaire
L'assistant consulte les sources déclarées dans le panneau Connaissances par un appel d'outil, visible dans le fil comme n'importe quel autre. Il ne lit rien en dehors des sources actives, et une source dont le chemin est faux se voit à son compteur à zéro, pas à une réponse évasive du modèle.
Inspecter les workflows
L'assistant peut lire l'automatisation sans y toucher. Quatre tâches en lecture seule lui permettent de répondre aux questions sur les workflows et leurs passages : core.workflow_liste, core.workflow_detail, core.workflow_passages et core.workflow_simuler. Il peut dire pourquoi un workflow a échoué cette nuit, ou ce qu'un workflow ferait ; il ne peut ni l'armer, ni le lancer, ni le modifier.
Ajouter un outil par plugin
Aucune API spécifique à l'IA n'est nécessaire. Déclarer une tâche suffit : elle apparait dans le moteur de workflows et dans la liste d'outils du modèle au même moment.
Ce qu'aucun outil ne fait
- Aucune tâche du noyau ne supprime de données.
- Aucun outil n'expose fetch, le disque, ni un accès direct à la base.
- Le modèle ne calcule aucune statistique : elles passent toutes par core.resume ou core.analyses.