Mostrando entradas con la etiqueta DeepThink. Mostrar todas las entradas
Mostrando entradas con la etiqueta DeepThink. Mostrar todas las entradas

viernes, abril 11, 2025

De Errores Humanos y Errores Humanizados en los Modelos de Deep Reasoning

El pasar de tener sistemas informáticos basados en programación determinista a usar modelos de IA con alucinaciones y errores es un salto importante de adaptación mental. Es verdad que nuestros sistemas informáticos han estado lejos de ser perfectos y nos han dejado errores lógicos, interbloqueos, cuelgues y bugs de seguridad, y cada vez que hemos ido complejizando la estructura de capas de abstracción, garantizar que un programa hace solo lo que debe de hacer y nada más, y además lo hace bien, ha sido un esperanza no comprobada matemáticamente.

Figura 1: De Errores Humanos y Errores Humanizados
en los Modelos de Deep Reasoning

De hecho, confiamos en los tests unitarios, los tests de integración, las pruebas de QA, los escaneos con herramientas de fuzzing, y los análisis de código estático y dinámico - o incluso con Rayos X para sacar mapas de calor -, pero todo se basa en detectar algún comportamiento anómalo, una respuesta inesperada, o un funcionamiento anormal del sistema, para luego investigar la raíz de ese problema. Pero eso, queda muy lejos de una demostración empírica de que el código hace lo que tiene que hacer bien, y nada más que lo que tiene que hacer. 

Conocido esto, vemos que cuando la garantía de calidad y robustez del sistema informático es lo más importante, es mejor irse a tecnologías, hardware y software, altamente probados. De esto tenemos un ejemplo en el artículo de nuestra compañera Selena Sánchez donde explicaba por qué la NASA utiliza en el Rover Perseverance la arquitectura del IBM PowerPC G3. La respuesta es muy sencilla: ha sido altamente probado. De estos ejemplos conocemos más en la historia de la tecnología, y algunos casos, como las arquitecturas Mainframe con sus archi-famosos programas en COBOL han sido iconos de industrias enteras.

Sabiendo que no podemos garantizar que un código se va a comportar en todas las situaciones como esperamos, porque demostrarlo matemáticamente es una tarea hercúlea, basamos en la confianza en el robustez de su comportamiento en el determinismo de las respuestas generadas por el código, y probadas con los tests de calidad del software, y garantizar que estos son completos es mucho decir. Recuerdo que en la universidad, en una de las prácticas de programación de sistemas operativos teníamos que hacer un programa que recibiera datos de entrada por el teclado, y había que controlar todos los errores. 

Pero una de las pruebas que nos hacía el profesor era "aporrear" el teclado para hacer saltar comandos de interrupción del sistema. Y contaba si habías controlado las interrupciones. Nosotros no lo entendíamos, pero la respuesta era... "si haces el software para un controlador de maquinas en un areopuerto, o para un avión, o para un tanque, lo último que quieres es que si por error humano alguien toca lo que no debe, el sistema se caiga." Y hay que reconocer que, como prueba de robustez es fantástica, así que nos enseñó a tomarnos más en serio la gestión de errores cuando hicimos el driver de teclado para un sistema operativo UNIX.

Dicho esto, ahora entramos en la época de la Inteligencia Artificial Generativa, donde la respuesta que te va a dar un sistema no es "determinista". Es decir, puedes pedir el mismo Prompt al mismo modelo, y el resultado puede ser diferente. De hecho, en un porcentaje pequeño puede ser una alucinación, de las que hemos hablado largo y tendido. Podéis leer el artículo donde Bard se inventaba una historia personal mía donde me llevaba a la cárcel, o en las versiones anteriores de ChatGPT inventaba cosas de personas públicas.

