Planificación Clásica con Heurísticas Generadas por LLM: Desafiando el Estado del Arte con Código en Python
Classical Planning with LLM-Generated Heuristics: Challenging the State of the Art with Python Code
March 24, 2025
Autores: Augusto B. Corrêa, André G. Pereira, Jendrik Seipp
cs.AI
Resumen
En los últimos años, los modelos de lenguaje de gran escala (LLMs, por sus siglas en inglés) han demostrado capacidades notables en diversos problemas de inteligencia artificial. Sin embargo, no logran planificar de manera confiable, incluso cuando se les proporciona una definición detallada de la tarea de planificación. Intentos por mejorar sus capacidades de planificación, como el prompting de cadena de pensamiento, el ajuste fino y el "razonamiento" explícito, aún producen planes incorrectos y generalmente no logran generalizarse a tareas más grandes. En este artículo, mostramos cómo utilizar LLMs para generar planes correctos, incluso para tareas fuera de distribución de tamaño creciente. Para un dominio de planificación dado, solicitamos a un LLM que genere varias funciones heurísticas dependientes del dominio en forma de código Python, las evaluamos en un conjunto de tareas de entrenamiento dentro de una búsqueda voraz del mejor primero, y seleccionamos la más robusta. Las heurísticas generadas por el LLM resuelven muchas más tareas de prueba no vistas que las heurísticas independientes del dominio de última generación para la planificación clásica. Incluso son competitivas con el algoritmo de aprendizaje más fuerte para la planificación dependiente del dominio. Estos hallazgos son especialmente notables dado que nuestra implementación de prueba de concepto se basa en un planificador Python no optimizado y las comparaciones se construyen sobre código C++ altamente optimizado. En algunos dominios, las heurísticas generadas por el LLM expanden menos estados que las comparaciones, revelando que no solo son computacionalmente eficientes, sino que a veces incluso más informativas que las heurísticas de última generación. En general, nuestros resultados muestran que muestrear un conjunto de programas de funciones heurísticas de planificación puede mejorar significativamente las capacidades de planificación de los LLMs.
English
In recent years, large language models (LLMs) have shown remarkable
capabilities in various artificial intelligence problems. However, they fail to
plan reliably, even when prompted with a detailed definition of the planning
task. Attempts to improve their planning capabilities, such as chain-of-thought
prompting, fine-tuning, and explicit "reasoning" still yield incorrect plans
and usually fail to generalize to larger tasks. In this paper, we show how to
use LLMs to generate correct plans, even for out-of-distribution tasks of
increasing size. For a given planning domain, we ask an LLM to generate several
domain-dependent heuristic functions in the form of Python code, evaluate them
on a set of training tasks within a greedy best-first search, and choose the
strongest one. The resulting LLM-generated heuristics solve many more unseen
test tasks than state-of-the-art domain-independent heuristics for classical
planning. They are even competitive with the strongest learning algorithm for
domain-dependent planning. These findings are especially remarkable given that
our proof-of-concept implementation is based on an unoptimized Python planner
and the baselines all build upon highly optimized C++ code. In some domains,
the LLM-generated heuristics expand fewer states than the baselines, revealing
that they are not only efficiently computable, but sometimes even more
informative than the state-of-the-art heuristics. Overall, our results show
that sampling a set of planning heuristic function programs can significantly
improve the planning capabilities of LLMs.Summary
AI-Generated Summary