¿Alguna vez te preguntaste cómo es posible mantener una conversación con un sistema que carece de conciencia?

Detrás de cada respuesta fluida que recibís de ChatGPT, Claude o cualquier otro asistente de IA, se oculta un fascinante entramado de matemáticas, estadísticas y aprendizaje automático que pocos comprenden de verdad. Estos sistemas que parecen entendernos a la perfección poseen, en realidad, profundas limitaciones que permanecen invisibles hasta que uno sabe dónde mirar.

En este artículo, vas a descubrir no solo cómo funcionan realmente estos "cerebros artificiales", sino también sus puntos ciegos más sorprendentes y —lo más valioso— las técnicas que los especialistas utilizan para obtener respuestas extraordinarias de ellos.

Funcionamiento de los modelos de lenguaje

Los modelos de lenguaje como ChatGPT, Gemini, Grok, Perplexity, Claude y otros son sistemas de inteligencia artificial entrenados para predecir texto basándonos en patrones que aprendemos de grandes cantidades de datos textuales. Funcionan mediante:

  • Arquitectura de transformers: Utilizan mecanismos de atención para procesar texto, identificando relaciones entre palabras y conceptos.
  • Aprendizaje supervisado y reforzado: Son entrenados con ejemplos y retroalimentación para generar respuestas útiles, inofensivas y honestas.
  • Generación probabilística: Predicen palabras basándose en probabilidades derivadas de nuestro entrenamiento.

Limitaciones principales

Los modelos de lenguaje tienen varias limitaciones importantes:

  1. Conocimiento limitado: Solo conocen información hasta cierta fecha de corte de entrenamiento.
  2. Alucinaciones: Pueden generar información incorrecta que parece convincente, especialmente sobre temas oscuros o muy específicos.
  3. Sin comprensión real: No entienden el texto como lo hace un humano; simplemente identifican patrones estadísticos.
  4. Sin acceso a internet: No pueden buscar información en tiempo real ni acceder a fuentes externas.
  5. Sin memoria a largo plazo: No recuerdan conversaciones anteriores fuera de la sesión actual.
  6. Sesgo: Pueden reflejar sesgos presentes en nuestros datos de entrenamiento.

Cómo obtener respuestas óptimas

Para interactuar eficazmente con estos modelos de lenguaje:

  • Sé específico: Cuanto más clara y detallada sea tu pregunta, mejor será su respuesta.
  • Proporciona contexto: Incluye información relevante que le ayude a entender lo que necesitas.
  • Solicita formatos específicos: Si necesitas la información en un formato particular, indícalo.
  • Pide razonamiento paso a paso: Para problemas complejos, solicita que desglose el razonamiento.
  • Itera y refina: Si su respuesta inicial no es satisfactoria, pedí clarificaciones o reformula tu pregunta.
  • Usa técnicas de prompting: Podeés darle ejemplos de cómo queres que responda o indicarle un rol específico a asumir.

Acá tenes ejemplos concretos de cómo obtener respuestas óptimas de estos modelos de lenguaje:

Sé específico y detallado

Menos efectivo: "Explícame la economía."

Más efectivo: "Explícame los conceptos básicos de la economía keynesiana y cómo se diferencia del monetarismo, enfocándote en políticas fiscales."

Proporciona contexto relevante

Menos efectivo: "¿Cuál es el mejor framework?"

Más efectivo: "Estoy desarrollando una aplicación web para una pequeña tienda online. ¿Cuál framework JavaScript sería más adecuado considerando que tengo experiencia en JavaScript pero soy nuevo en desarrollo web?"

Solicita formatos específicos

Menos efectivo: "Dame información sobre nutrición."

Más efectivo: "Crea una tabla comparativa de los valores nutricionales de los 5 granos más consumidos mundialmente, incluyendo calorías, proteínas y fibra por 100g."

Pide razonamiento paso a paso

Menos efectivo: "Resuelve este problema: Un tanque se llena a 20 litros/minuto y se vacía a 15 litros/minuto. Si tiene capacidad de 300 litros, ¿cuánto tarda en llenarse desde vacío?"

Más efectivo: "Resuelve este problema paso a paso, explicando tu razonamiento: Un tanque se llena a 20 litros/minuto y se vacía a 15 litros/minuto. Si tiene capacidad de 300 litros, ¿cuánto tarda en llenarse desde vacío?"

Itera y refina

Primera pregunta: "Explícame la fotosíntesis."

Refinamiento: "Gracias por la explicación básica. Ahora, ¿podrías profundizar en la fase oscura de la fotosíntesis y explicar el ciclo de Calvin en detalle?"

Usa técnicas de prompting avanzadas

Especifica el rol: "Actúa como un profesor de historia especializado en la Edad Media. Explica las causas de la caída del Imperio Romano de Occidente para un estudiante de secundaria."

Da ejemplos: "Quiero que me ayudes a escribir correos electrónicos profesionales pero cordiales. Aquí hay un ejemplo del tono que busco: 'Estimado Sr. Rodríguez, Espero que este mensaje le encuentre bien. Me dirijo a usted para...' Por favor, escribe un correo solicitando una reunión con un cliente potencial."

Establece un formato: "Elabora un plan de marketing para una cafetería local. Estructura tu respuesta en estas secciones: 1) Análisis de situación, 2) Público objetivo, 3) Estrategias de marketing, 4) Presupuesto, 5) Métricas de éxito."

Usa plantillas: "Estoy escribiendo un artículo científico. Proporciona una plantilla para la sección de metodología con marcadores de posición para: propósito del estudio, participantes, materiales, procedimientos y análisis de datos."

