Lógica Básica
Last updated
Last updated
Bienvenido al segundo capítulo de este módulo, donde trataré de explicarte de manera sencilla qué es la lógica básica y su importancia al momento de querer estructurar nuestras ideas. Ya sabes, seré lo más breve posible cuando se trate de conceptos, por lo que, si deseas profundizar en alguno siempre puedes visitar mi blog donde tiendo a explayarme más en el análisis de estos. Sin más dilación...
¡Espera! Si te has preguntado si este contenido está hecho con IA la respuesta es que no. No lo consideraría ético de mi parte. Ahora sí...
Qué espero de este capítulo:
-> Comprender la importancia de la lógica en la creación de prompts efectivos..
-> Aprender a estructurar las ideas y los problemas de forma lógica para obtener mejores resultados.
-> Comprender los conceptos de Fondo y Forma que dan origen a la lógica.
Lo primero que debo mencionar es que el concepto de "lógica aplicada a la IA Generativa" es una teoría propia. Es decir, que no hay bibliografía al respecto. Es una forma en la que yo he sintetizado mi conocimiento teórico y mi conocimiento empírico con la finalidad de hacer más práctica y llevadera la relación IA - Humano. Explicado esto...
Cuando hablo de lógica, en el contexto de la IA Generativa, me refiero a la capacidad de estructurar las instrucciones que le damos a la IA de forma clara, precisa y secuencial, para que pueda comprenderlas y ejecutarlas correctamente.
¿Y si no aplico una lógica? Seguramente terminarás obteniendo resultados imprecisos, deficientes y que no se ajustan a tus expectativas. O, lo que considero aún peor, quizás te acostumbres a ver la IA Generativa como una herramienta que puede generarte cualquier cosa, en cualquier momento, simplemente con una solicitud.
¿Cómo demostramos la importancia de la lógica? Imaginemos que queremos contarle un cuento a alguien, pero no queremos el típico cuento que podemos encontrar en internet, ahora tenemos una IA que nos puede crear uno, así que decidimos que queremos crear uno, ¿qué pasará si solo soltamos las ideas como nos sale de la mente? ¿qué ideas tienes en mente? ¿hay necesidad de ordenar las ideas?
Probemos cómo sería un prompt si solo soltamos nuestras ideas:
Ejemplo de Prompt sin lógica (como podríamos hablar de manera natural)
-> Escribe un cuento sobre un mago. Que sea joven y tenga una aventura buscando un tesoro. Que sea de misterio y que también tenga una mascota que lo acompaña. Que busca una piedra hermosa como tesoro. Que también tenga un poco de suspenso y que el mago sea un personaje afroamericano. Ah, y que la mascota sea un dragón pequeño.
¿Qué te pareció? ¿Era lo que estabas esperando? ¿Crees que podrías contárselo a alguien e impresionarle? Quizás esté bien como un primer paso, pero ¿cuántas indicaciones más vas a necesitar para llegar a un resultado que te agrade?
Ahora, trabajemos bajo la misma idea, pero agreguemos un sentido de lógica a nuestro pedido para que cobre un poco más de forma.
Ejemplo de Prompt con lógica
-> Crea un breve cuento con las siguientes características:
Género: Fantasía y misterio.
Trama: Un joven mago afroamericano llamado Malik se embarca en una aventura para encontrar una piedra legendaria.
Personajes:
Malik: Un mago joven e inteligente con habilidades mágicas en desarrollo.
Draco: Un pequeño dragón, mascota leal de Malik, que lo acompaña en su aventura.
Escenario: Un reino medieval con bosques encantados, cuevas misteriosas y criaturas mágicas.
Tono: Suspenso y épico.
Elementos clave:
La Piedra: Un tesoro mágico de gran poder.
Un mapa antiguo que guía a Malik hacia la piedra.
Criaturas mágicas que protegen la piedra.
Un hechizo que debe romperse para obtener la piedra.
Final: Malik logra obtener la Piedra de Azur, pero debe tomar una decisión difícil sobre cómo usar su poder.
Y ahora ¿qué te pareció? ¿cobró un poco más de sentido? ¿crees que necesite de más indicaciones o ya con este resultado es suficiente?
Lo interesante es que, con una buena lógica desarrollada, podemos reducir la incertidumbre de la respuesta y al mismo tiempo, como en el ejemplo, generar patrones para peticiones futuras si es una tarea que repetimos constantemente en el día a día ¿no lo crees?. Ahora bien...
Para trabajar una buena lógica yo propongo partir a esta en dos partes: Fondo y Forma. Debo aclarar que esto no me lo inventé yo, sino que parte de la teoría platónica y aristotélica sobre fondo y forma, la cual yo he adaptado para crear mi teoría. Pero, ¿a qué me refiero con fondo y forma? Ya que esta es una introducción veámoslo de manera sencilla:
Fondo (Estructura) hace referencia a la estructura de lo que queremos crear y responde a la pregunta ¿Cómo funciona?
Forma (Estética) hace referencia a la parte visual de lo que queremos crear y responde a la pregunta ¿Cómo se ve?
La separación de ambas nos permite diseccionar nuestras ideas, con lo cual, evitamos mezclar funcionalidades, intenciones, necesidades, etc., de lo que vayamos a generar. Y la intersección de ambas nos aporta claridad y precisión en la formulación de un buen prompt.
¿Tiene sentido? Revisemos algunos ejemplos:
Si quisiéramos crear una imagen distópica con un estilo cyberpunk para un afiche, ¿cómo estructuraríamos el prompt? Seguramente sea de la siguiente manera:
Prompt sin uso de la lógica
-> Crea una imagen de paisaje futurista con edificios altos, estilo cyberpunk, con robots, personas caminando, realista.
No está mal, pero por alguna razón no era lo que me había imaginado. He perdido algunos créditos que me da la IA para generar imágenes y además, siento que no me he dejado entender. Yo pensé en algo más futurista, nocturno y con luces. Pensé que solo diciendo "cyberpunk" se entendería ¿no?
Yo recomiendo hacer uso de diagramas como el que verás a continuación, porque aporta claridad a la estructura que usarás después. Recuerda que la idea es acercarte lo más que puedas al resultado que estás imaginando y si debes hacer cambios, que estos sean en la menor cantidad de pasos posibles.
Entonces, extrayendo la idea que tenía en mente, nuestra "lógica" quedaría de la siguiente manera:
Prompt con uso de la lógica propuesta
-> Crea un paisaje urbano futurista estilo cyberpunk. Composición: Punto de fuga central con una calle principal que se extiende hacia el horizonte.
Edificios altos y estilizados a ambos lados de la calle, con luces de neón y pantallas holográficas. Robots humanoides caminando por la calle, interactuando con los humanos. Estilo: Cyberpunk, con una estética oscura y futurista.
Detalles realistas en los edificios, robots y vehículos. Alto contraste de luces y sombras. Paleta de colores: Predominio de tonos azules, morados y rosas en el cielo.
Luces de neón en tonos verdes, amarillos y rojos en los edificios. Iluminación: Atardecer con un cielo dramático y nubes oscuras.
Reflejos de las luces de neón en las superficies mojadas de la calle.
Detalles adicionales: Lluvia ligera que crea un efecto de atmósfera cyberpunk. Letreros holográficos con anuncios futuristas. Personajes con vestimenta cyberpunk.
Esto ya se parece más a lo que tenía en mente, aunque siempre se pueden hacer mejoras. Ten en cuenta una cosa: cada IA se comunica de manera diferente, eso las hace únicas.
Ahora, imaginemos que tenemos la intención de crear una herramienta de tipo inventario, pero no tenemos conocimiento de programación, solo sabemos que existe un lenguaje HTML (si no sabes de qué hablo, tienes un apartado de programación básica aquí). Sin embargo, sí tenemos la idea de cómo nos gustaría que sea y cómo nos gustaría que funcionara. ¿Cómo aplicaríamos la lógica en este punto? ¿Cómo nos beneficiamos de lo que imaginamos para crear algo que desconocemos?
Prompt sin lógica
-> Crea una tabla en HTML con información sobre productos. Que tenga nombre del producto, precio y descripción. Y que tenga un botón para comprar. Que se vea bonita y moderna.
Puedes ver el resultado de este primer prompt que se ingreso dando click donde dice "Run Pen". También puedes ver el código HTML que nos generó la IA de Google para este proyecto.
Creo que no me dejé entender bien, o al menos no era eso lo que tenía en mente. Probemos de nuevo, pero definiendo una lógica de lo que queremos conseguir...
Regresemos a los diagramas. Recuerda que la idea es acercarte lo más que puedas al resultado que estás imaginando y si debes hacer cambios, que estos sean en la menor cantidad de pasos posibles.
En este ejemplo no apliqué una lógica de "forma" porque no lo consideré necesario. Sin embargo, sí indiqué en el prompt que tenga en cuenta un estilo minimalista.
Prompt con lógica
-> Crea una tabla en HTML con información sobre productos. La tabla debe tener 4 columnas: "Nombre", "Precio", "Descripción" y "Acción", este último debe contener un botón con el texto "Comprar" en su columna. Cada fila de la tabla representará un producto.
Los datos de los productos son:
"nombre": "Producto 1", "precio": "10.00", "descripcion": "Descripción del producto 1", "nombre": "Producto 2", "precio": "20.00", "descripcion": "Descripción del producto 2", "nombre": "Producto 3", "precio": "30.00", "descripcion": "Descripción del producto 3".
Generar el código HTML para la tabla utilizando los datos.
Aplica un estilo minimalista.
Esto ya guarda más relación con lo que estaba pensando. Aún se pueden hacer mejoras, sobre todo en temas de estilo, pero para la práctica está bien, ¿no lo crees?
Como verás, la lógica es fundamental para interactuar de forma efectiva con la IA Generativa. Al aprender a estructurar nuestras ideas de forma precisa, podemos obtener resultados que se ajusten a nuestras necesidades y expectativas.
Lo más imprescindible, desde mi punto de vista, es detenerse antes de la petición a bocetear la idea habiendo, previamente, definido el objetivo. Podríamos representar esta afirmación de la siguiente manera:
Hasta el momento hemos visto prompts que ya han estado escritos bajo un orden después de aplicar la lógica. Pero, te has puesto a pensar: ¿cómo estructuramos un prompt después de tener la lógica escrita? Continuemos con la "Comunicación Básica"