Pular para o conteúdo principal

Trabalhando com Grandes Projetos

O AI Cockpit Reasoning pode ser usado com projetos de qualquer tamanho, mas projetos grandes exigem um cuidado extra para gerenciar o contexto de forma eficaz. Aqui estão algumas dicas para trabalhar com grandes bases de código:

Entendendo os Limites de Contexto

O AI Cockpit Reasoning usa grandes modelos de linguagem (LLMs) que têm uma "janela de contexto" limitada. Esta é a quantidade máxima de texto (medida em tokens) que o modelo pode processar de uma só vez. Se o contexto for muito grande, o modelo pode não conseguir entender sua solicitação ou gerar respostas precisas.

A janela de contexto inclui:

  • O prompt do sistema (instruções para o AI Cockpit Reasoning).
  • O histórico da conversa.
  • O conteúdo de quaisquer arquivos que você menciona usando @.
  • A saída de quaisquer comandos ou ferramentas que o AI Cockpit Reasoning usa.

Estratégias para Gerenciar o Contexto

  1. Seja Específico: Ao se referir a arquivos ou código, use caminhos de arquivo e nomes de funções específicos. Evite referências vagas como "o arquivo principal".

  2. Use Menções de Contexto de Forma Eficaz: Use 'caminho/para/arquivo.ts' (veja o conteúdo do arquivo abaixo) para incluir arquivos específicos. Use @problems para incluir erros e avisos atuais. Use @ seguido por um hash de commit para referenciar commits específicos do Git.

  3. Divida as Tarefas: Divida tarefas grandes em subtarefas menores e mais gerenciáveis. Isso ajuda a manter o contexto focado.

  4. Resuma: Se você precisar se referir a uma grande quantidade de código, considere resumir as partes relevantes em seu prompt em vez de incluir o código inteiro.

  5. Priorize o Histórico Recente: O AI Cockpit Reasoning trunca automaticamente as mensagens mais antigas no histórico da conversa para permanecer dentro da janela de contexto. Esteja ciente disso e inclua novamente o contexto importante, se necessário.

  6. Use o Cache de Prompt (se disponível): Alguns provedores de API como Anthropic, OpenAI, OpenRouter e Requesty suportam "cache de prompt". Isso armazena seus prompts para uso em tarefas futuras e ajuda a reduzir o custo e a latência das solicitações.

Exemplo: Refatorando um Arquivo Grande

Digamos que você precise refatorar um arquivo TypeScript grande (src/components/MyComponent.tsx). Aqui está uma abordagem possível:

  1. Visão Geral Inicial:

    'src/components/MyComponent.tsx' (veja o conteúdo do arquivo abaixo) Liste as funções e classes neste arquivo.
  2. Mire em Funções Específicas:

    'src/components/MyComponent.tsx' (veja o conteúdo do arquivo abaixo) Refatore a função `processData` para usar `async/await` em vez de Promises.
  3. Mudanças Iterativas: Faça pequenas alterações incrementais, revisando e aprovando cada etapa.

Ao dividir a tarefa e fornecer contexto específico, você pode trabalhar de forma eficaz com arquivos grandes, mesmo com uma janela de contexto limitada.