> ## Documentation Index
> Fetch the complete documentation index at: https://kiro.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Memory

> Découvrez comment Kiro conserve le contexte utile d'un projet d'une session de clavardage à l'autre.

Memory permet à Kiro de conserver du contexte utile d'une session de clavardage à la suivante. Il peut retenir les commandes et les conventions d'un dépôt, les corrections, les constats de débogage, les approches déjà écartées et votre façon préférée de travailler. Lorsque ce contexte redevient pertinent, Kiro peut l'utiliser dans un travail ultérieur. Vous passez moins de temps à reconstruire le contexte et plus de temps à poursuivre la tâche.

Memory fait partie du harnais d'agent de Kiro, le système qui assemble le contexte et exécute l'agent. Il résout deux problèmes liés : décider ce qui, dans votre travail, est assez utile pour être conservé, et trouver la mémoire pertinente pour la tâche en cours. Chaque mémoire est un enregistrement composé d'un titre, d'une description et d'un contenu, et non une copie d'une conversation passée. Les mémoires sont stockées localement par compte utilisateur, et non par espace de travail. Kiro IDE et Kiro CLI sur la même machine partagent les mémoires stockées, mais chaque application a son propre paramètre Memory.

## Fonctionnement de Memory

Memory ajoute l'apprentissage et le rappel au contexte que Kiro utilise déjà :

