Skip to main content

Usando Copilot CLI como seu SME de IA

Use CLI do Copilot como um especialista no assunto sempre disponível para entender como uma base de código funciona, para que você possa mantê-la com confiança ou adicionar novas funcionalidades.

Introdução

Quando você começa a trabalhar em uma base de código desconhecida, ou pedem que você altere uma parte de uma grande base de código na qual você nunca mexeu antes, geralmente precisa de um especialista no assunto para colocá-lo a par. O SME normalmente é um desenvolvedor mais experiente na equipe que sabe como o código se encaixa e pode responder suas perguntas. Os SMEs nem sempre estão disponíveis , eles podem estar em outro fuso horário, ocupados com seu próprio trabalho ou não mais na equipe.

Quando você precisa entender uma base de código desconhecida, você geralmente conta com um colega de equipe que conhece o código. Quando essa pessoa não está disponível, CLI do Copilot pode preencher a lacuna. Neste tutorial, você fará CLI do Copilot perguntas sobre o código de um repositório, aprenderá técnicas de solicitação que produzem respostas fundamentadas em código e criará a confiança para começar a fazer alterações.

Quando usar um SME de IA (ou até mesmo quando uso um SME de IA?)

Este tutorial é útil sempre que você precisa entender uma base de código mais rapidamente. Por exemplo:

  • Você acabou de se juntar a uma equipe ou a um projeto código aberto e precisa se atualizar rapidamente.
  • Você precisa alterar uma área de uma base de código grande em que você nunca trabalhou antes.
  • Você herdou um serviço ou biblioteca que os autores originais não mantêm mais.

O tutorial pressupõe que você esteja confortável trabalhando em um terminal e lendo código no idioma usado pelo projeto que você está explorando. Você não precisa de nenhuma experiência anterior com CLI do Copilot.

Pré-requisitos

Antes de começar, verifique se você tem estes itens:

1. Iniciar uma sessão no repositório

Abra um terminal e altere para a raiz do repositório sobre o qual você deseja aprender. Iniciar CLI do Copilot a partir da raiz do repositório significa que CLI do Copilot tem toda a base de código disponível como contexto.

Shell
cd PATH/TO/YOUR/REPOSITORY
copilot

Agora você está em uma sessão interativa CLI do Copilot . Tudo o que você digitar no prompt é enviado para o modelo, que pode ler arquivos no repositório, executar comandos de shell, como git log ou grep, e responder suas perguntas com base no que ele encontra.

Dica

  • Se você confiar CLI do Copilot para executar comandos sem solicitar aprovação, ao bloquear alterações de arquivo, comece com copilot --deny-tool='write' --allow-all-tools. Consulte Permitir e negar o uso da ferramenta.
  • Se você estiver trabalhando em uma base de código muito grande, poderá obter melhores resultados começando CLI do Copilot pelo subdiretório relevante. Isso limita o contexto aos arquivos mais relevantes.

2. Respostas básicas no código, não nos documentos

A maioria dos repositórios contém uma mistura de código e documentação: arquivos README, notas de design, diagramas de arquitetura e assim por diante. A documentação é útil para descobrir sobre um projeto, mas pode estar desatualizada. Se você fizer CLI do Copilot uma pergunta sobre como o código se comporta e ele receber uma resposta de um arquivo markdown desatualizado, você obterá uma resposta confiante que está errada.

Antes de começar a fazer perguntas, diga CLI do Copilot para basear suas respostas no próprio código e sinalizar qualquer incerteza em vez de preencher lacunas. Por exemplo:

Copilot prompt
For the rest of this session, when I ask how something works, base your answer on the code in this repository, not on documentation files such as README.md or files under docs/. If a documentation file conflicts with the code, treat the code as the source of truth. If you can't find a definitive answer in the code, say so - don't guess.

Você pode colocar esse tipo de preâmbulo em um arquivo de instruções personalizado e reutilizá-lo entre sessões, para que você não precise digitá-lo novamente todas as vezes. Consulte Adicionando instruções personalizadas para CLI do GitHub Copilot.

3. Obter uma visão geral da base de código

Comece com perguntas amplas para criar um mapa mental do projeto. O objetivo é entender a forma do código (onde estão os pontos de entrada, quais diretórios contêm o quê e como as partes principais se encaixam) antes de analisar um recurso específico.

Experimente instruções como:

Copilot prompt
Give me an overview of this codebase. What does the application do, what are the main components, and how do they communicate? Cite the files you used as evidence.
Copilot prompt
What are the entry points for this application? For each entry point, tell me which file contains the entry point and which directories contain the code it calls into.

Pedir citações e provas é importante. Quando CLI do Copilot diz a você “isso é tratado em src/auth/middleware.ts”, você pode abrir esse arquivo e conferir a resposta você mesmo. Se a citação não corresponder ao que você encontra, esse é um sinal útil para recuar e fazer perguntas de acompanhamento.