Usamos el término de "Hallucination" porque es tan fácilmente comprobable que ese dato es inventado, que no podemos considerarlo un error puntual, sino un fallo estructural en el sistema, que llamamos alucianción. Yo escribí un artículo que se llamaba "Las mentiras infinitas que ChatGPT se inventa sobre "Chema Alonso"" porque era hasta cómico ver que algo, tan fácilmente comprobable, salía como respuesta de un Prompt.

Sin embargo, con la llegado de los modelos de Deep Reasoning conectados a fuentes de Internet en tiempo real, esto ha cambiado mucho. La búsqueda de datos, la comprobación de los mismos, el análisis del Prompt, el uso de la Memory, la segmentación de tareas en los diferentes Expertos, y la verificación y análisis de los resultados intermedios y la salida final, han hecho que las "Hallucinations" se hayan reducido en varios órdenes de magnitud.
No sé si estaremos en la Paridad Humana o no con estos modelos de Deep Reasoning a la hora de hacer una tarea tan sencilla como decirle a una persona que busque la respuesta a un problema, o información de un tema, utilizando para ello todo el contenido que hay en Internet, y la respuesta del modelo tenga más o menos porcentajes de errores que los que cometen las personas. Pero debemos estar cerca, si no ha sido superada ya esa destreza cognitiva.

Figura 3: Prompt para Perplexity Pro con Deep Research

Para la última charla que impartí sobre IA en Ciudad Real, estuve el fin de semana trabajando en ejemplos que me sirvieran para explicar cómo de bien estos modelos de Deep Reasoning buscan en Internet y procesan la información para mostrar unos resultados ajustados a lo que se les pide. El ejemplo que tenéis aquí fue hecho con Perplexity Pro Deep Research, y es a la petición de un plan de riego de un campo de vides analizando las lluvias de los dos últimos años en la región. 

Figura 4: Informe de Resultados parte 1

Figura 5: Informe de Resultados parte 2

Figura 6: Informe de Resultados parte 3

El resultado se obtiene en apenas dos minutos de Thought Time. No soy un experto en riego de campos de vides para validar la respuesta o encontrar errores o mejoras - que seguro que puede que existan -, pero sí que fui mirando los enlaces de dónde había sacado la información, y no fui capaz de localizar una alucinación razonando con mi pobre y lento cerebro humano. Para poder comprobarlo mejor, está el Research Plan, donde se puede ver en detalle todo el proceso de obtención, procesado y verificación de la información que el modelo de Deep Reasoning ha seguido para llegar al Informe de Resultados final. Y me cuesta encontrar alguna alucinación en este ejemplo concreto.

Como después de hacer varias pruebas no estaba seguro aún de que no hubiera alucinaciones, decidí probar con algo que me resulta fácil. Repetir las pruebas que había hecho en el pasado con ChatGPT preguntándole por los libros que yo he escrito. Y el resultado es curioso.

Figura 7: ¿Qué libros ha escrito Chema Alonso? parte 1

En la primera parte es totalmente correcto, porque analiza la información y salen los trabajos en 0xWord, con lo que todo perfecto, pero en el Informe de Resultados aparecen unos libros que son de otras temáticas que no tienen que ver conmigo.

Figura 8: ¿Qué libros ha escrito Chema Alonso? parte 2

Por supuesto, no son míos, pero es que no soy el único "Chema Alonso" del planeta, así que, el Prompt de entrada era inexacto, ya que no especifica sobre "qué Chema Alonso" se quieren conocer los libros. El modelo ha asumido que son sobre mí, pero cuando ha ido a Internet ha encontrado los libros de otro Chema Alonso, y los ha confundido con que son míos.  En este caso, "El lenguaje Subterraneo de las Miradas", escrito por Chema Alonso.
Sin embargo, en la Figura 7, recuadrado en color verde sí hay una alucinación, ya que ha procesado mi nombre por separado, y ha mezclado las referencias a "Chema" como si fueran mías. Una alucinación que hay que detectar manualmente. Llegados a este punto, la cuestión importante sería, el primer caso: "¿Es una alucinación o es un Error que podría cometer cualquier persona?" Esta es la gran pregunta. 

