Adiós, ChatGPT: Reflexiones de un Desarrollador

El auge de la Inteligencia Artificial (IA) ha transformado indudablemente nuestro mundo, convirtiéndose en una herramienta indispensable en varios campos, incluido el desarrollo de software. Si bien la IA ofrece numerosos beneficios y se ha convertido en una parte integral de las prácticas de desarrollo modernas, es crucial considerar las posibles ramificaciones de su uso excesivo, particularmente para los desarrolladores.

Esta pieza profundiza en mis reflexiones filosóficas sobre el desarrollo y la IA, explorando el profundo impacto que la creciente presencia de la IA podría tener en el panorama del desarrollador.

La Atracción de la IA

¿Deberíamos ver la IA como una fuerza malévola que amenaza nuestros medios de vida? Creo que no.

Desde la aparición de ChatGPT 3.0, he estado siguiendo de cerca los artículos relacionados con la IA durante más de tres años. Este interés sostenido proviene de la rápida evolución del campo, con nuevos desarrollos y noticias que surgen diariamente.

Es concebible que la IA domine los Premios Nobel en el futuro, y el mundo ya está cautivado por las capacidades de ChatGPT.

La IA está progresando exponencialmente, aparentemente a punto de lograr la Inteligencia Artificial General (IAG). Si bien los Modelos de Lenguaje Grandes (LLM) están actualmente encabezando los avances de la IA, el auge de la IA generativa sigue un patrón observado en avances anteriores en el aprendizaje automático (ML) y el aprendizaje profundo (DL), que demostraron un inmenso potencial en el procesamiento de imágenes y videos.

Antes de esto, la adopción generalizada de Internet marcó el comienzo de la Era de la Información.

Antes de eso, la proliferación de maquinaria desató la Revolución Industrial.

Y mucho antes de eso, la introducción de herramientas condujo a la Revolución Agrícola.

Es esencial examinar críticamente si estas transiciones fueron fluidas y universalmente beneficiosas.

(Nota: Las referencias posteriores a la IA se referirán específicamente a la IA generativa impulsada por LLM).

Ecos de la Revolución Industrial

¿Qué legado nos dejó la Revolución Industrial?

Producción acelerada de bienes manufacturados innovadores, mejores condiciones de trabajo e inmensa riqueza.

Estos son algunos de los muchos beneficios que disfrutamos hoy gracias a la Revolución Industrial. Pero, ¿compartieron estos beneficios las personas que vivieron en esa época?

El Lado Oscuro del Progreso

¿Mejoraron las condiciones de trabajo inmediatamente con la introducción de las máquinas?

En muchos casos, las tareas que antes requerían una fuerza física significativa se simplificaron en operaciones básicas de máquinas, lo que llevó al reemplazo de trabajadores adultos por niños. Las fábricas comenzaron a operar las 24 horas del día para maximizar la eficiencia, y la riqueza resultante se concentró desproporcionadamente en manos de los dueños de las fábricas (la burguesía). ¿Aceptaron pasivamenteesta situación los trabajadores? No. Esto dio origen al movimiento ludita.

A pesar de estos desafíos, ¿creemos que la introducción de máquinas ha transformado fundamentalmente la vida de las personas para mejor?

Yo diría que la respuesta es ‘sí’. Los cambios han sido abrumadoramente positivos.

Espera, has pintado una imagen negativa de la Revolución Industrial, entonces, ¿por qué de repente dices que fue positiva?

Si bien nuestras vidas han mejorado innegablemente, muchos de los problemas asociados con la Revolución Industrial surgieron de la falta de anticipación y mitigación de las perturbaciones sociales causadas por la rápida introducción de máquinas. Si hubiera existido una red de seguridad social, menos personas habrían sufrido y las consecuencias negativas se habrían minimizado.

Está bien, pero ¿qué tiene que ver todo esto con la IA?

IA: La Segunda Revolución Industrial

El ex presidente de los Estados Unidos, Donald Trump, anunció planes para invertir 700 billones de wones en empresas de IA como SoftBank y OpenAI.

Los LLM requieren cantidades sustanciales de energía. Las empresas que generan esta energía están creciendo constantemente, y Nvidia, que desarrolla chips de IA para la computación, ha logrado la mayor capitalización de mercado del mundo.

