Gerenciar contexto - Amazon Q Developer

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Gerenciar contexto

Escolhendo a abordagem de contexto correta

O Amazon Q oferece três maneiras de fornecer contexto, cada uma otimizada para diferentes casos de uso:

Abordagem Impacto da janela de contexto Persistência Melhor para
Recursos do agente Sempre ativo (consome tokens) Persistente em todas as sessões Arquivos, padrões e configurações essenciais do projeto
Contexto da sessão Sempre ativo (consome tokens) Somente sessão atual Arquivos temporários, experimentos rápidos
Bases de conhecimento Somente quando pesquisado Persistente em todas as sessões Grandes bases de código, documentação extensa

Fluxograma de decisão

Use essa árvore decisória para escolher a abordagem de contexto apropriada:

  1. Seu conteúdo tem mais de 10 MB ou contém milhares de arquivos?

    • Sim → Usar bases de conhecimento

    • Não → Continue com a etapa 2

  2. Você precisa desse contexto em todas as conversas?

    • Sim → Usar recursos do agente

    • Não → Usar o contexto da sessão

Referência rápida:

  • Arquivos de projeto essenciais (README, configurações, padrões) → Recursos do agente

  • Grandes bases de código ou conjuntos de documentação → Bases de conhecimento

  • Arquivos temporários para a tarefa atual → Contexto da sessão

Entendendo o impacto da janela de contexto

Arquivos de contexto e recursos do agente consomem tokens da sua janela de contexto em todas as solicitações, sejam elas referenciadas ou não. Use /context show para monitorar o uso do token:

q chat > /context show Total: ~1100 tokens

Limites de token: os arquivos de contexto estão limitados a 75% da janela de contexto do seu modelo. Os arquivos que excedem esse limite são automaticamente eliminados.

As bases de conhecimento não consomem espaço na janela de contexto até serem pesquisadas, o que as torna ideais para grandes materiais de referência. Para obter mais informações, consulte Contexto da base de conhecimento (para grandes conjuntos de dados).

Gerenciar o contexto

Os arquivos de contexto têm informações que você deseja que o Amazon Q considere durante as conversas. Essas podem incluir requisitos do projeto, padrões de codificação, regras de desenvolvimento ou qualquer outra informação que ajude o Amazon Q a fornecer respostas mais relevantes.

Configurar o contexto persistente com recursos do agente

A forma recomendada de configurar o contexto é pelo campo resources no arquivo de configuração do agente. Isso cria um contexto persistente que está disponível sempre que você usa o agente.

Adicione caminhos de arquivo ou padrões globais à matriz resources na configuração do seu agente:

{ "name": "my-agent", "description": "My development agent", "resources": [ "file://README.md", "file://.amazonq/rules/**/*.md", "file://docs/**/*.md", "file://src/config.py" ] }

Os recursos devem ser prefixados com file:// para serem incluídos como arquivos de contexto. Esses arquivos estarão disponíveis automaticamente em todas as sessões do chat usando esse agente.

Adicionar contexto de sessão temporário

Você pode adicionar arquivos temporariamente à sua sessão do chat atual usando o comando /context add. Essas adições estão disponíveis somente para a sessão atual e não persistirão quando você iniciar uma nova sessão do chat.

q chat > /context add README.md Added 1 path(s) to context. Note: Context modifications via slash command is temporary.

Você também pode adicionar vários arquivos de uma vez usando padrões globais:

