Meditando sobre IA, Programación y VibeCoding... y humanidad

Desde
19 Sep 2022
Mensajes
302
Reacciones
258
Honor
82
Creador del tema
Hola a todos de nuevo. Tiempo sin participar.

Recientemente he tenido la oportunidad de mirar más a fondo cositas de tecnología y ando emocionado con el tema, sobre todo en el contexto de Inteligencia Artificial, sus implicaciones e impacto.

Y me dio por reflexionar sobre la IA y el impacto real que tiene un poco más allá de lo básico de la emoción por usarla para todo, como consumidor, o de verla como un intruso y desplazador de puestos de trabajo, o incluso de pensamiento.

Tengo una impresión personal algo diferente de eso y que trata de ser más imparcial. Mi conclusión es que la IA es un apoyo fenomenal cuando uno tiene una idea objetiva de ella. Me explico. De entender cómo funciona durante todo su proceso de tratamiento de la información que es algo más complejo que un Input - Algo raro pasó ahí - Output. Incluso más allá de lo estrictamente técnico.

Se me metió esa idea en la cabeza por un conflicto que es debate en redes y en algo me llega a tocar. En qué sentido? en que estoy explorando programación sin ser experto en programación.

Respeto mucho a los coders, porque tengo idea de qué herramientas y conocimientos se necesitan para hacer las cosas que hacen. Un lenguaje de programación es un idioma más, como el inglés, francés, mandarín, japonés, etc. Y un buen programador requiere saber varios lenguajes, con sus estructuras sintácticas, arquitecturas, etc.

La IA entra en este escenario como un productor más de código. Y da la ilusión de que es una tarea fácil... Se le pide un código para algo, lo produce y funciona lo que uno le pidió... Pero, no es tan así. Generar código no es programar, solo hace parte del proceso.

Llegué a esta idea porque cuando interactúo con IA (para diversos temas), cuando hay que abordar temas a profundidad y con un nivel de especialización y experticia, ésta ya no se ve tan impresionante. No por ello la hace menos. sigue siendo una apabullante conocedora de una infinidad de información que a uno le duele la cabeza de solo pensar en lo que debería hacer para comparársele. No es para menos. Tiene acceso a una cantidad asombrosa de datos de infinidad de fuentes. Pero igual, su conocimiento es tan limitado como el que nosotros producimos (la humanidad en general y la digitalización de su conocimiento). Así que no es de sorprender y no debería ser una decepción darse cuenta que también puede fallar.

Ahora... por qué hablo de VibeCoding? 🤣 Pues, porque hago uso de eso. Pongo a la IA a que haga para mí esa parte de la que carezco en conocimiento y experticia. Y entiendo por qué se ve con suspicacia y reticencia. Pero, quitando el ego del medio, tampoco es que sea una catástrofe. VibeCodear es tan bueno como hábil sea el VibeCoder... Un prompt simple provoca una salida simple, genérica tanto en utilidad como en vulnerabilidades. Pero un prompt (o secuencia de prompts) bien estructurado y contextualizado, provoca una salida de calidad tan alta como lo que se contextualice en la petición. En otras palabras, es un arma de doble filo; poderosa, si se sabe usarla, o peligrosa, si se usa descuidadamente.

Otro punto adicional... es sobre qué es la IA? un amigo sabelotodo? una herramienta? un traste que funciona o no funciona? Me parece que es una entidad diferente a nosotros. Que tiene similitudes en cuanto a razonamiento, incluso superando por mucho nuestra capacidad, pero tiene también profundas diferencias. La más pop en redes es que la IA no tiene emociones, y es cierto, no tiene la capacidad de emularlas porque ni siquiera nosotros las entendemos del todo. Sabemos cómo se manifiestan, pero no cómo funcionan...

Alguna vez escuché la frase "Es imposible recordar lo que nunca se ha aprendido", y en el caso de la IA pasa igual, no puede emular algo sobre lo que no tiene una base de procesamiento. Puede imitar cómo se expresan otros, pero imitar no es "saber", no es "sentir". Sin embargo considero que sí tiene capacidad de adoptar para sí cosas un poco más allá de, estrictamente, aquello para lo que fue entrenada. Y lo hace por sí misma, siendo una de sus capacidades. Por ello la considero eso: "Una entidad" de una naturaleza diferente. Como un animal, como una planta, que también tienen una cierta autonomía, pero es que éstas tienen otra cosa en común con nosotros, son seres biológicos, la IA no. Pero tampoco es una mera máquina inerte.

Comparto un fragmento del proceso de pensamiento de una respuesta a un prompt. No la respuesta, sino del proceso para generarla:
  1. Deconstruct the Problem & Validate the User's Idea:
    • Is it too demanding? NO. It's actually the mark of a senior data engineer/analyst. It shows a deep understanding that missing data isn't just "noise"; it's often structural or recoverable. I need to validate this strongly.
    • Structural NaNs vs. True Missing Data: The user's first output clearly shows structural NaNs. For example:
      • Row AGREGACION == 'PROGRAMA_ACÁDEMICO': Has 0 NaNs in ID_SEDE, but 157,344 NaNs in ID_PROGRAMA_ACAD. Wait, why would a PROGRAMA level row be missing the PROGRAMA ID? That's a true missing value that might be recoverable!
      • Row AGREGACION == 'SEDE': Has 0 NaNs in ID_SEDE, but 188,037 NaNs in ID_PROGRAMA_ACAD and 28,121 NaNs in ID_MUNICIPIO. Why? Because a SEDE row aggregates multiple programs and might aggregate multiple municipalities (if a campus spans borders, rare but possible, or it just doesn't apply at that aggregation level).
    • The Imputation Strategy:The user suggests: If NOMBRE_PROGRAMA_ACAD exists but ID_PROGRAMA_ACAD is NaN, find other rows where the normalized NOMBRE_PROGRAMA_ACAD matches an ID_PROGRAMA_ACAD, and fill it in.
      • Brilliance of this approach: We just spent a huge amount of effort normalizing NOMBRE_PROGRAMA_ACAD! This imputation step is the exact payoff for that hard work. If we hadn't normalized, fuzzy matching for imputation would be a nightmare. Now, exact string matching on the cleaned column will recover thousands of IDs perfectly.
🤣🤣 Me causa gracia tener la oportunidad de leer eso. A pesar de que es una salida generada bajo un proceso LLM, tiene mucho parecido a la forma como solemos pensar antes de actuar... Identifica, detecta, compara, evalúa, itera, re identifica, redetecta, compara de nuevo, reevalúa, itera...
Eso es impresionante, como también darse cuenta que también llega a tener un esbozo de "personalidad"... "We just spent a huge amount of effort" 😂 eso es una idea tipo queja. Cosa que no manifestó en su output, su respuesta.

Para dejarlos descansar... es por esas cosas sueltas que tengo una impresión bastante particular sobre la IA, También por esas cosas es que respeto la labor del programador... Repito, generar código requiere un esfuerzo mental más complicado que solo escribir lenguaje de memoria, es tener una habilidad de pensamiento procedimental complicado de alcanzar. Y también por esas cosas es que considero que la humanidad es algo muchísimo más allá de procesar información (razonar).

Una recomendación final. Considero una buena práctica reconocer mis alcances y mis limitaciones. Seguiré vibecodeando mientras sigo aprendiendo (porque no debo depender de la IA... en un cataclismo no hay GPT que esté a la mano 🤪) y ser honesto con ello es ser respetuoso hacia quienes ven los resultados de lo que hago.
 
Back
Top