Esto resuelve el mayor problema de la IA al programar

AAI LABS
Computing/SoftwareManagementAdult EducationInternet Technology

Transcript

00:00:00Estamos en una nueva era del desarrollo de software. Los desarrolladores lanzan productos a una velocidad
00:00:04que nunca antes habíamos visto. Sin embargo, ha surgido un problema. Los flujos de trabajo tradicionales no
00:00:08funcionan cuando hay agentes involucrados. Esto plantea una pregunta importante: ¿cómo es el
00:00:13rol del desarrollador ahora? Un artículo reciente del CEO de Linear me llamó la atención. Linear es una herramienta de
00:00:18gestión de proyectos que ayuda a los equipos a organizar y seguir su trabajo, específicamente para el desarrollo de
00:00:23software moderno. Estas ideas provienen de alguien que ha vivido la transición desde los flujos de trabajo
00:00:27tradicionales hasta los sistemas actuales impulsados por IA. Este artículo me hizo replantearme algo más que las
00:00:33herramientas que usamos. Me hizo repensar cómo creamos productos por completo. Tenemos mucho de qué hablar hoy
00:00:37porque esta información cambia fundamentalmente la forma en que construimos con IA. La fase intermedia del desarrollo de software está
00:00:43desapareciendo y el centro del software se está desplazando. Para entender qué es esa fase intermedia, veamos
00:00:47cómo se dividía el trabajo antes del desarrollo con IA. Todo empezaba con la fase inicial. Esta incluía
00:00:52toda la recopilación de requisitos y las etapas de planificación. En esta fase, creábamos los planes de lo
00:00:57que íbamos a construir. Luego venía la parte intermedia. Aquí es donde convertíamos el plan en el
00:01:01producto real, y era la parte que implicaba escribir el código. Esta era la etapa que más
00:01:05tiempo tomaba de todas. Se tardaba semanas, meses o incluso un año en entregar un sistema de calidad y totalmente funcional. Esta era
00:01:11también la parte donde más se perdían los detalles al traducir la intención o transmitir ideas
00:01:16de una persona a otra. Una vez escrito el código, la parte final incluía varias formas de
00:01:20pruebas y revisiones con respecto a los requisitos originales. La fase intermedia era la que presentaba
00:01:25más fricción, pero el CEO dice que eso ya no será así. Esto se debe a que el
00:01:30trabajo intermedio, la implementación y la codificación, está siendo reemplazado por la IA. Ahora ya no
00:01:35tenemos que tocar el código nosotros mismos. Esto es porque los agentes de programación se han vuelto tan potentes que
00:01:40son capaces de producir código basándose solo en el contexto y la planificación de tareas. Ahora se trata más de
00:01:45usar a los agentes de la manera correcta y supervisar su trabajo que de escribir código. Si han estado viendo nuestros
00:01:50videos regularmente, habrán visto que hemos enseñado y demostrado muchas formas diferentes de usar flujos de trabajo de IA
00:01:55para crear aplicaciones de nivel profesional. Pueden hacerlo simplemente supervisando a los agentes sin tener que
00:01:59escribir una sola línea de código ustedes mismos. Los IDE se han convertido más en visores de código que en herramientas de escritura. Este
00:02:04cambio es muy evidente para mí porque, como desarrollador, mi herramienta principal para escribir código ahora
00:02:09se ha convertido en una herramienta para revisar el código que produce el agente. Ahora solo entro en VS Code para revisar o
00:02:14añadir comentarios para que el agente de IA implemente las funciones comentadas. Rara vez tengo que cambiar
00:02:19nada o escribir código yo mismo porque los agentes son sumamente capaces. Pero esto solo funciona si los
00:02:23agentes pueden entender la intención. Por lo tanto, nuestro trabajo como desarrolladores ha pasado esencialmente de
00:02:28escribir código a supervisarlo. Probablemente se habrán fijado en que construimos muchas cosas en estos videos. Todos los
00:02:33prompts, las plantillas, todo eso que normalmente tendrían que pausar y copiar de la pantalla. Lo hemos
00:02:38puesto todo en un solo lugar. Acabamos de lanzar AI Labs Pro, donde tendrán acceso a todo el contenido de
00:02:43este video y de todos los anteriores. Si valoran lo que hacemos y quieren apoyar al canal,
00:02:48esta es la mejor manera de hacerlo. Tienen los enlaces en la descripción. Dado que la IA se ha encargado de la mayor parte del
00:02:53trabajo de programación, surge una duda: ¿qué nos queda a nosotros? La respuesta es centrarse en el nuevo arte de
00:02:59refinar las intenciones de lo que se quiere construir. La forma de hacerlo es tratando la planificación como su
00:03:03tarea principal. Deben entender claramente el problema que intentan resolver. Necesitan saber
00:03:07qué quiere realmente su cliente y cómo usará la gente su aplicación. Esto se ha vuelto aún más
00:03:12importante ahora. Ya no dependen de humanos que puedan interpretar intenciones a partir de una mala planificación.
00:03:17En su lugar, dependen de agentes de IA que implementan ciegamente lo que se les ordene. Ya sea que
00:03:23estén creando una app móvil o una web, deben saber exactamente qué quieren construir. Sin
00:03:27esa claridad, no pueden realizar una planificación significativa con los modos de planificación de los agentes. Planificar es vital.
00:03:32Como hemos recalcado en videos anteriores, solo los buenos planes llevan a buenas implementaciones. No importa
00:03:38qué agente estén usando. La planificación es crucial porque controla el resultado del
00:03:42agente. Tómense todo el tiempo que necesiten. Sigan refinando el plan hasta que satisfaga totalmente sus necesidades y cumpla
00:03:47sus expectativas. Esto garantizará que su aplicación resulte como desean. Hasta hace tres meses,
00:03:52nunca confiábamos en el modo de omisión de permisos para construir porque los agentes solían alucinar
00:03:56a pesar de tener un buen plan. Ahora los agentes son tan fiables que, tras refinar el plan, simplemente activo el
00:04:02modo de omisión de permisos y dejo que el agente implemente las especificaciones de una sola vez. También
00:04:06vimos que incluso el creador de Claude Code comienza sus implementaciones con el modo de planificación. Si el plan
00:04:12es lo suficientemente bueno, pueden dejar que los agentes construyan la app del tirón sin preocuparse por
00:04:16implementaciones desastrosas. Yo también dedico mucho tiempo a asegurarme de que lo que estoy construyendo esté
00:04:21totalmente documentado. No lo amontono todo en un solo documento para que el agente pueda navegar por
00:04:26los planes fácilmente. Utilizo diferentes documentos para cada categoría, como evaluaciones de riesgo, mitigación
00:04:31y especificaciones técnicas. Enumero las restricciones y las compensaciones en un documento aparte. Así es como el agente
00:04:35entiende qué es aceptable en términos de rendimiento, costo y tiempo. Este enfoque conduce a un
00:04:40desarrollo mucho más controlado. Una vez verificados todos los requisitos, el siguiente paso es
00:04:45gestionar realmente al agente para obtener lo que queremos. Pero antes de hablar de eso, unas palabras de
00:04:50nuestro patrocinador: Dart AI. Gestionar proyectos de software complejos suele implicar más carga administrativa
00:04:56que programación real. Dart no es solo una herramienta de gestión de proyectos estándar. Es un espacio de trabajo
00:05:00nativo de IA diseñado para automatizar el trabajo pesado de los desarrolladores. Con su chat de IA consciente del contexto,
00:05:05pueden incluso crear tareas y editar documentos con solo hablar de forma natural. Además del chat de IA, pueden
00:05:11incorporar agentes como Cursor para ejecutar el trabajo. Dart les da el contexto necesario para escribir su código. El
00:05:16verdadero poder reside en su función de directrices de IA. Pueden configurar reglas globales, como indicarle a la IA que
00:05:22siempre formatee las especificaciones técnicas con encabezados específicos de objetivos y requisitos, y Dart aplica esta
00:05:27estructura en cada chat, tarea y documento que genera. Para nosotros, la función de habilidades de IA es revolucionaria.
00:05:33Pueden definir comandos personalizados, como una habilidad de “generar proyecto” que cree automáticamente
00:05:38una lista de tareas completa, asigne prioridades, estime el tamaño y redacte un resumen del proyecto en segundos.
00:05:44Empiecen a automatizar su gestión de proyectos hoy mismo echando un vistazo a Dart AI en el enlace del comentario fijado.
00:05:49Ya no son solo programadores. Su trabajo se centra más en supervisar agentes que en
00:05:54escribir código propiamente dicho. Programar ya no consiste tanto en construir una solución como en
00:05:58establecer las condiciones para que surja una buena solución. Entonces, ¿cómo se crea el entorno adecuado
00:06:03para que los agentes produzcan resultados de calidad? La respuesta es la ingeniería de contexto. La próxima gran habilidad que
00:06:08deben aprender no es un stack de desarrollo web específico como MERN o MEAN. En su lugar, es la gestión
00:06:14del contexto. Hemos visto constantemente que, sin una gestión adecuada del contexto, la IA implementa las
00:06:18funciones que le pedimos, pero no sigue ninguna de las restricciones o reglas con las que debía cumplir la
00:06:22implementación. Debemos asegurarnos de que el contexto se gestione correctamente. Cuando el agente recibe la
00:06:27información adecuada con el mínimo ruido, entiende la tarea con más claridad. Produce mejores
00:06:32implementaciones y ofrece exactamente lo que buscan. Gestionar el contexto implica usar un conjunto de
00:06:37componentes como comandos reutilizables, habilidades, archivos markdown, MCPs y subagentes. No hay una
00:06:43sola forma correcta de hacerlo. Deben usar múltiples métodos que funcionen bien para lo que están construyendo.
00:06:47Necesitan crear un flujo de trabajo que se adapte a su proyecto. Hemos dedicado un video entero
00:06:52a demostrar cómo pueden crear flujos de trabajo con gestión de contexto. Esto garantiza que el modelo que
00:06:56están usando reciba el contexto adecuado y pueda producir aplicaciones de alta calidad. Si quieren seguir
00:07:01los pasos, todos los recursos de ese video están disponibles en AI Labs Pro. El trabajo de un agente es
00:07:06tan bueno como el entorno basado en el contexto en el que opera. Cuanto más conectado esté directamente
00:07:11con el feedback del cliente y respaldado por un flujo de trabajo estructurado, mejor podrá rendir. Debemos
00:07:16crear ese entorno, porque no surge automáticamente. Por esta razón,
00:07:20Claude tiene conectividad con Slack para que los equipos puedan reportar errores directamente. Esto crea ciclos de
00:07:25retroalimentación valiosos, que incluso el propio creador de Claude Code utilizó. Los equipos grandes ya producen
00:07:30código generado por IA de alta calidad. El creador de Claude Code afirmó que, en el último mes,
00:07:35el 100% de sus contribuciones fueron escritas efectivamente por el propio Claude Code. Esto no ocurre
00:07:41simplemente dándole un prompt. Requiere un conjunto de flujos de trabajo y patrones orquestados para que sea
00:07:46posible. Incluso el CEO de Microsoft admite que la IA genera ahora entre el 20% y el 30% del
00:07:52código integrado de Microsoft en todos los lenguajes. El progreso es especialmente notable en Python y C++.
00:07:58La estructura en las herramientas funciona igual para humanos que para agentes. Reduce la incertidumbre al
00:08:03definir claramente qué se espera y qué capacidades existen. Si usan agentes de IA
00:08:08sin estructura, solo están aprovechando una fracción de su potencial. La estructura puede adoptar muchas
00:08:13formas. Esto incluye un archivo Claude.md para la guía general del proyecto y un registro de cambios (changelog).
00:08:19También pueden usar comandos reutilizables o archivos skill.md especializados con scripts y referencias.
00:08:25Además, pueden usar plugins y herramientas MCP para ampliar las capacidades del agente.
00:08:29Pero conocer estas herramientas no basta. La combinación adecuada es lo que importa. Cada proyecto requiere una
00:08:34configuración diferente, así que tienen que construir una basada en las necesidades de su proyecto. Con el equilibrio adecuado,
00:08:39obtendrán los resultados tal y como desean. Nuestro trabajo no termina tras planificar y delegar
00:08:44tareas a los agentes. Como mencioné que dejo que Claude Code trabaje en el modo de omitir permisos,
00:08:49esto ahorra mucho tiempo, pero requiere que nuestra atención se dirija a otra parte.
00:08:53La presión se desplaza hacia el final del ciclo. Revisar el código se vuelve más importante.
00:08:58Un código que no se revisa puede llevar a un rendimiento degradado y costes elevados. Pueden usar flujos
00:09:02de trabajo estructurados para facilitar la revisión. Esto resultará en menos errores y les ahorrará problemas futuros.
00:09:07Ahora bien, testear no es simplemente ir al agente y decirle “prueba mi app para ver fallos”. Implica
00:09:12varios enfoques para mejorar el proceso. Un método es el desarrollo guiado por pruebas (TDD). Le pedimos al
00:09:17agente que escriba casos de prueba para la función que queremos implementar sin escribir nada de código inicialmente.
00:09:22Una vez escritas las pruebas, limpio el contexto e inicio una nueva ventana. Esto garantiza que el agente
00:09:26pierda el contexto de cómo escribió las pruebas. Le pido a Claude que ejecute las pruebas y estas fallan porque
00:09:31aún no se ha escrito código. Una vez que sé que las pruebas funcionan correctamente, le pido a Claude que
00:09:36implemente la ruta. Me aseguro de que no modifique las pruebas. De este modo, el agente tiene un
00:09:41objetivo claro hacia el cual iterar. En el TDD, las pruebas se escriben antes del código, pero el testeo también debe
00:09:46realizarse después de escribir el código. Para ello, existen muchas formas de testeo. Yo uso el testeo de caja negra
00:09:51y creo historias de usuario. Estas actúan como guías detalladas sobre cómo interactuarán realmente los usuarios con
00:09:56el sistema y cómo esas interacciones podrían provocar errores. El testeo de caja negra evalúa la
00:10:00funcionalidad de una aplicación basándose en los requisitos sin mirar el código en sí.
00:10:05Luego utilizo la extensión de Chrome de Claude para realizar las pruebas y le pido que itere sobre cada historia
00:10:10de usuario, sección por sección. El testeo de caja negra identifica principalmente problemas funcionales. Para las
00:10:16pruebas de rendimiento, también necesitamos el testeo de caja blanca. Aquí es donde realmente miramos el código, no solo el
00:10:21resultado. Rastreamos cómo se implementa el código y razonamos sobre su arquitectura. Para el testeo de caja
00:10:25blanca, utilicé un documento XML que contiene múltiples secciones y subsecciones de pruebas. Este documento
00:10:31sirve de guía para que Claude navegue por el código escrito y encuentre problemas arquitectónicos.
00:10:36Para simplificar mis pruebas, utilicé un comando personalizado que ejecuta los tests del documento
00:10:41que coloqué en la carpeta de pruebas. Este comando detalla las instrucciones para inicializar las pruebas,
00:10:46cómo registrar los resultados en un archivo con formato estructurado y, al final, cómo generar un informe
00:10:51final. Este comando de barra (slash command) me facilitó el testeo de caja blanca porque contiene el prompt estructurado
00:10:56para las pruebas. Dado que la fase intermedia está desapareciendo y el foco se desplaza hacia el principio
00:11:01y el final, debemos replantear nuestras prioridades. Lo que debemos priorizar ahora es formar la
00:11:05intención correcta mediante la planificación y la evaluación de requisitos. También debemos asegurar que el resultado
00:11:10cumpla con las expectativas mediante procesos rigurosos de revisión y testeo. Aquellos desarrolladores que dominen estos
00:11:15principios serán quienes lideren el futuro. Con esto llegamos al final del video. Si quieren
00:11:20apoyar al canal y ayudarnos a seguir creando videos como este, pueden hacerlo usando el
00:11:24botón de “Súper gracias” de abajo. Como siempre, gracias por vernos y los espero en el próximo video.

