Necesitamos inventar nuevos lenguajes de programación para interactuar con LLMs
A medida que presenciamos un crecimiento exponencial en las capacidades de los Modelos de Lenguaje de Gran Escala (#LLMs), la ingeniería de prompts está emergiendo como una nueva habilidad para aprender y comprender. Aunque la ingeniería de prompts puede parecer simple al principio, gracias a las capacidades de aprendizaje de cero disparos (zero-shot learning), pasar de casos de uso exploratorios a aplicaciones a nivel de producción revela la verdadera complejidad de encontrar prompts óptimos.
El texto plano es simple, pero no escala bien
Los LLMs sobresalen en una tarea aparentemente simple: predecir la siguiente palabra. Esto los hace increíblemente versátiles y alimenta la creencia de que hemos cruzado el umbral hacia la Inteligencia Artificial General (AGI). Sin embargo, el texto plano como modo de interacción presenta desafíos significativos cuando se aplica a problemas del mundo real:
- Ambigüedad: Los prompts vagos o imprecisos pueden generar respuestas ambiguas, complicando la interpretación de datos.
- Inestabilidad estructural: Muchas aplicaciones requieren respuestas consistentes y bien definidas, lo que dificulta formular prompts que siempre provoquen un simple “sí” o “no”.
- Sensibilidad al contexto: Los prompts a menudo necesitan considerar factores contextuales, añadiendo una capa de complejidad al diseño.
- Falta de respuestas coherentes: Las limitaciones inherentes de interpretar texto plano pueden llevar a inestabilidad en las respuestas, a veces resultando en una salida que no es coherente o confiable para la aplicación prevista.

- Preocupaciones de seguridad y éticas: Debido a que los LLMs operan como “cajas negras”, cualquier información sensible o confidencial incluida en un prompt está en riesgo de ser procesada y generada sin las salvaguardas de seguridad apropiadas.
Las técnicas avanzadas de prompts implementan algoritmos
Las técnicas avanzadas de prompts ya no se limitan a tareas simples. Estos métodos modernos utilizan algoritmos de razonamiento complejos que operan sobre LLMs para obtener respuestas más matizadas y contextualmente conscientes. Ejemplos de tales técnicas incluyen Chain-of-Thought (Cadena de Pensamiento), Chain-of-Density (Cadena de Densidad) y Prompt Breeder (Criador de Prompts), que aprovechan algoritmos de búsqueda heurística para optimizar la capacidad del modelo para automejorarse.

El desarrollo de estas técnicas ha llevado a un cambio significativo de paradigma: de simplemente solicitar información o acciones a orquestar vías de razonamiento complejas dentro del modelo. Esto mejora la utilidad y efectividad de los LLMs, haciéndolos más versátiles para una gama más amplia de aplicaciones sofisticadas del mundo real.
Estos avances utilizan algoritmos de búsqueda heurística para mejorar los modelos, reduciendo el tiempo necesario para el ajuste fino e incrementando las posibilidades para aplicaciones más complejas. Sin embargo, expresar estos algoritmos complejos en lenguaje de texto plano es desafiante. Aquí es donde surge la necesidad de nuevas formas de interactuar con ellos.
La necesidad de lenguajes especializados
Un lenguaje de programación especializado diseñado para interactuar con LLMs puede proporcionar capacidades integradas para abordar estos desafíos, facilitando la extracción de valor máximo de estos modelos para una nueva generación de desarrolladores. Por ejemplo, los algoritmos de búsqueda heurística integrados podrían optimizar automáticamente la selección de prompts, mientras que el análisis semántico incorporado podría mejorar la precisión de construcción de prompts. Esto no solo simplificaría el proceso de desarrollo, sino que también crearía oportunidades para utilizar LLMs en escenarios más complejos del mundo real. La creación de estos lenguajes es crucial para mantenerse al día con la rápida evolución de la tecnología LLM, facilitando aplicaciones más eficientes y efectivas en diferentes dominios.
Algunas de las ideas clave que un nuevo lenguaje puede cubrir son:
- Generación de prompts específicos de dominio: Esta función permite al lenguaje crear prompts personalizados para industrias o aplicaciones particulares, como salud o finanzas. Por ejemplo, en salud, el lenguaje puede generar prompts que se adhieran a la terminología médica y las pautas regulatorias.
- Funciones de búsqueda heurística: Los algoritmos de búsqueda integrados pueden mejorar la selección de prompts basados en objetivos específicos. Por ejemplo, una búsqueda heurística podría identificar automáticamente el prompt más eficiente para generar diagnósticos médicos concisos y precisos.
- Adaptabilidad en tiempo real se refiere a la capacidad del lenguaje para ajustar estrategias de prompts dinámicamente basadas en las respuestas del modelo o condiciones cambiantes. Por ejemplo, si un chatbot no está proporcionando respuestas satisfactorias de soporte al cliente, la adaptabilidad en tiempo real podría ajustar parámetros de prompt sobre la marcha.
- También se pueden implementar mecanismos de auto-optimización. El sistema puede presentar algoritmos que mejoren y avancen consistentemente las estrategias de prompt a través de métricas de rendimiento. Como ejemplo, un mecanismo de auto-optimización puede analizar interacciones pasadas para anticipar mejor las tendencias del mercado de valores.
- Se establecen reglas de sintaxis estandarizadas para asegurar que todos los desarrolladores sigan el mismo conjunto de instrucciones, disminuyendo la posibilidad de errores o malentendidos. Por ejemplo, el lenguaje puede requerir el uso de palabras clave específicas para indicar el formato de salida deseado, como “RESUME:” o “ANALIZA:”.
- Los mecanismos de experiencia de usuario podrían incluir características como autocompletado para la construcción de prompts o mensajes de error inteligentes que ayuden a los desarrolladores a depurar problemas más eficientemente. Por ejemplo, si un prompt es demasiado ambiguo, el lenguaje podría proponer formas de hacerlo más concreto.
- Se deben implementar protecciones de seguridad como validación de entrada y transmisión encriptada de prompts, para salvaguardar información sensible. Por ejemplo, cualquier información personalmente identificable (PII) ingresada en el prompt podría ser automáticamente encriptada y procesada siguiendo reglas de seguridad bien definidas.
¿Cómo podrían ser estos lenguajes?
Como ejercicio teórico, podemos imaginar cómo se podría estructurar un lenguaje como este para interactuar con Modelos de Lenguaje de Gran Escala para tareas complejas.
Por ejemplo, si basamos nuestro lenguaje en YAML, podemos escribir un ejemplo como este:

El ejemplo anterior tiene muchas características avanzadas, como información sobre la tarea, análisis de fuentes de datos, optimización de búsquedas heurísticas, medidas de seguridad y mejoras en la experiencia del usuario. El script muestra cómo un lenguaje específico puede simplificar el uso de LLMs para aplicaciones complejas.
Conclusiones
A medida que avanzamos, se está volviendo más evidente que los Modelos de Lenguaje de Gran Escala (LLMs) actuarán como los sistemas operativos del futuro. Su capacidad para comprender, explicar y producir texto que se asemeja al comportamiento humano los convertirá en la puerta de entrada a una multitud de tecnologías y servicios. Sin embargo, para desatar esta capacidad, necesitamos proporcionar interfaces de usuario que permitan una interacción instintiva y eficiente. Si no creamos interfaces adecuadas y vías de razonamiento para los LLMs, serán subutilizados, al igual que un sistema operativo necesita una forma de interacción fácil de usar y confiable para ser útil.
Los Modelos de Lenguaje de Gran Escala (LLMs) serán los sistemas operativos del futuro.
Por lo tanto, para lograr la próxima generación de interacción humano-computadora, diseñar lenguajes de programación especializados para LLMs no es solo un desafío tecnológico, sino también una necesidad. Estamos al borde de una nueva era donde nuestra comunicación con las máquinas será tan sofisticada como la interacción humana. Lenguajes como el hipotético PromptLang y frameworks como Langchain son pasos cruciales hacia este futuro. Al simplificar el desarrollo de prompts estructurados y guiar las vías de razonamiento de estos modelos, creamos las condiciones necesarias para que los LLMs realmente se conviertan en los sistemas operativos del mañana.