Más allá del prompt: convierte al contexto en la guía de tu Agente para programar

jarmestoBusiness Central19 hours ago30 Views

GitHub ha publicado recientemente el artículo «Beyond prompt crafting: How to be a better partner for your AI pair programmer», una lectura esencial para cualquier desarrollador o responsable de implantación de IA.

Desde luego a mí me ha encantado y creo que va en el camino, un camino que los próximos meses se va a ir haciendo evidente.

Su mensaje es claro: el valor real de GitHub Copilot no está solo en usar buenos prompts, sino en cómo estructuramos el entorno para que funcione como un verdadero compañero de equipo.

Copilot deja de ser un simple autocompletador cuando se le proporciona contexto sólido, instrucciones claras y un ecosistema integrado. En ese momento, pasa de ser reactivo a colaborativo, generando código relevante y fiable.

Esto mismo pude trasladar durante el workshop que impartí en Companial el pasado junio. Os dejo mis impresiones sobre el artículo, muy alineado con lo que se trató en junio.

Contexto amplio y relevante

El artículo lo deja claro: Copilot necesita entender más que el fragmento actual; requiere visión global del proyecto.

«Ensuring quality code suggestions from Copilot goes beyond the perfect prompt. Context is key.»

Esa visión incluye:

Estructura de repositorio coherente:

  • Organizar el repositorio por capas (frontend, API, lógica de negocio)
  • Mantener archivos README, CONTRIBUTING.md y una nomenclatura consistente
  • Facilitar patrones y convenciones usadas en el código base

Documentación viva:

  • Mantener actualizada la documentación técnica
  • Incluir ejemplos de uso en los README
  • Documentar decisiones arquitectónicas en ADRs (Architecture Decision Records)

Ejemplo práctico: Si documentas una función con una descripción clara—como «devuelve estado actualizado de pedido incluyendo validación de stock y cálculo de impuestos»—Copilot no solo sugiere la lógica, sino que lo hace con coherencia y alineado con tu arquitectura, incluyendo validaciones relevantes y manejo de errores apropiado.

Comentarios inteligentes = sugerencias más precisas

Los comentarios actúan como señales dentro del código. Un docstring bien redactado permite que Copilot comprenda la intención detrás de tu función.

Estrategias efectivas:

  • Encabezados descriptivos: // Cálculo IVA por línea considerando exenciones ayudan a contextualizar
  • Docstrings completos: En funciones reutilizables aumentan la precisión de las sugerencias
  • Comentarios de intención: Explica el «por qué», no solo el «qué»
  • TODOs estructurados: // TODO: Optimizar consulta para >1000 registros

«If you don’t explain the ‘why’, Copilot only guesses the ‘what’. And sometimes it fails.»

Esto es clave y es la piedra donde tropezamos y nos desliza hacia el desierto de la desesperación, pero no te preocupes el contexto es el oasis.

Ejemplo antes/después:

// Antes: comentario básico
// Validar usuario
function validateUser(user) { ... }

// Después: comentario con contexto
/**
 * Valida usuario activo con permisos de administrador
 * Verifica: estado activo, rol admin, token válido, 2FA habilitado
 * @param {User} user - Usuario a validar
 * @returns {ValidationResult} - Incluye errores específicos para UI
 */
function validateAdminUser(user) { ... }

Archivo global .github/copilot-instructions.md

El archivo global .github/copilot-instructions.md permite a los equipos centralizar y estandarizar directrices específicas para la configuración y comportamiento de GitHub Copilot a nivel organizacional o de repositorio. Este documento debe incluir información detallada sobre las tecnologías empleadas (frameworks, lenguajes, librerías como React, Flask, TypeScript), convenciones de código (estilo de indentación, nomenclatura, estándares de pruebas automatizadas), patrones arquitectónicos adoptados (MVC, Clean Architecture, Domain-Driven Design), políticas de seguridad obligatorias (prácticas de sanitización, mecanismos de autenticación y autorización) y lineamientos de optimización de rendimiento específicos al proyecto.