Porque si hacemos este test con 1.000 Prompts "no deterministas" a 1.000 personas y al modelo de Deep Reasoning, y vemos cuantos Informes de de Resultados de ese millón resultante (1.000 personas x 1.000 informes) y tenemos más errores que los que comete el modelo de Deep Reasoning, entonces tendríamos la Paridad Humana en la destreza cognitiva de "buscar respuestas en Internet".

Errores Humanos y Errores Humanizados

Lo cierto es que, independientemente de estar cerca o no de ese hito, el número de Alucinaciones ha disminuido drásticamente aunque vamos a tener que seguir viviendo con los errores. Errores que pueden cometer también las personas. Y es verdad que en las empresas, el Talento Humano, aún sigue siendo una de las piezas clave que marca la diferencia entre una empresa que va bien, y otra que va mal. Y vivimos con ello a pesar de no ser "deterministas". Puedes preguntar a diez empleados de tu empresa por la respuesta a una pregunta o ante una situación, y por mucho que esté escrita la respuesta, que se hayan hecho cursos de formación, etcetéra... ¿tienes garantías de que van a responder lo mismo y sin errores? No. Somos humanos, decimos los humanos.

De hecho, las interacciones humanas entre empresas y clientes son fundamentales. Los clientes quieren interacción humana, porque sus "Prompts" a las empresas tampoco son deterministas muchas veces. No saben cómo explicarlo, o no entienden qué tienen que pedirle a la empresa. O no saben exactamente el matiz del producto o servicio que tienen controlado. Así que van explorando "Prompts" con un servicio de atención al cliente que tiene que ir entendiendo y razonando sobre esos "Prompts" no deterministas que dan los clientes para poder crear un "Informe de Resultados" que sea correcto. Y la garantía de que ese "Informe de Resultado" hecho por un humano sea determinista y sin errores, tiende a cero. Somos humanos, decimos los humanos.

Pero aún así, vimos con ello. Aceptamos nuestra falibilidad como seres humanos en la interacción con otros humanos. La aceptamos con más o menos comprensión y enfado, pero entendemos que es un ser humano y que comete errores. De hecho, sabiendo esto, estamos mucho más preparados para detectar la mentira y el error, en forma de exageración, recuerdo inventado, o conversación de teléfono escacharrado, cuando alguien nos dice algo. Y lo comprobamos en Internet

Figura 10: ¿Error de Daniel o de un bot humanizado con errores?

El otro día, solucionando un problema con un pedido online, fui a chatear con el bot de soporte, y en un momento dato el mensaje que me llegó tenía un error. Y pensé: "Mira que truco más bueno para humanizar un bot. Podríamos incluir Errores Humanizados, meterle errores de tipado para simular Errores Humanos". Y me guardé la idea para contaros toda esta historia.

Así que, vamos a tener que acostumbrarnos a crear sistemas de Agentes AI que van cometer errores como los humanos, y vamos a tener que desarrollar sistemas de control deterministas para la verificación de los posibles errores que cometan los humanos o los Agentes de AI, pero es justo a eso "vamos a tener". Porque esta revolución es imparable, con alucinaciones, errores o indeterminismos.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


domingo, abril 06, 2025

DeepSeek V3 DeepThink R1: Thought Time con Deep Reasoning en un Simple Agentic AI CRM

Ayer os dejé la primera parte donde veía cómo construir con DeepSeek V3 DeepThink R1 un Simple Agentic AI CRM pare ver cómo funciona el Deep Reasoning en estos modelos. Como sabéis, es el mismo ejemplo que publiqué dos días atrás en el artículo de "Cómo crear un Agentic AI para manejar un sistema informático con DeepReasoning: Level 101". Hoy, vamos a ver cómo fluctúa el Thought Time, o Tiempo de Razonamiento, dependiendo de lo claro que seamos con las órdenes.

