Aiqbee Hive
Se connecter
Aide

Métadonnées du neurone

Champs déclarés, filtrage, et pourquoi les métadonnées ne sont pas un contrôle d’accès.

Les métadonnées ne sont pas un contrôle d'accès.

Les métadonnées ne constituent pas un contrôle d'accès. Les champs de métadonnées (y compris des champs comme company_ids ou privacy_level) sont de simples étiquettes descriptives pour le filtrage et l'affichage. Ils ne masquent les neurones à personne : tout utilisateur disposant d'un accès en lecture au Brain voit tous les neurones, quelles que soient les métadonnées, et tout appelant peut simplement omettre un filtre. Pour restreindre qui peut lire un neurone, utilisez la sécurité NeuronType (sécurité avancée) — c'est le mécanisme appliqué.

Les métadonnées de neurone sont un petit ensemble d'étiquettes déclarées que vous pouvez attacher à un neurone — un produit, une liste de clients, une classification de confidentialité, un indicateur de revue. Leur but est le filtrage : restreindre une recherche ou une liste à la portion du Brain qui compte, afin qu'un agent obtienne les dix bons neurones plutôt que les deux cents plausibles.

Les métadonnées ne sont jamais recherchées comme du texte ni vectorisées. Les modifier laisse intacts l'embedding, les fragments et le hash de contenu du neurone ; étiqueter mille neurones ne coûte donc aucune réindexation.

Le registre : déclarer avant d'écrire

Chaque brain possède son propre registre de champs de métadonnées. Une clé non déclarée ne peut être ni écrite ni utilisée pour filtrer — c’est voulu. Les clés libres dérivent (« customer » sur un neurone, « customer_id » sur le suivant), et un agent IA n’a aucun moyen de découvrir ce qu’il a le droit de dire. Le registre est le contrat.

Gérez-le sur la page du Brain, sous Champs de métadonnées. Seul le propriétaire du Brain voit cet onglet. Un Brain sans champ déclaré laisse simplement la fonctionnalité en sommeil : rien à écrire, rien à filtrer.

PropriétéCe que cela signifie
Clé En minuscules, commence par une lettre, lettres/chiffres/_/-, jusqu’à 64 caractères — par ex. product_id. Les clés commençant par _ sont réservées.
Type de valeur string, number ou boolean. Les dates et les numéros de version sont déclarés en string ; indiquez le format dans la description (par ex. « date ISO, AAAA-MM-JJ »).
Multi-valeur Lorsque cette option est activée, la valeur stockée est une liste de ce type — p. ex. company_ids: ["acme", "globex"]. Filtrer un champ multivalué signifie « la liste contient cette valeur ».
Valeurs autorisées Énumération facultative. Laissez vide pour une valeur libre. Les écritures sont vérifiées par rapport à elle ; les filtres ne le sont pas, donc restreindre une énumération ne rend jamais inaccessibles des lignes existantes.
Description C’est ce que lit l’IA. Elle est renvoyée par aiqbee_list_metadata_fields et résumée dans aiqbee_get_brain_info ; c’est ainsi qu’un modèle comprend ce que signifie un champ et quelles valeurs sont pertinentes. Rédigez-la pour le modèle, pas pour vous : « Produit concerné par cette note ; les valeurs sont des slugs de produit tels que hive-server » vaut mieux que « produit ».

Modifier et supprimer un champ

  • Modifier la description ou les valeurs autorisées ne change rien à ce qui est déjà stocké.
  • Modifier le type ou l’indicateur multi-valeur est également autorisé et ne réécrit jamais les valeurs stockées. Les valeurs existantes sont conservées telles quelles et correspondent toujours aux filtres tels que stockées ; seules les nouvelles écritures sont validées par rapport à la nouvelle définition. Une valeur qui n’est plus conforme peut seulement ne plus correspondre à un filtre — elle ne peut rien casser.
  • Supprimer un champ conserve les données. Les valeurs déjà présentes sur les neurones sont conservées mais deviennent inertes : un filtre nommant la clé supprimée est rejeté, et les valeurs réapparaissent dès que vous déclarez à nouveau la clé.

Écrire des valeurs

Sur la page d'un neurone, la carte Métadonnées offre une zone par champ déclaré. Laissez une zone vide pour retirer cette valeur ; Effacer toutes les métadonnées vide entièrement l'objet. Les agents font la même chose via aiqbee_create_neuron et aiqbee_update_neuron, où metadata est un patch de fusion : les clés que vous envoyez sont appliquées par-dessus ce qui est stocké, un null JSON supprime une clé, et la chaîne clear vide tout.

