Un prompt es una solicitud que haces a GitHub Copilot. Por ejemplo, puede hacer una pregunta, describir una tarea o escribir un fragmento de código para que Copilot lo complete. Además de la solicitud, Copilot usa contexto como el código del archivo actual y el historial de conversaciones para generar una respuesta.
Interactúa con Copilot en muchos entornos, como GitHub Copilot CLI, GitHub Copilot app, en tu IDE (Visual Studio Code, Visual Studio, JetBrains IDEs, Eclipse y Xcode) y en el sitio web de GitHub.
Desde el sitio web de GitHub Copilot app o el de GitHub, también puede iniciar un Copilot cloud agent, un agente que trabaja en una tarea por usted, en lugar de trabajar con Copilot interactivamente.
Las sugerencias de este artículo se aplican en distintas Copilot superficies para ayudarle a escribir instrucciones que generan mejores respuestas.
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. Ponga primero sus requisitos más importantes. Copilot proporciona un peso adicional a las instrucciones al principio y al final de un mensaje.
Por ejemplo:
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
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:
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"]
Las pruebas unitarias también pueden servir como ejemplos. Antes de escribir la función, use Copilot para escribir pruebas unitarias para la función. A continuación, pida Copilot que 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.
Indique las reglas y los requisitos directamente en lugar de como metainstrucciones. Por ejemplo, escriba "Devolver el resultado como JSON" en lugar de "Recuerde devolver siempre JSON".
Proporcionar contexto relevante
Copilot usa el contexto disponible para comprender tu prompt. La forma en que se proporciona ese contexto depende del entorno que use.
- Autocompletado de código en el IDE: abra los archivos pertinentes y cierre los irrelevantes. Copilot usa tus archivos abiertos para comprender tu solicitud.
- Copilot en el IDE o en el GitHub sitio web: resalte el código al que desea Copilot hacer referencia y use palabras clave para adjuntar contexto. Por ejemplo, escriba
@en el mensaje para adjuntar elementos como archivos, problemas, solicitudes de incorporación de cambios o repositorios. Algunos IDE también admiten comandos de barra diagonal (como/fixy/tests), variables y otras opciones para mejorar la Copilot experiencia. - GitHub Copilot CLI: adjunte un archivo de repositorio con
@patho haga referencia a un GitHub problema o una solicitud de incorporación de cambios con#number. Para el contexto del repositorio que desea reutilizar, agregue instrucciones personalizadas, como un.github/copilot-instructions.mdarchivo, archivos de instrucciones específicos de la ruta de acceso o unAGENTS.mdarchivo. - Copilot cloud agent: para definir el ámbito de la tarea, seleccione el repositorio y la rama base y, a continuación, describa el objetivo, los criterios de aceptación y los archivos pertinentes. Adjunte capturas de pantalla o bocetos cuando el contexto visual sea importante. Inicie la tarea desde una sesión de chat cuando la discusión existente deba trasladarse a la tarea; de lo contrario, incluya ese contexto en la instrucción de la tarea. Mantenga directrices duraderas en archivos de instrucciones del repositorio, específicos de la ruta o del agente.
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
Las superficies conversacionales (las GitHub Copilot CLI, GitHub Copilot app, GitHub en tu IDE o en Copilot cloud agent, y las Copilot) usan tu historial de conversaciones como contexto. Para dar a Copilot solo el historial relevante:
- Inicie una nueva conversación o sesión cuando inicie una nueva tarea.
- Cuando el entorno lo admita, quite o revierta los pasos que ya no sean relevantes. Por ejemplo, GitHub Copilot CLI permite iniciar una sesión nueva, eliminar sesiones y rebobinar hasta un prompt anterior con
/undoo/rewind. El Copilot cloud agent le permite iniciar una nueva tarea y detener o archivar una sesión, pero no le permite eliminar una sesión o rebobinar turnos individuales.
Revisa el resultado de Copilot
Valide el código generado por ia y las respuestas de la misma manera que revisaría el trabajo de un compañero: evalúe, pruebe y confirme la corrección antes de confiar en él. Esto se aplica en todas las Copilot superficies. Para obtener más información, vea Revisión del código generado por IA.
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:
- Use un estilo y patrones de código coherentes.
- Use nombres descriptivos para variables y funciones.
- Comente el código.
- Estructura tu código en componentes con ámbito modular.
- Incluir pruebas unitarias.
Sugerencia
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.
Lectura adicional
- Hoja de referencia rápida de GitHub Copilot Chat
- Uso de GitHub Copilot: Mensajes, sugerencias y casos de uso en el GitHub blog
- Uso de GitHub Copilot en el IDE: sugerencias, trucos y procedimientos recomendados en el GitHub blog
- Guía para desarrolladores sobre ingeniería de prompts y LLM en el blog GitHub
- Pedir a GitHub Copilot Chat convertirse en su asistente de IA personal para la accesibilidad en el GitHub blog