{"meta":{"title":"Uso de la CLI de Copilot como SME en IA","intro":"Use Copilot CLI como experto en la materia siempre disponible para obtener información sobre cómo funciona un código base, por lo que puede mantenerla con confianza o agregar nuevas características.","product":"GitHub Copilot","breadcrumbs":[{"href":"/es/copilot","title":"GitHub Copilot"},{"href":"/es/copilot/tutorials","title":"Tutoriales"},{"href":"/es/copilot/tutorials/use-an-ai-sme","title":"Uso de un SME de IA"}],"documentType":"article"},"body":"# Uso de la CLI de Copilot como SME en IA\n\nUse Copilot CLI como experto en la materia siempre disponible para obtener información sobre cómo funciona un código base, por lo que puede mantenerla con confianza o agregar nuevas características.\n\n## Introducción\n\nAl empezar a trabajar en un código base desconocido, o se le pide que cambie una parte de un código base grande que nunca ha tocado antes, normalmente necesita un experto en la materia (SME) para que le ponga al día. Normalmente, el SME es un desarrollador más experimentado en el equipo que sabe cómo encaja el código y puede responder a sus preguntas. Las pymes no siempre están disponibles, pueden estar en otra zona horaria, estar ocupadas con su propio trabajo o ya no en el equipo.\n\nCuando necesite comprender un código base desconocido, normalmente se basa en un compañero de equipo que conoce el código. Cuando esa persona no esté disponible, Copilot CLI puede llenar el espacio. En este tutorial, harás Copilot CLI preguntas sobre el código de un repositorio, aprenderás técnicas de prompting que producen respuestas fundamentadas en el código y ganarás la confianza necesaria para empezar a realizar cambios.\n\n## Cuándo usar un SME de IA\n\nEste tutorial es útil siempre que necesite comprender un código base más rápido. Por ejemplo:\n\n* Acaba de unirse a un equipo o un proyecto de código abierto y necesita ponerse al día rápidamente.\n* Necesita cambiar un área de una gran base de código en la que nunca ha trabajado antes.\n* Ha heredado un servicio o biblioteca que los autores originales ya no mantienen.\n\nEn el tutorial se da por supuesto que está trabajando en un terminal y lee código en el lenguaje que usa el proyecto que está explorando. No necesita ninguna experiencia previa con Copilot CLI.\n\n## Prerequisites\n\nAntes de empezar, asegúrese de que dispone de lo siguiente:\n\n* Una GitHub Copilot suscripción. Consulte [Planes para GitHub Copilot](/es/copilot/get-started/plans).\n* Copilot CLI instalado y autenticado. Consulte [Introducción a la CLI de GitHub Copilot](/es/copilot/how-tos/copilot-cli/cli-getting-started).\n* Un clon local del repositorio que desea explorar. Consulte [Clonar un repositorio](/es/repositories/creating-and-managing-repositories/cloning-a-repository?tool=webui).\n\n## 1. Iniciar una sesión en el repositorio\n\nAbra un terminal y cambie a la raíz del repositorio sobre el que desea obtener información. Iniciar Copilot CLI desde la raíz del repositorio significa que tiene toda la base de código disponible como contexto.\n\n```shell copy\ncd PATH/TO/YOUR/REPOSITORY\ncopilot\n```\n\nAhora estás en una sesión interactiva Copilot CLI. Todo lo que escribes en el indicador se envía al modelo, que puede leer archivos del repositorio, ejecutar comandos de shell como `git log` o `grep` y responder a tus preguntas según lo que encuentre.\n\n> \\[!TIP]\n>\n> * Si confía Copilot CLI en ejecutar comandos sin solicitar aprobación, mientras bloquea los cambios de archivo, comience por `copilot --deny-tool='write' --allow-all-tools`. Consulte [Permitir y denegar el uso de la herramienta](/es/copilot/how-tos/copilot-cli/use-copilot-cli/allowing-tools).\n> * Si está trabajando en un código base muy grande, puede obtener mejores resultados empezando Copilot CLI por el subdirectorio correspondiente. Esto limita el contexto a los archivos más relevantes.\n\n## 2. Respuestas básicas en el código, no en los documentos\n\nLa mayoría de los repositorios contienen una combinación de código y documentación: archivos LÉAME, notas de diseño, diagramas de arquitectura, etc. La documentación es útil para averiguar sobre un proyecto, pero puede estar obsoleta. Si hace Copilot CLI una pregunta sobre cómo se comporta el código y recoge una respuesta de un archivo Markdown obsoleto, obtendrá una respuesta segura que no es correcta.\n\nAntes de empezar a formular preguntas, indique Copilot CLI que base sus respuestas en el propio código y que marque cualquier incertidumbre en lugar de rellenar espacios. Por ejemplo:\n\n```copilot copy\nFor the rest of this session, when I ask how something works, base your answer on the code in this repository, not on documentation files such as README.md or files under docs/. If a documentation file conflicts with the code, treat the code as the source of truth. If you can't find a definitive answer in the code, say so - don't guess.\n```\n\nPuede colocar este tipo de preámbulo en un archivo de instrucciones personalizado y reutilizarlo en sesiones, por lo que no tiene que volver a escribirlo cada vez. Consulte [Adición de instrucciones personalizadas para GitHub Copilot CLI](/es/copilot/how-tos/copilot-cli/customize-copilot/add-custom-instructions).\n\n## 3. Obtener información general sobre el código base\n\nComience con preguntas generales para crear un mapa mental del proyecto. El objetivo es comprender la forma del código (dónde están los puntos de entrada, qué directorios contienen qué y cómo encajan las partes principales) antes de profundizar en una característica específica.\n\nPruebe las indicaciones, como:\n\n```copilot copy\nGive me an overview of this codebase. What does the application do, what are the main components, and how do they communicate? Cite the files you used as evidence.\n```\n\n```copilot copy\nWhat are the entry points for this application? For each entry point, tell me which file contains the entry point and which directories contain the code it calls into.\n```\n\nPedir citas y pruebas es importante. Cuando Copilot CLI le indica \"esto se controla en `src/auth/middleware.ts`\", puede abrir ese archivo y comprobar la respuesta por sí mismo. Si la cita no coincide con lo que encuentra, tómelo como una señal útil para volver y hacer preguntas de seguimiento.\n\n## 4. Explorar en profundidad una característica específica\n\nUna vez que tenga información general, limite en el área que necesita cambiar. Trata esto como una conversación, no una sola consulta. Cada respuesta mostrará términos, nombres de archivo y conceptos que puede usar en la siguiente pregunta.\n\nEs una buena idea formular preguntas similares que se aproximan a un tema desde distintos ángulos. Esto le ayuda a asegurarse de que está obteniendo la imagen completa y le dará confianza de que Copilot no ha entendido mal lo que está intentando averiguar y no ha perdido un detalle importante.\n\nPor ejemplo, supongamos que se le ha pedido que agregue una limitación de velocidad a un punto de conexión de API determinado y que nunca haya trabajado en esta parte del código antes, podría empezar con preguntas como:\n\n```copilot copy\nIs there any existing rate limiting in this codebase? If so, where is it implemented, and how is it configured?\n```\n\n```copilot copy\nIf I wanted to add per-user rate limiting to the /api/v1/upload endpoint, which files would I most likely need to change, and which existing patterns in the codebase should I follow?\n```\n\nHacer preguntas de seguimiento dentro de la misma sesión de la CLI le permite profundizar en los detalles de una característica y proporciona Copilot el contexto que necesita para proporcionar respuestas específicas que le indican lo que necesita saber.\n\n## 5. Investigar el comportamiento y los casos perimetrales\n\nLeer código le indica lo que hace el código. A menudo no le dice lo que se supone que el código debe hacer o cómo se comporta en situaciones inusuales. Estas son las preguntas en las que un SME humano es más valioso, y dónde Copilot CLI puede ayudarle cuando no haya ningún humano disponible.\n\nAlgunos ejemplos de preguntas sobre comportamiento y casos límite que podrías hacer:\n\n```copilot copy\nWhat happens if the database connection drops while a request is being processed? Walk me through the error handling, based on the code.\n```\n\n```copilot copy\nThe `getUser` function takes a `userId` parameter. What validation is performed on it before it reaches the database query? Are there any code paths where an unvalidated value could reach the query?\n```\n\nCuando reciba una respuesta, siga con \"mostrarme el código\" o \"en qué archivo lo encontró?\" si aún no se ha citado. Esto te da un lugar donde comprobar y verificar la respuesta.\n\n## 6. Uso del historial de Git como otro origen\n\nMuchos contextos útiles residen en el historial de Git en lugar de en el código actual: por qué se escribió una función como era, cuando se corrigió por última vez un error, que originalmente agregó un módulo.\nCopilot CLI puede ejecutar `git` comandos automáticamente y usar la salida para responder a preguntas que no pudo responder fácilmente leyendo el código solo.\n\nPruebe las indicaciones, como:\n\n```copilot copy\nWhen was the `PaymentProcessor` class introduced, and what was the original commit message? Has it been substantially refactored since then?\n```\n\n```copilot copy\nLook at the last 20 commits that touched files under `src/billing/`. Summarize what kinds of changes have been made recently.\n```\n\n```copilot copy\nWho has made the most commits to `src/auth/`? Use that information to suggest the best person on this team to ask about authentication.\n```\n\n## 7. Comprobar antes de confiar\n\nCopilot CLI es un poderoso SME, pero no es infalible. Puede leer mal el código, conflar archivos similares o, en ocasiones, crear cosas. Trate sus respuestas de la manera en que trataría el consejo de un compañero útil pero fallible: útil como punto de partida, pero vale la pena comprobar antes de actuar sobre cualquier cosa importante.\n\nAlgunos hábitos te mantendrán fuera de problemas:\n\n* **Compruebe los archivos citados.** Cuando Copilot CLI hace referencia a un archivo específico o un número de línea, ábralo y confirme. Si la cita es incorrecta, trate el resto de la respuesta con más dudas.\n* **Hazlo tú mismo.** Si Copilot CLI indica que una función devuelve `null` una entrada vacía, escriba una prueba rápida o una invocación REPL que lo llame con una entrada vacía y compruebe.\n* **Verifique con personas.** Cuando la respuesta sea importante (seguridad, integridad de datos o cualquier cosa en la que no querría equivocarse en producción), utilice la respuesta de Copilot CLI como punto de partida y confírmela con un experto en la materia (SME) humano o una revisión de código.\n\n## Conclusión\n\nEn este tutorial, ha usado Copilot CLI como SME personal:\n\n* Obtenga información general sobre un código base desconocido, anclado en archivos reales.\n* Explore en profundidad una característica específica para saber qué archivos se van a cambiar y qué patrones se van a seguir.\n* Investigue el comportamiento, los casos perimetrales y el historial de Git.\n* Compruebe las respuestas para que pueda confiar en ellas cuando sea importante.\n\nUsado de este modo, Copilot CLI no reemplaza a los SME humanos, pero reduce su dependencia de ellos para las preguntas cotidianas que surgen mientras trabaja. Tus compañeros de equipo humanos pueden centrar su tiempo en las preguntas que realmente necesitan su experiencia, y puedes seguir moviéndose cuando no estén alrededor.\n\n## Pasos siguientes\n\n* Guarde los preámbulos de aviso más útiles como instrucciones personalizadas, por lo que puede reutilizarlos en sesiones y proyectos. Consulte [Adición de instrucciones personalizadas para GitHub Copilot CLI](/es/copilot/how-tos/copilot-cli/customize-copilot/add-custom-instructions).\n* Una vez que comprenda el área del código que desea cambiar, use Copilot CLI para ayudarle a realizar el cambio. Consulte [Refactorización de código con GitHub Copilot](/es/copilot/tutorials/refactor-code) y [Escritura de pruebas con GitHub Copilot](/es/copilot/tutorials/write-tests).\n* Obtenga información sobre cómo controlar qué herramientas Copilot CLI se pueden ejecutar durante una sesión. Consulte [Permitir y denegar el uso de la herramienta](/es/copilot/how-tos/copilot-cli/use-copilot-cli/allowing-tools)."}