Skip to main content

Ingeniería de prompts para GitHub Copilot Chat

Siga estas estrategias para mejorar los resultados de los datos Copilot.

Un mensaje es una solicitud que se realiza a GitHub Copilot. Por ejemplo, una pregunta que haces a chat de Copilot, o un fragmento de código que pides a Copilot que complete. Además de la solicitud, Copilot usa contexto adicional, como el código del archivo actual y el historial de chat, para generar una respuesta.

Siga las sugerencias de este artículo para escribir mensajes que generen mejores respuestas a partir de Copilot.

Inicie general y, a continuación, obtenga información específica.

Al escribir una solicitud para Copilot, proporcione primero a Copilot una descripción amplia del objetivo o escenario. A continuación, enumere los requisitos específicos.

Por ejemplo:

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

Dar ejemplos

Use ejemplos para ayudar a Copilot a comprender lo que desea. Puede proporcionar datos de entrada de ejemplo, salidas de ejemplo e implementaciones de ejemplo.

Por ejemplo:

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"]

Las pruebas unitarias también pueden servir como ejemplos. Antes de escribir la función, puede usar Copilot para escribir pruebas unitarias para la función. A continuación, puede pedir a Copilot que escriba una función descrita por esas pruebas unitarias.

Dividir tareas complejas en tareas más sencillas

Si desea que Copilot complete una tarea compleja o grande, divida la tarea en varias tareas sencillas y pequeñas.

Por ejemplo, en lugar de pedir a Copilot que generen un rompecabezas de búsqueda de palabras, divida el proceso en tareas más pequeñas y pida a Copilot para lograrlos uno por uno:

  • Escriba una función para generar una cuadrícula de 10 a 10 letras.
  • Escriba una función para buscar todas las palabras en una cuadrícula de letras, dada una lista de palabras válidas.
  • Escribe una función que use las funciones anteriores para generar una cuadrícula de letras de 10 por 10 que contenga al menos 10 palabras.
  • Actualice la función anterior para imprimir la cuadrícula de letras y 10 palabras aleatorias de esa misma cuadrícula.

Evita la ambigüedad

Evite términos ambiguos. Por ejemplo, no pregunte "¿qué hace esto?" si "esto" podría ser el archivo actual, la última respuesta Copilot o un bloque de código específico. En su lugar, sea específico:

  • ¿Qué hace la función createUser?
  • ¿Qué hace el código en la última respuesta?

La ambigüedad también se puede aplicar a las bibliotecas:

  • Si usa una biblioteca poco frecuente, describa lo que hace la biblioteca.
  • Si desea utilizar una biblioteca específica, establezca las declaraciones de importación en la parte superior del archivo o especifique qué biblioteca desea utilizar.

Indica el código pertinente

Si está utilizando Copilot en su IDE para obtener sugerencias mientras codifica, abra los archivos relevantes y cierre los irrelevantes. Copilot utilizará los archivos abiertos para comprender su solicitud.

Si está utilizando chat de Copilot en su IDE, abra el archivo o resalte el código al que desea que Copilot haga referencia. También puedes usar palabras clave para proporcionar manualmente contexto a chat de Copilot. Por ejemplo, puede agregar el participante de chat de @workspace en VS Code o @project en los IDE de JetBrains. Consulte Guía rápida de chat de GitHub Copilot.

Experimento e iteración

Si no obtiene el resultado que desea, itera en el símbolo del sistema e inténtelo de nuevo.

Si está utilizando Copilot para obtener sugerencias a medida que codifica, puede eliminar la sugerencia por completo y empezar de nuevo. También puede conservar la sugerencia y solicitar modificaciones.

Si utiliza chat de Copilot, puede hacer referencia a la respuesta anterior en su siguiente solicitud. O bien, puede eliminar la respuesta anterior y empezar de nuevo.

Mantener el historial relevante

chat de Copilot utiliza el historial de chat para obtener contexto sobre su solicitud. Para proporcionar solo el historial relevante:

  • Usar hilos para iniciar una nueva conversación sobre una nueva tarea
  • Eliminar las solicitudes que ya no son relevantes o que no te dieron el resultado deseado.

Siga los procedimientos recomendados de codificación.

Si no recibe las respuestas que desea cuando solicita Copilot sugerencias o explicaciones en su base de código, asegúrese de que el código existente sigue las mejores prácticas y es fácil de leer. Por ejemplo:

  • Usa un estilo de código y patrones coherentes
  • Usa nombres descriptivos para variables y funciones
  • Comenta el código
  • Estructura el código en componentes modulares con un alcance definido
  • Incluir pruebas de unidad

Use Copilot para ayudar a que su código siga los procedimientos recomendados. Por ejemplo, pida a que agregue comentarios o que divida una función grande en funciones más pequeñas.

Información adicional

  •         [Cómo usar GitHub Copilot: Mensajes, sugerencias y casos de uso](https://github.blog/2023-06-20-how-to-write-better-prompts-for-github-copilot/?ref_product=copilot&ref_type=engagement&ref_style=text) en el blog GitHub
    
  •         [Usando GitHub Copilot en tu IDE: consejos, trucos y mejores prácticas](https://github.blog/2024-03-25-how-to-use-github-copilot-in-your-ide-tips-tricks-and-best-practices/?ref_product=copilot&ref_type=engagement&ref_style=text) en el blog GitHub
    
  • Guía del desarrollador para la ingeniería de prompts y LLMs en el blog GitHub
  •         [Iniciando GitHub Copilot Chat para transformarse en su asistente de IA personal para accesibilidad](https://github.blog/2023-10-09-prompting-github-copilot-chat-to-become-your-personal-ai-assistant-for-accessibility/?ref_product=copilot&ref_type=engagement&ref_style=text) en el blog GitHub