Sesión 5 · Planeación

Sintetiza los resultados en un plan final

Integra la misión y los análisis parciales en una propuesta final y mide el consumo de las tres fases.

25 min aprox.4 pasosPráctica + comprobación
Qué aprenderás
  • Preparar un prompt final que conserve la misión y findings.
  • Distinguir síntesis de comprobación de restricciones.
  • Calcular el número de llamadas del flujo y tratar límites y fallos.

Referencias de código

Índice de esta lección

Paso 1

Integra los resultados parciales

La última llamada necesita la misión completa y todos los findings. La misión conserva la referencia original aunque un análisis previo haya perdido una regla.

La síntesis final condensa la salida en un operativo. No valida por sí sola la corrección de todos los pasos, por eso las instrucciones piden resolver contradicciones y declarar inviabilidad cuando corresponda.

src/patterns/02-planning/context.ts
Paso 1 · typescript
export function buildSynthesisPrompt(mission: string, findings: string[]) {  return `MISIÓN:\n${mission}\n\nRESULTADOS PARCIALES:\n${findings.join("\n---\n")}`;}

Qué deberías observar

La última llamada recibe tanto las reglas originales como los análisis previos.

Paso 2

Genera finalPlan

Renombra text como finalPlan para distinguir el operativo final del texto generado en una etapa. Usa el mismo tracer a lo largo de las tres fases.

Pasa tracer.onStepFinish como referencia al callback onStepEnd; no lo invoques al configurar la llamada.

src/patterns/02-planning/planning.ts
Paso 2 · typescript
const { text: finalPlan } = await generateText({  model,  prompt: buildSynthesisPrompt(mission, findings),  instructions: "Integra los resultados parciales en un operativo final. Indica orden, héroes y horas. Si no es viable, explica el déficit y no inventes refuerzos.",  onStepEnd: tracer.onStepFinish,});console.log("Operativo final:", finalPlan);return tracer.summary();

Qué deberías observar

Tienes una propuesta final y el resumen de la ejecución completa.

Paso 3

Cuenta llamadas sin confundir el límite

Para N etapas el flujo añade una llamada para construir el plan, N para analizarlas y una para sintetizar: N+2. En esta implementación cada generación no usa herramientas adicionales.

Con 2 a 15 pasos, el flujo hace de 4 a 17 llamadas; comparar también la versión directa agrega una. El máximo del arreglo no es un circuit breaker completo ni un timeout.

El consumo depende del modelo, longitud de prompts y salidas, proveedor y ejecución. Las cifras del video no demuestran un coste fijo ni una relación exponencial universal.

Cuenta de llamadas
Paso 3 · text
Planning con N pasos → 1 + N + 1 llamadasN = 2 → 4 llamadasN = 15 → 17 llamadasComparación one-shot adicional → sumar 1

Qué deberías observar

Puedes explicar de dónde procede el coste sin confundir etapas con garantía de calidad.

Paso 4

Comprueba la conclusión sin Superman

La aplicación envía explícitamente el contexto en cada petición; no depende de una conversación que el SDK conserve entre llamadas.

Sin Superman esperamos que la síntesis identifique el déficit de 2 horas de luz. Si declara viable, revisa de dónde obtuvo un héroe, una capacidad o unas horas adicionales.

En esta sección no ejecutamos una llamada de proveedor desde la web. El laboratorio se prueba localmente con tu configuración cuando decidas realizar la inferencia.

Evaluación sin Superman
Paso 4 · text
Esperado sin Superman:Luz: Doctor Light + Solomon Grundy + The Shade → 6 hGreen Lantern → 4 hDéficit → 2 h → operativo inviable

Qué deberías observar

Puedes justificar el veredicto con una restricción concreta.

Ahora te toca

Prueba la idea por tu cuenta

Si buildPlan devuelve siete etapas, calcula cuántas llamadas hará Planning y cuántas al compararlo con one-shot. Explica por qué el plan final debe incluir la misión original.

Necesito una pista

Una llamada construye, siete analizan y otra integra.

Comparar con una solución

Planning hace 9 llamadas; la comparación agrega una y suma 10. La misión preserva la fuente de reglas para revisar errores de los findings; no garantiza por sí misma que la síntesis los corrija.

Antes de seguir

Comprueba lo que aprendiste

No es una nota. Es una pausa para comprobar que la idea quedó clara.

1. ¿Qué envías a la síntesis final?
2. Con siete etapas, ¿cuántas llamadas hace Planning?
3. ¿max(15) garantiza un timeout o un coste fijo?

¿Terminaste la práctica?

Haz el ejercicio y comprueba tus respuestas antes de marcar la lección como completada.

Apuntes y código de esta lección