¿Es hora de dejar que la IA escriba Y lea?

MMaximilian Schwarzmüller
컴퓨터/소프트웨어경영/리더십AI/미래기술

스크립트

00:00:00¿Todavía lees el código o deberías seguir leyéndolo?
00:00:04Esa es una pregunta, una discusión que surgió en TechX durante el fin de semana,
00:00:09en mi círculo, al menos.
00:00:12Y es una pregunta interesante, obviamente también una buena pregunta para generar polémica,
00:00:15pero de eso no debería tratar este episodio.
00:00:18Y voy a responder a la pregunta.
00:00:20Para mí no es un simple sí o no.
00:00:22Y también quiero saber qué piensan ustedes.
00:00:24De verdad.
00:00:25Así que, por favor, compártanlo también.
00:00:26No es sencillo.
00:00:27Y volveré a esta pregunta aquí.
00:00:29Pero creo que otra pregunta debe venir primero.
00:00:32¿Todavía escribes el código?
00:00:35Porque obviamente, si todavía escribes todo tu código, lo leerás, ¿verdad?
00:00:40Así que sí, no necesitas leerlo porque tú lo escribiste.
00:00:43Pero para muchos desarrolladores, incluido yo mismo, probablemente no escribimos todo nuestro código.
00:00:49Y obviamente puedes estar en cualquier punto entre el 0 y el 100%
00:00:55con respecto a esa pregunta, cuánto código escribes todavía.
00:00:58Yo probablemente ya estoy bastante cerca del 100% ahora mismo.
00:01:03Y eso definitivamente cambió mucho en los últimos seis u ocho meses,
00:01:08como le pasó a muchos desarrolladores, estoy seguro, con la mejora de los modelos de IA.
00:01:14Pero lo más importante, esos modelos son mejores siguiendo instrucciones,
00:01:18están mejor ajustados para seguir instrucciones,
00:01:20y luego las herramientas que los rodean como Claude Code y demás.
00:01:22Así que eso cambió para mí.
00:01:24Y he hablado de eso en otro episodio,
00:01:26sobre cómo eso también le quita mucha alegría al oficio.
00:01:30Y estoy tratando de encontrar una nueva alegría en la construcción de cosas,
00:01:33y no en la parte de escritura de código, que me ha sido arrebatada.
00:01:37Pero ya hablé de eso en otro episodio, como mencioné.
00:01:39Así que de eso no trata este episodio.
00:01:42Pero esta es, por supuesto, la primera pregunta importante.
00:01:45¿Todavía escribes el código?
00:01:47Y ciertamente esa respuesta puede ser sí para ti.
00:01:50Puedes estar más cerca del 0% aquí o en cualquier punto de ese rango.
00:01:55Y eso está absolutamente bien.
00:01:57Creo que es demasiado pronto para saber cuál es el lugar correcto en esa escala,
00:02:02porque todavía estamos en las primeras etapas de esa evolución de la IA en lo que respecta a la programación.
00:02:07Y tendremos que ver los efectos a largo plazo de que cada vez más software sea generado totalmente por IA,
00:02:12como es definitivamente el caso, sin importar dónde estés.
00:02:16Así que esa es la primera pregunta importante.
00:02:18Y se relaciona con la otra.
00:02:19Pero, ¿qué pasa con esa otra ahora?
00:02:21¿Todavía lees el código?
00:02:22Bueno, de nuevo, esto es complejo porque podemos dividirlo.
00:02:26Tenemos la lectura del código.
00:02:29Y diría que tenemos el preocuparse por el código.
00:02:33Y para mí, eso no es lo mismo.
00:02:36Y también puedes leer pero no preocuparte, lo cual es un poco tonto.
00:02:40Y volveré a eso.
00:02:41O no leer y preocuparte, lo cual es posible, diría yo.
00:02:45Y tiene implicaciones.
00:02:47Así que como mencioné, puedes no leer y no preocuparte.
00:02:51Puedes leer y no preocuparte.
00:02:55Puedes no leer pero preocuparte.
00:02:58Y, por supuesto, puedes leer y preocuparte.
00:03:02Estas son las cuatro combinaciones si tienes esta división de leer y preocuparse.
00:03:08Ahora, si no lees y no te preocupas, esa es mi definición de “wipe coding”.
00:03:14Ahora, puede que tengas una definición diferente y eso está bien.
00:03:17Pero esta es mi definición de “wipe coding”.
00:03:20No leer, no preocuparse, eso es “wipe coding”.
00:03:22Ahora, eso no significa que no te preocupes por el producto.
00:03:25Probablemente sí lo hagas.
00:03:26Porque si no te preocupas por el producto, ¿por qué estás haciendo algo en primer lugar, verdad?
00:03:31Pero puede que solo te preocupes por el producto.
00:03:33Si funciona, eres feliz.
00:03:34Si hay un problema, simplemente le dices a la IA, oye, bla, bla, bla, no está funcionando.
00:03:38Por favor, arréglalo.
00:03:39Y no te preocupas por el código y no lees el código.
00:03:42Esa es mi definición de “wipe coding”.
00:03:44Ahora, si lees el código pero no te preocupas, eso es algo raro.
00:03:49Supongo que solo estás matando el tiempo en ese caso.
00:03:52Si lees pero no te preocupas, puede que simplemente estés en un trabajo donde te pagan por hacer algo.
00:03:57Entonces, pasas tu tiempo analizando código por el que realmente no te preocupas.
00:04:00No lo sé.
00:04:01No es realmente mi enfoque aquí.
00:04:03Pero seguro, podrías tener esa combinación.
00:04:05Ahora, aquí están las combinaciones que son más interesantes, sin embargo.
00:04:08No leer y preocuparse, y leer y preocuparse.
00:04:11Ahora, empecemos con leer y preocuparse.
00:04:13Supongo que esa es la obvia.
00:04:15Supongo que podrías llamar a esto ingeniería de software potenciada por IA o algo así.
00:04:20Porque puede que ya no escribas el código o no todo él.
00:04:24Pero te preocupas por él como ingeniero de software.
00:04:26Puede que seas responsable de él.
00:04:28Y lo lees porque como te preocupas por él, porque puede que seas responsable de él,
00:04:33tú, bueno, quieres ver qué está pasando ahí, ¿verdad?
00:04:35Tiene sentido.
00:04:36Así que, esa es una obvia.
00:04:37Y volveré a ella.
00:04:38Pero, ¿qué pasa con no leer y preocuparse?
00:04:40¿Es esto siquiera posible?
00:04:42Y diría, sí, lo es.
00:04:43Es posible, pero es difícil.
00:04:46Y podríamos argumentar si ese es el futuro, tal vez.
00:04:50Y una respuesta aburrida primero.
00:04:52No lo sé, obviamente.
00:04:53No sé si ese es el futuro.
00:04:56Al igual que hace cuatro años, no me habría imaginado que un día no estaríamos escribiendo el código
00:05:02nunca más.
00:05:03Puede que simplemente aún no me esté imaginando que un día no estaremos leyendo el código en absoluto.
00:05:09En realidad, sin embargo, probablemente terminaríamos en una escala como esta.
00:05:12Y diría que ya estamos en una escala como esta.
00:05:15Pero de nuevo, volveré a esto.
00:05:16Así que, no leer y preocuparse.
00:05:18¿Es esto siquiera posible?
00:05:20Como mencioné, diría, sí, probablemente lo es.
00:05:24Pero es una forma totalmente diferente de pensar sobre el software.
00:05:27Depende de que confíes en la IA, no solo cuando se trata de escribir el código, sino que probablemente
00:05:34también estés usando IA para revisar el código, para escanear o analizar tu base de código, para
00:05:40auditar tu base de código.
00:05:41Y puedes, por supuesto, hacer eso.
00:05:43Podrías estar usando Cloud Code con Fable 5 o lo que sea, o Codex o Pi, mi agente favorito, con tu modelo de IA favorito para trabajar en el código.
00:05:55Y luego podrías usar el mismo agente en una sesión nueva con el mismo modelo o uno diferente, o usar un agente diferente en una sesión diferente con un modelo diferente.
00:06:03Cualquier combinación de eso, podrías usarlo para revisar el código, para revisar el último cambio, para realizar auditorías frecuentes en toda la base de código.
00:06:12Podrías estar haciendo cosas así.
00:06:13Puedes y probablemente también deberías pasar mucho tiempo planificando y leyendo esos planes, leyendo esas especificaciones.
00:06:22Creo que no leer el código, si se hace bien, si ese es el futuro, no debería implicar que no lees nada.
00:06:32Absolutamente deberías dedicar más tiempo entonces a crear buenos planes junto con la IA, asegurándote de que estás trabajando en lo correcto con los detalles de implementación correctos, si quieres ponerlo así.
00:06:47Así que de la manera correcta, no solo te preocupas por el producto, te preocupas por la arquitectura, por los bloques de construcción.
00:06:54Y puedes, por supuesto, asegurar o no asegurar, sino aumentar las posibilidades de obtener buenos resultados allí si pasas más tiempo en las especificaciones, en los planes, y luego dejas que la IA lo implemente.
00:07:08Y luego tienes revisiones de código donde le das al agente de revisión también acceso a esa especificación o al plan que la IA debería implementar.
00:07:15Ahora, todavía, por supuesto, un problema que tendrás aquí, y que es por lo que no estoy en ese tren de “no leo nada”, es que no sabes con certeza qué está pasando en tu base de código.
00:07:29No puedes. Simplemente no puedes saber con certeza si no lo estás leyendo.
00:07:33Puedes, por supuesto, intentar hacer todo lo posible para que la IA genere el código que quieres que genere y usar la IA para revisar, pero no tienes 100% de certeza si no lo miras.
00:07:44Quiero decir, eso no es solo el caso para la programación, obviamente.
00:07:46Eso es cierto para cualquier cosa en la vida.
00:07:48Si tienes a una IA o a un abogado, ni siquiera tenemos que hablar de IA, redactar un contrato, y no lo lees en absoluto, y simplemente lo firmas, no tienes certeza de qué hay ahí.
00:08:00Y puede que lo estés haciendo o no.
00:08:03Yo personalmente no hago eso.
00:08:05Yo personalmente sí sigo leyendo código, pero esa es ahora la parte interesante, tal vez.
00:08:13De nuevo, en una escala, no leo el 100% del código.
00:08:19Me cuesta decirte dónde estoy exactamente en esa escala.
00:08:24Puede que esté en algún lugar en el medio, porque reviso el código, todo el código que la IA me da.
00:08:31Pero, por supuesto, eso no significa que lea cada línea necesariamente.
00:08:36Significa que salto a las partes importantes primero, las cuales puedo identificar como ingeniero de software.
00:08:42Sé qué bloques de construcción son las partes importantes o qué partes de una determinada solicitud de extracción o de una confirmación realizada son las importantes.
00:08:51Me sumerjo en esas.
00:08:53Analizo esas.
00:08:54Me sumerjo en las partes críticas.
00:08:56Luego me sumerjo en algunas partes donde sé que a la IA le gusta meter la pata.
00:08:59Y así es como reviso.
00:09:01Y puede que simplemente escanee o lea brevemente las partes menos importantes.
00:09:07Quiero decir, por ejemplo, cuando se trata de que la IA escriba algo de código para leer algunas variables de entorno y para analizarlas,
00:09:16puede que no lea cada línea ahí.
00:09:18Pero solo quiero ver el enfoque general, especialmente porque la IA, por ejemplo, es propensa a escribir código excesivamente defensivo donde tiene respaldos para respaldos para respaldos.
00:09:27Y quiero evitar eso.
00:09:28Así que todavía hago mis comprobaciones ahí, pero no me importan todos los detalles técnicos de cómo analiza un número entero o algo así, por ejemplo.
00:09:36Así que ahí es donde me pondría ahora mismo.
00:09:42Pero al igual que con la escritura de código, no sé cómo cambiará esto, cómo podría estar moviéndome más cerca de no leer el 100%.
00:09:50Ahora, no sé si alguna vez llegaré al 100%.
00:09:54No puedo ver el futuro.
00:09:55Y supongo que si llegamos al 100% tanto para escribir como para leer, realmente tenemos que ver qué significa eso para nosotros como ingenieros de software.
00:10:06Puede que siga siendo súper importante darle a la IA las tareas correctas, saber sobre los sistemas de diseño y sobre la arquitectura.
00:10:15Y esa sería mi suposición de que es hacia esta dirección hacia la que nos movemos.
00:10:18Pero obviamente, eso es difícil de decir.
00:10:21La pregunta será si en algún momento no estaremos escribiendo ningún código y no estaremos leyendo ningún código, ¿todavía necesitas saber cómo programar, verdad?
00:10:31Si vale la pena ser capaz de leer o escribir código, ¿verdad?
00:10:35Si eso sigue siendo importante.
00:10:36Y ahora mismo, definitivamente sigue siéndolo para mí.
00:10:39Definitivamente sigue siéndolo también porque la pregunta es, ¿qué te importa, verdad?
00:10:44Esa es la otra parte, preocuparse.
00:10:46Leer es una parte, pero leemos porque nos importa y puede que nos importe sin leer, como dejé claro.
00:10:53Pero, ¿qué significa siquiera preocuparse?
00:10:55Y diría que preocuparse obviamente puede significar muchas cosas.
00:11:03Puede significar algo como el estilo de código.
00:11:06Puede que te importe el estilo de código, cómo se crean las funciones, qué enfoque se utiliza ahí.
00:11:13Puede que incluso te importen decisiones más grandes, como si quieres programación orientada a objetos, programación funcional, cosas así.
00:11:21Puede que te importe la legibilidad de tu programa.
00:11:26Puede que te importe la seguridad y cosas como la fiabilidad.
00:11:33Y hay muchas otras dimensiones en las que podríamos pensar.
00:11:35Hay algunas dimensiones aquí, que diría que importan menos ahora.
00:11:39Estilo de código, legibilidad, especialmente si no lees, no son demasiado importantes.
00:11:44Solo es importante en ese caso, quiero decir, que la IA sea capaz de leer y entender el código.
00:11:50Y lo más probable es que esté bien con eso.
00:11:53Ahora, el estilo de código aún puede importar también por razones de eficiencia de tokens.
00:11:58Si tienes una base de código donde solo tienes muchas comprobaciones innecesarias, lo cual, como se mencionó, es algo que la IA ahora mismo tiende a hacer,
00:12:04o algunos modelos de IA tienden a hacer, eso también serán tokens extra para quemar cuando la IA analice ese código.
00:12:11Así que eso es todavía algo aquí, pero puede que no importe tanto como en el pasado.
00:12:18Quiero decir, todos teníamos nuestras propias preferencias con respecto al estilo de código en el pasado.
00:12:22Y para mí, eso definitivamente cambió.
00:12:24Eso definitivamente cambió.
00:12:26Ahora, obviamente, sin embargo, cosas como la seguridad, la fiabilidad, también la capacidad de prueba, eso sigue importando mucho.
00:12:34Obviamente, esa es la parte, si es que hay algo, que importa en el software.
00:12:39Quieres que haga lo que debería hacer.
00:12:41Quieres que lo haga de forma segura.
00:12:43Puede que te importe el rendimiento.
00:12:46Debería importarte el rendimiento.
00:12:47Debería ser fiable.
00:12:48No debería fallar aleatoriamente a tus usuarios.
00:12:51Y, por supuesto, estas son todas cosas que estamos viendo en el software moderno.
00:12:54El software moderno a menudo no es fiable, puede no ser seguro.
00:12:58Y la seguridad al 100%, por supuesto, no es alcanzable, especialmente con estos modelos de IA siendo bastante buenos en,
00:13:04encontrar vulnerabilidades de seguridad y nosotros no necesariamente teniendo acceso a los últimos modelos que pueden hacer eso.
00:13:10Pero esa es una discusión diferente.
00:13:11Pero aun así deberías preocuparte por ello.
00:13:13Ese es mi punto.
00:13:14Deberías intentar construir software seguro, fiable y de alto rendimiento, en mi opinión.
00:13:20Y como ingeniero de software, eso, por supuesto, también significa que puede que quieras dar tu opinión sobre qué patrones usar, qué bibliotecas usar en un proyecto.
00:13:30Así que ahí es donde nos movemos más hacia esa área de diseño de sistemas o arquitectura de software, que no es lo mismo, diseño de sistemas, arquitectura de software.
00:13:39Pero estas son las cosas que todavía importan mucho, diría yo.
00:13:44Y estas son las cosas donde tener buenas especificaciones, tener buenos planes es importante si te acercas al 100% sin leer, lo cual, de nuevo, puede no ser el caso para ti.
00:13:57Todo esto es algo donde no hay nada incorrecto o correcto, como trato de dejar claro.
00:14:02Así que estas partes sí se vuelven más importantes especificaciones, planes, porque, de nuevo, definitivamente quieres asegurar la seguridad y la fiabilidad si ya no te importa tanto el estilo de código y la legibilidad, lo cual muy bien podría ser el caso.
00:14:18Y por lo tanto, por supuesto, toda esta pregunta de si todavía lees el código es obviamente también un poco de polémica, como mencioné antes, y no tan fácil de responder.
00:14:30Y simplemente no hay nada correcto o incorrecto aquí.
00:14:34Y por cierto, esto debería ser obvio, pero también hay una gran diferencia.
00:14:37Si tienes algo, algún software ejecutándose en producción, quizás siendo usado por miles, cientos de miles o millones de personas, y también depende de en qué área estés trabajando.
00:14:49Quiero decir, si trabajas en banca, digamos, los errores en tu software pueden tener consecuencias catastróficas y no solo en banca, hay partes aún más importantes en banca, obviamente salud, defensa, tecnología, todo eso.
00:15:05Así que ese es un aspecto importante.
00:15:10Si eres un hacker independiente con cero usuarios, sí, seguro, puede que no te importe demasiado el código.
00:15:18Pero en general, creo que todavía podemos ver una tendencia o podemos ver una tendencia donde, al igual que con la escritura de código, también nos estamos moviendo más cerca del 100% por no leer el código.
00:15:32Simplemente no estoy seguro de si alguna vez llegaremos al 100% y si deberíamos llegar ahí, si es una buena idea.
00:15:38Y definitivamente no deberíamos dejar de preocuparnos.
00:15:41Y entonces la gran pregunta es, ¿podemos preocuparnos sin leer?
00:15:45¿Funcionará realmente, realmente, realmente?
00:15:48No estoy seguro.
00:15:49Para mí, no tengo esa confianza en la IA.
00:15:53Y no estoy seguro de si o cuándo eso cambiará.
00:15:56Puede que cambie.
00:15:57No lo descarto.
00:15:58Al igual que escribir código o no escribir código ha cambiado.
00:16:03Pero ahora mismo, sigo más en esa parte de leer y preocuparse o estoy en algún lugar intermedio porque, como mencioné, estoy en algún lugar en el medio de esa escala.
00:16:11Pero como también mencioné, por favor déjame saber dónde estás tú.
00:16:150% de lectura, 100% de lectura, tal vez todavía 100% de escritura.
00:16:19Ese también puede ser el camino correcto a seguir.
00:16:21Déjamelo saber.
00:16:22Y déjame saber tus pensamientos sobre este tema en general.

