La inteligencia artificial está revolucionando la forma en que desarrollamos productos digitales. En este Runroom LAB, exploramos el estado del arte de la IA aplicada al desarrollo con Rafa Gómez Casas y Javier Ferrer González, fundadores de Codely.
Aquí el vídeo de la primera parte del LAB.
Conclusiones y aprendizajes del LAB
1. La IA avanza vertiginosamente. ¡Hay que poner orden!
Una conclusión fundamental es que la velocidad de los avances en IA es abrumadora; lanzan cosas que “te vuelan más la cabeza” cada día, lo que dificulta mantenerse actualizado
Javier y Rafa nos ayudan a poner orden y claridad ante la sensación de ser sobrepasado y no saber cómo asimilar tantas novedades
- Cambio de Rol: El boom de los agentes (alrededor de marzo) provocó una “minicrisis” sobre cuál es el rol del desarrollador en la industria, obligando a intentar estar “un pasito por delante”
- Adopción Forzada: Se observa un cambio radical en el entorno empresarial: antes se prohibía el uso de la IA, y ahora se obliga a adoptarla
- Ritmo Acelerado: El tiempo en la IA no pasa linealmente; lo que ocurrió en meses equivale a varios años en “edad de IA”
2. IA para programar: agentes y asistencia
La IA para programar se divide en tres áreas principales: el modo ask (como ChatGPT), las funcionalidades integradas en IDEs (como sugerencias contextuales o generación de unit tests) y, la más avanzada, los Agentes de IA
Un agente es un sistema autónomo que determina por sí mismo cuándo parar de ejecutarse y concluye que la tarea encargada ha sido completada, demostrando agencia.
- Ejemplos de Integración: Se están integrando directamente en los sistemas de gestión de tareas (como Linear con GitHub Copilot), donde el agente toma la especificación, intenta implementarla, crea un Pull Request (PR), y proporciona feedback en el propio gestor de tareas
- Tareas de Bajo Valor: Los agentes son ideales para tareas de bajo valor o “cero romanticismo” (como ajustar copias o textos en una web). Al acelerar este tipo de procesos, liberan tiempo del desarrollador.
- Contexto de Interacción: Un agente (como Cursor) es capaz de tomar contexto de hilos de conversación (como Slack), entender la tarea (cambiar un texto), identificar el archivo correcto (un
.json), aplicar el cambio y crear una PR, todo ello de forma autónoma.
La elección del tipo de agente depende de la necesidad:
- Agentes Locales: Ideales para funcionalidades medianas/grandes donde se requiere iterar y moldear la solución rápidamente, atando en corto a la IA.
- Agentes Remotos (Background Agents): Permiten al desarrollador despreocuparse de la ejecución una vez que el plan ha sido especificado (subiéndolo a Linear o Jira), permitiendo paralelizar otras tareas.
- Modelos en Paralelo
Una técnica avanzada que se está implementando es ejecutar la misma tarea en paralelo con distintos modelos. Esto maximiza el tiempo de respuesta al permitir seleccionar el resultado que sea más rápido o el que más se acerca al resultado esperado. Sin embargo, esto también consume más recursos y tokens.
3. La Evolución del Prompting y las Reglas
- Mejora de la Inteligencia del Modelo: Aunque guías como la de Anthropic recomiendan un prompting muy específico y verboso, los modelos se están volviendo más listos con el tiempo (e.g., GPT5 Codex).
- Tendencia de los Modelos: Los modelos cada vez son más pequeños y, a la vez, más inteligentes.
- Reglas (Rules): Una solución al problema de tener que repetir constantemente convenciones de codificación (como “no uses comentarios verbosos” o “no uses mox”) son las reglas. Cursor fue pionero en esto, permitiendo definir reglas en un fichero Markdown que el modelo aplica dinámicamente si lo considera relevante, basado en la descripción de la regla.
- Estandarización de Agentes: Se aboga por el uso del estándar
agents.md para especificar estas reglas y convenciones.
- Contexto: Sigue siendo primordial optimizar el uso del contexto; aunque los modelos soporten un gran volumen de tokens, la ventana de atención es limitada, y sobrecargarlo puede llevar a que los agentes actúen de forma indeseada.
4. IA Aplicada a Funcionalidades del Producto (MCPs y RAG)
El segundo pilar de la charla se enfoca en cómo utilizar la IA para desarrollar funcionalidades dentro de la propia aplicación.
Model Context Protocol (MCP)
MCP es un protocolo propuesto por Anthropic que permite añadir contexto (como el acceso a un calendario) a los modelos LLM.
- Primitivas: El estándar MCP define no solo Tools (herramientas para realizar acciones, las más usadas) sino también Resources (listados de datos para que el modelo los lea) y Prompts (librerías compartidas de prompts).
- Tools Avanzadas (Playwright): Un servidor MCP de Playwright permite al LLM inspeccionar el árbol DOM de una página web, levantando un navegador. Esto le da “ojos” al modelo, lo que es útil para generar tests de aceptación de frontend o automatizar interacciones web.
- Inteligencia en la Invocación: El modelo demuestra inteligencia al inferir y enriquecer la query antes de invocar la tool del servidor MCP. Esto convierte al LLM en un nuevo punto de entrada o canal de distribución para la lógica de negocio.
RAG (Retrieval-Augmented Generation) y Búsqueda Vectorial
RAG es el proceso de dar contexto al sistema. La guía oficial recomienda limitar el contexto a lo más relevante, porque saturar al LLM con información no relevante (como un gran listado de cursos) hace que alucine y se invente cosas.
- Separación de Contexto: Para optimizar costes (reducciones del 5% al 10%) y caching, se debe dejar lo estático en la parte de instrucciones (que se puede cachear) y lo variable en la parte de input del usuario.
- Búsqueda Semántica (Vectorial): Para encontrar la información más relevante (por ejemplo, cursos relacionados), se utiliza la búsqueda vectorial, que es una query a la base de datos basada en la distancia del coseno entre los vectores (embeddings).
- El Concepto de Vectores: Los vectores almacenan el significado semántico de un texto en coordenadas multidimensionales, donde la cercanía entre vectores (calculada mediante la distancia) indica la similitud del concepto.
- Herramientas para Vectores: Extensiones como PG Vector para PostgreSQL están popularizándose, permitiendo empezar a jugar con búsquedas vectoriales sin necesidad inmediata de infraestructura especializada.
5. Desafíos y Perspectiva Final
La naturaleza no determinista de los modelos LLM (mismo input no garantiza el mismo output) obliga a cambiar las estrategias de testing que se utilizaban hasta ahora.
Ecosistema Verde: El ecosistema de herramientas para la evaluación y la observabilidad de modelos en producción (como frameworks de evaluación, servidores de modelos en local como Olama, o soluciones de Behavior-Driven Development) está en sus etapas iniciales y “bastante verde”.
Pérdida de Control: Es normal que los desarrolladores sientan incertidumbre e inseguridad o una “sensación de pérdida de control” ante estos avances.
En definitiva, la conclusión es que es inútil ignorar la situación y que la mejor acción es buscar orden y claridad, actualizando los conocimientos. Y qué mejor manera de hacerlo siguiendo a estos dos titanes en su canal de Youtube!