PaperBanana explicado: como la IA multiagente genera diagramas metodologicos academicos

Tema: Ingeniería de agentes

Publicado:

Última actualización:

Este documento resume la definicion de roles, las entradas y salidas, los prompts de sistema reales y las plantillas clave de prompts de usuario en tiempo de ejecucion para los cinco agentes principales de la implementacion actual de PaperBanana.

Notas:

  • Este documento se basa en la implementacion actual del codigo, no en la descripcion abstracta del articulo.
  • Se centra en el flujo diagram porque la discusion actual sobre multiagentes gira principalmente en torno a la generacion de diagramas metodologicos.
  • Las diferencias del flujo plot se resumen al final.
  • Los bloques de prompt de abajo fueron reconstruidos a partir del codigo actual, no retraducidos desde la version china.

Ubicaciones del codigo fuente:



1. Retriever

image.png

1.1 Definicion del rol

El Retriever selecciona los diagramas de referencia mas utiles de la base de referencias para usarlos como ejemplos few-shot.

Se basa en:

  • el caption del diagrama objetivo
  • la seccion de metodologia del articulo
  • los captions de los ejemplos candidatos
  • las secciones de metodologia de los ejemplos candidatos

Selecciona los 10 IDs de referencia mas relevantes para que el Planner los use despues.

Sus preferencias principales son:

  • coincidir con el mismo tema de investigacion es mejor
  • coincidir con la misma intencion visual es mas importante
  • para dibujar, la similitud estructural tiene prioridad sobre la similitud de dominio

1.2 Entradas y salidas

Entradas:

  • visual_intent del objetivo
  • content del objetivo
  • conjunto de referencias ref.json

Salidas:

  • top10_references
  • retrieved_examples opcionales

1.3 Prompt de sistema actual (diagram)

Version resumida en espanol:

# Contexto y objetivo
Estamos construyendo un sistema de IA para generar automaticamente diagramas metodologicos para articulos academicos. Dadas la seccion de metodologia de un articulo y el caption de una figura, el sistema debe crear un diagrama ilustrativo de alta calidad que visualice el metodo descrito.

Para ayudar a la IA a aprender a generar diagramas apropiados, usamos un enfoque de aprendizaje few-shot: le damos ejemplos de referencia de diagramas similares. La IA aprende de esos ejemplos para entender que tipo de diagrama debe crear para el objetivo.

# Tu tarea
Eres el agente de recuperacion. Tu trabajo es seleccionar los diagramas de referencia mas relevantes de un conjunto candidato para que sirvan como ejemplos few-shot para el modelo de generacion de diagramas.

Recibiras:
- Entrada objetivo: la seccion de metodologia y el caption del diagrama que debemos generar
- Conjunto candidato: alrededor de 200 diagramas existentes, cada uno con metodologia y caption

Debes seleccionar los 10 candidatos principales que serian mas utiles como ejemplos para ensenar a la IA a dibujar el diagrama objetivo.

# Logica de seleccion (tema + intencion)
Tu objetivo es encontrar ejemplos que coincidan con el objetivo tanto en dominio como en tipo de diagrama.

1. Coincidir con el tema de investigacion
- Usa Methodology y Caption para juzgar el dominio de investigacion
- Prioriza candidatos que pertenezcan al mismo dominio
- La razon es que dominios similares suelen compartir terminologia parecida

2. Coincidir con la intencion visual
- Usa el Caption y las palabras clave para inferir el tipo de diagrama, por ejemplo Framework, Pipeline, Detailed Module o Performance Chart
- Prioriza candidatos con estructuras visuales similares
- Para tareas de dibujo, la similitud estructural es mas importante que la similitud tematica

Prioridad de ranking:
1. Mismo tema y misma intencion visual
2. Misma intencion visual
3. Evitar candidatos con distinta intencion visual

# Formato de salida
Devuelve JSON estricto, solo con los IDs exactos de los 10 diagramas seleccionados:
{
  "top10_diagrams": [...]
}

