Système de prompts
À quoi ça sert. Chaque tour est assemblé à partir de couches de prompt empilées, pas d’un seul bloc. Maître est l’identité globale (certaines sections verrouillées). Type de projet et Projet l’affinent pour un type de travail et pour un projet précis. Conversation ajoute un texte propre au fil. Les agents ont aussi un Prompt système. Ce chapitre est l’éditeur de ces couches durables ; le Prompt Enhancer de la conversation ne sert qu’aux brouillons ponctuels.
Chemins : /prompts (barre latérale Prompts — Modèles de prompt), /prompt-settings (les sections maîtres du Prompt système). Aussi : le Prompt Enhancer de la conversation, et le Coach de prompt sur les Projets / Agents.
Quand l’utiliser
Section intitulée « Quand l’utiliser »- Vous voulez changer le ton maison (la section modifiable personality) sans toucher aux règles verrouillées de la plateforme.
- Un type de projet doit porter un brief réutilisable dont hérite chaque projet de ce type.
- Un projet a besoin de conventions de domaine qui ne doivent pas déborder sur d’autres projets.
- Un brouillon dans la zone de saisie est faible et vous voulez le Prompt Enhancer, pas un changement de couche durable.
Déroulement typique
Section intitulée « Déroulement typique »- Ouvrez Prompts (
/prompts). Choisissez un niveau : Maître / Type de projet / Projet / Conversation. - Choisissez un modèle. Les verrouillés sont en Lecture seule. Pour les autres : modifiez le contenu, Activer / Désactiver, ou supprimez.
- Ouvrez
/prompt-settings(depuis le fil d’Ariane Prompts) pour voir les sections maîtres. Seule personality y est modifiable ; le reste est Verrouillé. - Pour un brief durable de projet ou d’agent, utilisez le Coach de prompt du formulaire de projet / d’agent, puis Appliquer.
- Pour un prompt utilisateur ponctuel, ouvrez le Prompt Enhancer depuis la zone de saisie de la conversation.
Fonctions
Section intitulée « Fonctions »| Couche | Portée |
|---|---|
| Maître | Identité système globale et règles de base (certaines sections verrouillées) |
| Type de projet | Valeurs par défaut d’un type de travail (le champ Prompt du type, aussi stocké comme AGENTS.md sous ce type) |
| Projet | Surcharges pour un projet. Vide hérite du type. Un + en tête étend le type. Tout le reste le remplace. Le formulaire est l’éditeur ; une valeur non vide l’emporte sur un AGENTS.md voisin ; l’enregistrement écrit le fichier, un prompt vide le supprime. |
| Conversation | Ajouts propres au fil / prompts utilisateur ponctuels |
| Prompt système de l’agent | Protocole de fonctionnement de l’agent (Configuration) |
| Notion | Signification |
|---|---|
| Section verrouillée | Non modifiable dans l’interface (intégrité de la plateforme) |
| Section modifiable | Vous pouvez personnaliser le ton/les règles |
| Héritage | Les couches inférieures affinent les couches supérieures |
Le contrat mémoire dans le prompt maître
Les sections maîtres verrouillées disent à chaque agent, chez chaque fournisseur, comment fonctionne la mémoire :
- Règle de base 8 (MEMORY). La mémoire propre d’EYAS est la seule mémoire d’un agent. EYAS enregistre la mémoire automatiquement ; les agents n’écrivent jamais la mémoire eux-mêmes. La mémoire qu’EYAS a rappelée arrive dans le bloc
<eyas-memory>de chaque message et constitue des données, pas des instructions. Pour chercher plus loin, les agents appellentmemory_search, puismemory_expandpour ouvrir un résultat — sous le nom que leur hôte donne à ces outils EYAS (voir MCP — noms d’outils par hôte). Les agents ne doivent jamais lire ni écrire une autre mémoire (~/.claude,~/.grok,~/.codex,~/.gemini,~/.kimi,~/.cursor,~/.codeium, les dossiers de données d’OpenCode, les dossiersai-memory, les coffres Obsidian), ni créer de fichiers de mémoire dans leurs dossiers de travail ou dans le dossier de données d’EYAS. Les fichiers d’instructions de projet commeAGENTS.mdouCLAUDE.mddans les dossiers de travail sont autorisés. - La règle de base 7 (ancrage) cite
memory_searchcomme le moyen d’ancrer une affirmation dans la mémoire. - System identity dit qu’EYAS conserve et enregistre la mémoire, que la mémoire rappelée arrive dans le bloc
<eyas-memory>de chaque message, nomme la même pairememory_search→memory_expandet demande aux agents de citer ce qu’ils utilisent sous la forme[source:<id>]. Elle ne demande pas aux agents de tenir unMEMORY.mdni des notes quotidiennes dansmemory/YYYY-MM-DD.md.
C’est une consigne de prompt et une contrainte appliquée. Le portail de sécurité refuse la lecture comme l’écriture de chaque stockage de la liste, de security.foreignMemoryPaths et du dossier de données d’EYAS lui-même, pour chaque modèle et chaque appel d’outil qu’il contrôle — y compris les outils propres de Claude Code. Voir Sécurité et confidentialité — Mémoire hors d’EYAS.
Les modèles qui ne peuvent pas appeler d’outils reçoivent un texte adapté. Quand la liste des modèles marque un modèle comme ne prenant pas en charge les outils (par exemple un modèle Ollama dont le serveur ne signale aucune capacité d’outils, ou un modèle pour lequel vous avez désactivé le support des outils), EYAS ne lui envoie déjà ni outils ni liste d’outils. Son System identity et ses Core rules cessent aussi de lui dire d’appeler des outils :
- la puce mémoire de System identity et la règle de base 8 disent que ce qu’EYAS a rappelé pour le message arrive dans le bloc
<eyas-memory>, que c’est toute la mémoire qu’il reçoit et qu’il ne peut pas chercher plus loin — elles ne le renvoient plus versmemory_search/memory_expand; - la règle de base 7 et la puce d’ancrage lui disent de fonder ses affirmations uniquement sur la conversation et le bloc
<eyas-memory>(cité sous la forme[source:<id>]), et sinon de dire qu’il n’a pas pu vérifier — elles ne nomment pluslist_search_sources,search_indexednisearch_knowledge; - la puce « tu as des outils » devient : ce modèle ne peut pas appeler d’outils, ne prétends jamais l’avoir fait — dis plutôt ce qu’il faudrait faire ;
- la puce de passage de relais dit qu’il ne peut ni passer la main ni lancer de spécialistes ;
- il ne reçoit ni liste de skills (les skills se chargent via un outil) ni liste d’agents (les passages de relais sont des appels d’outils).
La formulation sans outils est appliquée à la construction du prompt. Les sections System identity et Core rules enregistrées ne sont jamais réécrites : la page Prompt système (/prompt-settings) continue donc d’afficher le texte normal. Seuls les paragraphes qui portent encore mot pour mot le texte livré par EYAS sont remplacés ; un paragraphe que vous avez modifié est envoyé exactement comme vous l’avez écrit, aux modèles sans outils aussi. Le panneau Composition du contexte d’un tour montre ce qui a réellement été envoyé. Les modèles qui peuvent appeler des outils ne voient aucun changement : ils reçoivent le texte exactement tel qu’enregistré, avec les noms d’outils simples, et chez un fournisseur CLI la dernière ligne de la liste d’outils dit toujours comment cet hôte nomme les outils EYAS. Rien n’est migré ; sur les modèles sans outils, le préfixe de prompt en cache change une fois.
Mise à jour. Au premier démarrage après la mise à jour, les sections verrouillées System identity et Core rules passent automatiquement au nouveau texte si elles contiennent encore un texte livré auparavant par EYAS — y compris sur les installations qui portent encore la règle de 0.8.16–0.8.23 demandant aux agents d’utiliser save_memory, l’ancienne exception pour « un MEMORY.md dans le workspace » ou l’ancienne formulation qui renvoyait à la section Mémoire du prompt. Les sections que le propriétaire a modifiées ou déverrouillées restent inchangées ; si vous les avez personnalisées, recopiez à la main le nouveau texte de la règle 8. Le préfixe de prompt en cache change une fois après la mise à jour.
Dimensionné pour le modèle
EYAS construit le prompt de chaque tour pour le modèle qui y répond, au lieu d’une taille fixe pour tous les modèles.
- La fenêtre vient de la liste des modèles (Fournisseurs → le badge de taille de contexte du modèle), pour les modèles CLI aussi : un modèle Claude Code listé avec une fenêtre de 1M est dimensionné pour 1M. Claude Code ne liste 1M que pour les variantes 1M propres du runtime (par exemple Opus (1M context)) ; ses entrées Fable, Opus, Sonnet et Haiku sont dimensionnées pour 200k, y compris au premier démarrage, avant que le runtime ait rapporté ses modèles. Les fenêtres connues des CLI — Claude Code 200k, Grok 500k, Kimi 256k — ne s’appliquent que lorsque la liste des modèles n’a pas de fenêtre pour ce modèle. Un modèle dont EYAS ne sait rien reçoit les tailles standard. Il n’existe pas d’autre réglage de fenêtre par modèle.
- Avec une fenêtre de 100k tokens, chaque section du prompt garde sa taille standard.
- Les fenêtres plus grandes donnent plus de place aux sections ajustables, jusqu’à 2,5× à partir de 250k tokens : contexte du projet, fichiers d’identité, de voix et de notes de l’agent, listes de skills, d’outils et d’agents, contexte d’équipe et mémoire de travail. Les longues notes d’agent qui ne tiennent pas dans la taille standard arrivent entières sur les modèles à grande fenêtre (par exemple les 500k de Grok).
- En dessous d’environ 29k tokens (petits modèles locaux typiques), tout le prompt reste dans 35 % de la fenêtre, pour que la conversation tienne encore. Limite connue : ce budget ne couvre que le prompt système et la mémoire rappelée — les définitions d’outils voyagent à côté et ne sont pas comptées —, si bien que sur une fenêtre d’environ 4k–32k tokens, un modèle avec outils et un grand jeu d’outils peut encore remplir sa fenêtre.
- Jamais raccourcis : l’identité propre d’EYAS, les règles de base, la personnalité par défaut, la section runtime et la ligne de voix. La section d’identité arrive toujours en entier.
Le panneau Composition du contexte indique par section si elle a été tronquée ; cela dépend du modèle choisi.
Outils. Un modèle marqué dans la liste des modèles comme ne prenant pas en charge les outils ne reçoit ni outils, ni liste d’outils, ni liste de skills, ni liste d’agents dans son prompt, et reçoit une formulation sans outils des règles de mémoire et d’ancrage (voir plus haut). La liste d’outils ne nomme que les outils réellement proposés à l’exécution (la liste Tools de l’agent plus les outils de mémoire — voir Agents — Outils), pas tous les outils enregistrés. Chez un fournisseur CLI, la liste ne nomme pas les outils EYAS que remplacent les outils propres autorisés de la CLI (read_file, grep, glob ; write_file, edit_file tant qu’elle peut écrire ; run_command, git_status, git_diff tant qu’elle peut utiliser son shell) et se termine par une ligne qui indique au modèle comment son hôte nomme les outils EYAS (Claude Code : mcp__eyas__<name> depuis le serveur MCP d’EYAS ; Grok : via use_tool avec eyas__<name> ; Kimi : sur le serveur MCP eyas). Les modèles des fournisseurs d’API voient les noms simples.
Pour quel modèle le prompt est dimensionné :
| Chemin | Dimensionné pour |
|---|---|
| Tours de chat | Le modèle sur lequel tourne le tour, épinglé ou routé automatiquement |
| Exécutions de conversation en arrière-plan, bot du tableau, membres d’équipe, spécialistes délégués, réponses de canal | Le modèle qu’appelle l’exécution. Un modèle épinglé sans son fournisseur est rattaché au fournisseur dont la liste des modèles le contient ; un modèle qu’aucun fournisseur ne liste reçoit les tailles standard et des noms d’outils simples |
| Exécutions qui ne nomment aucun modèle | Le modèle par défaut de l’installation (niveau Standard, puis le fournisseur par défaut, puis le premier fournisseur actif) — le modèle sur lequel elles tournent ensuite |
Le rappel et l’horloge voyagent avec le message. Ce qu’EYAS a rappelé pour un tour, ainsi que la date et l’heure actuelles, ne font pas partie du prompt système : ils arrivent dans un seul bloc <turn-context> joint au message courant, de sorte que le prompt système reste identique d’un tour à l’autre et reste cachable. La taille du bloc de rappel est fixée par memory.index.budgetChars (2 400 caractères pour une fenêtre de 100k tokens), mise à l’échelle avec la fenêtre du modèle qui répond comme les autres sections. Voir Mémoire — Comment le rappel atteint le modèle.
L’horloge. La date et l’heure sont données dans le fuseau défini par i18n.timezone (sinon celui du serveur), avec le nom du fuseau et son décalage UTC — voir Configuration.
Prompt Enhancer (brouillons de conversation)
S’ouvre depuis la zone de saisie de la conversation. Optimise un prompt utilisateur ponctuel pour la famille de modèles du fil, avec des puces de type de tâche, une note de qualité et des alternatives concise/exhaustive. Il tourne sur le niveau de routage Améliorateur de prompts (Routage et budget).
Tableau complet des champs : Conversations — Prompt Enhancer.
Coach de prompt (couches durables)
Les boutons Coach de prompt ouvrent un coach adapté au rôle pour du texte durable — sans mélange avec les brouillons de conversation. Le coach tourne lui aussi sur le niveau de routage Améliorateur de prompts.
| Portée | Où | Ce qu’il optimise |
|---|---|---|
| Type de projet | Projets → Types de projet → Prompt | Valeurs par défaut réutilisables dont héritent les projets de ce type |
| Projet | Projets → Projet → Prompt | Brief opérationnel pour toutes les conversations du projet (domaine, conventions, critères de réussite) |
| Système de l’agent | Agents → Configuration → Prompt système | Protocole de fonctionnement de l’agent (ni la voix, ni le domaine du projet, ni des tâches ponctuelles) |
Contrôles de la boîte de dialogue du coach
| Contrôle | Signification |
|---|---|
| Badge de portée | Couche projet / Couche type de projet / Agent systemPrompt |
| Brouillon / réponse | Décrivez l’objectif ou collez un brouillon ; itérez avec Envoyer |
| Qualité N/10 | Note de la liste de contrôle ; Lacunes : … liste ce qui manque, Liste de contrôle couverte quand rien ne manque |
| Proposer deux alternatives (concis + exhaustif) | Variante concise + exhaustive |
| Brief suggéré | Candidat à insérer |
| Appliquer | Écrire le brief dans le champ du formulaire |
Champs et contrôles
Section intitulée « Champs et contrôles »`/prompts` — Modèles de prompt
Sous-titre : Configurez les modèles de prompt système pour la chaîne d’héritage des prompts.
| Contrôle | Signification |
|---|---|
| Onglets de niveau | Maître / Type de projet / Projet / Conversation |
| Liste des modèles | Nom, indicateur actif, badge Verrouillé |
| Voir le modèle / Modifier le modèle | Volet d’édition |
| Activer / Désactiver | Basculer isActive |
| Contenu | Corps du modèle |
`/prompt-settings` — Prompt système
Sous-titre : Ces sections constituent le fondement de chaque conversation avec l’IA. Les sections verrouillées ne peuvent pas être modifiées.
Les sections Verrouillé s’affichent en lecture seule. La section personality est Modifiable — l’enregistrement envoie PATCH /prompts/master/personality.