1. **Commencer par la tâche en cours.** Votre requête, la conversation en cours et le [Steering](https://kiro.dev/docs/steering.md) entrent dans le harnais d'agent comme contexte courant.
2. **Apprendre du travail.** Le harnais peut repérer du contexte utile et créer ou affiner une mémoire.
3. **Rappeler au moment pertinent.** Dans une session ultérieure, Kiro peut récupérer une mémoire correspondante pendant qu'il travaille sur votre requête.

![Flux de données entre deux sessions de clavardage. Memory se trouve dans le harnais d'agent. Une flèche Learn transporte le contexte utile de la première session de clavardage vers Memory. Une flèc...](https://kiro.dev/images/memory/memory-loop.svg)

## Memory et les autres formes de contexte

Memory fonctionne de concert avec les autres formes de contexte dans le harnais d'agent :

- **Memory :** le contexte que Kiro apprend de votre travail et peut rappeler dans une session ultérieure.
- [**Steering**](https://kiro.dev/docs/steering.md) : les règles et les consignes que vous rédigez lorsque vous voulez un contrôle explicite sur ce que Kiro suit.
- **Historique de session :** la conversation et le travail déjà en cours lorsque vous poursuivez ou reprenez la même session.
- [**Compaction**](https://kiro.dev/docs/compaction.md) : un résumé de l'historique de conversation plus ancien qui maintient une longue session dans sa limite de contexte.
- [**Knowledge Bases**](https://kiro.dev/docs/cli/chat/context.md#knowledge-base-context-for-large-datasets) (CLI) : du matériel de référence que vous choisissez et indexez pour que Kiro puisse y faire des recherches au besoin.

Ces formes de contexte peuvent fonctionner ensemble. Memory ajoute du contexte appris; il ne remplace pas votre conversation en cours, le Steering ni le matériel de référence. Si une règle doit s'appliquer de façon constante, écrivez-la dans le Steering.

## Contrôler l'apprentissage et le rappel

Choisissez votre application pour voir comment l'apprentissage et le rappel sont contrôlés.

    IDE
    CLI
    Web

Un seul paramètre utilisateur contrôle Memory dans Kiro IDE. Il est réglé à **Off** par défaut; choisissez un niveau pour définir comment Kiro utilise les mémoires. Si vous avez déjà choisi un niveau, votre choix est conservé d'une mise à jour à l'autre.

1. Sélectionnez l'icône **Memories** dans la barre d'activité pour ouvrir la vue Memory.
2. Sélectionnez l'engrenage **Memory settings**. Les paramètres s'ouvrent sur le paramètre **Kiro Agent: Memory**.
3. Choisissez un niveau d'accès.

| Niveau d'accès | Effet |
|---|---|
| **Use and learn** | Kiro utilise les mémoires et peut les modifier, selon vos permissions. Il crée et affine aussi des mémoires automatiquement. |
| **Use but don't learn** | Kiro utilise les mémoires et peut les modifier lorsque vous le demandez, selon vos permissions. Il ne crée ni ne met à jour de mémoires automatiquement. |
| **Use only** | Kiro utilise les mémoires existantes, mais ne les crée, ne les met à jour ni ne les supprime jamais, même lorsque vous le demandez. Memory est en lecture seule. |
| **Off** | Kiro n'utilise ni ne modifie les mémoires. C'est la valeur par défaut. |

Activer ou désactiver Memory, ou passer à **Use only** ou en sortir, s'applique aux nouvelles sessions. L'IDE affiche l'avis « Memory settings updated. The change applies to new sessions. » avec une action **Start new session**. Passer de **Use and learn** à **Use but don't learn**, ou inversement, prend effet immédiatement dans les sessions locales ouvertes.

Le paramètre Memory est un paramètre utilisateur. Une valeur dans les paramètres de l'espace de travail n'a aucun effet.

Dans Kiro IDE 1.4.121 ou une version ultérieure, un sous-agent que Kiro dépêche peut lire les mémoires locales accessibles à sa session parente. Il ne peut ni les ajouter, ni les modifier, ni les supprimer.

**ℹ️ Confiance de l'espace de travail:** Même avec **Use and learn** ou **Use but don't learn**, Kiro ne peut pas ajouter, modifier ou supprimer de mémoires à partir du clavardage dans un espace de travail que vous n'avez pas approuvé. Il peut tout de même les lire. Consultez [Confiance de l'espace de travail](https://kiro.dev/docs/permissions.md#confiance-de-lespace-de-travail).

Memory dans Kiro CLI requiert la [V3](https://kiro.dev/docs/cli/v3.md). Dans une session V3 locale :

1. Saisissez `/memories`.
2. Sélectionnez `config`.
3. Choisissez un niveau d'accès.
4. Si vous choisissez `read & write`, cochez ou décochez **Automatic memory updates**.

| Accès | Effet |
|---|---|
| `read & write` | Kiro utilise les mémoires et peut les modifier, selon vos permissions. |
| `read only` | Kiro utilise les mémoires existantes, mais n'apporte aucune modification ni mise à jour automatique. |
| `off` | Kiro n'utilise ni ne modifie les mémoires. |

`read & write` est le seul niveau qui permet à Kiro d'ajouter, de mettre à jour ou de supprimer des mémoires, selon vos permissions. Les changements d'accès à Memory s'appliquent lorsque vous démarrez une nouvelle session Kiro CLI.

**Automatic memory updates** permet à Kiro de gérer lui-même les mémoires. Son texte d'aide indique : « Automatically create and refine memories, including after a session ends. » Il requiert l'accès `read & write`. Les changements à ce paramètre s'appliquent immédiatement.

Dans Kiro CLI 3.1.0 ou une version ultérieure, un sous-agent peut lire les mémoires de l'agent qui l'a lancé. Il ne peut ni les ajouter, ni les modifier, ni les supprimer.

**ℹ️ Confiance de l'espace de travail:** Même avec `read & write`, Kiro ne peut pas ajouter, modifier ou supprimer de mémoires dans un espace de travail que vous n'avez pas approuvé. Il peut tout de même les lire. Consultez [Confiance de l'espace de travail](https://kiro.dev/docs/permissions.md#confiance-de-lespace-de-travail).

La prise en charge de Memory arrive bientôt.

## Consulter ce que Kiro retient

Choisissez votre application pour voir comment inspecter les mémoires stockées.

    IDE
    CLI
    Web

Sélectionnez l'icône **Memories** dans la barre d'activité pour ouvrir la vue Memory. Elle liste les mémoires Global et les mémoires limitées aux dépôts ouverts dans la fenêtre actuelle.

Chaque mémoire a un **type**, qui indique le genre d'information qu'elle contient, et un **emplacement**, qui montre où elle s'applique : **Global** ou le nom d'un dépôt. La plupart des mémoires affichent le type **Preference** ou **Fact**. Un type que l'IDE ne peut pas nommer s'affiche comme **Other**.

- Chaque rangée affiche le titre, le temps écoulé depuis la création de la mémoire, un résumé d'une ligne, son type et son emplacement.
- Saisissez du texte dans **Search memories...** pour filtrer par titre ou par résumé. Sélectionnez **Sort** pour trier la liste par date de création, de la plus récente ou de la plus ancienne en premier. Sélectionnez **Filter** pour la restreindre par **Type** et par **Applies to** (**Global** ou un dépôt); **Clear filters** affiche de nouveau toutes les mémoires. Le pied de page indique combien de mémoires sont stockées, par exemple `3 of 12 memories` lorsqu'un filtre est actif.
- Sélectionnez une rangée pour ouvrir la mémoire dans un onglet d'éditeur. L'onglet affiche son type, son emplacement, son heure de création, **Summary** et **Content**, avec les boutons **Refresh** et **Delete**.
- Dans l'onglet, survolez le badge de type ou placez le focus dessus pour lire ce que le type signifie : **How you like Kiro to work.** pour **Preference**, **Something true about this repository.** pour **Fact**, et **Not a preference or a fact.** pour **Other**.
- Survolez le badge d'emplacement ou placez le focus dessus pour lire où la mémoire est utilisée : **Used in every workspace.** pour **Global**, ou **Used only in** suivi du nom du dépôt pour une mémoire de dépôt.
- Pour supprimer une mémoire, faites un clic droit sur sa rangée et choisissez **Delete**, ou sélectionnez **Delete** dans son onglet. Kiro vous demande de confirmer avant de supprimer la mémoire.
- Sélectionnez **Refresh Memories** dans la barre de titre de la vue pour recharger la liste.

Vous pouvez supprimer une mémoire à partir de la vue Memory même avec **Use only**. Pour corriger le contenu d'une mémoire, demandez-le à Kiro dans le clavardage. Kiro ne peut faire le changement qu'avec **Use and learn** ou **Use but don't learn** dans un espace de travail approuvé.

Saisissez `/memories`, puis sélectionnez `list` pour parcourir et prévisualiser les mémoires stockées.

Chaque mémoire a un **type**, qui indique le genre d'information qu'elle contient, et une **portée**, qui montre où elle s'applique. Une mémoire liée à un seul dépôt affiche une portée telle que `repo:github/<owner>/<repository>`.

- Commencez à saisir du texte pour filtrer la liste. La liste indique combien de mémoires sont stockées.
- Chaque rangée affiche le titre, une description d'une ligne et le temps écoulé depuis sa mise à jour.
- Appuyez sur `ctrl+p` ou cliquez pour prévisualiser une mémoire. L'aperçu affiche son type, sa portée, son heure de mise à jour et sa description.
- Appuyez sur `Enter` ou double-cliquez pour ouvrir la mémoire complète. La vue détaillée ajoute son contenu, son ID et ses horodatages.
- Dans Kiro CLI 2.34 ou une version ultérieure, appuyez sur `Ctrl+D` à partir de la liste ou de la vue détaillée pour supprimer la mémoire sélectionnée. Appuyez sur `y` pour confirmer ou sur `n` pour la conserver.

Pour corriger le contenu d'une mémoire, demandez-le à Kiro dans le clavardage. Kiro ne peut faire le changement qu'avec l'accès `read & write` dans un espace de travail approuvé.

La prise en charge de Memory arrive bientôt.

## Voir Memory dans une session

Supposons que Kiro apprenne, en déboguant, que les tests d'intégration d'un dépôt échouent tant que la base de données locale n'est pas amorcée. Une mémoire peut consigner ce constat. Dans une session ultérieure, Kiro peut le rappeler et amorcer la base de données en premier plutôt que de redécouvrir la cause.

    IDE
    CLI
    Web

Lorsque Kiro utilise des mémoires, le clavardage regroupe cette activité dans des entrées repliables telles que **Memory accessed (1)**, **Memory created (1)** ou **Memory updated (1)**. Chaque entrée liste les titres des mémoires concernées. Survolez un titre pour voir le type et le résumé de la mémoire. Dans les entrées **Memory accessed**, **Memory created**, **Memory updated** et **Memory listed**, sélectionnez un titre pour ouvrir la mémoire. Une entrée **Memory deleted** nomme des mémoires qui n'existent plus, et une entrée **Memory imported** nomme la source de l'importation; leurs titres ne s'ouvrent donc pas.

L'exemple de débogage pourrait afficher :

> **Memory accessed (1)**
>
> seed-db-before-integration-tests

La mémoire rappelée indique à Kiro d'amorcer la base de données locale avant d'exécuter les tests d'intégration.

Un appel à Memory qui a échoué ou que Kiro n'a pas pu confirmer apparaît plutôt dans sa propre carte, telle que **Couldn't save memory** ou **Memory not saved**, avec le texte de résultat de l'agent. Lorsqu'il est disponible, la carte affiche aussi le nom de la mémoire.

Les mémoires rappelées consomment aussi du contexte. Sélectionnez l'indicateur d'utilisation du contexte dans la zone de saisie du clavardage pour ouvrir **Context Usage**. Une rangée **Memory** apparaît après **Steering files** lorsque des mémoires consomment du contexte.

Lorsque Kiro utilise une mémoire, le clavardage affiche une entrée **Memory** pendant que Kiro travaille encore. L'entrée affiche `command=get`, ce qui signifie que Kiro a lu une mémoire, suivi du titre de la mémoire.

L'exemple de débogage pourrait afficher :

> **Memory**\
> `command=get, title=seed-db-before-integration-tests`

La mémoire rappelée indique à Kiro d'amorcer la base de données locale avant d'exécuter les tests d'intégration.

La prise en charge de Memory arrive bientôt.