Key Takeaway

El desarrollo de software moderno se desplaza hacia un modelo centrado en la planificación estratégica y la revisión rigurosa, donde el programador actúa como un gestor de contexto y supervisor de agentes de IA en lugar de un escritor de código manual.

Highlights

La fase intermedia del desarrollo de software

Timeline

El fin de la fase intermedia del desarrollo

El video introduce una transformación radical en el desarrollo de software donde la etapa de codificación tradicional está perdiendo relevancia. Anteriormente, el trabajo se dividía en fases iniciales de planificación, una fase intermedia de escritura de código y una fase final de pruebas. La fase intermedia era históricamente la más lenta y propensa a errores de comunicación entre humanos. Con la llegada de agentes de IA avanzados, esta etapa de implementación manual está siendo absorbida por la automatización. El presentador subraya que entender este cambio es fundamental para adaptarse a las nuevas formas de construir productos digitales.

El nuevo rol del desarrollador como supervisor

En esta sección, se explica que los desarrolladores ya no necesitan tocar el código directamente, ya que los agentes pueden producirlo basándose en el contexto. Las herramientas tradicionales como VS Code están pasando de ser editores de texto a convertirse en visores y herramientas de revisión. El trabajo ahora consiste en proporcionar instrucciones precisas y supervisar que la ejecución de la IA sea correcta. Esta transición permite a los desarrolladores centrarse más en la arquitectura y la lógica de negocio que en la sintaxis. Se menciona la plataforma AI Labs Pro como un recurso para aprender estos nuevos flujos de trabajo de nivel profesional.