Figura 1: DeepSeek V3 DeepThink R1. Thought Time con
Deep Reasoning en un Simple Agentic AI CRM 

Si repasáis el artículo de ayer, podéis ver que le dimos sólo 2 Prompts, siendo el primero el System Prompt del Agentic AI CRM, y el segundo una orden de dar de alta una factura. En estos dos casos el Thought Time fue "alto" comparado con la ejecución de una lógica pre-establecida por un humano. En total fueron:
  • System Prompt: 188 segundos de Thought Time
  • Alta de factura de nuevo cliente: 154 segundos de Thought Time
Ahora vamos a darle el resto de las órdenes, y veremos cómo va variando el tiempo una vez que ha aprendido cómo hacerlo (reduciéndose), y cuando le damos órdenes incompletas (aumentando), que es muy curioso.

Figura 2: Alta de factura de un cliente existente

En la Figura 2 le hemos pedido que dé de alta una nueva factura a un cliente ya existente, así que como se conoce el proceso - tiene info en su Memory -, lo que hace es ir muy rápido, y el Thought Time es de sólo 19 segundos.

Figura 3: Respuesta a la orden con las llamadas a las APIs

Ahora vamos a darle una orden incompleta y veremos cómo el Thought Time se dispara hasta que es capaz de elegir la mejor solución, como un trabajador de tu empresa que tuviera que tomar una decisión sin más información que lo que le hemos dicho hasta el momento (3 Prompts)

Figura 4: Factura a nuevo cliente pero no le decimos la cantidad

Aunque es un proceso que ya conoce - dar de alta una factura a un cliente nuevo -, le estamos dando la información incompleta, porque no sabe cuál es la cantidad, por lo que el Thought Time se ha ido a 130 segundos.

Figura 5: Razonando sobre cómo resolver el problema de la cantidad

Como podéis ver, el modelo llega a la conclusión de que "user might have made a mistake", pero como tiene que tomar una decisión, al final la toma, y lo hace muy bien.

Figura 6: Tomando una decisión sobre la cantidad

La duda lo corroe, entre dejar la cantidad "Variable", o poner una cantidad especulativa como 5.000 €, porque no es capaz de saber si debería saber esta cantidad o no. Como se puede ver, en la Figura 6 tiene al final el proceso completo, a falta de poner un valor en Cantidad.

Figura 7: Toma la decisión de levantar un warning

Y al final, visto que falta la cantidad, lo que hace es levantar un Warning, como se puede ver en la imagen siguiente, donde está el resultado.

Figura 8: Resultado del proceso, pero con el Warning de que nos falta el importe de la factura

Si recordáis en el artículo de "Cómo crear un Agentic AI para manejar un sistema informático con DeepReasoning: Level 101" vimos que Perplexity Pro con Deep Research de OpenAI optaba por usar 1.000€ que era lo que había cobrado en la primera factura al primer cliente por un concepto similar. En este caso, genera un Warning para que lo procesemos.  Ahora le vamos a dar la cantidad.

Figura 9: En 15 segundos resuelto

Ahora le damos la cantidad, y ya resuelve el problema en un Thought Time de sólo 15 segundos, ya que conoce bien el proceso y lo tiene en la Memory. Podemos definir mejor este comportamiento con una modificación en el System Prompt del Agentic AI diciéndole que si le falta algún dato o tiene alguna duda que no pueda resolver que pregunte.... y listo. Esto es parte del trabajo de test de los equipos de Quality Assurance de estos nuevos sistemas informáticos.

Figura 10: Ahora sí, resuelta la factura

Vamos ahora con el quinto Prompt con una orden para dar de baja un nuevo cliente, lo que implica que nos dé de baja - en nuestro ejemplo - todas las facturas asociadas, a ver cuál es el Thought Time.

Figura 11: Dar de baja a un cliente con todas sus facturas

