Skip to content

Voix ​

La voix enregistre la façon dont un texte doit se lire (un message à un collègue, une note de version, une explication qui vous est adressée) et applique automatiquement le style qui correspond. Elle apprend de vos corrections sur les brouillons de votre agent.

Fonctionnement ​

La voix se compose de trois éléments : des affirmations, les groupes auxquels elles appartiennent, et les conditions de voix qui disent quand un groupe s'applique.

Les affirmations sont des énoncés uniques sur la façon d'écrire quelque chose : « commence par la demande, jamais par des politesses », « pas de tirets cadratins », « signe avec le prénom seulement ». Une affirmation ne dit rien de quand elle s'applique. Comme un fait, elle est soit vérifiée (vous l'avez dit), soit non vérifiée (votre agent l'a déduite), et elle conserve son historique quand elle est révisée. (Les outils MCP appellent une affirmation un atom.)

Les groupes sont des ensembles nommés d'affirmations : ma façon d'écrire sur Slack, l'essentiel qui vaut toujours, ma façon de relire une pull request. Le groupe est l'élément que vous réutilisez. Un groupe peut aussi inclure d'autres groupes : « ma façon d'écrire sur Slack » peut inclure « ma façon d'écrire en général », et emporte alors ces affirmations partout où il est appliqué. Un groupe dit seulement quoi écrire, jamais quand.

Les conditions de voix disent quand un groupe s'applique. Chaque condition pointe vers exactement un groupe et peut fixer n'importe lequel de six axes :

AxeCe que c'estExemples
Directionqui écrit à quivotre agent qui vous écrit ; votre agent qui écrit en votre nom à quelqu'un d'autre ; votre agent qui écrit un enregistrement conservé, comme un message de commit
Audiencela personne ou le groupe destinataireun collègue, ou un groupe comme « les clients »
Actle type de messageun message Slack, un e-mail, une pull request, une revue de PR, un commentaire de ticket, une page Notion, un message de commit, un document, une réponse qui vous est adressée
Languagela langue de rédactionanglais, français
Situationce qui se passeun incident, une relance, une annonce
Modelle modèle d'IA qui écritclaude-*

Un axe que vous laissez ouvert signifie n'importe lequel. Une condition qui laisse tous les axes ouverts est votre voix générale, et elle se place toujours sous les plus spécifiques. (Les outils MCP appellent une condition de voix un register.)

L'axe model fonctionne comme la vérification Model d'une règle : un motif comparé au nom de modèle que signale votre harnais d'agent (harness), c'est-à-dire l'agent de code que vous utilisez (Claude Code, l'application Claude pour ordinateur, Oh-My-Pi), par exemple claude-* ou openai/gpt-*.

Appliquer une voix ailleurs ​

Pour appliquer un groupe existant dans une nouvelle situation, créez une condition qui pointe vers lui. Rien n'est copié : ajoutez une affirmation à ce groupe, et chaque condition qui pointe vers lui la prend en compte.

Supprimer une condition cesse d'appliquer cette voix à cet endroit et laisse le groupe intact, toujours appliqué partout ailleurs.

La même voix dans tous les projets ​

Par défaut, une condition appartient à un seul profil : le projet dans lequel vous étiez quand elle a été créée. Rendez-la globale et elle s'applique dans tous les profils, y compris ceux créés plus tard. Vous pouvez aussi désigner un ensemble précis de profils, de la même manière que vous définissez la portée d'un skill partagé.

Les affirmations et les groupes sont de toute façon partagés entre tous vos profils : il existe une seule copie de chaque affirmation, et un seul endroit pour la corriger. La portée de la condition décide seulement où la voix s'applique.

L'axe audience ​

Vous ne saisissez jamais l'audience. Elle désigne l'un de vos contacts : un collègue, ou un groupe comme « les clients ». Renommez quelqu'un plus tard, ou ajoutez-lui un surnom : les conditions correspondent toujours. Si vous demandez une voix pour quelqu'un qui ne figure pas encore dans votre carte sociale, votre agent l'y ajoute d'abord.