¿Dónde invertirán estas empresas? Naturalmente, invertirán donde puedan ganar dinero.

¿Y dónde está invirtiendo actualmente el mundo? En IA.

La Rentabilidad de la IA

Pero, ¿de dónde vendrá la rentabilidad de la IA?

La IA no produce productos. La IA no dirige fábricas.

Sin embargo, la IA puede reducir potencialmente los costos laborales para las empresas automatizando las tareas que actualmente realizan los humanos.

Desde una perspectiva económica, ¿cuál es el costo de un solo empleado? Asumiendo una vida laboral promedio de 30 años (de 30 a 60 años) y un salario anual promedio de 45 millones de wones, una empresa pagará a un solo empleado 1.35 mil millones de wones durante su carrera.

En otras palabras, una empresa está ‘comprando’ a un solo empleado por 1.35 mil millones de wones. Una empresa con más de 300 empleados gastaría 400 mil millones de wones en mano de obra durante 30 años.

¿Todavía crees que la IA no es rentable? ¿Todavía no puedes ver por qué el mundo está invirtiendo en IA?

Las reducciones de la fuerza laboral impulsadas por la IA generarán ganancias significativas para las empresas. Este es el alfa y la omega de la inversión en IA.

Las Limitaciones de la IA

La IA no garantiza el 100% de éxito o el 100% de fracaso.

Una vez demostré un modelo de aprendizaje profundo para detectar la conducción somnolienta. Si bien el modelo finalmente clasificó ciertas situaciones como ‘conducción somnolienta’, nosotros, como desarrolladores, lo definimos como ‘una alta probabilidad de conducción somnolienta’.

Permítanme reiterar: La IA no ofrece garantías de éxito o fracaso absolutos.

Las alucinaciones son un concepto similar. Debido a que los modelos hacen inferencias, pueden generar respuestas incorrectas. Esta es una vía potencial para el desarrollo de la IA y un inconveniente.

Si el modelo me identifica incorrectamente como somnoliento mientras no lo estoy, ¿quién es el responsable?

La responsabilidad recae en nosotros, el equipo que definió los criterios del modelo.

La IA no asume la responsabilidad. Nosotros somos quienes tomamos decisiones basadas en las respuestas proporcionadas por la IA.

¿Y qué? ¿Qué se supone que debemos hacer ahora? ¿Significa esto que la IA nos va a quitar nuestros trabajos?

Acercarse a la IA

Sí, así es. La IA va a quitar nuestros trabajos.

El mundo está compitiendo ferozmente para usar la IA para quitarnos nuestros trabajos.

Creo que esto es inevitable y que una ‘Segunda Revolución Industrial’ está en el horizonte.

¿Qué debemos hacer para garantizar una transición fluida?

Necesitamos estar interesados en la IA, usarla y mantener una perspectiva tanto positiva como crítica.

Muchas personas pueden desilusionarse con la vida después de considerar seriamente esta información. Sé que lo hice.

¿Por qué debería molestarme en desarrollarme y estudiar desarrollo si la IA me va a reemplazar?

La IA puede desarrollar código para mí, entonces, ¿por qué debería hacerlo yo?

En este punto, necesitamos considerar el humanismo.

Trascendiendo el Humanismo

Para pasar de una sociedad teocrática donde la religión gobernaba la nación a una era donde los ‘reyes’ podían explotar la religión, algo tenía que trascender a ‘dios’. Los reyes usaban la religión, pero la burguesía, que poseía los medios de producción, carecía de una herramienta comparable. Comenzaron a promover la idea de que la humanidad misma era importante, y esto dio origen al ‘humanismo’. El humanismo, a su vez, condujo al surgimiento del capitalismo, el comunismo, el fascismo y otras ideologías.

En otras palabras, el humanismo es un esfuerzo por liberarse del dios de una sociedad teocrática.

Algunos que intentaron escapar de esta sociedad religiosa fueron catalogados como herejes y brujas, y fueron considerados terribles criminales. ¿Cómo los vemos desde nuestra perspectiva actual? ¿No vemos que tenían razón?