Com se puede ver, el Thought Time es de 113 segundos porque se está enfrentando a este problema por primera vez, y tiene que asegurarse de que sigue correctamente el System Prompt que le marcamos, así que su razonamiento es un poco más extenso.

Figura 12: Razonamiento de Dar de Baja a un cliente parte 2

Como no lo tiene claro, aún, tiene que procesar los Prompts y razonar el proceso completamente, así que va haciendo uso de la Memory para ir aprendiendo cosas y organizar las tareas una tras otra.

Figura 13: Razonamiento de Dar de Baja a un cliente parte 3

Este Thought Time, que a priori puede parecer alto (113 segundos), compara bien con el Thought Time de la primera vez que se enfrentó al proceso de dar de alta una factura a un nuevo cliente (154 segundos). Así que algo mejora.

Figura 14: Razonamiento de Dar de Baja a un cliente parte 4

Con esto ya ha terminado el razonamiento, y ahora procede a darnos la respuesta en forma de APIs que hay que llamar de una manera muy eficaz. Aquí están.

Figura 15: Facturas que hay que llamar para hacer el proceso

Como podéis ver, los procesos de QA y de Performance van a ser totalmente diferentes en esta nueva generación de sistemas informáticos trabajando con Agentic AI, pero el número de posibilidades que se abren en digitalizar procesos es brutal. Eso sí, más vale que tengas bien normalizados los datos y bien estandarizadas, securizadas y disponibilizadas las APIs.... si no, vas a llegar tarde a esta evolución.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


sábado, abril 05, 2025

DeepSeek V3 DeepThink R1: Cómo funciona el Deep Reasoning de un Simple Agentic AI CRM

En el artículo de ayer os dejé un ejemplo sencillo de cómo construir un Agentic AI basado en Perplexity Pro Deep Research para hacer una simulación de un CRM. Os dejé las capturas de cómo configurar el System Prompt, los Prompts de uso, y las respuestas del Agentic AI para hacer la gestión, pero no os pude dejar el proceso de Deep Reasoning, por la forma en la que el interfaz de Perplexity Pro tiene para implementarlo, así que quise hacer lo mismo con DeepSeek V3 y dejaros el Deep Reasoning de DeepThink R1.

Figura 1: DeepSeek V3 DeepThink R1. Cómo funciona el
Deep Reasoning de un Simple Agentic AI CRM

Tened en cuenta que, parte de la magia del proceso de DeepReasoning es el Prompt Analysis, es decir, antes de atacar la respuesta, analizar en profundidad de manera recursiva el Prompt, haciendo primero un estudio de lo introducido por el usuario, después hacer un análisis del análisis del Prompt, y así, hasta que se tenga claro en detalle qué es lo que se está pidiendo. 

Figura 2: System Prompt del Simple Agentic AI para CRM
en la versión DeepSeek V3 con DeepThink R1

En la imagen anterior le hemos dado el System Prompt del Simple Agentic AI para CRM que queremos construir, y fijaos cómo hace DeepThink el análisis de ese Prompt que es el mismo que os dejé ayer en el ejemplo con Perplexity Pro DeepResearch (de OpenAI).

Figura 3: DeepThink R1 analizando el System Prompt

Como podéis ver, el "Thought Time" ha sido de 188 segundos, y va línea a línea analizando cada una de las funciones, para entender qué es lo que tiene que hacer, además, de los procesos que debe identificar. Pero el análisis de DeepThink R1 no ha sido sólo la imagen anterior, sino que le ha tomado un trabajo intenso de entendimiento.

Figura 4: DeepThink R1 del System Prompt... parte 2

Como podéis ver, cada información que se va encontrando en el System Prompt provoca una nueva interpretación, como saber cuál debería ser el proceso para hacer la primera factura, o en qué orden llamar a las funciones para hacer cada proceso.

Figura 5: DeepThink R1 del System Prompt... parte 3