Les personnes appartiennent à un seul profil : une condition qui nomme une personne reste dans le profil où elle a été écrite. La partager plus largement, ou la déplacer vers un autre profil, est refusé, et le refus nomme la personne. Les conditions qui ne nomment personne (ma façon d'écrire en français, ma façon de relire une pull request) peuvent être partagées librement.

Les audiences suivent aussi votre carte sociale. Si Neuronz.ai sait que Sam fait partie de vos clients, un message à Sam reprend automatiquement votre voix clients. Si vous avez aussi décrit comment vous écrivez à Sam en particulier, c'est cette condition qui l'emporte : une voix pour la personne prime toujours sur la voix de son groupe.

Quelle voix l'emporte ​

Plus une condition fixe d'axes, plus elle est spécifique, et la plus spécifique l'emporte. La condition où tout est ouvert arrive toujours en dernier.

Un groupe qui n'est qu'inclus par un autre prend sa place d'après celui qui l'a amené, juste en dessous de ce groupe. Si deux situations incluent toutes deux le même groupe (par exemple « ma façon d'écrire en général »), il se retrouve sous les deux, et les affirmations propres à la situation l'emportent là où elles diffèrent.

Si deux conditions de même spécificité s'appliquent à la même situation et se contredisent, votre agent est averti du conflit, et le groupe déclaré en premier l'emporte.

Rien n'est configuré à l'avance. Un profil sans condition ne reçoit aucune consigne de voix ; les groupes et les conditions sont créés à partir de vos propres mots la première fois que vous dites comment quelque chose doit se lire.

Comment elle parvient à votre agent ​

Quand il vous écrit. À chaque prompt, votre agent reçoit une courte note, pas la voix elle-même : quelles voix s'appliquent, combien d'affirmations elles contiennent, et la consigne de récupérer la voix complète avec get_resolved_voice avant sa première réponse. Votre agent indique le nom du modèle qui s'apprête à écrire (ou unknown), pour qu'une voix définie pour un modèle se résolve correctement. Neuronz.ai retient quelle voix votre agent a récupérée dans cette session : la note dit donc clairement s'il détient déjà la voix actuelle, si la voix a changé depuis qu'il l'a récupérée (vous avez corrigé une affirmation en cours de session), ou s'il ne l'a pas encore récupérée. Seuls les deux derniers cas lui demandent de la récupérer à nouveau. Après que votre harnais a compacté la conversation, la note demande une nouvelle récupération, puisque la précédente a pu disparaître.

Les voix liées à une situation, comme la façon dont les comptes rendus doivent se lire pendant un incident, dépendent d'une situation que seul votre agent peut juger. Elles sont listées par nom, chacune avec la condition qui la déclenche, et votre agent a pour consigne de vérifier la liste avant de rédiger et de récupérer la voix dont la condition est remplie. Quand l'une d'elles s'applique, elle prime sur la voix de tous les jours.

Quand il écrit à quelqu'un d'autre. Quand votre prompt semble impliquer d'écrire à quelqu'un ou à son propos, votre agent reçoit la liste de vos conditions et la consigne de déterminer à qui le message est destiné, puis de récupérer cette voix avant de rédiger. Quand un message est sur le point de partir par un outil, la voix est vérifiée une dernière fois à ce moment-là. Cela couvre Slack (le serveur officiel de Slack et les serveurs communautaires courants), l'e-mail, les pull requests, revues et commentaires d'issue sur GitHub et Gitea, ainsi que les pages et commentaires Notion. Dans Oh-My-Pi, cette dernière vérification n'a pas lieu, pour la même raison que les règles n'y sont pas vérifiées juste avant un appel d'outil (voir la parité des harnais, en anglais).

Ce que reçoit votre agent ​

Les affirmations elles-mêmes. Chaque condition qui s'applique envoie les affirmations de son groupe sous forme d'une courte liste de règles d'écriture, regroupées par ton, mécanique et structure. Ce que vous voyez sur un groupe est exactement ce qui est envoyé : une modification prend donc effet dès le message suivant.

Les groupes peuvent aussi contenir des exemples : de vrais messages écrits dans cette voix, conservés mot pour mot. Ils accompagnent les affirmations.

Quand plusieurs conditions s'appliquent, les groupes sont listés du plus spécifique au moins spécifique, avec une ligne précisant que le premier l'emporte là où deux se contredisent.

Comment elle apprend ​

  • Vous corrigez un brouillon : la correction est enregistrée comme affirmation vérifiée dans le groupe auquel elle appartient, et s'applique dès lors partout où ce groupe est appliqué.
  • Votre agent remarque une habitude : il enregistre plutôt une affirmation non vérifiée. Celle-ci n'est jamais appliquée. Elle attend un moment où elle aurait réellement compté, puis votre agent vous pose la question une fois, au passage.
  • Vous répondez : oui, et elle devient vérifiée. Non, et elle est abandonnée, en gardant la trace de cet abandon. Ou « d'accord, mais avec tout le monde, pas seulement eux » : l'affirmation est conservée et déplacée vers le groupe plus large, pour s'appliquer partout où ce groupe s'applique déjà.

Votre agent organise les groupes et les conditions pour vous ; vous pouvez demander une organisation précise, mais ce n'est pas nécessaire.

En définir une volontairement ​

La plupart du temps, vous n'avez rien à configurer : vous corrigez un brouillon et la correction est retenue. Quand vous voulez énoncer une voix explicitement (« désormais, rédige mes descriptions de pull request comme ceci », « sois plus direct avec Marie », « explique-moi les choses en français »), dites-le simplement. Le plugin inclut un skill voice-register que votre agent utilise de lui-même pour cela.

Votre agent lit d'abord ce que vous avez déjà : une voix que vous avez décrite auparavant est réutilisée (une nouvelle condition qui pointe vers le groupe existant) plutôt que copiée. Il garde le quand hors de l'affirmation, ajoute la personne à votre carte sociale si vous avez nommé quelqu'un de nouveau, choisit la portée, puis vérifie que la voix s'applique dans la situation que vous avez décrite. Si deux voix se retrouvent à égalité pour le même moment, on vous demande laquelle doit l'emporter.

Séparer l'affirmation de la condition ​

Une affirmation ne doit pas contenir sa propre condition : « parle simplement quand tu t'adresses à Marie », rangée dans votre groupe général, s'appliquerait à tout le monde.

Ainsi, quand une affirmation nomme l'un de vos collègues, un type de message ou une langue qu'aucune condition de son groupe ne couvre, elle est tout de même enregistrée, mais votre agent reçoit en retour une suggestion : quels mots déplacer, et dans quelle condition. Cette vérification ne bloque jamais un enregistrement.

Ce qu'elle ne fait pas ​

  • La voix n'est pas recherchée ni rappelée comme vos faits et vos documents. Elle est choisie selon la situation, jamais par similarité.
  • La voix n'est pas une règle. Une règle est quelque chose que votre agent doit respecter. La voix régit la façon dont un texte se lit. Le test : si y manquer produit un texte mal écrit, c'est de la voix ; si cela produit une mauvaise action, c'est une règle.
  • La voix n'applique jamais une supposition. Tout ce que votre agent a déduit reste de côté jusqu'à ce que vous le confirmiez.

Outils MCP ​

  • Affirmations : add_voice_atom, update_voice_atom, delete_voice_atom, bind_voice_atom, unbind_voice_atom.
  • Groupes : add_atom_group, list_atom_groups, get_atom_group, update_atom_group, delete_atom_group.
  • Conditions de voix : add_register, list_registers, get_register, update_register, delete_register.
  • Récupération et questions : get_resolved_voice, get_voice_ask, resolve_voice_ask.

Voir Outils MCP.