La importancia crítica de la planificación

El enfoque del desarrollo se traslada ahora hacia el refinamiento de la intención y la resolución de problemas específicos del cliente. Debido a que los agentes de IA implementan ciegamente lo que se les ordena, una planificación deficiente garantiza un resultado defectuoso. El autor sugiere dedicar tiempo extra a documentar requisitos, evaluaciones de riesgo y especificaciones técnicas de forma separada. Utilizar documentos organizados por categorías ayuda a que la IA comprenda las restricciones de rendimiento, costo y tiempo. Una planificación sólida permite incluso activar modos de "omisión de permisos" para que la IA construya aplicaciones completas de una sola vez.

Ingeniería de contexto y automatización con Dart AI

Se introduce a Dart AI como una herramienta esencial para gestionar la carga administrativa y el contexto de los proyectos de software. Dart permite automatizar la creación de tareas y la edición de documentos mediante lenguaje natural, integrándose con agentes como Cursor. Una característica revolucionaria mencionada es la capacidad de configurar directrices globales para que la IA mantenga una estructura coherente en todo el proyecto. El presentador destaca que gestionar el entorno de trabajo es lo que permite que las soluciones de IA surjan con calidad. Esto reduce la fricción y permite que el desarrollador se concentre en la estrategia de alto nivel.

