===== Algoritmo cotidiano: GitHub Copilot en mi programación ===== ==== ¿Qué es? ==== Copilot es un asistente que predice y sugiere líneas o bloques de código mientras escribo. Desde mi experiencia, “adivina la intención” del archivo en el que trabajo y completa funciones, tests y comentarios. ==== ¿Cómo funciona (desde mi experiencia de usuario)? ==== Contexto inmediato: a medida que tecleo, lee lo que ya hay en el archivo (nombres de funciones, firmas, comentarios, imports) y propone la siguiente línea o bloque. Patrones del proyecto: parece aprender el estilo del repo (nombres, estructuras, convenciones) porque con el tiempo sus sugerencias se alinean mejor con “cómo escribimos aquí”. Pistas del comentario: si escribo // objetivo: validar email y normalizar, suele ofrecer una función completa que sigue esa intención. Ciclo de aceptación: acepto con Tab cuando me sirve, o sigo escribiendo y la sugerencia cambia; si borro y reintento con más detalles en el comentario, mejora. ==== ¿Qué predicción hace exactamente? (objetivo del algoritmo) ==== Predice la siguiente cadena de texto útil en contexto de código. En la práctica: el “próximo token” de código/comentario más probable que cumpla el objetivo que estoy programando (por ejemplo, terminar una función, generar tests o armar una consulta). ==== Señales que noto que influyen en sus recomendaciones ==== El lenguaje y framework detectado (p. ej., Python + FastAPI, JS + React). Los nombres y patrones locales (estilo de tests, helpers internos). Comentarios “intencionales” (describo el qué y el cómo deseado). Contexto de archivos cercanos (imports, tipos, esquemas). ==== ¿Cómo influye en mis actividades? ==== Creación: me permite prototipar más rápido; paso más tiempo describiendo la intención en comentarios y menos tipeando boilerplate. Consumo de información: tiendo a consultar menos snippets en buscadores para tareas comunes; Copilot propone plantillas conocidas. Aprendizaje/estilo: refuerza ciertos patrones (los que sugiere con más frecuencia). Si no cuido los comentarios, puede guiarme a soluciones estándar y no siempre óptimas. Tiempo: reduce tareas repetitivas (validaciones, mapeos, tests básicos). El ahorro real depende de qué tan claro describa la intención y de cuánta revisión haga después. Atención/flujo: cuando acierto con el prompt/comentario, entro en flujo; cuando no, puedo perder tiempo puliendo la sugerencia o reescribiendo.