Contenido recomendado:

  • Tecnologías: Formatos, estilos y frameworks usados (React, Flask, TypeScript…)
  • Convenciones: Normas de indentación, nomenclatura, estándares de testing
  • Arquitectura: Patrones preferidos (MVC, Clean Architecture, DDD…)
  • Seguridad: Prácticas obligatorias de sanitización, autenticación
  • Performance: Directrices de optimización específicas del proyecto

Ejemplo de contenido:


## Tecnologías
- El proyecto utiliza **React 18**, **TypeScript 4.9** y **Tailwind CSS**.
- Backend implementado en **Flask 2.1** con Python 3.10.
- Usar siempre hooks funcionales y funciones asíncronas para llamadas HTTP.

## Convenciones de código
- Indentación con 2 espacios, sin tabuladores.
- Variables y funciones en *camelCase*.
- Nombres de componentes en *PascalCase*.
- Preferir funciones puras y evitar efectos secundarios.
- Tests escritos con Jest y React Testing Library, cubriendo al menos 80% del código.

## Arquitectura
- Seguir patrón **MVC** para backend.
- Frontend organizado en componentes desacoplados y reutilizables.
- Gestionar estado global con Redux Toolkit.
- Evitar lógica de negocio en componentes de presentación.

## Seguridad
- Validar y sanitizar toda entrada del usuario antes de procesarla.
- Implementar autenticación mediante JWT con expiración corta.
- No exponer claves secretas ni tokens en el cliente.
- Revisar dependencias para vulnerabilidades antes de instalarlas.

## Performance
- Utilizar lazy loading para componentes pesados.
- Minimizar renderizados con memoización.
- Optimizar consultas y caché de datos en frontend.
- Evitar loops anidados y operaciones costosas en el render.


Así, Copilot ya empieza a trabajar «con tus reglas», no solo de forma intuitiva.

Para mis lectores de Business Central, si, para AL también podemos y debemos realizar el nuestro propio:

4. Instrucciones específicas por contexto (*.instructions.md)

Instrucciones específicas por contexto (*.instructions.md)

GitHub permite ahora crear archivos de instrucciones personalizadas por tarea, guardados dentro de la carpeta .github/instructions/. Esta funcionalidad avanzada facilita especificar normas, estilos o directrices para distintos contextos, lenguajes, carpetas o tipos de archivo, permitiendo una personalización granular para Copilot y otras herramientas compatibles.

¿Cómo funcionan estos archivos?

  • Cada archivo *.instructions.md dentro de .github/instructions/ define instrucciones para un contexto concreto.
  • Las instrucciones se escriben en lenguaje natural y en formato markdown, y pueden aplicarse a archivos, carpetas o patrones de archivos específicos.
  • Mediante el frontmatter applyTo, puedes indicar con sintaxis glob qué archivos o directorios están afectados: text--- applyTo: "src/**/*.js" --- Utiliza siempre funciones flecha y comentarios claros en estos archivos.
  • Si se desea que unas instrucciones apliquen a todo el repositorio, basta usar el patrón ** en applyTo.

Ventajas principales

  • Permite adaptar reglas y recomendaciones según el tipo de archivo, función del código o requerimientos de cada subproyecto.
  • Facilita equipos grandes o monorepositorios, donde diferentes equipos o módulos requieren reglas distintas.
  • Puede combinarse con el archivo global .github/copilot-instructions.md, pero las instrucciones más específicas por contexto tendrán prioridad en sus ámbitos definidos.

Ejemplo de estructura

text.github/
  instructions/
    backend.instructions.md
    frontend.instructions.md
    tests.instructions.md

Cada archivo podría tener:

text---
applyTo: "src/backend/**/*.al"
---
Usa prefijo 'BC' en todas las Codeunits. Documenta cada procedimiento público.

Consideraciones

  • Esta funcionalidad está soportada en entornos compatibles como Visual Studio Code y agentes de codificación de Copilot.
  • Permite mejorar la coherencia, calidad y alineación con las prácticas recomendadas a nivel granular de proyecto o carpeta.

