Skip to main content

Engenharia de prompts para o GitHub Copilot Chat

Siga estas estratégias para melhorar seus Copilot resultados.

Um prompt é uma solicitação que você faz para GitHub Copilot. Por exemplo, uma pergunta que você faz Bate-papo do Copilot, ou um trecho de código que você pede a Copilot para completar. Além do prompt, Copilot usa contexto adicional, como o código no arquivo atual e o histórico de chat, para gerar uma resposta.

Siga as dicas neste artigo para escrever prompts que geram respostas melhores.Copilot

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.

Por exemplo:

Copilot prompt
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:

Copilot prompt
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, você pode usar Copilot para gravar testes de unidade para a função. Em seguida, você pode pedir a Copilot para escrever uma função descrita nesses 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 da grade.

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 createUser faz?
  • 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 o código relevante

Se você estiver usando Copilot no seu IDE para obter sugestões enquanto programa, abra os arquivos relevantes e feche os arquivos irrelevantes. Copilot usará os arquivos abertos para entender sua solicitação.

Se você estiver usando Bate-papo do Copilot no seu IDE, abra o arquivo ou realce o código ao qual você quer que Copilot faça referência. Você também pode usar palavras-chave para fornecer manualmente o contexto para Bate-papo do Copilot. Por exemplo, você pode adicionar o participante de chat @workspace no VS Code ou @project em IDEs do JetBrains. Consulte guia rápido do GitHub Copilot Chat.

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 Bate-papo do Copilot, 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

Bate-papo do Copilot usa o histórico de chat para obter contexto sobre sua solicitação. Para fornecer a Copilot somente o histórico relevante:

  • Use threads para iniciar uma nova conversa para uma nova tarefa
  • Exclua solicitações que não são mais relevantes ou que não produziram o resultado desejado

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 e padrões de código consistentes
  • Use nomes descritivos para variáveis e funções
  • Comente o código
  • Estruture seu código em componentes modulares com escopos definidos
  • Inclua testes de unidade

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