Argumento central: hay que salir del LLM lo más rápido posible y no permanecer ahí mucho tiempo
- No se debe encargar al LLM la toma de decisiones ni la lógica de negocio → carece de precisión y estabilidad suficientes
- En la mayoría de los casos, el LLM solo debería actuar como la interfaz entre el usuario y la API de la aplicación
- La lógica central debe ejecutarse en sistemas o motores dedicados, y el LLM solo debe encargarse de convertir la solicitud del usuario en una llamada a la API y luego volver a convertir el resultado en lenguaje natural
¿Por qué?
-
Ejemplo de un bot de ajedrez: un usuario envía por WhatsApp "captura al caballo con mi alfil" → el LLM podría mantener el estado del tablero y también jugar, pero habría muchos problemas en términos de confiabilidad, rendimiento y mantenimiento
-
Rendimiento: aunque la capacidad de un LLM para jugar ajedrez es sorprendente, sigue siendo más lento y menos preciso que un motor de ajedrez especializado (por ejemplo, Stockfish)
-
No se puede depurar ni ajustar: como es difícil saber por qué tomó esa decisión, también es difícil corregirlo para que funcione de la manera prevista
-
Otros problemas:
- La salida de un LLM es difícil de probar
- Tiene bajo rendimiento en matemáticas o generación de números aleatorios
- El control de versiones y la auditoría son difíciles
- Mantener el estado en lenguaje natural es frágil
- Surgen problemas como tarifas de API y límites de velocidad
- Los límites de seguridad se vuelven difusos
La separación correcta de funciones vista con varios ejemplos
- En un juego, "quiero atacar al jugador X con la espada vorpal" → el LLM solo debería convertir esto a una forma como
attack(player=X, weapon="vorpal_sword")y pasarlo a la lógica del juego - Agente de negociación → el LLM no toma decisiones de negociación; solo empaqueta la entrada del usuario, la pasa al motor de negociación y entrega el resultado
- Generación de respuestas aleatorias → no debería elegir el LLM, sino que debe manejarse con una función aleatoria externa
En qué son buenos los LLM
- Los LLM se especializan en transformación, interpretación y comunicación
- Ejemplos:
- "golpear al orco con una espada" → convertirlo a
attack(target="orc", weapon="sword") { "error": "insufficient_funds" }→ explicarlo de forma natural como "No tienes suficiente oro"- Pueden clasificar si la entrada del usuario es un comando de combate, una consulta de inventario o una solicitud de ayuda
- Entienden bien conceptos humanos (por ejemplo, blade = sword, smash = attack)
- "golpear al orco con una espada" → convertirlo a
- La clave es que no se encargan de juicios complejos ni de la gestión del estado → solo actúan como un puente que conecta la intención del usuario con el sistema
Perspectivas futuras y principios que siguen vigentes
- La tecnología está avanzando rápidamente, así que lo que hoy es imposible pronto podría ser posible
- Sin embargo, es muy probable que sigan existiendo problemas estructurales que un LLM no puede resolver:
- La lógica que no usa LLM es más fácil de entender y más sencilla de mantener y versionar
- El costo de ejecución también es más bajo
- Incluso en el futuro, los LLM deberían concentrarse en el papel de interfaz, y la lógica central debería dejarse a sistemas dedicados
1 comentarios
Opinión de Hacker News
Hay dos tipos de lógica
El tipo 1 corresponde a áreas como seguridad, finanzas y matemáticas
Es muy probable que la IA sustituya el tipo 2
Distintas partes de una misma aplicación pueden ser adecuadas para el tipo 1 o el tipo 2
Hace poco, en un hackatón, creó un juego educativo
Un LLM no debería implementar la lógica
Es difícil entender las capacidades de los LLM
Si necesitas que las respuestas del LLM sean rápidas y baratas, debes usar prompts cortos y modelos pequeños
Es difícil hacer pruebas solo con LLM
Usar LLM para la lógica de negocio es riesgoso
Se pueden usar imágenes generadas por IA para resumir artículos