Con esto, se logra una personalización avanzada del contexto y el comportamiento de Copilot según necesidades específicas de área, tecnología o propósito dentro del repositorio.

Ejemplo de create-test.instructions.md:

# Instrucciones para Creación de Tests

## Estructura de Tests
- Usar describe/it pattern
- Agrupar por funcionalidad, no por método
- Incluir casos edge y error scenarios
- Mock external dependencies siempre

## Naming Convention
- Describe: "ComponentName" o "functionName()"
- It: "should [expected behavior] when [condition]"

## Coverage Mínimo
- 80% líneas de código
- 100% branches críticos (auth, payments)
- Incluir integration tests para APIs

Estas directrices contextuales proporcionan precisión previa al prompt, ajustando el comportamiento de Copilot según la tarea específica.

«Instrucciones contextuales: documentación viva para copilot.»

MCP Server de GitHub y MCP Server de Microsoft Learn: Sinergia para un desarrollo más inteligente

¿Qué es cada MCP Server?

  • MCP Server de GitHub:
    Este servidor conecta a Copilot con toda la información real y actualizada de tu repositorio en GitHub. Permite acceder a pull requests, issues, historial de commits, releases, wikis, documentación interna y métricas específicas del proyecto. Su función principal es que Copilot pueda guiarse y responder utilizando conocimiento “vivo” de tu entorno de trabajo, adaptándose al estado y la evolución real de tu software.
  • MCP Server de Microsoft Learn Docs:
    Este servidor expone de manera programática la documentación oficial, tutoriales, APIs y mejores prácticas de Microsoft a través de un protocolo estándar. Cuando Copilot accede a él, puede apoyarse en información técnica validada y siempre actualizada del ecosistema Microsoft, optimizando respuestas sobre tecnologías, frameworks, integraciones y recomendaciones generales.

Ventaja de combinarlos

Al combinar estos dos MCP Servers, el contexto disponible para Copilot se amplía de forma exponencial:

  • Máxima relevancia y rigor técnico:
    Copilot puede ofrecerte respuestas basadas en el conocimiento interno y la historia real de tu proyecto, complementadas con la autoridad y el detalle de la documentación oficial de Microsoft.
  • Respuestas prácticas y fundamentadas:
    La IA no solo conoce los cambios, problemas y reglas internas de tu equipo, sino que puede validar y enriquecer cualquier sugerencia con ejemplos y mejores prácticas documentadas.
  • Agilidad y aprendizaje continuo:
    Permite resolver dudas sobre APIs, patrones recomendados y casos de uso específicos de tu código en el mismo flujo de trabajo, sin necesidad de alternar entre recursos internos y externos.
  • Reducción de errores y aumento de calidad:
    Al estar alineado tanto con las convenciones de tu base de código como con los estándares de Microsoft, Copilot sugiere soluciones robustas, actualizadas y alineadas con la industria.

Combinar el MCP Server de GitHub y el de Microsoft Learn Docs permite a Copilot brindar una inteligencia contextual mas completa: entiende tu proyecto y, al mismo tiempo, consulta el mejor conocimiento técnico disponible, impulsando la productividad y la excelencia en el desarrollo de software.

El contexto y Vibe Coding Estructurado

Caminando por una senda con iluminación tenue pero prometedora

El vibe coding, popularizado por Andrej Karpathy en 2025, genera software mediante IA usando descripción en lenguaje natural. Produce prototipos rápidos y de buena calidad:

Ventajas del Vibe Coding:

  • Iteración veloz: De idea a prototipo en minutos
  • Creatividad desbloqueada: Experimenta sin restricciones iniciales
  • Prototipado rápido: «Code-first, refine-later» como estrategia

Sin embargo, en entornos enterprise—que requieren mantenimiento, seguridad y escalabilidad—es necesario aportar estructura y control:

Vibe Coding Estructurado:

  1. Bloques definidos: Secciones del código organizadas por función
  2. Comentarios narrativos claros: Explican la intención de cada bloque
  3. Archivos de instrucciones: Globales y específicos aplicados
  4. MCP Server conectado: Acceso a datos y contexto real del entorno
  5. Guardarraíles de calidad: Linting, testing automático, security checks