Técnicas de Ingeniería de Prompts

Técnicas de Prompt Único

Zero-Shot

Esta técnica consiste en pedirle al modelo de lenguaje que realice una tarea sin proporcionarle ejemplos previos. El modelo debe usar su entrenamiento general para generar una respuesta adecuada. Por ejemplo, pedirle "Explica qué es la fotosíntesis" sin mostrarle cómo debería ser la explicación.

Few-Shot

Se proporcionan algunos ejemplos al modelo para guiar el formato y estilo de respuesta deseados. Estos ejemplos ayudan al modelo a entender exactamente qué tipo de salida se espera. Por ejemplo, mostrarle algunos pares de preguntas-respuestas antes de hacerle una nueva pregunta.

Chain-of-Thought

Esta técnica solicita al modelo que muestre su razonamiento paso a paso, en lugar de dar solo la respuesta final. Esto es especialmente útil para tareas complejas como problemas matemáticos o de razonamiento lógico, pues permite verificar cada etapa del proceso de pensamiento.

Program-Aided Language

Implica pedir que las explicaciones o soluciones se presenten en forma de código de programación. Esto puede mejorar la precisión en tareas técnicas y hace que las soluciones sean ejecutables o verificables de manera programática.

Técnicas de Prompts Múltiples

Generated Knowledge

Con esta técnica, primero se le pide al modelo que genere información o conocimiento relevante sobre un tema, y luego se utiliza ese conocimiento para responder preguntas específicas. Esto ayuda a crear una base informativa antes de profundizar en detalles.

Directional Stimulus

Se genera primero una serie de pistas o indicaciones que orientan al modelo hacia una determinada dirección de pensamiento. Estas pistas actúan como andamios para construir respuestas más elaboradas posteriormente.

Prompt Chaining

Consiste en dividir una tarea compleja en subtareas más pequeñas y manejables, abordándolas secuencialmente. Cada respuesta a una subtarea se utiliza como entrada para la siguiente, creando una cadena de prompts interconectados.

Least-to-Most

Se solicita primero que el modelo divida un problema complejo en subtareas, ordenándolas de la más simple a la más compleja, y luego se resuelven en ese orden. Esto facilita abordar problemas difíciles mediante un enfoque gradual.

Self-Consistency

Técnica que implica generar múltiples soluciones independientes para el mismo problema y luego seleccionar la respuesta más común o consistente (como un sistema de "votación"). Esto ayuda a reducir errores y aumentar la confiabilidad.

Tree of Thoughts

Se generan múltiples líneas de pensamiento o ideas, cada una explorando diferentes enfoques o soluciones. Además, se incluye un mecanismo de auto-verificación para evaluar cada rama del "árbol de pensamientos" y determinar cuál es la más prometedora.

LLM con herramientas externas

RAG (Retrieval-Augmented Generation)

Combina el modelo de lenguaje con una base de datos externa o sistema de recuperación de información. El modelo puede consultar esta fuente externa para obtener datos precisos y actualizados que complementen su conocimiento incorporado.

ReAct

Permite al modelo utilizar herramientas externas como motores de búsqueda, calculadoras o APIs durante su proceso de razonamiento. El modelo alterna entre razonar sobre un problema y actuar para obtener información adicional utilizando estas herramientas.

Reflexion

Técnica que incorpora un ciclo de retroalimentación donde el modelo evalúa sus propias respuestas, recibe feedback (del usuario o autogenerado) y mejora iterativamente sus resultados. Esto crea un proceso reflexivo similar al pensamiento crítico humano.

Cada una de estas técnicas ofrece diferentes ventajas dependiendo del tipo de tarea y la complejidad del problema que se está abordando, permitiendo optimizar la interacción con modelos de lenguaje para obtener resultados más precisos, detallados y útiles.

Errores comunes de los modelos de lenguaje (LLMs)

  1. Alucinaciones: Generación de información falsa pero presentada con confianza, especialmente al tratar temas poco representados en los datos de entrenamiento.

  2. Razonamiento matemático deficiente: Dificultad para realizar cálculos complejos o aplicar fórmulas correctamente en problemas multietapa.

  3. Sesgos incorporados: Reproducción de prejuicios sociales, culturales, políticos o históricos presentes en los datos de entrenamiento.

  4. Problemas de actualidad: Imposibilidad de conocer eventos posteriores a su fecha de corte de entrenamiento.

  5. Dificultad con contextos extensos: Pérdida de información mencionada al principio de conversaciones largas.

  6. Inconsistencia lógica: Contradicciones internas en respuestas largas o a través de múltiples intercambios.

  7. Sobregeneralización: Aplicación incorrecta de patrones generales a casos específicos que requieren matices.

  8. Confabulación de fuentes: Invención de citas, referencias o fuentes que no existen.

  9. Comprensión limitada de relaciones causales: Dificultad para distinguir correlación de causalidad.

  10. Dificultad con sarcasmo e ironía: Interpretación literal de expresiones que requieren entender intenciones subyacentes.

  11. Errores de codificación: Generación de código con bugs o vulnerabilidades, especialmente en programas complejos.

  12. Problemas con razonamiento contrafactual: Dificultad para evaluar escenarios hipotéticos alejados de la realidad.

  13. Confusión en preguntas ambiguas: Tendencia a asumir una interpretación sin aclarar la ambigüedad.

  14. Errores en formatos estructurados: Problemas al mantener estructuras específicas como tablas complejas o formatos técnicos.

  15. Limitaciones en comprensión multimodal: Dificultad para integrar completamente texto con información visual o numérica en algunos modelos.