Limites : au plus 20 clés par neurone et 8 Ko de JSON sérialisé. Les valeurs sont plates — des scalaires, ou des listes de scalaires pour un champ multi-valeur. Pas d’objets imbriqués.

Filtrage

Sur la page du Brain, choisissez un champ et une valeur sous la liste des neurones pour ajouter une puce de filtre. Les puces sont des liens : vous pouvez donc mettre en favori ou partager une vue filtrée. Via MCP, c'est un argument metadata_filter sur aiqbee_search et aiqbee_list_neurons.

Vous écrivezSignification
{"product_id": "hive-server"} Égalité. Une valeur scalaire correspond à cette valeur exacte. Pour un champ multi-valeur, cela signifie « la liste stockée contient cette valeur ».
{"privacy_level": ["internal", "public"]} L’un parmi. Une liste correspond si l’une des valeurs correspond.
{"reviewed": {"exists": true}} Présence. Correspond à tous les neurones qui portent la clé, quelle que soit sa valeur. Dans l’interface web, laissez le champ de valeur vide.
{"product_id": "phoenix", "privacy_level": "internal"} ET entre les clés. Chaque clé nommée doit correspondre. Combiné avec le « l’un parmi » au sein d’une clé, c’est tout le langage : pas de plages, pas d’imbrication or/not.

Les filtres se combinent avec tout le reste — recherche textuelle, type de neurone et contrôle d’accès. Un neurone que vous n’avez pas le droit de voir reste masqué, qu’un filtre de métadonnées soit présent ou non.

Les valeurs sont converties vers le type déclaré : filtrer un champ number sur "5" trouve donc 5. Filtrer sur une clé que le Brain ne déclare pas est rejeté avec la liste des clés déclarées — ce qui permet à un agent de se corriger en un seul aller-retour plutôt que d'obtenir silencieusement aucun résultat.

Licences : une fonctionnalité payante, et ce qui se passe si elle expire

Les métadonnées de neurone sont une fonctionnalité payante, au même titre que l'historique d'audit et la sécurité avancée — voir Licences & niveaux. Le verrouillage est volontairement asymétrique, et c'est cette asymétrie qui permet de survivre à un retour à un niveau inférieur.

OpérationOffre gratuite / licence sans droits
Lire les métadonnées d'un neuroneToujours autorisé
Filtrer la recherche et les listes par métadonnéesToujours autorisé
Lister les champs déclarésToujours autorisé
Retirer une valeur, effacer les métadonnées d'un neuroneToujours autorisé
Supprimer un champ déclaréToujours autorisé
Ajouter ou modifier une valeurRefusé — licence payante requise
Déclarer ou modifier un champRefusé — licence payante requise

Ainsi, si une licence expire ou est rétrogradée : rien n'est supprimé et rien n'est masqué. Chaque valeur écrite sous licence reste sur son neurone, reste visible dans l'interface et dans les résultats d'outils, et reste filtrable. Seules les écritures sont bloquées. Les suppressions restent ouvertes volontairement, afin que vous ne soyez jamais piégé dans un état dont vous ne pouvez sortir. Une nouvelle licence rétablit immédiatement l'écriture — il n'y a rien à restaurer ni à réimporter. Les métadonnées voyagent aussi avec un export OKF ; importer ce bundle sur un Hive sans le droit correspondant enregistre les valeurs mais ne crée pas le registre de champs.

Les contrôles grisés sont une simple commodité ; la vérification est effectuée côté serveur et s’applique de la même façon à l’interface web et aux outils MCP. Une licence expirée est un cas distinct et plus large : tout le Hive passe en lecture seule, métadonnées comprises.

Ce que les métadonnées ne sont pas

Cela vaut la peine d’être répété, car les noms de champs induisent l’erreur. Un champ appelé company_ids ou privacy_level ressemble à une autorisation. Ce n’en est pas une, et Hive ne la traite pas comme telle.

  • Tout utilisateur ayant un accès en lecture au brain peut voir chaque neurone et toutes ses métadonnées, quoi que disent les libellés.
  • Tout appelant peut simplement omettre le filtre.
  • Ni la recherche, ni la liste, ni la récupération ne consultent les métadonnées pour décider de la visibilité.

Pour réellement restreindre qui peut lire un neurone, utilisez la sécurité par type de neurone (sécurité avancée) : marquez le neurone comme sécurisé par type et accordez son type de neurone aux utilisateurs, groupes ou comptes de service qui doivent le voir. C'est le mécanisme appliqué, sur chaque chemin de lecture. Les métadonnées l'accompagnent à titre de description, jamais de défense.