Hay dos narrativas predominantes sobre la codificación por vibra. La primera es que puedes escribir una sola frase y la IA te devolverá una aplicación de un millón de dólares. La segunda es que, como la IA escribe todo el código, los humanos no tienen idea de lo que contiene. Por lo tanto, debe fallar eventualmente y causar un apocalipsis a gran escala.
Ambas narrativas son caricaturas de la realidad. En artículos anteriores, he hablado de mi trabajo en una variedad de proyectos de codificación por vibra. Hemos visto cómo son asombrosos y también mucho trabajo. En este artículo, voy a profundizar en las preguntas de mantenimiento y sostenibilidad que surgen al ceder el control de la codificación a una máquina.
Cuando era un joven gerente de producto, me enviaron a Los Ángeles para apoyar a nuestro vicepresidente de ventas. Decidió llevarme a uno de sus restaurantes favoritos. Este restaurante se especializaba en cocina de fusión, lo que significaba que el chef mezclaba muchas influencias diferentes en su comida. Tenía reputación por su especialidad del chef, que era lo que el chef decidiera crear para ti esa noche.
Recuerdo preguntarme en qué me había metido. Sabía que recibiría comida, pero no tenía idea de qué se esperaba que ingiriera. Resultó que la comida que comimos esa noche era… extraña. Era comestible. No era un lugar al que volviera voluntariamente.
La codificación agente es muy parecida a ir a ese restaurante. Sabes que la reputación de la IA de codificación que estás usando es buena, pero realmente no tienes idea de lo que te van a entregar. Tienes poca visibilidad del código real que proviene de la IA. Básicamente, vas a tener que comértelo, independientemente de lo que te hayan servido.
Cuando tienes agentes escribiendo tu código, es como tener un montón de contratistas o subordinados escribiendo tu código. Hasta que lo pruebes y evalúes, no tienes idea de lo que obtendrás.
Todo se basa en tu indicación. Basura entra, basura sale tiene un significado mucho más profundo de lo que implicaría la vieja frase manida. Si no indicas con suficiente claridad y no mantienes la conversación con suficiente claridad y supervisión, el código que obtendrás de la IA será difícil de digerir.
Los gerentes de ingeniería han enfrentado el desafío de gestionar contratistas bajo su supervisión desde los días de las pirámides. Asignar trabajo y evaluar el producto del trabajo es lo que hacen los gerentes de ingeniería. Mantener la calidad y el control en ese proceso está en el núcleo de la ingeniería de software.
Por otro lado, aunque gran parte del pesimismo sobre la codificación por vibra es hipérbole, también hay verdad allí. Sin estándares y prácticas de calidad, podrías terminar con código problemático. En este artículo, discutiremos los mitos que rodean la codificación agente y las mejores prácticas que te ayudarán a obtener de las IAs lo que pediste.
Muchos defensores de la codificación con IA recomiendan proporcionar a la IA documentos de requisitos profundos y ricos. Sin embargo, mi experiencia es que las IAs pueden malinterpretar un solo elemento de ese documento profundo y descarrilarse por completo de maneras que no puedes rastrear o encontrar.
Prefiero darle a la IA una tarea simple. Una vez que se ha completado con éxito, le doy otra. De esa manera, hay menos oportunidad de que la IA o yo perdamos el rastro del plan general.
Como desarrollador único, solía escribir código línea por línea. Sudaba cada línea. Sabía todo sobre mi código. Pero cuando era gerente de ingeniería, tenía que confiar en mis equipos y en los desarrolladores individuales de mis equipos.
Claro, teníamos codificadores (aproximadamente el equivalente de agentes). Pero aún necesitaba construir una disciplina de pruebas e integración en el sistema, para asegurarme de que lo que presentara cualquiera de nuestros codificadores o contratistas funcionara con todo lo demás.
Si vas a usar codificación agente, necesitarás hacer lo mismo. Puntos de control en cada etapa. Rastrear cuidadosamente la integración. Asume que estás recibiendo entregas de contratistas externos y, por lo tanto, necesitas verificar su trabajo antes de incorporarlo a tu proyecto principal.
Tengo un amigo a quien temo compartir mi sof