Como podéis ver en las capturas anteriores, DeepThink R1 va haciendo suposiciones para realizar cada proceso, viendo los problemas que se va a encontrar en cada situación. Vamos, un trabajo de entendimiento y razonamiento para estar seguro de que ha realizado la tarea que le he pedido, entender este modelo de trabajo.

Figura 6: DeepThink R1 del System Prompt... parte 4

En la imagen anterior podéis ver cómo va desgranando los procesos que le hemos definido en diferentes llamadas de funciones, para estar preparado para realizar las operaciones que le vamos a ir pidiendo después, cuando termine de realizar esta fase de entendimiento.

Figura 7: DeepThink R1 del System Prompt... parte 5

El proceso completo, que acaba en la siguiente imagen, me ha recordado a cuando en los exámenes te decían eso de "Por favor, leed y comprended las preguntas del examen antes de comenzar a contestar ninguna de ellas". Esto es lo que hace con el Simple Agentic AI Prompt que le hemos dado.

Figura 8: DeepThink R1 del System Prompt... última parte

Una vez que lo ha terminado de analizar y comprender, ya podemos comenzar a darle las órdenes para gestionar nuestro sistema. Para este ejemplo de hoy le voy a pedir sólo una de las que le solicité ayer, porque es muy largo, pero las órdenes que le pedí son interesantes de ver, así que mañana veremos el resto.

Figura 9: DeepThink de "Dar de alta una factura a un nuevo cliente"

Si os fijáis en la captura anterior, el Thought Time es de 154 segundos. Es su primera factura, así que va a probar el proceso completo por primera vez. Luego, veremos cómo ese tiempo se va reduciendo con tareas repetitivas, pues al igual que las personas, la práctica hace al maestro.

Figura 10: DeepThink de "Dar de alta una factura a un nuevo cliente" ... parte 2

Como podéis ver, va revisando todas las posibilidades para ver cómo debe gestionar los errores. Y al igual que en el caso de ayer con Perplexity Pro DeepResearch, el sistema hace uso de la Memory para llevar el estado de variables. Vamos, como cuando te apuntas cosas en un papel en un examen para hacer cuentas intermedias o verificaciones.

Figura 11: DeepThink de "Dar de alta una factura a un nuevo cliente" ... parte 3

En la imagen anterior se puede ver cómo va calculando ya la resolución, y haciendo pruebas con la cantidad de la factura, con cómo calcular el número de factura, etcétera, para tener todos los datos antes de "pasarlo a limpio".

Figura 12: DeepThink de "Dar de alta una factura a un nuevo cliente" ... parte 4

En la imagen anterior se puede ver cómo va haciendo los cálculos que luego serán parte de la solución, pero se está asegurando de que sigue bien el proceso, en función del System Prompt que se entregó al inicio.

Figura 13: DeepThink de "Dar de alta una factura a un nuevo cliente" ... parte 5

Ya lo tiene. El proceso de razonamiento de la respuesta completo (lo que nos pedían en los exámenes), ahora toca pasarlo a limpio con buena letra para que el profesor ponga una buena nota. Ahí lo tienes.

Figura 14: Comandos para dar de alta una factura a un nuevo cliente

Podríamos haber usado un humano para hacerlo más rápidamente, pero tendríamos que haber tenido a una persona. Además, cada vez que hace una de estas tareas aprende, y veremos en la siguiente parte que dar de alta una nueva factura para este cliente lo hace en 19 segundos. 
Como habéis podido ver, la potencia de los modelos de DeepReasoning radica no solo en la Multi Modalidad y uso de varios algoritmos de aprendizaje, sino que también hace uso del contexto, de una Memory potente, y de un trabajo de Prompt Analysis recursivo que permite entender todos los detalles del trabajo que se le pide. 

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


Entrada destacada

+300 referencias a papers, posts y talks de Hacking & Security con Inteligencia Artificial

Hace un mes comencé a recuperar en un post mi interés en los últimos años, donde he publicado muchos artículos en este blog , y he dejado mu...

Entradas populares