Implementación práctica:

El resultado: se canaliza la creatividad del vibe coding, manteniendo coherencia y calidad empresarial.

«El código con vibe coding no es caótico; tiene calidad (en su mayoría😂). Pero si queremos nivel enterprise, requiere combinarlo con contexto, estructura y guardarraíles.»

Este enfoque derriba muros de improvisación sin perder frescura, creando una colaboración efectiva y robusta con Copilot.

Conclusión refinada

De conversación a colaboración

Ya no basta con perfeccionar prompts: debemos reinventar nuestra forma de trabajar con Copilot como verdadero socio de desarrollo. Para ello es esencial contar con:

  • Contexto enriquecido: un repositorio bien organizado y una documentación que crece y se actualiza de forma continua.
  • Instrucciones precisas: directrices globales para la organización y guías específicas para cada tarea o componente.
  • Integración total: un MCP Server conectado de manera nativa con el resto de tu stack (CI/CD, monitorización, gestión de dependencias). O mas de uno según las necesidades.
  • Vibe Coding con gobernanza: libertad creativa bajo un marco empresarial que garantice calidad, seguridad y cumplimiento.

Así, Copilot trasciende su papel reactivo y se convierte en un colaborador estratégico, capaz de anticipar necesidades y acelerar el desarrollo.

La fórmula del éxito

Contexto + Instrucciones + Integración + Vibe = IA verdaderamente transformadora

Hacia la programación colaborativa del futuro

  1. IA como coautor
    Copilot no solo sugiere fragmentos de código, sino que co-diseña arquitecturas, flujos de datos y componentes reutilizables de alto nivel.
  2. Desarrollo contextualizado
    Cada línea de código se escribe con plena conciencia del ecosistema: dependencias, servicios en producción y convenciones de equipo.
  3. Documentación viva
    Los cambios en el repositorio disparan actualizaciones automáticas de la documentación, garantizando que siempre refleje el estado real del proyecto.
  4. Desarrollo predictivo
    La IA ya está aprendiendo de patrones pasados, detectando áreas de mejora y sugiriendo tanto refactorizaciones como nuevas funcionalidades antes de la intervención explícita del desarrollador, definiendo así el futuro del desarrollo de software.

El impacto en Business Central y AL

Negar la llegada de este “tsunami” de IA al desarrollo en AL para Business Central es subestimar la velocidad de adopción y la integración profunda de Copilot en entornos Microsoft. Los equipos que adopten este paradigma colaborativo no solo ganarán en productividad, sino que marcarán el estándar de la ingeniería de software en la era de la inteligencia artificial.

¿Ya implementas alguna de estas estrategias en tu equipo? ¿Cuál ha sido tu experiencia con Copilot más allá del prompt básico? Comparte en los comentarios tu camino hacia un desarrollo verdaderamente colaborativo con IA.

Recordad esto porque ayuda mucho

✅ Suscríbete al canal (anima y da ese empujón a todo esto).

✅ Pulsa «like» si te ha gustado.

✅ Si no quieres perderte nada, ya sabes, pulsa la campana.

✅ En los comentarios déjame cualquier idea, duda, corrección o aportación. Todo será bien bienvenido.

Nota: El contenido de este artículo ha sido generado con la ayuda de IA, para más información accede a la pagina sobre responsabilidad AI del blog

Original Post https://techspheredynamics.com/2025/07/25/mas-alla-del-prompt-convierte-al-contexto-la-energia-de-tu-agente-para-programar/

0 Votes: 0 Upvotes, 0 Downvotes (0 Points)

Leave a reply

Join Us
  • X Network2.1K
  • LinkedIn3.8k
  • Bluesky0.5K
Support The Site
Events
July 2025
MTWTFSS
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31    
« Jun   Aug »
Follow
Search
Loading

Signing-in 3 seconds...

Signing-up 3 seconds...