O mecanismo de contexto do Windsurf cria um entendimento profundo da sua base de código, das ações passadas e da próxima intenção. Historicamente, as abordagens de geração de código focaram em ajustar grandes modelos de linguagem (LLMs) a uma base de código, o que é difícil de escalar para as necessidades de cada usuário. Uma abordagem mais recente e popular utiliza a geração aumentada por recuperação (RAG), que se concentra em técnicas para construir prompts altamente relevantes e ricos em contexto a fim de obter respostas precisas de um LLM. Implementamos uma abordagem RAG otimizada para contexto de base de código, que produz sugestões de maior qualidade e reduz alucinações.
O Windsurf oferece ajuste fino completo para organizações Enterprise, e a melhor solução combina ajuste fino com RAG.

Contexto padrão

Pronto para uso, o Windsurf considera várias fontes relevantes de contexto.
  • O arquivo atual e outros arquivos abertos no seu IDE, que geralmente são muito relevantes para o código que você está escrevendo.
  • Todo o repositório de código local é então indexado (incluindo arquivos que não estão abertos), e trechos de código relevantes são obtidos pelo mecanismo de recuperação do Windsurf enquanto você escreve código, faz perguntas ou invoca Commands.
  • Para usuários Pro, oferecemos contextos mais longos, limites de indexação maiores e limites superiores para contexto personalizado e itens de contexto fixados.
  • Para usuários Teams e Enterprise, o Windsurf também pode indexar repositórios remotos. Isso é útil para empresas cuja organização de desenvolvimento trabalha em vários repositórios.

Base de Conhecimento (Beta)

Disponível apenas para clientes Teams e Enterprise. No momento, não disponível para clientes Hybrid.
Este recurso permite que as equipes importem Google Docs como contexto compartilhado ou fontes de conhecimento para toda a equipe. Atualmente, apenas Google Docs são compatíveis. Imagens não são importadas, mas gráficos, tabelas e texto formatado têm suporte completo.

Knowledge Base

Configure as definições da base de conhecimento da sua equipe. Esta página só ficará visível para administradores.
Os administradores devem conectar-se manualmente ao Google Drive via OAuth e, em seguida, podem adicionar até 50 Google Docs como fontes de conhecimento da equipe. O Cascade terá acesso aos documentos especificados no painel do Windsurf. Esses documentos não respeitam os controles de acesso individuais dos usuários; ou seja, se um administrador disponibilizar um documento para a equipe, todos os usuários terão acesso a ele, independentemente dos controles de acesso no Google Drive.

Melhores práticas

O Context Pinning é ótimo quando sua tarefa no arquivo atual depende de informações de outros arquivos. Tente fixar apenas o que for necessário. Fixar itens demais pode deixar tudo mais lento ou prejudicar o desempenho do model. Aqui estão algumas ideias para um Context Pinning eficaz:
  • Definições de módulos: fixe arquivos de definição de classes/structs que estão no seu repositório, mas em um módulo separado do arquivo atualmente ativo.
  • Frameworks/bibliotecas internas: fixe diretórios com exemplos de código para uso de frameworks/bibliotecas.
  • Tarefas específicas: fixe um arquivo ou pasta que define uma interface específica (por exemplo, arquivos .proto, classes abstratas, modelos de configuração).
  • Área de foco atual: fixe o diretório com o “menor denominador comum” que contenha a maioria dos arquivos necessários para sua sessão de codificação atual.
  • Testes: fixe um arquivo específico com a classe para a qual você está escrevendo testes unitários.

Recursos de contexto específicos do Chat

Ao conversar com o Windsurf Chat, você tem várias maneiras de aproveitar o contexto do código, como @-menções ou diretrizes personalizadas. Veja a página do Chat para mais informações.

Perguntas frequentes (FAQ)

O Windsurf indexa meu código?

Sim, o Windsurf indexa seu código. Ele também usa LLMs para realizar geração aumentada por recuperação (RAG) no seu código usando nossas próprias técnicas de M-Query. O desempenho e os recursos de indexação variam conforme seu fluxo de trabalho e seu plano do Windsurf. Para mais informações, visite nossa página sobre compreensão de contexto.