# Ingeniería de mensajes para GitHub Copilot Chat

Siga estas estrategias para mejorar los Copilot resultados.

Un prompt es una solicitud que haces a GitHub Copilot. Por ejemplo, una pregunta que le haces a Copilot Chat o un fragmento de código que le 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, primero proporcione Copilot una descripción amplia del objetivo o escenario. A continuación, enumere los requisitos específicos.

Por ejemplo:

```copilot copy 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 comprender lo que desea. Puede proporcionar datos de entrada de ejemplo, salidas de ejemplo e implementaciones de ejemplo.

Por ejemplo:

```copilot copy 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 que Copilot escriba una función descrita por esas pruebas unitarias.

## Dividir tareas complejas en tareas más sencillas

Si desea Copilot completar una tarea compleja o grande, divida la tarea en varias tareas simples y pequeñas.

Por ejemplo, en lugar de pedir Copilot que genere un rompecabezas de búsqueda de palabras, divida el proceso en tareas más pequeñas y pida Copilot que los realice 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 "this" podría ser el archivo actual, la última Copilot respuesta 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 usa Copilot en el IDE para obtener sugerencias a medida que codifique, abra los archivos pertinentes y cierre los archivos irrelevantes.
Copilot usará los archivos abiertos para comprender la solicitud.

Si usa Copilot Chat en el IDE, abra el archivo o resalte el código al que desea Copilot hacer referencia. También puede usar palabras clave para proporcionar manualmente el contexto a Copilot Chat. Por ejemplo, puede agregar el participante de chat de `@workspace` en VS Code o `@project` en los IDE de JetBrains. Consulte [Hoja de referencia rápida de GitHub Copilot Chat](/es/copilot/reference/chat-cheat-sheet).

## Experimento e iteración

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

Si usa Copilot para obtener sugerencias al codificar, puede eliminar la sugerencia por completo y empezar de nuevo. También puede conservar la sugerencia y solicitar modificaciones.

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

## Mantener el historial relevante

Copilot Chat usa el historial de chat para obtener contexto sobre la solicitud. Para dar a Copilot 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 al solicitar Copilot sugerencias o explicaciones en el código base, asegúrese de que el código existente sigue los procedimientos recomendados 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

> \[!Tip]
> Use Copilot para ayudar al código a seguir los procedimientos recomendados. Por ejemplo, pida Copilot agregar comentarios o dividir una función grande en funciones más pequeñas.

## Información adicional

* [Uso de 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 GitHub blog
* [Uso de GitHub Copilot en el IDE: sugerencias, trucos y procedimientos recomendados](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 GitHub blog
* [Guía para desarrolladores sobre ingeniería de prompts y LLM](https://github.blog/2023-07-17-prompt-engineering-guide-generative-ai-llms/) en el blog GitHub
* [Pedir a GitHub Copilot Chat convertirse en su asistente de IA personal para la 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 GitHub blog