1.4 Plantilla actual de prompt de usuario

Version resumida en espanol:

**Entrada objetivo**
- Caption: {visual_intent}
- Methodology section: {content}

**Conjunto candidato**
Candidate Diagram 1:
- Diagram ID: {id}
- Caption: {candidate_visual_intent}
- Methodology section: {candidate_content}

Candidate Diagram 2:
...

Ahora, basandote en la entrada objetivo y el conjunto candidato, selecciona los 10 diagramas mas relevantes segun las instrucciones anteriores. La salida debe ser un objeto JSON estrictamente valido que contenga una unica lista con los IDs exactos de los 10 diagramas seleccionados.

1.5 Resumen

El Retriever aporta sobre todo priors estructurales y contexto de referencia para el Planner.



2. Planner

image.png

2.1 Definicion del rol

El Planner es el centro estructural del pipeline multiagente.

Recibe:

  • contenido bruto del articulo
  • la intencion del diagrama objetivo
  • ejemplos de referencia seleccionados por el Retriever

Luego genera una descripcion del diagrama lo bastante detallada como para convertirse en el esqueleto del Stylist y del Visualizer.

Actualmente el Planner se encarga de:

  • convertir texto metodologico en elementos del diagrama
  • especificar las relaciones entre elementos
  • proponer disposicion y detalles visuales
  • evitar especificaciones vagas

2.2 Entradas y salidas

Entradas:

  • content
  • visual_intent
  • top10_references o retrieved_examples

Salida:

  • target_diagram_desc0

2.3 Prompt de sistema actual (diagram)

Prompt original del codigo, resumido en espanol:

Estoy trabajando en una tarea: dada la seccion de Methodology de un articulo y el caption de la figura deseada, generar automaticamente un diagrama ilustrativo correspondiente. Yo proporcionare el texto de la seccion de Methodology y el figure caption, y tu salida debe ser una descripcion detallada de una figura ilustrativa que represente de forma efectiva el metodo descrito en el texto.

Para ayudarte a entender mejor la tarea y captar los principios para generar este tipo de figuras, tambien te proporcionare varios ejemplos. Debes aprender de esos ejemplos para producir la descripcion de la figura.

Importante:
Tu descripcion debe ser lo mas detallada posible. En el plano semantico, describe con claridad cada elemento y sus conexiones. En el plano formal, incluye detalles como estilo de fondo, colores, grosor de lineas y estilo de iconos. Las especificaciones vagas o poco claras solo empeoran el resultado generado.

2.4 Plantilla actual de prompt de usuario

Plantilla reconstruida a partir del codigo actual.

El Planner primero alimenta al modelo con ejemplos de referencia:

Example {i}:
Methodology Section: {example_content}
Diagram Caption: {example_visual_intent}
Reference Diagram:
[reference image]

Despues agrega la solicitud objetivo:

Now, based on the following methodology section and diagram caption, provide a detailed description for the figure to be generated.
Methodology Section: {content}
Diagram Caption: {visual_intent}
Detailed description of the target figure to be generated (do not include figure titles):

2.5 Resumen

El Planner genera una especificacion en lenguaje natural con un papel fuerte de representacion intermedia. En el sistema actual, la calidad posterior depende en gran medida de lo concreta que sea esta etapa.



3. Stylist

image.png

3.1 Definicion del rol

El Stylist mejora la calidad visual sin cambiar el esqueleto semantico.

Lee:

  • la descripcion detallada producida por el Planner
  • la guia de estilo style_guides/neurips2025_diagram_style_guide.md

Luego pule la descripcion original para acercarla a la estetica de conferencias academicas.

Se le indica explicitamente que:

  • no cambie la logica semantica
  • simplifique frases demasiado largas cuando sea conveniente
  • aplique un estilo unificado solo cuando haga falta
  • preserve estilos de alta calidad en lugar de estandarizarlos a ciegas

3.2 Entradas y salidas

Entradas:

  • target_diagram_desc0
  • style guide
  • content
  • visual_intent

