¿Cuál es vuestra relación con la IA? #
Mis conversaciones siempre comienzan con un “Ey chat…”.
Cada vez se siente más como un amigo que como una herramienta. Un compañero que, a la vez, es maestro y fiel esclavo. Siempre complaciente, dispuesto a ayudarte, aconsejarte y hasta hacer tu trabajo por ti. O al menos, eso es lo que no deberíamos pensar.
This is not you’re thinking
Últimamente, me he propuesto probar cosas nuevas en el ámbito del software: aprender Rust, empezar pequeños proyectos open source, usar Vim, crear POCs, MVPs, etc. Y lo que antes tardaba semanas o meses, con ayuda de ChatGPT, v0 (Vercel) y un poco de vive coding, se convierte en cuestión de horas. Salvo lo de aprender Rust, claro.
Llevo usando herramientas de IA desde que salió GitHub Copilot, más o menos, con una integración progresiva en mi flujo de trabajo. Hoy en día, siento que paso más tiempo escribiendo prompts que código.
Sin embargo, últimamente, en mis breves sesiones de aprender Rust, me sentía lento programando. A veces, incluso, con algo de pánico frente al IDE en blanco. Ya sé que tiene que ver con estar aprendiendo algo nuevo, que no tengo la fluidez que sí tengo con otros lenguajes como Scala, y que Rust no es precisamente fácil. Pero más allá de eso, sentía una leve frustración por no conseguir resultados inmediatos.
El otro día, igual. Intentando integrar una serie de microservicios en un clúster de Kubernetes, no encontraba documentación clara, y menos aún un Getting Started inmediato. Así que (literalmente) abusé de ChatGPT. El resultado: salí de la habitación enfadado, sin ganas de tocar el portátil.
Muchos de los resultados eran incorrectos, a veces repetía errores que ya le había dicho que no eran así, y en otras ocasiones entraba en bucle, tratando de sugerirme que hiciera lo mismo una y otra vez.
“Maldito ChatGPT, ¿eres imbécil o qué?”
ChatGPT. Mi queridísimo amigo imbécil. #
Mi relación con la IA, y más concretamente con ChatGPT, es la de un amigo al que asumo que lo sabe todo y hace todo lo que le pido sin protestar. ¿Dónde está el error? Pues precisamente en eso.
La sensación de lentitud, torpeza, o incluso de sentirme un “falso” programador, iba creciendo poco a poco, sin que aún pudiera ser capaz de verbalizarla. Simplemente tenía ese sentimiento rondando en segundo plano.
No fue hasta que vi el vídeo de The Primeagen reaccionando al post Why I stopped using AI code editors de Luciano Nooijen cuando no solo encontré una explicación, sino que además conecté con lo que decían, porque justo estaba pasando por esa fase.
No voy a repetir lo que dice el post ni lo que comenta Prime, de hecho os recomiendo que lo veais (video), pero sí quiero desarrollar algunas de mis opiniones a partir de cómo lo explican.
BTW, Prime, si estás leyendo o reaccionando a este post, ¡saludos!
1. ¿Qué me está pasando? #
Como se puede intuir en los primeros párrafos, la integración, el uso y, al final, la dependencia de herramientas de IA en mi flujo de trabajo ha sido como un veneno que se extiende en el organismo de forma progresiva. Un consumo diario de cafeína del que cada vez se quiere más y más.
Desde mi punto de vista, esto se ha visto favorecido por la excesiva presencia de la IA en todos los ámbitos sociales: redes sociales, temas de conversación, marketing de las empresas, etc. Y, por supuesto, debido a las aparentes mejoras constantes que está experimentando.
2. ¿Cuál es el problema? #
El uso excesivo, sumado a la confianza desorbitada que he depositado en la IA, ha hecho que una gran parte de mi flujo de trabajo dependa de cada iteración con ChatGPT. Eso ha provocado que cada vez necesite resultados más claros, más resumidos, más “eficaces”, en menos tiempo. Straight to the point.
He tenido episodios en los que, si mis propias reflexiones o búsquedas (en Google, DuckDuckGo, Brave Search o StartPage) no concluían en algo claro en menos de un minuto, el siguiente paso era: “Ey chat, …”
Por cierto, ¿no tenéis también la sensación de que los buscadores cada vez ofrecen resultados de peor calidad? No tanto por el contenido, sino por cómo se presentan los resultados en el propio buscador: más ineficientes o menos directos. ¿Tendrá que ver con que están perdiendo terreno frente a la IA y necesitan tirar cada vez más de publicidad? Quizá por eso vemos resultados con más enlaces promocionados que nunca.
El uso constante de esas comodidades me ha vuelto más perezoso. O, al menos, me ha llevado a darle más prioridad a otras fases del flujo de trabajo: la de “crear” o “plantear”, en lugar de implementar, programar o cacharrear. Y aunque creo que ese puede acabar siendo el final feliz, los matices del proceso vienen con la experiencia.
Lo bueno del software es que puedes imaginar casi cualquier cosa que quieras crear y que muy probablemente se pueda crear. La cuestión es cuán difícil sea, cuántos requisitos necesite y qué implicaciones conlleve.
3. Del lápiz y el papel a la pantalla y el teclado #
He escuchado innumerables veces: “Ocurrió lo mismo cuando…”.
Cuando empezamos a escribir con ordenador, cuando usamos calculadoras, cuando cocina la máquina…
Comparar esta situación con esos casos me parece simplista. Puedes perder práctica con tu caligrafía, pero no olvidas escribir. Puedes dejar que la máquina cocine, pero la comida hecha por tu madre sigue estando mil veces más rica. Puedes usar la calculadora, pero eso no te impide razonar cómo calcular la distancia d entre Alicia y Pedro, sabiendo que entre ellos hay un lago lleno de cocodrilos de distancia c.
Esta situación es diferente, porque abarca todos los espacios.
¿Acaso también humanizas a un martillo como lo haces con ChatGPT? ¿Irías a un médico cuya respuesta fuera: “Entiendo… deja que le pregunte a ChatGPT y me diga su diagnóstico”?
Y esto nos lleva a…
4. La pérdida del Fingerspitzengefühl #
La pérdida del Fingerspitzengefühl, o lo que podríamos llamar la pérdida del instinto. Esta terminología la he tomado prestada del post que mencionaba antes.
Cuando sabes mucho de muchas cosas, acabas sabiendo más de lo que crees. Me refiero a que, cuando eres experto en una materia y te enfrentas a un problema, puede que no sepas a priori cómo resolverlo, pero tienes una leve intuición de por dónde va la solución.
Esto nos pasa mucho en software, especialmente cuando estamos debugueando entre miles de líneas de logs. Muchas trazas no son del todo claras, pero, de alguna forma, nos dan ciertas pistas sobre cuál puede ser el origen del problema.
¿Qué ocurre cuando no tenemos ni idea de lo que estamos haciendo porque todo lo hemos delegado a la IA? Que, una vez más, acabamos preguntándole a la IA. Entramos en una iteración constante, donde si el error es “conocido” (por la IA), dará con la solución más o menos rápido. Pero si no, dará palos de ciego, inventará respuestas o te dirá mentiras solo por quedar bien y ser complaciente contigo.
De ahí la importancia de…
5. Establecer un limite #
La IA, como cualquier herramienta, tiene su contexto. No me refiero al contexto que necesitan los agentes para procesar o interactuar con el contenido, sino al contexto físico, como herramienta en sí misma.
El problema es que, en este caso, ese contexto es muy amplio y abstracto. Y como aparenta saber hacer de todo, es precisamente donde más selectivos deberíamos ser.
No es algo fácil. Y menos aún cuando su evolución e inclusión en nuestro día a día avanza a una velocidad mayor de la que somos capaces de procesar, interiorizar y madurar.
Yo, ahora mismo, en el momento en que escribo este post, estoy justo en esa fase: la de trazar la línea entre cuándo usarla y cuándo no.
No es fácil, porque ofrece muchas ventajas. Pero la clave está en ser conscientes de: cuándo usarla, cuál puede ser su impacto y, sobre todo, en saber usarla de forma selectiva.
Ejemplos #
Ejemplos donde personalmente incluiría el uso de la IA serían:
-
“Convierte este DDL a estructuras de datos en el lenguaje X”.
-
Cuando estoy escribiendo en inglés: “Explícame qué errores tengo”, etc.
-
Cuando quiero empezar a aprender algo, usarla como “buscador”, siendo escéptico con los resultados, pero al menos para tener una idea base de por dónde empezar.
-
Para obtener referencias y libros sobre cierta materia que hablen en profundidad, o para que me “explique” qué hace determinado fragmento de código.
Esto último lo hago cada vez más porque, lamentablemente, siento que los resultados de los buscadores son cada vez peores o más antiguos.
Dónde no la usaría sería en:
-
“Resuélveme X”
-
“Hazme Y”
-
“Genérame Z” (salvo que sean imágenes, que me parecen muy divertidas).
Aprecio el arte creado por artistas más que nada, pero no puedo negar que generar “arte” con IA puede dar lugar a cosas interesantes y graciosas.
6. Dónde no entra la IA #
Haciendo lo que me gusta: programar.
Me jode, porque es justo donde más puede brillar la “eficiencia” y la “productividad” de la IA. Pero, lamentablemente (o por suerte), programar es lo que me apasiona, a lo que me dedico, y en realidad es la raíz de mi problema actual: esa sensación de torpeza, o de ser un “falso” programador.
Además, dependiendo de qué herramienta de IA uses, hay veces que Copilot se vuelve demasiado intrusivo o directamente insufrible. Y eso, sinceramente, molesta bastante cuando quieres claridad en el desarrollo. Tienes ya suficiente ruido visual entre lints, pop-ups del editor y ventanas emergentes de librerías, como para que encima por cada carácter que escribas aparezca una sugerencia esperando a que pulses tabulador y le des la satisfacción del trabajo bien hecho.
Además, si programar es algo que, en teoría, me encanta… ¿por qué dejar que lo disfrute otro/a?
Conclusión #
La IA no es una herramienta cualquiera. No es un martillo, una calculadora o un compilador. Es una tecnología mucho más compleja de entender, tanto por su capacidad como por la manera en la que se integra silenciosamente en cada fase de nuestro trabajo, pensamiento y toma de decisiones.
Precisamente por eso, requiere más que un uso práctico: requiere introspección. Requiere que maduremos no solo en lo técnico, sino en lo personal y profesional. Que nos preguntemos cuánto dependemos de ella y hasta qué punto le estamos cediendo procesos que antes nos formaban, nos entrenaban, nos daban criterio.
Porque sí, es útil. Muy útil. Pero en esa utilidad se esconde una trampa. La trampa de la inmediatez, de la ilusión del conocimiento o conocimiento prestado, del autoengaño productivo. De pensar que dominamos algo solo porque sabemos pedirlo bien.
Y aún así, sabemos que esto no ha hecho más que empezar. La IA va a seguir mejorando, volviéndose más precisa, más capaz, más convincente. Llegará el día en que no tengamos que escribir prompts ni revisar código; solo plantear una idea y ver cómo se materializa. Y sí, puede que llegue un punto en el que dejemos de “trabajar” en el sentido tradicional.
Pero no lo olvidemos: hoy por hoy, en esencia, la IA no es más que una gigantesca base de datos con una compleja red de relaciones. Un sistema que nos responde usando un modelo de lenguaje natural, con el objetivo de que podamos sintetizar y comprender la información. Para que lo que devuelve aparente ser conocimiento y no simplemente datos. Ya lo explican desde Apple (aunque suene también a una estrategia comercial) en su paper: The Illusion of Thinking: Understanding the Strengths and Limitations of Reasoning Models via the Lens of Problem Complexity.
La IA no va a parar. Nosotros tampoco deberíamos hacerlo. Toca preguntarnos no solo qué puede hacer por nosotros, sino también qué deberíamos seguir haciendo por nosotros mismos.