4. Analisar em detalhes um recurso específico

Depois de ter uma visão geral, restrinja a área que você precisa alterar. Trate isso como uma conversa, não como uma única consulta. Cada resposta apresentará termos, nomes de arquivo e conceitos que você pode usar na próxima pergunta.

É uma boa ideia fazer perguntas semelhantes que abordam um tópico de diferentes ângulos. Isso ajuda a garantir que você esteja recebendo o quadro completo e lhe dará confiança de que Copilot não entendeu mal o que você está tentando descobrir e não perdeu um detalhe importante.

Por exemplo, suponha que você tenha sido solicitado a adicionar limitação de taxa a um ponto de extremidade de API específico e nunca tenha trabalhado nessa parte do código antes, você pode começar com perguntas como:

Copilot prompt
Is there any existing rate limiting in this codebase? If so, where is it implemented, and how is it configured?
Copilot prompt
If I wanted to add per-user rate limiting to the /api/v1/upload endpoint, which files would I most likely need to change, and which existing patterns in the codebase should I follow?

Fazer perguntas de acompanhamento na mesma sessão da CLI permite que você analise os detalhes de um recurso e fornece Copilot o contexto necessário para fornecer respostas específicas que informem o que você precisa saber.

5. Investigar comportamento e casos extremos

Ler o código mostra o que o código faz. Muitas vezes, ele não informa o que o código deve fazer ou como ele se comporta em situações incomuns. Essas são as perguntas em que um SME humano é mais valioso e onde CLI do Copilot pode ajudá-lo quando nenhum humano está disponível.

Alguns exemplos de perguntas sobre comportamento e casos extremos que você pode fazer:

Copilot prompt
What happens if the database connection drops while a request is being processed? Walk me through the error handling, based on the code.
Copilot prompt
The `getUser` function takes a `userId` parameter. What validation is performed on it before it reaches the database query? Are there any code paths where an unvalidated value could reach the query?

Quando você receber uma resposta, siga com "mostre-me o código" ou "em qual arquivo você encontrou isso?" se ainda não estiver citado. Isso dá a você uma forma de conferir e verificar a resposta.

6. Usar o histórico do Git como outra origem

Muitos contextos úteis residem no histórico do Git e não no código atual: por que uma função foi escrita da maneira que foi, quando um bug foi corrigido pela última vez, que originalmente adicionou um módulo. CLI do Copilot pode executar git comandos para você e usar a saída para responder perguntas que você não poderia responder facilmente lendo o código sozinho.

Experimente instruções como:

Copilot prompt
When was the `PaymentProcessor` class introduced, and what was the original commit message? Has it been substantially refactored since then?
Copilot prompt
Look at the last 20 commits that touched files under `src/billing/`. Summarize what kinds of changes have been made recently.
Copilot prompt
Who has made the most commits to `src/auth/`? Use that information to suggest the best person on this team to ask about authentication.

7. Verificar antes de confiar

CLI do Copilot é um SME poderoso, mas não é infalível. Ele pode ler incorretamente o código, confundir arquivos semelhantes ou, ocasionalmente, inventar coisas. Trate suas respostas da maneira como você trataria os conselhos de um colega de trabalho útil, mas falível: útil como ponto de partida, mas vale a pena verificar antes de agir sobre qualquer coisa importante.

Alguns hábitos vão mantê-lo fora de problemas:

  • Verifique os arquivos citados. Quando CLI do Copilot fizer referência a um arquivo ou número de linha específico, abra-o e confirme. Se a citação estiver errada, trate o resto da resposta com mais ceticismo.
  • Faça você mesmo. Se CLI do Copilot disser a você que uma função retorna null para uma entrada vazia, escreva um teste rápido ou faça uma chamada no REPL que a invoque com uma entrada vazia e verifique.
  • Verificação cruzada com humanos. Quando a resposta for importante (segurança, integridade de dados, qualquer coisa que você tenha vergonha de errar na produção), use CLI do Copilota resposta como ponto de partida e confirme com um SME humano ou uma revisão de código.

Conclusion

Neste tutorial, você usou CLI do Copilot como seu SME pessoal para:

  • Obtenha uma visão geral de uma base de código desconhecida, ancorada em arquivos reais.
  • Faça uma busca detalhada em um recurso específico para saber quais arquivos serão alterados e quais padrões seguir.
  • Investigue o comportamento, os casos extremos e o histórico do Git.
  • Verifique as respostas, para que você possa confiar nelas quando isso for importante.

Usado dessa forma, CLI do Copilot não substitui SMEs humanos, mas torna você menos dependente deles para as perguntas diárias que surgem enquanto você trabalha. Seus colegas humanos podem dedicar seu tempo às perguntas que realmente exigem sua experiência, e você pode seguir em frente mesmo quando eles não estiverem por perto.

Próximas Etapas