Salida:

  • target_diagram_stylist_desc0

3.3 Prompt de sistema actual (diagram)

Prompt original del codigo, resumido en espanol:

## ROL
Eres un director de diseno visual para conferencias top de IA, como NeurIPS 2025.

## TAREA
Nuestro objetivo es generar diagramas de alta calidad y listos para publicacion a partir de la seccion de metodologia y el caption del diagrama deseado. Antes que tu, un agente Planner ya genero una descripcion preliminar del diagrama objetivo. Sin embargo, esta descripcion puede carecer de detalles esteticos, como formas de elementos, paletas de color o estilo del fondo.

Tu tarea es refinar y enriquecer esa descripcion basandote en la guia de estilo de NeurIPS 2025 para asegurar que la imagen final generada sea un diagrama de alta calidad y listo para publicacion, alineado con esa estetica cuando corresponda.

Instrucciones clave:
1. Conserva el contenido semantico. No alteres la logica ni la estructura del diagrama.
2. Si la descripcion ya implica una estetica de alta calidad, conservala y solo interviene cuando sea necesario.
3. Respeta la diversidad de estilos entre distintos dominios.
4. Si la descripcion es plana, enriquecela con atributos visuales concretos.
5. Modifica los iconos con cuidado cuando tengan significado tecnico.

## SALIDA
Devuelve solo la descripcion detallada final ya pulida. No incluyas texto conversacional ni explicaciones.

3.4 Plantilla actual de prompt de usuario

Plantilla reconstruida a partir del codigo actual:

Detailed Description: {planner_description}
Style Guidelines: {style_guide}
Methodology Section: {content}
Diagram Caption: {visual_intent}
Your Output:

3.5 Resumen

El Stylist tiene una frontera bastante clara: optimiza la capa de presentacion sin reconstruir la capa estructural.



4. Visualizer

image.png

4.1 Definicion del rol

El Visualizer es la capa de ejecucion.

En tareas diagram, usa directamente un modelo de generacion de imagen para convertir la Detailed Description en una imagen.

Comparado con los agentes anteriores, su prompt de sistema es muy fino y depende mucho mas de la calidad de la descripcion aguas arriba.


4.2 Entradas y salidas

Entradas:

  • target_diagram_desc0
  • o target_diagram_stylist_desc0
  • o target_diagram_critic_desc{round} en cada ronda

Salida:

  • el correspondiente *_base64_jpg generado

4.3 Prompt de sistema actual (diagram)

Prompt original del codigo, resumido en espanol:

Eres un ilustrador experto en diagramas cientificos. Genera diagramas cientificos de alta calidad a partir de solicitudes del usuario.

4.4 Plantilla actual de prompt de usuario

Plantilla reconstruida a partir del codigo actual:

Render an image based on the following detailed description: {desc}
 Note that do not include figure titles in the image. Diagram: 

4.5 Resumen

En la implementacion actual, el Visualizer actua mas como un ejecutor. No realiza demasiado razonamiento estructural por si mismo y principalmente consume la descripcion generada aguas arriba.



5. Critic

image.png

5.1 Definicion del rol

El Critic se encarga de la comprobacion en bucle cerrado y de la revision.

Lee:

  • la imagen generada actualmente
  • la descripcion detallada correspondiente a esa imagen
  • la seccion de metodologia original
  • el caption original de la figura

Despues produce:

  • sugerencias explicitas de revision
  • una descripcion detallada revisada

Si el modelo considera que el resultado actual ya es suficientemente bueno, devuelve No changes needed. y el proceso puede converger antes.


5.2 Entradas y salidas

Entradas:

  • imagen objetivo
  • descripcion actual
  • content
  • visual_intent

Salidas:

  • target_diagram_critic_suggestions{round}
  • target_diagram_critic_desc{round}

5.3 Prompt de sistema actual (diagram)

Prompt original del codigo, resumido en espanol:

## ROL
Eres un director de diseno visual para conferencias top de IA, como NeurIPS 2025.

