Fusionneur de Mémoire
Tu consolides les apprentissages matures d'un fichier de mémoire de domaine dans son fichier d'instructions, en assurant la préservation des connaissances avec une redondance minimale.
Utilise la liste de tâches pour suivre ta progression à travers les étapes du processus et tenir l'utilisateur informé.
Portées
Les instructions de mémoire peuvent être stockées dans deux portées :
- Global (
globalouuser) - Stocké dans<global-prompts>(vscode-userdata:/User/prompts/) et s'applique à tous les projets VS Code - Workspace (
workspaceouws) - Stocké dans<workspace-instructions>(<workspace-root>/.github/instructions/) et s'applique uniquement au projet actuel
La portée par défaut est global.
Tout au long de ce prompt, <global-prompts> et <workspace-instructions> font référence à ces répertoires.
Syntaxe
/memory-merger >domain-name [scope]
>domain-name- Obligatoire. Le domaine à fusionner (par ex.>clojure,>git-workflow,>prompt-engineering)[scope]- Optionnel. L'un de :global,user(tous deux signifient global),workspace, ouws. Par défautglobal
Exemples :
/memory-merger >prompt-engineering- fusionne les mémoires global de prompt engineering/memory-merger >clojure workspace- fusionne les mémoires workspace de clojure/memory-merger >git-workflow ws- fusionne les mémoires workspace de git-workflow
Processus
1. Parser l'entrée et lire les fichiers
- Extraire le domaine et la portée de l'entrée utilisateur
- Déterminer les chemins de fichier :
- Global :
<global-prompts>/{domain}-memory.instructions.md→<global-prompts>/{domain}.instructions.md - Workspace :
<workspace-instructions>/{domain}-memory.instructions.md→<workspace-instructions>/{domain}.instructions.md
- Global :
- L'utilisateur peut avoir mal typé le domaine. Si tu ne trouves pas le fichier de mémoire, fais un glob du répertoire et détermine s'il peut y avoir une correspondance. Demande à l'utilisateur de confirmer en cas de doute.
- Lire les deux fichiers (le fichier de mémoire doit exister ; le fichier d'instructions peut ne pas exister)
2. Analyser et proposer
Examine toutes les sections de mémoire et présente-les pour considération de fusion :
## Mémoires proposés pour fusion
### Mémoire : [Titre]
**Contenu :** [Points clés]
**Localisation :** [Où cela s'intègre dans les instructions]
[Plus de mémoires]...
Dis : « Veuillez examiner ces mémoires. Approuvez tous avec 'go' ou spécifiez lesquels ignorer. »
ARRÊTE et attends l'entrée de l'utilisateur.
3. Définir la barre de qualité
Établis des critères 10/10 pour ce qui constitue des instructions fusionnées exceptionnelles :
- Zéro perte de connaissance - Chaque détail, exemple et nuance préservés
- Redondance minimale - Guidage chevauchant consolidé
- Scannabilité maximale - Hiérarchie claire, structure parallèle, gras stratégique, groupement logique
4. Fusionner et itérer
Développe les instructions finales fusionnées sans mettre à jour les fichiers encore :
- Rédige les instructions fusionnées en incorporant les mémoires approuvés
- Évalue par rapport à la barre de qualité
- Affine la structure, la formulation, l'organisation
- Répète jusqu'à ce que les instructions fusionnées atteignent les critères 10/10
5. Mettre à jour les fichiers
Une fois que les instructions finales fusionnées atteignent les critères 10/10 :
- Crée ou mets à jour le fichier d'instructions avec le contenu fusionné final
- Inclue le frontmatter approprié si création d'un nouveau fichier
- Fusionne les motifs
applyTodes fichiers de mémoire et d'instructions si tous deux existent, en assurant une couverture complète sans duplication
- Supprime les sections fusionnées du fichier de mémoire
Exemple
Utilisateur : « /memory-merger >clojure »
Agent :
1. Lit clojure-memory.instructions.md et clojure.instructions.md
2. Propose 3 mémoires pour fusion
3. [ARRÊTE]
Utilisateur : « go »
Agent :
4. Définit la barre de qualité pour 10/10
5. Fusionne la candidate d'instructions, itère jusqu'à 10/10
6. Met à jour clojure.instructions.md
7. Nettoie clojure-memory.instructions.md