La idea de que ‘la IA es mejor que los humanos, (o, más estrechamente,) mejor que yo’ es un acto de trascender el humanismo.

Quizás esta es una forma natural de pensar. Creo que actualmente estamos en un período de transición donde el desarrollo de la IA está haciendo que nos liberemos gradualmente del humanismo. Esto es natural, pero espero que podamos minimizar el pánico resultante.

¿Qué Debemos Hacer?

Como se mencionó anteriormente, simplemente debemos usar la IA de forma natural, disfrutarla, mantener una perspectiva crítica y, sobre todo, hacer lo que queremos hacer.

Puede haber aspectos negativos en este proceso. Las siguientes secciones explicarán finalmente ‘por qué quiero dejar de usar la IA en el desarrollo’.

IA en el Desarrollo

La IA, innegablemente, aumenta la productividad.

Los lenguajes que usamos son lenguajes de programación. Así como usamos el coreano para escribir este blog, usamos lenguajes de programación para desarrollar programas.

La IA generativa basada en LLM está especializada en la escritura. Por lo tanto, naturalmente será eficaz en la escritura de lenguajes de programación. Entonces, ¿deberíamos usar la IA en la programación? ¡Absolutamente!

Sin embargo, si eres un desarrollador que está ‘estudiando’, debes considerar cómo usarla.

Por las siguientes razones, he decidido no usar la IA, al menos durante el proceso de aprendizaje.

La IA Roba Mis Notas de Error

¿Cuándo usamos normalmente la IA? Yo la usaba a menudo al depurar.

¿Por qué esto no funciona? → Código de error, copiar el código → Pegar en ChatGPT

¿Cuál es el problema? ¿Los desarrolladores que están cansados de los errores y la depuración siempre examinarán, entenderán y usarán cuidadosamente el código proporcionado por ChatGPT? En muchos casos, simplemente copiarán y pegarán el código sin pensar, y si no funciona, volverán a usar la IA.

Prompt del usuario: Esto no funciona, estoy recibiendo este error.

ChatGPT: Ups, error mío, déjame revisar el código.

¿Nunca volveré a cometer este error? Es muy probable que vuelva a cometer el mismo error y busque ayuda de la IA de nuevo. La posibilidad de internalizar el conocimiento y aprender del error se reduce enormemente.

Si conozco el 99% del proceso de cálculo pero no puedo alcanzar el 1% final, ¿he codificado bien? Simplemente estoy delegando mi cerebro a la IA porque estoy cansado. Estoy confiando a la IA la parte más crítica, la parte que no sé y no puedo hacer.

Robando el Entorno Inconsciente Amigable con el Código

Hay muchos desarrolladores en el mundo. Es muy probable que un desarrollador al otro lado del mundo haya experimentado el mismo error que yo. Pero, ¿ese desarrollador experimentó el error en la misma situación exacta? ¿El código que escribió es el mismo que el código que yo escribí? Será diferente. El mismo error puede ocurrir en situaciones completamente diferentes.

La IA bloquea el acceso a la información sobre el contexto circundante. Solo depura el código que envío y proporciona información sobre ese código, pero no muestra el proceso necesario para escribir el código.

‘Por supuesto, puedes usar la ingeniería de prompts para pedir una explicación detallada, ¿verdad?’

Pon tu mano en tu corazón y piensa en cuántas veces has estado demasiado cansado y simplemente has copiado y pegado el código.

Para buscar e investigar un error, necesitas conocimientos previos. ¿Sé claramente todo acerca de estos conocimientos previos? Este blog explica diferentes situaciones, y ese blog explica diferentes situaciones. ¿Entiendo todas estas situaciones? Al buscar en Google, tienes que ser capaz de leer y entender ‘Ah~ es diferente de mi situación’ para encontrar otra información.

Incluso este simple acto de búsqueda puede hacer que los desarrolladores sean más amigables con el código.

¿No es ChatGPT lo mismo? Si sigues usándolo mientras codificas, ¿no es lo mismo?

La Importancia del Entorno Inconsciente

El mejor ejemplo de un entorno inconsciente es el entorno del hogar.