Gestión de contexto y flujos de trabajo orquestados

La ingeniería de contexto se presenta como la habilidad más importante para el futuro, superando el conocimiento de stacks como MERN o MEAN. Gestionar el contexto implica el uso de comandos reutilizables, archivos Markdown (como Claude.md), y herramientas como MCP para ampliar las capacidades del agente. Se menciona que en Microsoft, hasta el 30% del código integrado ya es generado por IA, especialmente en Python y C++. El éxito de estas implementaciones no proviene de un simple prompt, sino de patrones orquestados y ciclos de retroalimentación constantes. Estructurar las herramientas correctamente reduce la incertidumbre y maximiza el potencial de los agentes autónomos.

Estrategias avanzadas de testeo y validación

Dado que el foco se desplaza al final del ciclo, la revisión de código y el testeo se vuelven obligatorios para evitar costos elevados y errores de rendimiento. El video detalla una técnica de Desarrollo Guiado por Pruebas (TDD) donde la IA escribe las pruebas antes de generar el código. También se explican los conceptos de testeo de caja negra, usando historias de usuario, y testeo de caja blanca para analizar la arquitectura interna del código. El uso de comandos personalizados y documentos XML estructurados facilita la generación de informes finales de calidad. Finalmente, el autor concluye que dominar la planificación y la evaluación de resultados es la clave para liderar el futuro del software.

Community Posts

View all posts