Conceitos principais

Trabalhando com projetos grandes

Gerencie grandes bases de código no Bob IDE. Entenda a otimização da janela de contexto, o manuseio de arquivos e as melhores práticas para projetos em escala empresarial.

Entendendo limites de contexto em projetos grandes

Bob usa modelos de linguagem grandes que têm uma janela de contexto limitada. Esta é a quantidade máxima de texto (medida em tokens) que Bob pode processar de uma vez. Se o contexto for muito grande, Bob pode não ser capaz de entender sua solicitação ou gerar respostas precisas.

A janela de contexto inclui:

  • O prompt do sistema (instruções para Bob)
  • O histórico de conversa
  • O conteúdo de quaisquer arquivos que você mencione usando @
  • Texto selecionado enviado ao chat usando Cmd + L (Mac) ou Ctrl + L (Windows/Linux)
  • A saída de quaisquer comandos ou ferramentas que Bob use

Estratégias para gerenciar contexto

  1. Seja específico: Ao se referir a arquivos ou código, use caminhos de arquivo específicos e nomes de função. Evite referências vagas como "o arquivo principal."
  2. Use menções de contexto efetivamente: Use @/path/to/file.ts para incluir arquivos específicos. Use @problems para incluir erros e avisos atuais. Use @ seguido de um hash de commit para referenciar commits Git específicos. Você também pode destacar texto no seu editor e usar Cmd + L (Mac) ou Ctrl + L (Windows/Linux) para enviá-lo diretamente ao chat.
  3. Divida tarefas: Divida tarefas grandes em subtarefas menores e mais gerenciáveis. Isso ajuda a manter o contexto focado.
  4. Resuma quando necessário: Se você precisa se referir a uma grande quantidade de código, considere resumir as partes relevantes no seu prompt em vez de incluir o código inteiro.
  5. Priorize histórico recente: Bob condensa automaticamente mensagens mais antigas no histórico de conversa para permanecer dentro da janela de contexto. Esteja atento a isso e reincorpore contexto importante se necessário.
  6. Configure o manuseio de arquivos grandes: Ajuste a configuração de manuseio de arquivos grandes para controlar como Bob processa arquivos que excedem um certo limite de tamanho. Isso ajuda a gerenciar o uso de contexto ao trabalhar com arquivos grandes.
  7. Gerencie o uso de ferramentas MCP: Você pode desabilitar e habilitar ferramentas específicas em um serviço MCP para usar apenas o que você precisa, reduzindo o consumo de contexto de definições de ferramentas não utilizadas.
  8. Use subagentes ou subtarefas para trabalho isolado: Para grandes peças de trabalho autocontidas, considere usar um subagente ou subtarefa. Ambos executam em sua própria janela de contexto separada, mantendo a conversa principal leve. Consulte Tools para detalhes sobre spawn_subagent e start_subtask.
  9. Use ferramentas de símbolos em vez de menções de arquivo completo: Em vez de mencionar um arquivo inteiro com @, Bob pode usar ferramentas como GetSymbolsOverview e FindSymbol para navegar diretamente para a classe ou função relevante. Isso recupera apenas o que é necessário e evita carregar o arquivo completo no contexto.

Exemplo: Refatorando um arquivo grande

Se você precisa refatorar um arquivo TypeScript grande (src/components/MyComponent.tsx), aqui está uma abordagem eficaz:

  1. Obtenha uma visão geral inicial:
    @/src/components/MyComponent.tsx Liste as funções e classes neste arquivo.
  2. Direcione funções específicas:
    @/src/components/MyComponent.tsx Refatore a função `processData` para usar `async/await` em vez de Promises.
  3. Faça mudanças iterativas: Faça mudanças pequenas e incrementais, revisando e aprovando cada etapa.

Ao dividir a tarefa e fornecer contexto específico, você pode trabalhar efetivamente com arquivos grandes dentro dos limites da janela de contexto.

Como está este tópico?