IA con Criterio: No dejes tu arquitectura en un barco sin Capitán

En la era de la IA generativa, el riesgo no es que la inteligencia artificial reemplace al programador, sino que el programador delegue su criterio técnico a un modelo probabilístico. Usar asistentes como GitHub Copilot sin contexto es como invitar a un extraño a tu proyecto: sabe programar, pero no conoce tus reglas, tus patrones ni tus estándares de calidad.

Para que la IA trabaje para ti y no al revés, necesitas convertirte en el Capitán del Barco. La herramienta para lograrlo son las Copilot Instructions.

1. ¿Qué son las Copilot Instructions?

Son archivos de configuración (usualmente .github/copilot-instructions.md) que actúan como el manual de identidad de tu código. Funcionan como un «manual de instrucciones» que le dice al asistente qué convenciones seguir, qué componentes priorizar y qué librerías están permitidas.

2. Segmentación: El poder de la organización contextual

Mantener todas las reglas en un solo archivo es un error que causa «contaminación de contexto» y desperdicio de tokens. Los modelos de lenguaje tienen límites de memoria; si les das demasiada información irrelevante, empiezan a fallar en lo importante.

Un ingeniero Senior segmenta el conocimiento mediante una estructura de archivos especializada en la carpeta .github/instructions/:

  • ui.instructions.md: Reglas específicas para componentes de interfaz y el Sistema de Diseño.
  • testing.instructions.md: Estándares de mocks, fixtures y convenciones de naming para pruebas.
  • documentation.instructions.md: Guías de estilo para comentarios y docstrings.

3. Optimización Crítica con applyTo

Esta es la característica más poderosa y menos utilizada. applyTo te permite definir exactamente en qué archivos debe activarse cada instrucción. Esto evita que reglas de UI interfieran cuando estás editando lógica de negocio o archivos de configuración.

Sintaxis de ejemplo:

Markdown

---
applyTo: "lib/src/widgets/**/*.dart, !**/*.g.dart"
---
# Reglas para Widgets Personalizados
  • El uso de la negación (!): Es vital para excluir archivos generados automáticamente (como los de Flutter o Angular), evitando que la IA intente imitar código verboso que no debe editarse manualmente.

4. Las 3 Reglas de Oro para «entrenar» a tu asistente

Para que la IA sugiera exactamente lo que tu arquitectura necesita, tus instrucciones deben seguir estos pilares:

  1. Restricciones Negativas Claros: Los LLMs tienden a sugerir lo más común (como un botón estándar de Material o HTML). Debes prohibir explícitamente el uso de componentes genéricos si tienes una librería propietaria. «NO uses componentes nativos de Material, SIEMPRE usa los componentes de nuestra librería interna».
  2. Mapeos Conceptuales (Traducción): Crea una tabla que traduzca intenciones universales a tus herramientas específicas. Si el desarrollador piensa en «un campo de texto», la IA debe saber que en tu proyecto eso se traduce a un componente específico con parámetros obligatorios.
  3. Golden Samples (Ejemplos de Oro): Proporciona ejemplos completos y funcionales. La IA aprende por imitación; si le entregas un archivo perfecto con los imports correctos y el manejo de estado ideal, replicará ese estándar en todo el proyecto.

Conclusión: El Retorno de Inversión (ROI)

Implementar estas instrucciones no es solo un lujo técnico; es una estrategia de Developer Experience (DX). Reduce la carga cognitiva del equipo, acelera el onboarding de nuevos integrantes y garantiza que la consistencia arquitectónica se mantenga, incluso cuando usamos herramientas de generación de código masiva.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio