Kiro offre trois façons de fournir du contexte, chacune optimisée pour différents cas d'utilisation :
| Approche | Impact sur la fenêtre de contexte | Persistance | Idéal pour |
|---|---|---|---|
| Agent Resources | Toujours actif (consomme des jetons) | Persistant entre les sessions | Fichiers de projet essentiels, normes, configurations |
| Skills | À la demande | Persistant entre les sessions | Grands guides, documents de référence, connaissances spécialisées |
| Session Context | Toujours actif (consomme des jetons) | Session actuelle seulement | Fichiers temporaires, expérimentations rapides |
| Knowledge Bases | Seulement lors d'une recherche | Persistant entre les sessions | Grandes bases de code, documentation exhaustive |
Utilisez cet arbre de décision pour choisir l'approche de contexte appropriée :
Avez-vous besoin de ce contexte dans chaque conversation?
Kiro inclut automatiquement votre répertoire de travail et votre système d'exploitation comme contexte dans chaque session. Vous n'avez pas besoin de configurer cela.
> /context show Agent - .kiro/steering/**/*.md <project-root>/.kiro/steering/product.md <project-root>/.kiro/steering/structure.md <project-root>/.kiro/steering/tech.md <project-root>/.kiro/steering/testing.md - README.md <project-root>/snake/README.md - ~/.kiro/steering/**/*.md (no matches) Session (temporary) <none> 5 matched files in use - <project-root>/.kiro/steering/testing.md (0.1% of context window) - <project-root>/snake/.kiro/steering/tech.md (0.1% of context window) - <project-root>/snake/README.md (0.1% of context window) - <project-root>/snake/.kiro/steering/structure.md (0.2% of context window) - <project-root>/snake/.kiro/steering/product.md (0.1% of context window) Context files total: 0.5% of context window
La sortie affiche :
Les fichiers de contexte sont limités à 75 % de la fenêtre de contexte de votre modèle. Les fichiers dépassant cette limite sont automatiquement retirés.
Les knowledge bases ne consomment pas d'espace dans la fenêtre de contexte tant qu'elles ne sont pas recherchées, ce qui en fait un choix idéal pour les grandes documentations de référence. Pour plus d'information, voir Knowledge base context (for large datasets).
Les fichiers de contexte contiennent des informations que vous souhaitez que Kiro prenne en compte pendant vos conversations. Ceux-ci peuvent inclure les exigences du projet, les normes de programmation, les règles de développement ou toute autre information qui aide Kiro à fournir des réponses plus pertinentes.
La façon recommandée de configurer le contexte est par le champ resources de votre fichier de configuration d'agent. Cela crée un contexte persistant qui est disponible chaque fois que vous utilisez l'agent.
Ajoutez des chemins de fichiers ou des modèles glob au tableau resources dans la configuration de votre agent :
{ "name": "my-agent", "description": "My development agent", "resources": [ "file://README.md", "file://docs/**/*.md", "file://src/config.py" ] }
Les resources utilisent des schémas d'URI pour spécifier le type :
file:// — Fichiers chargés directement dans le contexte au démarrageskill:// — Skills avec métadonnées chargées au démarrage, contenu complet chargé à la demandeknowledgeBase — Contenu indexé recherché à la demande (configuré comme des objets, pas des chaînes d'URI)Ces fichiers seront automatiquement disponibles dans toutes les sessions de clavardage utilisant cet agent. Pour plus de détails sur les types de resources, voir la Agent Configuration Reference.
Vous pouvez ajouter temporairement des fichiers à votre session de clavardage actuelle à l'aide de la commande /context add. Ces ajouts sont uniquement disponibles pour la session actuelle et ne persisteront pas lorsque vous démarrez une nouvelle session de clavardage.
> /context add README.md Added 1 path(s) to context.
Remarque : Les modifications de contexte via la commande slash sont temporaires.
Vous pouvez également ajouter plusieurs fichiers à la fois à l'aide de modèles glob :
> /context add docs/*.md Added 3 path(s) to context.
Pour rendre les changements de contexte permanents, ajoutez les fichiers au champ resources de votre agent à la place. Pour plus d'information, voir Configurer un contexte persistant avec les agent resources.
Pour les grandes bases de code, les ensembles de documentation ou les documents de référence qui dépasseraient les limites de la fenêtre de contexte, utilisez les knowledge bases. Les knowledge bases offrent des capacités de recherche sémantique sans consommer d'espace dans la fenêtre de contexte jusqu'à ce qu'elles soient recherchées.
Activer les knowledge bases :
kiro-cli settings chat.enableKnowledge true
Ajouter du contenu à une knowledge base :
kiro-cli chat
/knowledge add /path/to/large-codebase --include "/*.py" --exclude "node_modules/"
Les knowledge bases sont recherchées à la demande par Kiro lorsque des informations pertinentes sont nécessaires, ce qui en fait un choix idéal pour les grands documents de référence.
La compaction résume les messages plus anciens tout en conservant les plus récents, libérant ainsi de l'espace dans la fenêtre de contexte.
/compact| Paramètre | Valeur par défaut | Description |
|---|---|---|
compaction.excludeMessages | 2 | Nombre minimal de paires de messages à conserver |
compaction.excludeContextWindowPercent | 2 | Pourcentage minimal de la fenêtre de contexte à conserver |
Les deux paramètres sont évalués, et la valeur la plus prudente (la plus grande) l'emporte.
La compaction créera une nouvelle session. Vous pouvez reprendre la session originale via /chat resume.
Pour visualiser votre contexte actuel, utilisez la commande /context show :
> /context show Current context window (5.9% used) |||████████████████████████████████████████████████████████████████ 5.9% █ Context files 0.9% █ Tools 0.5% █ Kiro responses 0.7% █ Your prompts 3.8%
La sortie affiche les modèles glob pour les entrées de contexte, ce qui facilite leur identification et leur suppression.
Pour retirer des fichiers du contexte de votre session actuelle :
> /context remove src/temp-file.py Removed 1 path(s) from context.
Pour effacer tout le contexte de session, utilisez la commande /context clear :
> /context clear Cleared context Note: Context modifications via slash command is temporary.
Remarque : Vous ne pouvez pas retirer le contexte défini par l'agent à l'aide des commandes /context. Pour retirer définitivement le contexte, modifiez le champ resources de votre agent.
Voici quelques raisons courantes de gérer activement votre fenêtre de contexte :
/context add, envisagez de les déplacer vers le champ resources de votre agent pour la persistance :# Instead of running these commands every session: > /context add README.md > /context add docs/*.md # Add them to your agent config once: { "resources": [ "file://README.md", "file://docs/**/*.md" ] }
Vous pouvez configurer un agent par défaut qui inclut vos fichiers de contexte préférés. Cela garantit que votre contexte est automatiquement disponible dans les nouvelles sessions de clavardage sans avoir à spécifier l'agent chaque fois.
>kiro-cli settings chat.defaultAgent my-project-agent
# This would consume too many tokens: > /context add src/**/*.py # Use knowledge base instead: > /knowledge add src/ --include "**/*.py" --exclude "__pycache__/**"
.gitignore pour éviter les commits accidentels de contexte sensible
Gestion du contexte