Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Gestion du contexte
Choisir la bonne approche contextuelle
Amazon Q propose trois méthodes pour fournir du contexte, chacune étant optimisée pour différents cas d'utilisation :
| Approche | Impact de la fenêtre contextuelle | Persistance | Idéal pour |
|---|---|---|---|
| Ressources pour les agents | Toujours actif (consomme des jetons) | Persistant au fil des sessions | Fichiers de projet, normes et configurations essentiels |
| Contexte de session | Toujours actif (consomme des jetons) | Session en cours uniquement | Fichiers temporaires, expériences rapides |
| Bases de connaissances | Uniquement en cas de recherche | Persistant au fil des sessions | De grandes bases de code, une documentation complète |
Organigramme de décision
Utilisez cet arbre de décision pour choisir l'approche contextuelle appropriée :
-
Votre contenu dépasse-t-il 10 Mo ou contient-il des milliers de fichiers ?
-
Oui → Utiliser les bases de connaissances
-
Non → Passez à l'étape 2
-
-
Avez-vous besoin de ce contexte dans chaque conversation ?
-
Oui → Utiliser les ressources de l'agent
-
Non → Utiliser le contexte de session
-
Référence rapide :
-
Fichiers de projet essentiels (README, configurations, normes) → Ressources pour les agents
-
Bases de code ou ensembles de documentation volumineux → Bases de connaissances
-
Fichiers temporaires pour la tâche en cours → Contexte de session
Comprendre l'impact de la fenêtre contextuelle
Les fichiers de contexte et les ressources de l'agent consomment les jetons de votre fenêtre de contexte à chaque demande, qu'elle soit référencée ou non. /context showÀ utiliser pour surveiller l'utilisation des jetons :
q chat > /context show Total: ~1100 tokens
Limites de jetons : les fichiers contextuels sont limités à 75 % de la fenêtre contextuelle de votre modèle. Les fichiers dépassant cette limite sont automatiquement supprimés.
Les bases de connaissances ne consomment pas d'espace dans les fenêtres contextuelles tant qu'elles ne sont pas recherchées, ce qui les rend idéales pour les documents de référence volumineux. Pour de plus amples informations, veuillez consulter Contexte de la base de connaissances (pour les grands ensembles de données).
Gestion du contexte
Les fichiers contextuels contiennent des informations que vous souhaitez qu’Amazon Q prenne en compte lors de vos conversations. Il peut s’agir d’exigences du projet, de normes de codage, de règles de développement ou de toute autre information permettant à Amazon Q de fournir des réponses plus pertinentes.
Configuration d’un contexte permanent avec les ressources de l’agent
La méthode recommandée pour configurer le contexte consiste à utiliser le champ resources du fichier de configuration de votre agent. Cette opération crée un contexte permanent disponible chaque fois que vous utilisez l’agent.
Ajoutez des chemins de fichiers ou des modèles glob au tableau resources dans le fichier de configuration de votre agent :
{ "name": "my-agent", "description": "My development agent", "resources": [ "file://README.md", "file://.amazonq/rules/**/*.md", "file://docs/**/*.md", "file://src/config.py" ] }
Les ressources doivent contenir le préfixe file:// pour être incluses en tant que fichiers contextuels. Ces fichiers seront automatiquement disponibles dans toutes les sessions de chat utilisant cet agent.
Ajout d’un contexte temporaire à la session
Vous pouvez ajouter temporairement des fichiers à votre session de chat en cours à l’aide de la commande /context add. Ces ajouts ne sont disponibles que pour la session en cours et ne sont pas conservés lorsque vous démarrez une nouvelle session de chat.
q chat > /context add README.md Added 1 path(s) to context. Note: Context modifications via slash command is temporary.
Vous pouvez également ajouter plusieurs fichiers simultanément en utilisant les modèles glob :
q chat > /context add docs/*.md Added 3 path(s) to context. Note: Context modifications via slash command is temporary.
Pour que les modifications du contexte soient permanentes, ajoutez plutôt les fichiers dans le champ resources de votre agent. Pour de plus amples informations, veuillez consulter Configuration d’un contexte permanent avec les ressources de l’agent.
Contexte de la base de connaissances (pour les grands ensembles de données)
Pour les bases de code, les ensembles de documentation ou les documents de référence volumineux qui dépasseraient les limites des fenêtres contextuelles, utilisez les bases de connaissances. Les bases de connaissances fournissent des fonctionnalités de recherche sémantique sans consommer d'espace dans la fenêtre contextuelle avant la recherche.
Activez les bases de connaissances :
q settings chat.enableKnowledge true
Ajoutez du contenu à une base de connaissances :
q chat > /knowledge add /path/to/large-codebase --include "**/*.py" --exclude "node_modules/**"
Les bases de connaissances sont recherchées à la demande par Amazon Q lorsque des informations pertinentes sont nécessaires, ce qui les rend idéales pour les documents de référence volumineux.
Affichage du contexte
Pour afficher votre contexte en cours, utilisez la commande /context show :
q chat > /context show 👤 Agent (my-agent): README.md (1 match) .amazonq/rules/**/*.md (3 matches) docs/**/*.md (5 matches) 💬 Session (temporary): <none> 5 matched files in use: 👤 README.md (~250 tkns) 👤 .amazonq/rules/security.md (~180 tkns) 👤 .amazonq/rules/coding-standards.md (~320 tkns) 👤 docs/architecture.md (~150 tkns) 👤 docs/best-practices.md (~200 tkns) Total: ~1100 tokens
La sortie indique :
-
👤 Agent : contexte permanent issu du champ
resourcesde votre agent -
💬 Session : contexte temporaire ajouté lors de la session en cours
Suppression du contexte
Pour supprimer des fichiers du contexte de votre session en cours, utilisez la commande /context rm :
q chat > /context rm src/temp-file.py Removed 1 path(s) from context. Note: Context modifications via slash command is temporary.
Pour effacer tout le contexte de la session, utilisez la commande /context clear :
q chat > /context clear Cleared context Note: Context modifications via slash command is temporary.
Remarque : vous ne pouvez pas supprimer le contexte défini par l’agent à l’aide des commandes /context. Pour supprimer définitivement le contexte, modifiez le champ resources de votre agent.
Cas d’utilisation courants
Voici quelques cas d’utilisation courants de gestion du contexte :
Utilisation de règles de projet
Amazon Q prend en charge les règles de projet qui permettent de définir des directives et des restrictions en matière de sécurité. Ces règles sont définies dans des fichiers Markdown dans le répertoire .amazonq/rules de votre projet.
Par exemple, vous pouvez créer des règles qui définissent :
-
les répertoires auxquels Amazon Q doit éviter d’accéder ;
-
des exigences de sécurité pour le code généré ;
-
des normes de codage et des bonnes pratiques.
La méthode recommandée pour inclure des règles de projet consiste à configurer votre agent :
{ "name": "my-project-agent", "resources": [ "file://.amazonq/rules/**/*.md", "file://README.md", "file://docs/architecture.md" ] }
Vous pouvez également ajouter temporairement des règles de projet à votre session en cours :
q chat > /context add .amazonq/rules/*.md Added 3 path(s) to context. Note: Context modifications via slash command is temporary.
Pour plus d’informations sur la création et l’utilisation de règles de projet, consultez Création de règles de projet à utiliser avec le chat d’Amazon Q Developer dans la documentation de l’IDE.
Passage d’un contexte temporaire (session) à un contexte permanent (ressources de l’agent)
Si vous devez ajouter à plusieurs reprises les mêmes fichiers contextuels à l’aide des commandes /context add, pensez à les déplacer dans le champ resources de votre agent pour les rendre permanents :
-
Notez les fichiers que vous ajoutez fréquemment avec
/context add -
Modifiez le fichier de configuration de votre agent en utilisant
/agent editou en modifiant directement le fichier -
Ajoutez les chemins de fichiers au tableau
resourcesavec le préfixefile:// -
Enregistrez la configuration de l’agent
Exemple de migration :
# Instead of running these commands every session: > /context add README.md > /context add docs/*.md > /context add .amazonq/rules/*.md # Add them to your agent config once: { "resources": [ "file://README.md", "file://docs/**/*.md", "file://.amazonq/rules/**/*.md" ] }
Quand utiliser les bases de connaissances
Envisagez les bases de connaissances lorsque :
-
Vos fichiers de contexte dépassent la limite de jetons (75 % de la fenêtre de contexte)
-
Vous disposez de bases de code ou d'ensembles de documentation volumineux
-
Vous avez besoin d'une recherche sémantique dans de nombreux documents
-
Vous souhaitez éviter de consommer constamment des fenêtres contextuelles
Exemple : au lieu d'ajouter une base de code volumineuse sous forme de fichiers contextuels :
# This would consume too many tokens: > /context add src/**/*.py # Use knowledge base instead: > /knowledge add src/ --include "**/*.py" --exclude "__pycache__/**"
Configuration d'un agent par défaut avec contexte
Vous pouvez configurer un agent par défaut qui inclut vos fichiers de contexte préférés :
q settings chat.defaultAgent my-project-agent
Cela garantit que votre contexte est automatiquement disponible dans les nouvelles sessions de chat sans qu'il soit nécessaire de spécifier l'agent à chaque fois.
Bonnes pratiques
Organisation des fichiers contextuels
-
Gardez les fichiers contextuels ciblés et pertinents pour éviter les limites de jetons
-
Utilisez des noms de fichiers descriptifs qui indiquent leur objectif
-
Organiser les règles et la documentation dans des structures de répertoires logiques
-
Tenez compte de la taille du fichier : les fichiers très volumineux peuvent consommer des jetons importants
Considérations sur les performances
-
Surveillez l'utilisation des jetons
/context showpour respecter les limites -
Utilisez des modèles globaux spécifiques plutôt que des modèles trop larges
-
Supprimer les fichiers de contexte inutilisés des configurations d'agent
-
Envisagez de diviser les fichiers contextuels volumineux en fichiers plus petits et ciblés
-
Utilisez les bases de connaissances pour les grands ensembles de données afin d'éviter de consommer des fenêtres contextuelles
Considérations sur la sécurité
-
Évitez d'inclure des informations sensibles dans les fichiers contextuels
-
.gitignoreÀ utiliser pour empêcher les validations accidentelles d'un contexte sensible -
Vérifiez régulièrement les fichiers contextuels pour vous assurer qu'ils ne contiennent pas d'informations périmées
-
Soyez attentif aux informations partagées lorsque vous utilisez le contexte dans les conversations