Graph of Thoughts (ES)
Graph-of-Thoughts (GoT) es un concepto en el campo del trabajo con modelos de lenguaje grandes (LLM, por sus siglas en inglés, Large Language Models) que propone representar el proceso de razonamiento del modelo como un grafo arbitrario de «pensamientos» interconectados (pasos intermedios de la solución)[1]. Este enfoque fue propuesto por un grupo de investigadores liderado por Maciej Besta de la ETH Zúrich y publicado en 2024 en la conferencia AAAI[2]. El objetivo de Graph-of-Thoughts es ampliar las capacidades de la ingeniería de prompts (prompt engineering) más allá de los esquemas existentes, como Chain-of-Thought (cadena de pensamientos) y Tree-of-Thoughts (árbol de pensamientos)[1]. A diferencia de ellos, el enfoque GoT permite que cualquier fragmento de razonamiento generado por el modelo (un pensamiento) se refiera a cualquier otro, formando una red de ideas en lugar de una estructura estrictamente lineal o arbórea[3]. Esto, según afirman los autores, refleja con mayor precisión la naturaleza compleja y no lineal del pensamiento humano y potencialmente acerca el mecanismo de razonamiento de los LLM al funcionamiento del cerebro humano (con sus conexiones neuronales recurrentes)[1][1].
Graph-of-Thoughts es un marco de trabajo para la formulación de prompts (prompting framework), lo que significa que no requiere entrenamiento adicional ni ajuste fino (fine-tuning) del propio modelo. En su lugar, organiza el diálogo con el LLM de una manera particular, guiando al modelo a través de una serie de pasos o «pensamientos» conectados en una estructura de grafo[1]. Dicha estructura permite combinar y reutilizar diferentes ramas de razonamiento: por ejemplo, el modelo puede considerar varias hipótesis o partes de un problema en paralelo y luego combinar las más exitosas en una única solución[1]. En un estilo enciclopédico, Graph-of-Thoughts puede definirse como una generalización de las estrategias de razonamiento estructurado anteriores con LLM, que proporciona la máxima flexibilidad en la organización de los procesos de pensamiento dentro de una única consulta compleja[1].
Antecedentes: Chain-of-Thought y Tree-of-Thoughts
El método Graph-of-Thoughts surgió de enfoques anteriores que utilizan una estructura de razonamiento explícita al trabajar con modelos de lenguaje. El enfoque fundamental es Chain-of-Thought (CoT), o «cadena de pensamientos». En el método CoT, se sugiere al usuario que incluya en la consulta al modelo no solo el enunciado del problema, sino también los pasos intermedios de razonamiento que conducen a la respuesta[1]. Las investigaciones han demostrado que esta forma de presentar la información mejora significativamente la capacidad de los LLM para resolver problemas complejos, como acertijos matemáticos o lógicos, sin modificar los parámetros del propio modelo[1]. En esencia, CoT anima al modelo a descomponer un problema complejo en etapas más simples, imitando un proceso de pensamiento secuencial.
Una evolución de esta idea es la técnica de Self-Consistency: en lugar de una única cadena de pensamientos, se generan varias cadenas independientes, y luego se elige la más convincente entre ellas[1]. Esto permite al modelo considerar diferentes enfoques para la solución y reduce el riesgo de obtener una respuesta errónea al seguir una única línea de razonamiento incorrecta. Sin embargo, incluso múltiples cadenas CoT no permiten «combinar ideas»: cada cadena se considera de forma aislada, y el modelo simplemente selecciona la mejor, sin combinar su contenido.
Para superar esta limitación, se propuso el esquema Tree-of-Thoughts (ToT), o «árbol de pensamientos»[1]. En ToT, el proceso de razonamiento se organiza como un árbol: en cada punto, el modelo puede generar varias variantes para el desarrollo del pensamiento (ramificaciones), tras lo cual se evalúan estos estados intermedios y se seleccionan los más prometedores para una mayor profundización[1]. Utilizando la búsqueda en árbol (por ejemplo, búsqueda en anchura — BFS, o búsqueda en profundidad — DFS) y la posibilidad de retroceder a nodos anteriores para desarrollar otra rama, Tree-of-Thoughts proporciona al modelo de lenguaje un mecanismo más potente para resolver problemas complejos que el CoT lineal[1]. Surgen nuevas capacidades, como el retroceso y la revisión: si una rama conduce a un callejón sin salida, es posible volver al nodo anterior y probar un camino diferente[1]. Esta metodología ha demostrado su eficacia en la resolución de problemas lógicos y de búsqueda, donde la exploración de opciones y la planificación juegan un papel importante.
Sin embargo, el árbol de pensamientos también impone restricciones estrictas: cada pensamiento (nodo del árbol) pertenece a una sola rama, la interacción ocurre solo entre nodos padre e hijo, y las diferentes ramas no pueden fusionarse ni intercambiar información[3]. En otras palabras, el intercambio de ideas (cross-pollination) entre diferentes hipótesis dentro de una misma solución es difícil: las ramas del árbol se desarrollan de forma independiente y solo se unen en la raíz cuando se elige la mejor cadena de razonamiento[3]. En el pensamiento creativo o analítico real, una persona a menudo vuelve a una idea considerada previamente y la combina con otra rama de razonamiento. Este entrelazamiento de pensamientos va más allá de la estructura de un árbol[1].
Estas observaciones llevaron a los investigadores a la idea de una estructura más flexible: un grafo, donde las conexiones entre pensamientos no están restringidas y pueden formar una red compleja. Como se señala en una revisión analítica de 2024, la aparición de cadenas, árboles y grafos de pensamientos refleja el surgimiento de una nueva clase de métodos capaces de mejorar significativamente las capacidades de los LLM mediante la estructuración explícita del proceso de razonamiento[4]. En particular, los prompts estructurados han permitido mejorar notablemente los resultados de los LLM en muchas áreas, desde la resolución de problemas matemáticos y acertijos lógicos hasta la planificación e incluso la escritura creativa[4]. En este contexto general, surgió el esquema Graph-of-Thoughts como el siguiente paso en la evolución de los métodos de prompting estructurado.
Concepto de Graph-of-Thoughts: la estructura de grafo de los pensamientos
Graph-of-Thoughts propone representar el proceso de resolución de tareas de un modelo de lenguaje como un grafo dirigido arbitrario. Formalmente, un grafo de pensamientos en GoT es un conjunto de vértices (pensamientos) y aristas (dependencias entre pensamientos)[1]. Un vértice del grafo es un pensamiento del modelo individual; este término se refiere a cualquier unidad de contenido significativa que dependa del contexto del problema: puede ser una afirmación, un paso de la solución, un fragmento de texto, un párrafo, un bloque de código, etc., generado por el modelo en respuesta a una consulta[1][1]. Una arista entre vértices significa que un pensamiento se utilizó para generar otro, es decir, en el prompt se indica explícitamente que el modelo debe basarse en un resultado anterior específico para generar uno nuevo[1]. De esta manera, las aristas registran las dependencias: de qué datos obtenidos previamente depende el paso de razonamiento actual.
La diferencia más importante de GoT con respecto a estructuras más simples es la posibilidad de agregación y fusión de pensamientos. En un grafo, se permite que un vértice (un nuevo pensamiento) tenga múltiples predecesores[1]. Esto corresponde a una situación en la que dos o más cadenas de razonamiento separadas se combinan: el modelo recibe como entrada varios fragmentos generados previamente y, basándose en ellos, formula una salida sintetizada[1]. Por ejemplo, al resolver un problema, el modelo puede considerar dos hipótesis en paralelo y luego crear un nuevo pensamiento que combine los aspectos positivos de ambas y elimine sus inconvenientes[1][1]. Tales operaciones de agregación eran imposibles dentro de un esquema arbóreo (donde cada nodo tiene un solo padre), pero se implementan de forma natural en uno de grafo[1]. Además de la fusión de ideas, el grafo también permite introducir bucles de retroalimentación (feedback loops): en principio, la estructura de GoT no prohíbe los ciclos, lo que significa que el modelo puede devolver un resultado a una etapa anterior del razonamiento para su reprocesamiento o refinamiento[1]. Los autores relacionan esto con la analogía de las conexiones recurrentes en las redes neuronales del cerebro, donde la salida de un grupo de neuronas puede influir de nuevo en las capas anteriores, formando circuitos cerrados de reflexión[1].
En la práctica, la implementación de Graph-of-Thoughts requiere una organización especial del diálogo con el modelo. Los investigadores han desarrollado un marco arquitectónico modular para GoT[1]. En él se distinguen componentes para: (1) un control preciso sobre los pasos individuales (pensamientos), donde un «controlador» gestiona el orden y la lógica de la generación de pensamientos; (2) la formación dinámica de prompts, donde un módulo especial genera un prompt para cada paso basándose en el contexto actual y los vértices del grafo seleccionados (predecesores); y (3) el análisis sintáctico y la evaluación de las respuestas del modelo, donde los fragmentos obtenidos del LLM se analizan y evalúan en función de su calidad, utilidad o conformidad con los criterios del problema[5]. La arquitectura de GoT permite así construir el grafo de razonamiento de forma interactiva: después de cada paso, se toma una decisión sobre qué nuevos vértices añadir, cómo conectarlos con los anteriores, y qué ramas continuar o unir. Gracias a su modularidad, este marco de trabajo puede ampliarse con nuevos tipos de «transformaciones de pensamientos» (por ejemplo, operaciones especiales con el grafo) y adaptarse a diferentes modelos (los autores probaron con éxito GoT con LLMs de las familias GPT-3.5, GPT-4, LLAMA 2, entre otros)[1]. Una propiedad importante es que GoT no requiere modificar los parámetros del propio modelo de lenguaje; todas las mejoras se logran mediante una construcción más inteligente de las consultas y el procesamiento de las respuestas[1]. Esto significa que los potentes LLM existentes pueden utilizarse «tal cual», y Graph-of-Thoughts actúa como una capa superior que gestiona su funcionamiento.
Cabe señalar que el término Graph-of-Thought también apareció en otro desarrollo independiente, distinto del enfoque de Besta y sus colegas. En 2023, Yao Yao y coautores propusieron una metodología para mejorar el razonamiento en los LLM mediante un módulo adicional codificador de un grafo de pensamientos, lo que requería un reentrenamiento (fine-tuning) del modelo[6]. Su trabajo, titulado «Beyond Chain-of-Thought, Effective Graph-of-Thought Reasoning in Language Models», describe una arquitectura de dos etapas: primero se genera un grafo de afirmaciones intermedias interconectadas, que luego es procesado por un codificador especial e integrado en el modelo a través de un mecanismo de fusión controlada (gated fusion)[6]. Este enfoque híbrido con entrenamiento demostró un cierto aumento de la precisión en tareas como el conjunto de preguntas multimodales ScienceQA, donde la precisión aumentó del 85,2% al 87,6% utilizando el modelo T5-base[6]. Sin embargo, este enfoque, aunque similar en nombre, es fundamentalmente diferente: requiere modificar el modelo (fine-tuning) y no es un esquema de ingeniería de prompts. Los autores del enfoque GoT original (AAAI 2024) señalan explícitamente que no consideran en su trabajo el modelo de Yao et al., ya que se centran específicamente en métodos que no requieren la actualización de los parámetros del LLM[1]. Por lo tanto, Graph-of-Thoughts en el contexto de esta revisión es precisamente un marco de trabajo a nivel de prompts, y no una modificación de la arquitectura de la red neuronal.
Aplicación y resultados
Los autores de GoT demostraron sus ventajas en una serie de tareas que son difíciles de resolver con un simple prompt de entrada y salida (input-output prompting) o incluso con una cadena de pensamientos. Una característica distintiva de estas tareas es que pueden descomponerse en varias partes (subtareas), resolver estas partes por separado y luego sintetizar la respuesta completa a partir de los resultados parciales[1]. Entre los ejemplos examinados se encuentran: la ordenación de una lista desordenada, el recuento de palabras clave en un texto (por ejemplo, para resumir un documento), la realización de operaciones con conjuntos (unión, intersección de listas, etc.), así como la fusión de documentos de texto (combinación de información de varias fuentes)[1]. En todos estos casos, Graph-of-Thoughts permite descomponer el problema de forma natural. Por ejemplo, para la ordenación, la lista se divide en partes, cada parte se ordena por separado como una rama de pensamiento independiente, y luego los resultados se combinan (imitando un algoritmo como el de ordenación por mezcla o merge sort); o en el análisis de textos, el modelo puede extraer información de diferentes documentos en paralelo y luego consolidarla.
Los resultados experimentales confirman la eficacia del esquema GoT. Según el informe de Besta y sus colegas, en la tarea de ordenación, el grafo de pensamientos permitió aumentar significativamente la calidad de la solución en comparación con los enfoques anteriores[1]. Así, la precisión en la ordenación utilizando GoT fue un 70% mayor que con una simple cadena de pensamientos (CoT), y un 62% mayor que con un árbol de pensamientos (ToT)[1]. Al mismo tiempo, el método reduce el coste de los recursos computacionales: el número de llamadas al modelo (y, en consecuencia, el volumen de tokens de las consultas) se redujo en un 31% en comparación con Tree-of-Thoughts para la misma tarea[1]. Esto significa que la organización del razonamiento en forma de grafo no solo mejoró el resultado final, sino que también hizo la solución más económica, evitando cálculos redundantes gracias a una combinación inteligente de las conclusiones intermedias. Se obtuvieron ganancias similares en otras tareas de prueba, especialmente en aquellas que requieren agregar información heterogénea. Los investigadores señalan que GoT es más eficaz precisamente para tareas compuestas, que constan de varios elementos: «Graph-of-Thoughts es especialmente adecuado para tareas que se descomponen naturalmente en subtareas más pequeñas que se resuelven por separado y cuyos resultados se combinan posteriormente»[1]. En tales casos, el grafo de pensamientos es capaz de abarcar todos los aspectos del problema y sintetizar una solución más completa que cuando se sigue una única línea de razonamiento.
Para una comprensión más profunda de por qué un método de construcción de prompts es mejor que otro, en un trabajo de 2024 se propuso una métrica especial: el «volumen de un pensamiento» (volume of a thought)[1]. El volumen se define para cada pensamiento individual (vértice del grafo) como el número de otros pensamientos desde los cuales se puede alcanzar el pensamiento actual a través de las aristas dirigidas (en términos simples, a cuántos pasos intermedios debe su información)[1]. En Chain-of-Thought, cualquier pensamiento se basa en un solo predecesor, por lo que su volumen es 1 (cadena lineal). En un árbol de pensamientos, el volumen puede ser mayor, pero sigue estando limitado por la estructura de una rama individual. En un grafo, gracias a la agregación, un solo vértice puede acumular la contribución de muchos otros, y su «volumen» es significativamente mayor[1]. Se ha demostrado que GoT permite que las conclusiones finales se basen en un volumen considerablemente mayor de pensamientos precedentes, unificando su contenido. Este hecho refleja una cobertura más profunda del espacio de soluciones y sirve como una explicación cuantitativa de las ventajas del razonamiento basado en grafos sobre esquemas más simples.
Comparación e importancia
Graph-of-Thoughts representa actualmente la forma más generalizada de prompting estructurado para LLM. En las tablas comparativas de diferentes esquemas (CoT, CoT con autoconsistencia, ToT y GoT), se destaca que solo GoT admite una topología arbitraria del proceso de pensamiento[1]. Incluye las capacidades de todos los enfoques anteriores: puede funcionar como una única cadena, como un árbol con ramificaciones, o como una combinación de múltiples cadenas si es adecuado para resolver el problema[1]. Lo principal es que no hay restricciones estrictas en la conexión entre los pasos, lo que teóricamente hace que el espacio de posibles estrategias de razonamiento sea lo más amplio posible[1].
Es importante entender que la flexibilidad de GoT conlleva una mayor complejidad en el control. La implementación de un grafo de pensamientos requiere un algoritmo orquestador externo que decida cuándo y qué pensamientos generar, cuáles seleccionar o combinar, y cuándo detener el proceso y dar una respuesta. En un simple CoT, no es necesario tomar tales decisiones; el modelo genera por sí mismo un razonamiento lineal hasta el final. En ToT, parte de la gestión recae en el algoritmo de búsqueda en árbol (por ejemplo, la elección del nodo a expandir). En GoT, el grado de libertad es mayor, y la eficacia del método depende de la calidad de las heurísticas que evalúan los resultados intermedios y de la correcta construcción de los prompts en cada paso[1]. Por lo tanto, Graph-of-Thoughts puede considerarse no solo como un formato de consulta, sino como una estructura de razonamiento superpuesta al proceso de interacción con un LLM, una especie de plan dinámico según el cual el modelo resuelve un problema mientras el usuario (o un programa controlador) guía este proceso.
La aparición de Graph-of-Thoughts refleja la aspiración de hacer que el funcionamiento de los grandes modelos de lenguaje sea más interpretable y controlable. Al definir explícitamente la estructura de la solución, los investigadores no solo logran una mejor calidad, sino que también obtienen la capacidad de analizar cómo el modelo llegó a una u otra conclusión. Esto acerca los enfoques en PNL a los métodos clásicos de búsqueda algorítmica y planificación, pero ahora la ejecución de los pasos se delega a un modelo de red neuronal. Varios expertos consideran los prompts estructurados (cadenas, árboles, grafos de pensamientos) como una dirección prometedora, capaz de superar las limitaciones de la «caja negra» en los modelos profundos y aumentar la fiabilidad de su rendimiento en tareas complejas[4][4].
La metodología de Graph-of-Thoughts continúa desarrollándose activamente. Los autores han publicado el código y ejemplos para la implementación de GoT en acceso abierto[1], lo que ha permitido a la comunidad experimentar con este nuevo enfoque. También están surgiendo extensiones, como las versiones multimodales del grafo de pensamientos, que combinan texto con imágenes y otros tipos de datos[3][3], así como intentos de integrar las ideas de GoT directamente en la arquitectura de los modelos (como en el trabajo mencionado de Yao et al., 2023). En 2025 se publicó una detallada revisión y taxonomía de los métodos Chain-of-Thought, Tree-of-Thoughts y Graph-of-Thoughts, que sistematiza el conocimiento acumulado y describe los fundamentos teóricos de tales enfoques[4][4]. Todo esto indica un gran interés de la comunidad científica en la gestión estructurada del pensamiento de los LLM. Graph-of-Thoughts ya se ha consolidado como una herramienta eficaz para resolver problemas complejos y, probablemente, se convertirá en la base para futuras innovaciones en el campo de las soluciones de IA, combinando el poder de los grandes modelos de lenguaje con la transparencia y la lógica de los algoritmos clásicos.
Enlaces
- Artículo original «Graph of Thoughts: Solving Elaborate Problems with Large Language Models» en arXiv
- Versión en HTML del artículo original
- Revisión «Demystifying Chains, Trees, and Graphs of Thoughts» en arXiv
- Artículo «Beyond Chain-of-Thought, Effective Graph-of-Thought Reasoning in Language Models» en arXiv
- Multimodal Graph-of-Thoughts — artículo de Deepgram
- LLMs Graph of Thoughts Framework — artículo en Medium
Bibliografía
- Besta, M. et al. (2024). Graph of Thoughts: Solving Elaborate Problems with Large Language Models. arXiv:2308.09687.
- Yao, S. et al. (2023). Tree of Thoughts: Deliberate Problem Solving with Large Language Models. arXiv:2305.10601.
- Yao, Y. et al. (2023). Beyond Chain-of-Thought: Effective Graph-of-Thought Reasoning in Language Models. arXiv:2305.16582.
- Wei, J. et al. (2022). Chain of Thought Prompting Elicits Reasoning in Large Language Models. arXiv:2201.11903.
- Wang, X. et al. (2022). Self-Consistency Improves Chain of Thought Reasoning in Language Models. arXiv:2203.11171.
- Wei, J. et al. (2024). Demystifying Chains, Trees, and Graphs of Thoughts. arXiv:2401.14295.
- Huang, S. et al. (2023). Language Is Not All You Need: Aligning Perception with Language Models (Kosmos-1). arXiv:2302.14045.
- Mitra, C. et al. (2024). Compositional Chain-of-Thought Prompting for Large Multimodal Models. In CVPR 2024. PDF.
- Zheng, G. et al. (2023). DDCoT: Duty-Distinct Chain-of-Thought Prompting for Multimodal Reasoning in Language Models. arXiv:2310.16436.
- Mu, J. et al. (2023). Learning to Compress Prompts with Gist Tokens. arXiv:2304.08467.
Referencias
- ↑ 1.00 1.01 1.02 1.03 1.04 1.05 1.06 1.07 1.08 1.09 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.20 1.21 1.22 1.23 1.24 1.25 1.26 1.27 1.28 1.29 1.30 1.31 1.32 1.33 1.34 1.35 1.36 1.37 1.38 1.39 1.40 1.41 1.42 1.43 Besta, Maciej et al. «Graph of Thoughts: Solving Elaborate Problems with Large Language Models». ar5iv.labs.arxiv.org. [1]
- ↑ Besta, Maciej et al. «Graph of Thoughts: Solving Elaborate Problems with Large Language Models». arXiv. [2]
- ↑ 3.0 3.1 3.2 3.3 3.4 Grygiel, Jacek. «Multimodal Graph-of-Thoughts: How Text, Images, and Graphs Lead to Better Reasoning». Deepgram. [3]
- ↑ 4.0 4.1 4.2 4.3 4.4 4.5 Wei, Jason et al. «Demystifying Chains, Trees, and Graphs of Thoughts». arXiv. [4]
- ↑ Wo, Jacek. «LLMs Graph of Thoughts Framework. Case study». Medium. [5]
- ↑ 6.0 6.1 6.2 Yao, Yuqing et al. «Beyond Chain-of-Thought, Effective Graph-of-Thought Reasoning in Language Models». arXiv. [6]