핵심 요약

La transición hacia la programación asistida por IA obliga a los desarrolladores a evolucionar de la escritura manual a un modelo centrado en la arquitectura, la planificación de especificaciones y la auditoría crítica, manteniendo la responsabilidad sobre la seguridad y fiabilidad del software.

하이라이트

  • Los desarrolladores han pasado de escribir código manualmente al uso extensivo de modelos de IA en los últimos 6 a 8 meses.

  • La falta de lectura y de preocupación por el código define el concepto de “wipe coding”.

  • La revisión de código asistida por IA permite centrarse en partes críticas y omitir detalles técnicos menores como la validación de variables de entorno.

  • El estilo y la legibilidad del código pierden relevancia cuando la IA realiza la mayor parte de la implementación y lectura.

  • La seguridad, la fiabilidad y el rendimiento siguen siendo dimensiones fundamentales que requieren atención humana, independientemente de la automatización.

타임라인

La evolución de la escritura de código

  • La automatización de la escritura de código mediante IA es una realidad que varía significativamente según el desarrollador.
  • El uso de herramientas de IA mejora la capacidad de seguir instrucciones complejas.

La dependencia de la IA en la escritura de código ha crecido exponencialmente en menos de un año. Esta automatización cambia la naturaleza del oficio, desplazando el enfoque de la escritura manual a la gestión de instrucciones. Se reconoce que esta evolución está en etapas tempranas y sus efectos a largo plazo en la generación de software aún están por verse.

