Ask HN: ¿Te sientes cómodo admitiendo que usas IA?

Ask HN: Do you feel comfortable admitting that you use AI?

Ask HN: ¿Te sientes cómodo admitiendo que usas IA?

La IA ha tomado la industria por asalto y, naturalmente, esto genera resistencia. Veo que esta resistencia se expresa como un sentimiento de superioridad por parte de quienes se niegan a usarla, y una sensación de vergüenza al admitir que uso asistencia de IA para escribir código. Sin embargo, creo que la mayoría de los desarrolladores la usan por elección o por obligación de sus empleadores. No sé si esto es un momento tipo ASM vs. C, o si quienes ceden a la conveniencia se arrepentirán cuando sus habilidades se atrofien. Personalmente, la uso y me siento más productivo que nunca, pero no puedo evitar sentir un poco de vergüenza al admitirlo. Escuchar a tantos decir que el código generado por IA es inutilizable y que arreglarlo lleva más tiempo que escribirlo a mano me hace preguntarme si trabajan en un campo muy específico o si tengo problemas de habilidad. ¿Cuánta IA usan? ¿Se sienten cómodos admitiéndolo?

En mi trabajo, hay personas en todo el espectro de adopción de IA. Por un lado, un ingeniero senior pasó un mes haciendo que la IA le escribiera miles de líneas de código para una función. La IA escribió un millón de pruebas, herramientas para visualizar datos, todo. Pero aún no ha entregado el código al repositorio principal porque sabe que nadie revisará el lío que escribió la IA, y ni siquiera puede entenderlo para defenderlo en la revisión. Yo, por otro lado, no le pido a la IA que escriba código por mí, pero le pido que me explique conceptos, rastree errores, revise mis parches, etc. A veces me muestra formato de parche, pero prefiero que no toque mi sistema de archivos. Lo trato como a un empleado senior cuya tarea es estar ahí y ayudarme. Ha ido genial. Definitivamente soy más productivo, codifico más rápido y el futuro es sostenible para mí. Que escriba cosas por mí sería más rápido, pero quiero usar la IA como una herramienta para enseñarme qué hacer, no hacerlo por mí.
¿Por qué avergonzarse? Una pregunta más pertinente debería ser sobre el nivel de participación/experiencia del usuario de LLM en la creación/mejora del software. ¿Resolvieron todas las decisiones de diseño, enfoques, restricciones, o dejaron que el LLM se desbocara? No tengo ningún interés en TDD, codificación y otros aspectos (porque ya he hecho mucho y ya no me interesa), sin embargo, controlo cada aspecto del proceso de software, calidad, rendimiento y flujos de integración para producir software de calidad. Que alguien más lo codifique de manera mantenible no cambia la respuesta para mí.
Después de más de 2 años usando agentes LLM para escribir código por mí, tuve que recuperar mis habilidades de ingeniería. Era muy fácil crear más de 50 proyectos con una interfaz elegante, pero no podía explicar ninguno de ellos. Era más fácil empezar un proyecto desde cero que sumergirme en el código para entender qué estaba pasando. Lo peor era que cuando se acababan mis tokens, mi productividad era cero. Ya ni siquiera era ingeniero, solo un promptador glorificado. Últimamente he cambiado mi forma de trabajar, todavía lo uso pero como un autocompletado elegante, un depurador, hago que redacte borradores para mí, luego lo interrogo, hago que justifique cada línea de código que escribe, hasta que entiendo el código yo mismo y podría escribirlo si quisiera. Chicos, escúchenme, hacer una función completa de una sola vez puede parecer que tienes una productividad 10x, pero una vez que el código que genera se vuelve complejo, incluso el agente no puede lidiar con la complejidad que él mismo creó. Las grandes empresas de LLM comercializan el producto como que codificar ha terminado, solo conviértete en un promptador y paga nuestras tarifas de suscripción. Solíamos cobrar por escribir código, ahora pagamos por escribir código.
Por supuesto, simplemente asumo la responsabilidad por el resultado. Leo todo y hago cambios todo el tiempo antes de enviar, pero me ahorra mucho tiempo buscando en el código y encontrando puntos de entrada que no creo que vuelva atrás.
IMO, es como preguntar: ¿te sientes cómodo admitiendo que usaste una calculadora en lugar de hacer cálculo mental?
No, no es así en absoluto. Una calculadora usa algoritmos deterministas conocidos para calcular una respuesta. Mientras te mantengas dentro de los límites de precisión, obtendrás respuestas confiables y correctas el 100% de las veces. Una IA es el resultado de la aleatoriedad pasada por una evolución simulada, cada una es diferente. Tendemos a esperar que todas sean iguales, pero eso sería como rehacer el big-bang hasta el presente y esperar que los seres dominantes sean humanos, vivan en los mismos países, hablen los mismos idiomas y crean en las mismas normas culturales. Nadie comprende realmente cuán alienígena es la IA.