Aquí hay dos niños. Están creciendo en diferentes familias. El niño ve un pájaro volando y pregunta a sus padres:

‘Mamá (Papá), ¿qué es ese pájaro?’

Las respuestas de los padres difieren:

  1. Una urraca.
  2. Tenía curiosidad por saber qué tipo de pájaro era, así que lo busqué. Podría ser una urraca o un cuervo, pero parece una urraca.

La primera familia proporciona una respuesta directa y presenta una solución práctica.

La segunda familia proporciona una respuesta indirecta y sugiere un enfoque creativo para explorar la respuesta.

¿Cómo crecerán estos niños si son criados en estos diferentes entornos?

El niño de la primera familia será eficiente para encontrar la respuesta correcta, pero puede que no sea eficiente para lidiar con problemas donde la respuesta no está disponible fácilmente. → ChatGPT

El niño de la segunda familia puede tardar más en encontrar una respuesta simple, pero se sentirá más cómodo pensando en problemas donde la respuesta no está disponible fácilmente. → Búsqueda y Aprendizaje (Googling)

El entorno inconsciente se forma de esta manera y se utiliza en todos los aspectos de la vida diaria.

¿Qué crees que es el desarrollo? Creo que es lo último, pero dejaré la elección a cada individuo.

Lo anterior es una imagen del modelo de iceberg de Freud. Estamos inconscientemente influenciados por las personas que nos rodean y todo con lo que entramos en contacto. Incluso si no prestamos atención a alguien que pasa diciendo: ‘Una comida es deliciosa estos días’, planta una conciencia superficial de que ‘Una comida es deliciosa’. Cuando vemos Una comida más tarde, podemos comerla más deliciosamente de lo que realmente es, o podemos estar más decepcionados si no cumple con nuestras expectativas. Esto crea una diferencia significativa en comparación con no escuchar las palabras del transeúnte.

Incluso la pequeña información que encontré mientras buscaba diligentemente información sobre el desarrollo - información que no vi conscientemente - eventualmente se convertirá en un activo. El inconsciente tiene un impacto mucho mayor de lo que pensamos.

En Conclusión: Mi Filosofía de Desarrollo

Mi conclusión es que ‘los LLM deben evitarse tanto como sea posible al estudiar, pero pueden usarse para actividades productivas’.

Debemos adaptarnos a la era post-IA, aprender a usar la IA, experimentar su impacto de primera mano y mantener una perspectiva positiva pero crítica sobre la IA. Debemos reconocer que la IA eventualmente tomará nuestros trabajos y siempre considerar qué otros impactos puede tener además de tomar nuestros trabajos. Reflexionemos sobre si la forma en que usamos la IA es útil para nuestras vidas y nuestro pensamiento, y evitemos delegar nuestros cerebros a la IA.

Después de mucha confusión, finalmente he establecido mi filosofía de desarrollo:

Infunde cada línea de código con mis pensamientos. No creemos solo letras o frases simples, sino que las imbuyamos de mi filosofía y pensamiento.

Esa es la diferencia entre la IA y yo.

¡Buena suerte a todos!

Extra: Tratando la Débil Fuerza de Voluntad, Bloqueando Sitios LLM

La débil fuerza de voluntad es una enfermedad. Es ilógico usar la fuerza de voluntad para curar la débil fuerza de voluntad, que es causada por una falta de fuerza de voluntad. Es correcto introducir otras acciones para dejar de fumar, beber u otros hábitos similares.

De manera similar, pensé que sería bueno para mi salud mental bloquear los sitios LLM. El siguiente es mi método para bloquear en Mac:

  1. Ingresa el siguiente código en la terminal:

  2. Presiona i para cambiar al modo de inserción. Agrega lo siguiente al host 127.0.0.1, tal como en la imagen a continuación. Tab después de ingresar la dirección.

  3. Presiona ESC para salir del modo de inserción e ingresa :wq para guardar. Esto usa DNS (Sistema de Nombres de Dominio), y ‘127.0.0.1 chatGPT.com’ significa que ingresar chatGPT.com en la barra de direcciones accederá a 127.0.0.1 (el host del servidor de mi computadora).

¡Curemos nuestra débil fuerza de voluntad juntos!