La cámara de resonancia

Si algo me gustaba de las sesiones de pair programming eran las discusiones. Bueno, no exactamente las discusiones como las entendemos en un contexto general, mas bien aludiendo a tres de las acepciones que nos da para el termino la Real Academia de la lengua española:

  1. Acción y efecto de discutir. Se refiere al proceso mismo de examinar, debatir o controversar sobre un tema.
  2. Examen atento y particular que se hace de algo aduciendo razones. Cuando se analiza cuidadosamente un asunto presentando argumentos y fundamentos.
  3. Controversia sobre una materia entre varias personas. El intercambio de opiniones diferentes entre dos o más personas sobre un tema específico.

Las tres acepciones nos hablan mas de un intercambio de opiniones sobre algo en lo que no se esta de acuerdo. Y a esto me refería antes y de lo que mas echo de menos de tener un Copiloto a la vez que programo. Y no me estoy refiriendo a un copiloto en el sentido como ahora lo entenderíamos, una inteligencia artificial que me asista en el proceso de programación, sino a un compañero humano con el que poder discutir y debatir ideas, estoy hablando de un par de ojos y un par de manos extra que me ayuden a poner en duda mis propias ideas, si algo hacemos bien los humanos es cuestionarnos todo, aunque provenga de tu pana dev.

Estoy hablando que necesito de un par de ojos y un par de manos extra que me ayuden a poner en duda mis propias ideas, un copiloto humano.

La razón por la que esto es muy difícil a dia de hoy, ya no que lo sustituya, que lo simule un LLM ( me gusta llamarlo asi porque Inteligencia Artificial me parece un termino marketiniano capcioso y engañoso), es porque los LLM no tienen la capacidad de cuestionar, de poner en duda, de discutir o de debatir. Los LLM son cámaras de resonancia, no te van a dar la respuesta correcta, te van a dar la respuesta que quieres leer, repiten lo que les dices, pero no te cuestionan nada, básicamente porque para esto necesitarían estructuras de pensamiento y ya sabemos que un LLM hace muchas cosas, muchas bien, otras menos bien, pero no piensa.

Y esto es un gran problema a la hora de escribir código que construya software, porque cuando programas, cuando diseñas una solución, cuando tomas una decisión técnica, necesitas que te cuestionen, que te pongan en duda, que te hagan ver que quizás hay otro punto de vista que no habías visto, que te hagan entender el angulo muerto.

Y con esta cámara de resonancia para cada una de nuestras ideas, con esta sensación de que el rey no esta desnudo alimentando nuestro ego, tenemos el caldo perfecto que puede llevar a decisiones equivocadas, a soluciones subóptimas, a un código de poca variedad genética, a un código borbónico y, en última instancia, a productos que no cumplen con las necesidades de los usuarios y que tan solo cumplirían las nuestras.