A estas alturas, con asistentes de inteligencia artificial generativos disponibles desde hace ya bastante más de un año y mejorando en sus prestaciones de manera consistente, deberíamos tener evidencias de lo que supone trabajar sistemáticamente teniendo acceso a los mismos, o mejor, habiéndonos acostumbrado a optimizar su uso.
Atrás empiezan a quedar, al menos para los usuarios experimentados, los torpes prompts que utilizábamos para simplemente jugar o para intentar evaluar sus prestaciones: ahora, es perfectamente normal que algunos prompts sean mucho más largos que la propia respuesta que generan, o que no estén diseñados para generar respuestas que son simplemente copiadas y pegadas, sino como parte de un trabajo en fases. En mi papel como profesor en una escuela de negocios, en el contexto de un curso de innovación en el que invito a mis alumnos a utilizar esos algoritmos en la resolución de cualquier cuestión, ver la forma en que esos alumnos, personas con varios años de experiencia en trabajo directivo procedentes de todo el mundo, utilizan este tipo de herramientas resulta enormemente clarificador.
Por eso me ha gustado bastante este artículo en The Washington Post titulado «I used AI work tools to do my job. Here’s how it went«, en el que una periodista del medio puso a prueba dos algoritmos generativos, Microsoft Copilot y Gemini for Google Workspace, como herramientas para hacer su trabajo. El resultado, como era esperable, es desigual, y apunta como conclusión principal a una reducción importante del tiempo dedicado a crear textos, ilustraciones o vídeos, pero un incremento también muy significativo del tiempo dedicado a la supervisión de lo creado por los algoritmos.
Básicamente, como apunta la CTO de la Wikimedia Foundation, Selena Deckelmann, el valor de las contribuciones humanas en el tiempo de la IA generativa es incluso mayor. Las personas que simplemente tratan a este tipo de asistentes como una forma de ahorrarse tareas sencillas, como redactores de bloques de texto o como creadores de ilustraciones que después integran en creaciones más complejas con un componente de creación humana parecen tener una ventaja clara frente a aquellos que los ven como generadores de algo que simplemente se copia y se pega sin más. Yo, con un martillo y un cincel, llego como mucho a romper piedras, pero Miguel Ángel fue capaz de esculpir el David. Como todas las herramientas, la cuestión está en saberlas utilizar adecuadamente.
Todo indica que, al menos en los trabajos que conocemos como «de cuello blanco», el futuro apunta a personas que tendrán que trabajar con este tipo de herramientas si quieren ser razonablemente competitivos, pero que más que sustituirlos, complementarán muchas de las labores que llevan a cabo habitualmente. En mi trabajo diario, me encuentro recurriendo a algoritmos generativos para muchas cosas, desde plantear el esquema de una clase con unos requisitos determinados hasta generar ilustraciones como la que acompaña al artículo de hoy, pero en muy pocas ocasiones me planteo simplemente copiar y pegar como forma de uso, y todo ello sin mencionar el número de veces que cometería errores de bulto si lo hiciera. El tiempo dedicado a la supervisión de lo obtenido, en efecto, se incrementa notablemente.
Para ese tipo de trabajadores, por tanto, nada nuevo bajo el sol: como ocurrió con todas las herramientas anteriores, es importante adquirir rápidamente la maestría en su uso, que te diferenciará de los que «simplemente las usan» y te permitirá seguir siendo eficiente en tu trabajo, salvo que ese trabajo sea completamente asumible por un algoritmo entrenado adecuadamente (en ese caso, prepárate para otro tipo de trabajo).
Mi impresión hablando con personas que utilizan este tipo de herramientas para generar código es básicamente la misma. Sin embargo, tengo mis dudas con lo que ocurrirá a medida que vayamos integrando cada vez mejor la algoritmia generativa a la robótica y aprendamos a utilizar esos robots con eficiencia para los trabajos habitualmente denominados como «de cuello azul». Es muy posible que, en ese tipo de contextos, nos encontremos con otros resultados. Y por tanto, que generen problemas completamente diferentes.
This article is also available in English on my Medium page, «How comfortable are you with using generative algorithms?»
Una vez más se cumple la máxima: más que las respuestas, lo que importa son las preguntas
Muy cierto.
Por distracción, estoy aprendiendo Processing que es un lenguaje para diseñadores gráficos, que es mas atractivo que los tradicionales porque te permite hacer cosas mas chulas como entretenimiento, como vídeos, que hacer una contabilidad o hallar los logaritmos con un docena de decimales.
Como muchas cosas no las se hacer en este lenguaje, simplemente se lo pregunto a ChatGPT 3,5, (la gratuita), y ella rápidamente me pone en la pista de como hacerlo, Posiblemente si buscar por otro método, o en processing.org. terminaría encontrándolo también, pero ChapGPT, sin darme la solución final, me facilita el camino.
Yo estoy seguro que el trabajo de programador se reducirá muchísimo, como se ha reducido el de traductor, porque en el fondo, programar es traducir a un lenguaje que, (después de compilado), entiende la máquina, aquello que el analista quería que hiciera el programa. De hecho ya los lenguajes de programación ya han eliminado miles de programadores que harían falta para escribir los lenguajes en código máquina.
Para mi ,que el generar prompts que tiene como consecuencia, generar un programa en un determinado lenguaje de programación es solo un paso inicial. En el futuro ,lo que generaran las AI, será directamente el lenguaje máquina específico para el procesador, eliminando pasos intermedios.
Supongo que lo que habrá será muchísimos mas analistas capaces de generar los prompt que hacen que la IA escriba los programas y que los programas «a medida» será la norma.
Es programar simplemente traducir a un lenguaje? Pues no, programar sería diseñar y construir uno o varios algoritmos que en secuencia, dan la solución a un problema o requerimiento. Y no, la mal llamada inteligencia artificial no está ni cerca de aprender a programar, solo devuelve snippets de casos de uso conocidos. Ah y sin olvidar, que cada vez que usamos estos chatbots estamos quemando mucha energía.
Pero el diseño de los algoritmos no es programar, es analizar. Si yo digo para. «Para obtener la hipotenusa de un triángulo rectángulo, haya la raíz cuadrada, de la suma de los cuadrados de los otros lados», he aplicado un algoritmo, que permite hallar la hipotenusa y no he escrito una sola línea de código,
Considero posible que hoy, con un prompt adecuado, una IA sea capaz de generar el modulo de Python que hace ejecuta ese algoritmo, y probable, que en el futuro la AI genere directamente el lenguaje máquina que ejecute eso en un procesador.
Que devuelva el código máquina seguro. Pero siempre debería pasar por un «lenguaje» intermedio que registre lo que realmente hace el programa.
Las IAs, también tendrán que comunicarse entre si, y con los humanos, una forma de hacerlo es el lenguaje humano, pero los lenguajes de programación tienen la ventaja de que son «lenguajes matemáticos», ya que no existe semántica posible al ser totalmente deterministas (o casi).
Sin saberlo estás trabajando para openai, tuneando sus respuestas por human reinforcement learning, y en 5 años la herramienta lo hará mucho mejor que tú. Y entonces, tu único valor será dar conferencias sobre como la IA nos ha robado el conocimiento. Tiempo al tiempo.
Ya no tengo valor, estoy amortizado desde hace 15 años
Iba a comentar algo, pero se me ha olvidado.
Saludos
P.D: Chat openai me dice que «¡Qué sorpresa encontrarte aquí comentando sin aportar absolutamente nada de valor! Debe ser agotador mantener ese nivel de irrelevancia tan constante.»
Me tomo esta respuesta en serio. Dos apuntes:
El primero para poder sacar rendimiento a un determinado algoritmo generativo tenemos que adaptar nuestras peticiones y mejorar esos prompt, en muchos casos, una solución es abordar esa tarea mediante el uso programático (scripts para generar nuestros prompts con menor esfuerzo)
El segundo apunte es la calidad de la respuesta, que depende del uso de caso:
( p.ej.: textos, imágenes, código):
* Los textos, son el que mayor peligro tienen, ya que suelen ser bastantes flojos y repetitivos, y no hay más control que nuestra lectura subjetiva. NO me refiero al contenido y su el LLM se inventa o no se inventa, sino al estilo, que veamos cierta fluidez y no un engrudo soporífero. Cuando le damos un PDF y le decimos hazme un resumen, que no una basurilla. Es muy peligroso su uso si el que lo pide cree que juntar letras es redactar, como podemos leer muchas aberraciones que andan circulando por las webs (EH o AI?), y nos preguntaremos quien ha escrito esto, cuando suele pasar, que el mediocre humano es el que ni siquiera se da cuenta del bodrio que tiene delante
* Las imágenes, cuando el prompt está mal trabajado se nota a la legua cuando hay deformidades, manos desastrosas, o miradas bizcas, y a veces amorfas. Ver esto publicado es más dificil. Es normal corregir el error de bulto, pero los secundarios suelen ser hijos de un dios desconocido… Aqui al final si nos toca mejorar el prompt, ya que sin eso no genera. Pero usar un gepeto para hacer prompts, no lo veo.
* Código. Si se ejecuta y no da problemas ya tenemos mucho ganado, pero si lo hace, sucede que lo que hace el algoritmo del snippet es una cosa, y lo que debe hacer otra. En esos casos, no han comprobado un mínimo de coherencia y chequeo.
En el mejor de los casos, gepeto entiende lo que se le pide, pero en cuanto no es una trivialidad, su desempeño baja hasta la imbecilidad manifiesta, así que en tareas normalitas como repasar un texto pre escrito, bueno puede ser de algún ahorro, en imágenes solo puedo decir que como aficionado no mido tiempos, pero puedes estar sacando muchas versiones hasta que obtienes algo decente, NO USO A GEPETO con imágenes, y en código, pues poco lo uso, prefiero usar mis snippets…y no perder el tiempo, aunque alguna vez con temas que estás aprendiendo, si puede ayudar a facilitar ejemplos sencillos, es el un caso que lo veo útil.
Resumiendo: ¿utilidad al día de hoy? 5% de las tareas diarias. Las máquinas están para ayudarnos, no para adaptar nuestro workflows a ellos… y sus prompts. (No meto en este saco a prompts de imágenes que eso es otro mundo diferente). Hoy es el becario de la oficina, en poco tiempo será el de RRHH y no dará la patada, pero no se lo pongamos fácil. Para que una máquina ganara al GO, tuvieron que usar aprendizaje reforzado consigo misma con millones de partidas. Para el trabajo diario que le enseñe Rita la Cantaora y menos gratis!!
A la pregunta ¿ahorra tiempo? MAL VAMOS. Una labor de una persona que necesita de un asistente, no se mide por el ahorro, sino porque le faciliten una ayuda para hacer o aprender una determinada tarea, y si esa persona es consigo misma un «cagaprisas», ni va a aprender, y lo que va a sacar es un churro. Como lo de la velocidad y el coche: más vale tomarte tu tiempo y aprender, que perder la «vida» en un minuto.
Pues no es que esté totalmente en desacuerdo contigo, pero tampoco de acuerdo, y lo explicaré con una anécdota:
Tengo un familiar con 99 años. Le pregunté a chatgpt cual era su esperanza de vida. Chatgpt se limitó a mencionar que en España, para una mujer, rondaba los 84 años, lo cual no es más que repetir como un loro lo que se ha leido en una hoja de estadísticas.
Además, si una persona ya tiene 99 años, su esperanza de vida sigue la regla de probabilidad condicionada de Bayes, es decir, cuantos años de esperanza de vida le quedan sabiendo que ya ha llegado a 99. Es un problema de estadística no supercomplejo pero tampoco trivial.
Pues bien, Gemini me respondió correctamente, diciendo que la esperanza de vida de una mujer española que YA ha cumplido 99 años son otros 8 años.
Como no tengo las tablas de estadística condicionadas a mano (ni tiempo para comprobarlo) me pareció que Gemini, en este caso, entendió mucho mejor lo que pedia y dió un resultado que, sin saber si es exactamente correcto, tenía todo el sentido del mundo: es como si entendiese que para calcular esa esperanza de vida debía utilizar la probabilidad condicionada de Bayes. Y eso es mucho más que dar una respuesta imbécil.
Resumiendo, que a medida que estos sistemas van avanzando, yo noto progresos. En esta pregunta de Gemini a chatGPT 4,0.
Un saludo!
https://arxiv.org/pdf/2307.09009.pdf
Puede ser o no.
En el futuro, y visto que la IA será millones de veces mas inteligentes que nosotros, será la propia IA la que te hará las preguntas claves para saber realmente lo que quieres y no sabes pedir y poder diseñar ella el propio prompt al que responderá.
Será como un adulto preguntando a un niño confuso de 3 años que no sabe lo que le pasa para que el adulto se aclare primero y saber lo que tiene que contestarle.
Cómo lleva tiempo diciendo Benedict Evans, los algoritmos generativos son como tener mil becarios a tu disposición (o un becario mil veces más rápido)
La clave está en pedir las cosas con la mayor precisión posible y revisar las respuestas porque no son de alta calidad.
Y respondiendo a Juan T., hay muchos que recomiendan empezar usando prompts pidiendo a chatGPT las preguntas. Algo en plan “quiero que me crees un plan de marketing pero primero dime las preguntas que necesitas que responda para poder hacerlo”. A medida que las interfaces evolucionen y se especialicen dándote las opciones, en vez de un chat básico, será más fácil pedirle algo si no eres capaz de describirlo en detallle.
Esa es la idea.
Yo puedo saber lo que quiero y sin embargo no tener la habilidad de expresarlo para conseguir la respuesta adecuada.
Estoy seguro de que la propia IA evolucionará para salvar ese trecho, o informando al usuario con los conocimientos necesarios para diseñar el prompt y una vez el usuario hace una propuesta mas o menos adecuada la IA puede rediseñarla, pero para eso primero tiene que saber la verdadera intención del usuario, y en ese sentido la ayudará el historial de prompts anteriores.
De hecho con la información que suministramos en redes sociales, las cookies, y todo eso, pueden llegar a saber mas de nosotros que nosotros mismos.
Si en el futuro utilizo a Alexa como psicólogo , por ejemplo, une todo lo que le cuento sobre mi a toda la información de la que ya dispone, y será la propia IA sin que la diga nada la que me hará propuestas que yo desconocía, como una oferta chollo de un viaje que sabe que me va a gustar basada en mis intereses en el periodo de mis vacaciones que también conoce.
Yo añadiría otro factor que se deriva del uso de estos modelos de lenguaje, al menos en mi caso, la presión intelectual y el síndrome del impostor.
La uso a diario y como es normal, me supera total, absoluta y definitivamente en conocimientos. Me ayuda a resolver dudas, preparar textos, organizar propuestas, traducir, resumir, crear código, fórmulas de Excel… creo que bastante más del 5% que comenta C3PO. Invierto mucho tiempo en crear y depurar prompts, en iterar para obtener la respuesta adecuada, en revisarlas y en testear los resultados.
Pero a lo que iba, una vez hecho todo lo anterior llega la parte de hacerte tuya la respuesta, es decir, si ChatGPT me ayuda a preparar una propuesta, crear una fórmula o traducir un texto, ese resultado me lo he de hacer mío, porque probablemente lo tendré que presentar o defender ante alguien, o alguien terminará interactuando con el bajo mi responsabilidad.
Usar las respuestas de ChatGPT sin revisar es una irresponsabilidad, pero usarlas implica un ejercicio de responsabilidad y te enfrenta a tus inseguridades e ignorancia, a no ser que vayas a saco.