q chat > /context add docs/*.md Added 3 path(s) to context. Note: Context modifications via slash command is temporary.

Para tornar as alterações de contexto permanentes, adicione os arquivos ao campo resources do seu agente. Para obter mais informações, consulte Configurar o contexto persistente com recursos do agente.

Contexto da base de conhecimento (para grandes conjuntos de dados)

Para grandes bases de código, conjuntos de documentação ou materiais de referência que excederiam os limites da janela de contexto, use bases de conhecimento. As bases de conhecimento fornecem recursos de pesquisa semântica sem consumir espaço na janela de contexto até serem pesquisadas.

Habilite bases de conhecimento:

q settings chat.enableKnowledge true

Adicione conteúdo a uma base de conhecimento:

q chat > /knowledge add /path/to/large-codebase --include "**/*.py" --exclude "node_modules/**"

As bases de conhecimento são pesquisadas sob demanda pelo Amazon Q quando informações relevantes são necessárias, tornando-as ideais para grandes materiais de referência.

Ver o contexto

Para ver seu contexto atual, use o comando /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

A saída mostra:

  • 👤 Agente: contexto persistente do campo resources do seu agente

  • 💬 Sessão: contexto temporário adicionado durante a sessão atual

Remover o contexto

Para remover arquivos do contexto da sessão atual, use o comando /context rm:

q chat > /context rm src/temp-file.py Removed 1 path(s) from context. Note: Context modifications via slash command is temporary.

Para limpar todo o contexto da sessão, use o comando /context clear:

q chat > /context clear Cleared context Note: Context modifications via slash command is temporary.

Observação: você não pode remover o contexto definido pelo agente usando comandos /context. Para remover permanentemente o contexto, edite o campo resources do seu agente.

Casos de uso comuns

Veja a seguir alguns casos de uso comuns de gerenciamento de contexto:

Usar regras de projeto

O Amazon Q oferece suporte a regras em nível de projeto que podem definir diretrizes e restrições de segurança. Essas regras são definidas nos arquivos Markdown no diretório .amazonq/rules do seu projeto.

Por exemplo, é possível criar regras que especifiquem:

  • Quais diretórios o Amazon Q deve evitar acessar

  • Requisitos de segurança para o código gerado

  • Padrões de codificação e práticas recomendadas

A forma recomendada de incluir as regras do projeto é pela configuração do seu agente:

{ "name": "my-project-agent", "resources": [ "file://.amazonq/rules/**/*.md", "file://README.md", "file://docs/architecture.md" ] }

Você também pode adicionar temporariamente as regras do projeto à sua sessão atual:

q chat > /context add .amazonq/rules/*.md Added 3 path(s) to context. Note: Context modifications via slash command is temporary.

Para obter mais informações sobre como criar e usar regras de projeto, consulte Creating project rules for use with Amazon Q Developer chat na documentação do IDE.

Migrar do contexto da sessão para os recursos do agente

Se você perceber que está repetidamente adicionando os mesmos arquivos de contexto usando comandos /context add, considere movê-los para o campo resources do seu agente para persistência:

  1. Anote os arquivos que você adiciona com frequência usando /context add

  2. Edite seu arquivo de configuração do agente usando /agent edit ou modificando diretamente o arquivo

  3. Adicione os caminhos do arquivo à matriz resources com o prefixo file://

  4. Salve a configuração do agente

Exemplos de migração:

# 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" ] }

Quando usar bases de conhecimento

Considere as bases de conhecimento quando:

  • Seus arquivos de contexto excedem o limite de tokens (75% da janela de contexto)

  • Você tem grandes bases de código ou conjuntos de documentação

  • Você precisa de uma pesquisa semântica em materiais extensos

  • Você deseja evitar o consumo constante da janela de contexto

Exemplo: em vez de adicionar uma grande base de código como arquivos de contexto:

# This would consume too many tokens: > /context add src/**/*.py # Use knowledge base instead: > /knowledge add src/ --include "**/*.py" --exclude "__pycache__/**"

Configurando um agente padrão com contexto

Você pode configurar um agente padrão que inclua seus arquivos de contexto preferidos:

q settings chat.defaultAgent my-project-agent

Isso garante que seu contexto esteja disponível automaticamente em novas sessões de bate-papo sem precisar especificar o agente a cada vez.

Práticas recomendadas

Organização do arquivo de contexto

  • Mantenha os arquivos de contexto focados e relevantes para evitar limites de tokens

  • Use nomes de arquivos descritivos que indiquem sua finalidade

  • Organize regras e documentação em estruturas lógicas de diretórios

  • Considere o tamanho do arquivo - arquivos muito grandes podem consumir tokens significativos

Considerações sobre a performance

  • Monitore o uso de tokens /context show para permanecer dentro dos limites

  • Use padrões globais específicos em vez de padrões excessivamente amplos

  • Remover arquivos de contexto não utilizados das configurações do agente

  • Considere dividir arquivos de contexto grandes em arquivos menores e focados

  • Use bases de conhecimento para grandes conjuntos de dados para evitar o consumo da janela de contexto

Considerações sobre segurança

  • Evite incluir informações confidenciais em arquivos de contexto

  • Use .gitignore para evitar confirmações acidentais de contexto confidencial

  • Revise os arquivos de contexto regularmente para garantir que eles não contenham informações desatualizadas

  • Lembre-se de quais informações são compartilhadas ao usar o contexto nas conversas