Taxonomía de la interacción con el código

  • El “wipe coding” se define como la combinación de no leer ni preocuparse por el código resultante.
  • La ingeniería de software potenciada por IA implica una responsabilidad continua sobre el producto a pesar de no escribir el código manualmente.

El proceso de desarrollo se divide en leer y preocuparse por el código. Si no se realiza ninguna de las dos, se denomina “wipe coding”. La preocupación por el producto final suele persistir, pero la delegación del código a la IA puede eliminar la preocupación por los detalles técnicos internos, a menos que el ingeniero asuma un rol de supervisión crítica.

El futuro de la revisión y auditoría

  • Es técnicamente posible confiar en agentes de IA para la auditoría y revisión de bases de código completas.
  • La revisión manual efectiva se concentra actualmente en bloques críticos y en áreas donde la IA tiende a generar código excesivamente defensivo.

La falta de lectura directa del código requiere una confianza total en los agentes de IA para la auditoría y la planificación de especificaciones. En el modelo actual, la revisión manual sigue siendo necesaria para validar partes críticas, aunque no se realice una lectura línea a línea, con el fin de evitar redundancias innecesarias que generan consumo de tokens.

Prioridades en la era de la IA

  • La seguridad, la fiabilidad y el rendimiento son las dimensiones de software que mantienen su relevancia frente a la automatización.
  • El estilo de código y la legibilidad son menos críticos cuando la IA es el principal consumidor del código.

A medida que disminuye el interés por el estilo de escritura, aumenta la importancia de las especificaciones y planes de diseño para garantizar la calidad del producto. El impacto potencial de los errores en sectores como la banca o la salud subraya la necesidad de mantener un criterio humano, ya que la automatización total carece de la garantía de certeza requerida en sistemas críticos.

커뮤니티 글

모든 글 보기