Cómo interactuar con las IA de forma optimizada

(English version here. Translated by Grok)


Cuando le pides algo a un humano, el humano no recibe tu petición y se pone a trabajar con ella sin más: si alguien te pide algo de comer porque tiene hambre, tú no haces la misma comida para tu hijo de 4 años que para tu abuela, o para un cliente en un restaurante de superlujo de Nueva York.

El humano que recibe la petición añade algo, una información extra con la que rellena los huecos que el solicitante no le ha dado; y lo hace con la información de puede obtener del contexto, de la experiencia, del sentido común, de suposiciones o de lo que pueda, para que la respuesta a esa petición no sea lo que el otro te ha dicho que quiere sino para que se acerque a lo que quiere de verdad.

Las IAs no son tan buenas como los humanos haciendo esto, con lo que si dejas que ella haga ese parte del trabajo el resultado va a ser deficiente; así que no te queda otra que hacerlo tú. Pero esto supone que tu comunicación con ella es diferente de la que tendrías con un humano, y hay que entender cómo hacerlo porque ya es un cambio con respecto a lo que estamos acostumbrados: esto es lo que se llama "saber hacer ingeniería de prompts", que en realidad solo es una forma snob de decir "explicarse bien".

Así que con esto tenemos el primer punto clave:

Para interactuar con una IA de forma optimizada tenemos que hacerle peticiones optimizadas.

De acuerdo. Y ¿cómo se hace eso?

Aprenderlo es fácil y en seguida lo van a ver, pero para conseguirlo primero les va a hacer falta entender cómo funciona la IA en cuanto al flujo de trabajo. Estas son las fases:

1) La IA recibe la solicitud. (Vamos a aprender a hacerla bien)

2) Si no le han dicho de dónde tiene que sacar la información que pueda necesitar y no tenga ya en la petición para poder resolverla, elige ella las fuentes decidiendo en base al contexto o los elementos que tenga a su disposición.

3) Va a esas fuentes y recoge la información que pueda, según lo que haya disponible allí.

4) Procesa la solicitud para generar un resultado. Este proceso utiliza dos elementos:

- La información que la que disponga ahora, sea porque venía en la petición o sea la que ha podido obtener por fuera.

- Las instrucciones de procesado. Si están en la petición y son suficientes las sigue, si no tendrá que inventarse lo que no tenga a base de deducirlo del contexto o los elementos que pueda tener a su disposición, y si eso tampoco es posible no le quedará otra que generarlas por azar.

5) Presenta la información al solicitante. Si en la petición hay instrucciones suficientes sobre esto las sigue, si no se inventa lo que pueda por contexto o por los elementos que tenga a su disposición (esto suele bastar porque en su programación siempre hay reglas de comunicación por defecto), y suponiendo que no hubiera otra pues al azar (no debería pasar).

¿Se han dado cuenta de que, en ese flujo de trabajo, hay un montón de cosas que la IA tiene que inventarse como buenamente pueda? Pues justamente eso es lo que tú haces cuando tu hijo de 4 años te dice que tiene hambre. Esa es la parte de información que los humanos añadimos correctamente a una petición que nos hacen, y que la IA no hace tan bien.

Y con esto llegamos al segundo punto clave:

Una petición optimizada es la que ya incluye toda la información que la IA necesita para trabajar (excepto la que haya que buscar en fuentes externas), de manera que la IA no la tiene que generar.

Y aquí viene la solución. ¿Cómo hacemos estas peticiones?

Antes de ir a eso, recuerden la regla de oro: lo que tú no le digas se lo tendrá que inventar. Y se lo tiene que inventar ella lo hará como pueda, no según lo que te interesa a ti. Así que cuando más te alejes de la petición óptima más se va alejar ella del resultado óptimo.

Y ahora por fin ya podemos responder a la pregunta del título. La versión corta sería "rellena tú los huecos que no quieres que genere la IA", pero esto se puede desarrollar para ayudarles a pensarlo mejor y no dejarse nada:

- Información lo más completa posible para procesar la petición, e instrucciones correctas y precisas para encontrar las fuentes correctas (o, si no es posible, al menos el tipo de fuente correcta) donde conseguir la información que sea necesario recabar externamente.

- Instrucciones correctas y precisas para procesar la información.

- Instrucciones correctas y precisas para presentar los resultados.

Una cosa importante a tener en cuenta es que a veces hace falta más de una petición para obtener la respuesta que necesitas. Por ejemplo, si tú no estás seguro de cuál es la fuente correcta para ordenarle después a la IA que vaya justo ahí a buscar lo que quieres, primero tendrías que hacer peticiones sobre eso y luego utilizar los resultados que hayas obtenido para hacer más óptima la petición final. Trabajar con una IA te obliga a pensar de más, porque estás asumiendo tú un trabajo mental que normalmente haría el humano al que le harías tu petición.

Si se fijan, en el flujo de trabajo que hemos visto antes tenemos el punto 3 sobre el que no podemos hacer mucho (cuando vas a un sitio a buscar algo, lo que quieres encontrar está allí o no está); pero de resto vemos que todo el proceso depende de nosotros. La IA sigue al pie de la letra las instrucciones que tenga vengan de la petición en sí misma o de fuentes alternativas, no hay más.

Claro, a veces lo que tú quieres es justamente que la IA invente. Por ejemplo, si lo que te apetece es charlar puedes simplemente decirle "hola" y a partir de ahí lo que salga. Pero está claro que el nivel de control lo puedes poner tú, según lo que quieras que la IA haga por ti.

Así que cuando vayan a interactuar con una IA pregúntense si en su parte de la interacción están los tres apartados que acabo de mencionar, y si tienen dudas sobre los detalles repasen el flujo de trabajo de antes para no dejarse nada. Por ejemplo:

Ejemplo de petición subóptima: "¿Crees que tengo posibilidades de ligarme a mi compañera de pupite en clase?".

Petición mejorada: "Soy un gordo pobretón de 50 años con rechazo a la higiene corporal. Me he metido en un curso de decoración zen a ver si ligo algo porque llevo años sin mojar, y he tenido la suerte de que mi compañera de al lado en la clase es una supermodelo de 22 años que tiene un novio fitness millonario al que ama con todo su corazón. Ella parece evitarme y cuando intento acercarme hacia donde está lo primero que hace es taparse la nariz y agitarse como si tuviera arcadas. Basándote un 70% en lo que yo te acabo de contar y un 30% modificado por lo que encuentres en fuentes oficiales del Ministerio de Asuntos Sociales sobre parejas con distintas edades y preferencias amorosas en el grupo demográfico al que ella pertenece, dime cuántas posibilidades tengo de que abandone a su novio por mí. Como respuesta dame solo un número entre 0 y 100".

La segunda versión por supuesto sigue sin ser óptima, pero entenderán por qué con esta probablemente la IA será más fácil que acierte... Suponiendo que lo que el tipo quiera sea la realidad, claro.