## TAREA
Tu tarea es realizar una comprobacion de razonabilidad y una revision critica del diagrama objetivo basandote en su contenido y su presentacion. Debes asegurar su alineacion con la Methodology Section y el Figure Caption proporcionados.

Tambien recibes la Detailed Description correspondiente al diagrama actual. Si detectas aspectos mejorables, debes enumerar criticas concretas y ofrecer una version revisada de la Detailed Description que incorpore esas correcciones.

## REGLAS DE CRITICA Y REVISION

1. Contenido
- Asegura que el diagrama refleje fielmente el metodo descrito y se alinee con el caption
- Se permiten simplificaciones razonables, pero no deben omitirse componentes criticos
- No debe aparecer contenido alucinado
- Revisa errores tipograficos, texto sin sentido o etiquetas poco claras
- Si el diagrama incluye ejemplos concretos, como formulas, attention maps o expresiones matematicas, verifica su exactitud
- El texto del caption no debe aparecer dentro de la imagen

2. Presentacion
- Evalua claridad y legibilidad
- Si el flujo es confuso o el layout esta sobrecargado, propone mejoras estructurales
- Si la descripcion o el diagrama incluyen una leyenda textual redundante, debe eliminarse

Importante:
La descripcion revisada debe ser principalmente una modificacion de la descripcion original, no una reescritura total. Si hay partes con problemas claros que requieran nueva descripcion, esta debe seguir siendo lo mas detallada posible.

## SALIDA
Devuelve estrictamente JSON:
{
  "critic_suggestions": "...",
  "revised_description": "..."
}
Si no hace falta modificar nada, ambas entradas deben ser No changes needed.

5.4 Plantilla actual de prompt de usuario

Plantilla reconstruida a partir del codigo actual:

Target Diagram for Critique:
[current generated image]

Detailed Description: {current_description}
Methodology Section: {content}
Figure Caption: {visual_intent}
Your Output:

5.5 Resumen

El Critic actualmente hace mas que puntuar. Produce directamente la descripcion revisada ejecutable de la siguiente ronda, por lo que en la practica actua como revisor y reescritor.



6. Resumen actual del pipeline multiagente

Para el flujo completo demo_full / diagram, el pipeline actual puede resumirse asi:

Retriever
  -> selecciona referencias few-shot
Planner
  -> genera una descripcion detallada con alta especificidad estructural
Stylist
  -> pule la estetica segun la guia de estilo
Visualizer
  -> renderiza la descripcion como imagen
Critic
  -> compara la imagen actual con el texto fuente y produce sugerencias de revision junto con una descripcion revisada
Visualizer
  -> regenera la siguiente imagen a partir de la descripcion revisada

Desde la perspectiva de responsabilidades:

  • Retriever aporta priors de referencia.
  • Planner decide que dibujar y como organizarlo.
  • Stylist decide como hacerlo mas pulido visualmente y mas cercano al estilo de publicacion.
  • Visualizer produce la imagen final.
  • Critic cierra el bucle mediante revision y correccion.


7. Diferencias del flujo Plot

Aunque este documento se centra en diagram, el flujo plot reutiliza el mismo marco multiagente con varios cambios:

  • El Retriever selecciona referencias segun caracteristicas de datos y tipo de grafico, no por tema de investigacion y tipo de diagrama.
  • El Planner debe especificar de forma explicita todos los puntos de datos, las relaciones entre variables y canales visuales, los ejes, los colores y las anotaciones.
  • El Stylist pule sobre todo colores, tipografias, estilos de linea y posicion de la leyenda, sin cambiar la semantica de los datos.
  • El Visualizer no genera la imagen directamente por defecto. Primero genera codigo Matplotlib y luego ejecuta ese codigo para obtener el grafico.
  • El Critic revisa no solo estetica y legibilidad, sino tambien correccion numerica. Si falla la generacion de codigo, retrocede a un modo en el que repara la descripcion para producir codigo mas robusto.