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
-
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".
-
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. -
Divida as Tarefas: Divida tarefas grandes em subtarefas menores e mais gerenciáveis. Isso ajuda a manter o contexto focado.
-
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.
-
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.
-
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:
-
Visão Geral Inicial:
'src/components/MyComponent.tsx' (veja o conteúdo do arquivo abaixo) Liste as funções e classes neste arquivo.
-
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.
-
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.