Um prompt é uma solicitação que você faz para GitHub Copilot. Por exemplo, você pode fazer uma pergunta, descrever uma tarefa ou escrever um snippet de código para Copilot concluir. Além do prompt, Copilot usa contexto, como o código no arquivo atual e o histórico de conversa, para gerar uma resposta.
Você interage com Copilot em várias superfícies, incluindo o GitHub Copilot CLI, GitHub Copilot app, no seu IDE (Visual Studio Code, Visual Studio, JetBrains IDEs, Eclipse e Xcode) e no site da GitHub.
No GitHub Copilot app ou no site GitHub, você também pode iniciar um Copilot cloud agent —um agente que trabalha em uma tarefa para você— em vez de trabalhar interativamente com Copilot.
As dicas neste artigo se aplicam em diferentes Copilot superfícies para ajudá-lo a escrever prompts que geram respostas melhores.
Comece de forma mais geral e, em seguida, seja mais específico
Ao escrever um prompt para Copilot, primeiro dê Copilot uma descrição ampla da meta ou cenário. Em seguida, liste todos os requisitos específicos. Coloque seus requisitos mais importantes em primeiro lugar. Copilot dá um peso extra às instruções no início e no final de um prompt.
Por exemplo:
Write a JavaScript function that tells me if a number is prime The function should take an integer and return true if the integer is prime The function should error if the input is not a positive integer
Write a JavaScript function that tells me if a number is prime The function should take an integer and return true if the integer is prime The function should error if the input is not a positive integer
Write a JavaScript function that tells me if a number is prime
The function should take an integer and return true if the integer is prime
The function should error if the input is not a positive integer
Forneça exemplos
Use exemplos para ajudar a Copilot entender o que você deseja. Você pode fornecer dados de entrada de exemplo, saídas de exemplo e implementações de exemplo.
Por exemplo:
Write a Go function that finds all dates in a string and returns them in an array. Dates can be formatted like:
* 05/02/24
* 05/02/2024
* 5/2/24
* 5/2/2024
* 05-02-24
* 05-02-2024
* 5-2-24
* 5-2-2024
Example:
findDates("I have a dentist appointment on 11/14/2023 and book club on 12-1-23")
Returns: ["11/14/2023", "12-1-23"]
Write a Go function that finds all dates in a string and returns them in an array. Dates can be formatted like:
* 05/02/24
* 05/02/2024
* 5/2/24
* 5/2/2024
* 05-02-24
* 05-02-2024
* 5-2-24
* 5-2-2024
Example:
findDates("I have a dentist appointment on 11/14/2023 and book club on 12-1-23")
Returns: ["11/14/2023", "12-1-23"]
Write a Go function that finds all dates in a string and returns them in an array. Dates can be formatted like:
* 05/02/24
* 05/02/2024
* 5/2/24
* 5/2/2024
* 05-02-24
* 05-02-2024
* 5-2-24
* 5-2-2024
Example:
findDates("I have a dentist appointment on 11/14/2023 and book club on 12-1-23")
Returns: ["11/14/2023", "12-1-23"]
Os testes de unidade também podem servir de exemplo. Antes de escrever sua função, use Copilot para escrever testes de unidade para a função. Em seguida, peça Copilot para escrever uma função descrita por esses testes de unidade.
Divida tarefas complexas em tarefas mais simples
Se você quiser Copilot concluir uma tarefa complexa ou grande, divida a tarefa em várias tarefas simples e pequenas.
Por exemplo, em vez de pedir Copilot para gerar um quebra-cabeça de pesquisa de palavras, divida o processo em tarefas menores e peça Copilot para realizá-las uma a uma:
- Escreva uma função para gerar uma grade de letras 10 por 10.
- Escreva uma função para localizar todas as palavras em uma grade de letras, considerando uma lista de palavras válidas.
- Escreva uma função que use as funções anteriores para gerar uma grade de 10 por 10 de letras que contenha pelo menos 10 palavras.
- Atualize a função anterior para imprimir a grade de letras e 10 palavras aleatórias geradas a partir da grade de letras.
Evite ambiguidade
Evite termos ambíguos. Por exemplo, não pergunte "o que isso faz" se "isso" pode ser o arquivo atual, a última Copilot resposta ou um bloco de código específico. Em vez disso, seja específico:
- O que a função
createUserfaz? - O que o código na sua última resposta faz?
A ambiguidade também pode se aplicar às bibliotecas:
- Se você estiver usando uma biblioteca incomum, descreva o que a biblioteca faz.
- Se você quiser usar uma biblioteca específica, defina as instruções de importação na parte superior do arquivo ou especifique qual biblioteca deseja usar.
Indique regras e requisitos diretamente, em vez de como metainstruções. Por exemplo, escreva "Retornar o resultado como JSON" em vez de "Lembre-se de sempre retornar JSON".
Fornecer contexto relevante
Copilot usa o contexto disponível para entender seu prompt. A forma como você fornece esse contexto depende da superfície que você está usando.
- Completações de código em seu IDE: abra todos os arquivos relevantes e feche os irrelevantes. Copilot usa seus arquivos abertos para entender sua solicitação.
- Copilot em seu IDE ou no GitHub site: realce o código que você deseja Copilot referenciar e use palavras-chave para anexar o contexto. Por exemplo, digite
@em seu prompt para anexar itens como arquivos, problemas, pull requests ou repositórios. Alguns IDEs também dão suporte a comandos de barra (como/fixe/tests), variáveis e outras opções para aprimorar sua Copilot experiência. - GitHub Copilot CLI: anexe um arquivo de repositório com
@path, ou referencie uma GitHub issue ou pull request com#number. Para o contexto do repositório que você deseja reutilizar, adicione instruções personalizadas, como um.github/copilot-instructions.mdarquivo, arquivos de instrução específicos do caminho ou umAGENTS.mdarquivo. - Copilot cloud agent: delimite a tarefa selecionando o repositório e o branch base, em seguida, descreva o objetivo, os critérios de aceitação e os arquivos relevantes. Anexe capturas de tela ou simulações quando o contexto visual é importante. Inicie a tarefa a partir de uma sessão de chat quando a discussão existente deve ser levada para a tarefa; caso contrário, inclua esse contexto no prompt de tarefa. Mantenha diretrizes duráveis no repositório, específicas do caminho ou em arquivos de instrução do agente.
Experimentar e iterar
Se você não obtiver o resultado desejado, modifique o seu prompt e tente novamente.
Se você estiver usando Copilot para obter sugestões enquanto programa, poderá excluir toda a sugestão e começar novamente. Ou você pode manter a sugestão e solicitar modificações.
Se você estiver usando Copilot Chat, poderá referenciar a resposta anterior em sua próxima solicitação. Ou, você pode excluir a resposta anterior e começar de novo.
Mantenha o histórico relevante
Superfícies de conversa (o GitHub Copilot app, GitHub Copilot CLI, Copilot no seu IDE ou no GitHub, e o Copilot cloud agent) usam seu histórico de conversa como contexto. Para fornecer a Copilot somente o histórico relevante:
- Inicie uma nova conversa ou sessão quando você iniciar uma nova tarefa.
- Onde sua superfície oferece suporte a isso, remova ou reverta os turnos que não são mais relevantes. Por exemplo, GitHub Copilot CLI permite iniciar uma nova sessão, excluir sessões e retroceder para um prompt anterior com
/undoou/rewind. O Copilot cloud agent permite iniciar uma nova tarefa e interromper ou arquivar uma sessão, mas não permite que você exclua uma sessão ou rebobine interações individuais.
Revisar a saída de Copilot
Valide o código gerado por IA e as respostas da mesma maneira que você examinaria o trabalho de um colega: avalie, teste e confirme a correção antes de confiar nele. Isso se aplica em todas as Copilot superfícies. Para obter mais informações, consulte Examinar o código gerado por IA.
Siga as boas práticas de codificação
Se você não estiver recebendo as respostas desejadas quando solicitar Copilot sugestões ou explicações em sua base de código, verifique se o código existente segue as práticas recomendadas e é fácil de ler. Por exemplo:
- Use um estilo de código e padrões consistentes.
- Use nomes descritivos para variáveis e funções.
- Comente seu código.
- Estruture seu código em componentes modulares e com escopo definido.
- Inclua testes unitários.
Dica
Use Copilot para ajudar seu código a seguir as práticas recomendadas. Por exemplo, peça Copilot para adicionar comentários ou dividir uma função grande em funções menores.
Leitura adicional
- guia rápido do GitHub Copilot Chat
- Como usar GitHub Copilot: prompts, dicas e casos de uso no GitHub blog
- Usando GitHub Copilot em seu IDE: Dicas, truques e práticas recomendadas no GitHub blog
- Um guia do desenvolvedor para solicitar engenharia e LLMs no GitHub blog
- Solicitando que o GitHub Copilot Chat se torne seu assistente de IA pessoal para acessibilidade no GitHub blog