PTENES
MÓDULO 2.3

🧬 Lo que ocurre detrás (conceptos)

Es hora de abrir la caja negra. Vas a entender las 3 fases por dentro, los dos archivos que hacen que todo sea retomable y económico (state.json e research_cache.json), cómo recuperarse de fallas y la estructura exacta de la carpeta output/.

7
Temas
40
Minutos
🧬
Conceptos
⬆
Intermedio
1️⃣ Investigación · Perplexity 9-18 búsquedas 2️⃣ Síntesis · Gemini 15 documentos en orden · pausa ~5s 3️⃣ Generación · local PPTX + DOCX + PNG · gratis 💾 research_cache.json 🧭 state.json — sigue la fase, los entregables listos, el costo y los errores (permite reanudar)

Diagrama ilustrativo — las 3 fases en secuencia, con la caché de la investigación y el punto de control del estado.

Contenido detallado

1

1️⃣ Fase 1 — Investigación

Todo empieza con la recopilación de información. En la primera fase, la Perplexity hace entre 9 y 18 búsquedas (según el modo) sobre la empresa y el sector. Esta es la materia prima de todos los documentos que vienen después.

🔍 Qué abarca la investigación

🏢 Descripción general
qué hace la empresa
🧱 Stack
tecnologías utilizadas
⚔️ Competidores
el escenario
😣 Problemas
problemas y brechas
⚖️ Regulación
restricciones del sector
💾 Guarda todo
en la caché

💡 Consejo — entra basura, sale basura

La calidad de la investigación determina el límite de calidad de los documentos. Por eso, el --context y la elección del modo (2.1 y 2.2) también importan mucho: mejoran esta fase.

2

2️⃣ Fase 2 — Síntesis

Con la investigación en mano, el Gemini escribe los 15 documentos. El detalle importante: se generan en orden de dependencia — algunos solo se crean cuando otros están listos, porque usan el anterior como insumo.

🔗 Por qué importa el orden

# Exemplo simplificado da cadeia de dependência:

inventário técnico ─┐
dores            ───┼─→ avaliação de maturidade ─→ roadmap ─→ quick wins
                    │
                    └─→ diagramas, ROI, governança, ...

# Um documento "downstream" lê os documentos "upstream"
# já prontos. Por isso não dá para gerar tudo em paralelo.

⏱️ La pausa entre llamadas

Entre una llamada y otra a Gemini, hay una pausa de alrededor de 5 segundos. No es lentitud: es protección. Respeta los límites de solicitudes de la API y evita el error 429.

  • 15 documentos generados en secuencia
  • ~5s de pausa entre cada uno
  • Resultado: la Síntesis es la fase que más tiempo de espera lleva

💡 Consejo — la paciencia es parte del diseño

Si la síntesis parece «detenida», probablemente sea la pausa para respetar el límite. Deja que termine — interrumpirla aquí solo hace que tengas que usar el resume después.

3

3️⃣ Fase 3 — Generación

La última fase se ejecuta por completo en tu computadora, sin costo. Convierte los textos en archivos de Office y renderiza los diagramas como imágenes.

📊 PPTX

Arma los 2 PowerPoint con la biblioteca python-pptx.

📝 DOCX

Genera los 2 informes en Word a partir de los documentos.

📐 PNG

Renderiza los diagramas Mermaid usando Chrome/Puppeteer.

🛠️ Qué se ejecuta por debajo

  • python-pptx — biblioteca de Python que escribe archivos .pptx
  • Conversión a .docx — los informes en Word
  • Chrome/Puppeteer — abre Mermaid y "toma una foto" de cada diagrama en PNG
  • Costo: cero: nada de esto llama a una API de pago

💡 Consejo — ¿falló el diagrama? Es Chrome

Si no se generan los PNG, por lo general es porque Chrome/Puppeteer no está disponible. Los documentos de texto igual quedan listos — solo la representación de las imágenes depende de ello.

4

💾 El archivo state.json

Dentro de la carpeta de cada empresa hay un punto de control: o state.json. Es el cerebro de la reanudación — guarda todo lo que la herramienta necesita saber para continuar desde donde quedó.

📄 Qué guarda (ejemplo)

{
  "company": "Stripe",
  "current_phase": "synthesis",
  "deliverables_done": ["01_tech_inventory", "02_pain_points"],
  "cost_spent_usd": 0.31,
  "errors": []
}

Estructura ilustrativa — los campos reales pueden variar, pero la idea es esta: fase, listos, costo y errores.

🧭 Por qué es importante

  • Fase actual — en qué punto del pipeline está el análisis
  • Entregables listos — lo que ya se generó (no lo vuelvas a hacer)
  • Costo gastado — cuánto ha consumido el análisis hasta ahora
  • Errores — lo que salió mal, para el diagnóstico
  • Es lo que hace posible el resume
5

♻️ El research_cache.json

Si el state.json es el cerebro, el research_cache.json es la caja fuerte: guarda la investigación en bruto de Perplexity. Como la investigación es la parte que cuesta, esta caché es tu mayor aliada para ahorrar.

⌨️ Reutilizando la investigación

# A primeira execução paga a pesquisa e a grava no cache
python -m strategy_factory.main run "Stripe"

# Mexeu num prompt e quer só regerar os documentos?
# Reusa o cache — não paga a pesquisa de novo:
python -m strategy_factory.main run "Stripe" --skip-research

✓ Con la caché puedes

  • ✓Volver a generar documentos casi gratis
  • ✓Ajustar prompts y ver el efecto rápidamente
  • ✓Rehacer solo la generación de archivos

✗ La caché NO ayuda cuando

  • ✗Quieres datos más actuales (repite la investigación)
  • ✗Cambió el contexto y quieres investigar de nuevo
  • ✗Pasa de Quick a Comprehensive de verdad

💡 Consejo — la investigación es lo que cuesta

Recuerda la Fase 3: la generación ya es gratis. El mayor gasto está en la investigación (Fase 1). Reutilizarla con --skip-research es lo que hace que tus experimentos cuesten casi nada.

6

🔌 Reanudar y recuperar

Los fallos ocurren: presionas Ctrl+C, se cae internet o se agota el límite de la API. La buena noticia es que, gracias a state.json, nunca pierdes el trabajo (ni el dinero) que ya invertiste.

⌨️ Continuar desde donde lo dejaste

# Caiu no meio? Apenas retome:
python -m strategy_factory.main resume "Stripe"

# Em erro 429 (limite atingido):
#   1. Espere alguns minutos
#   2. Rode o resume novamente

⏱️ Tipos de fallas y qué hacer

⌨️

Ctrl+C / cerraste la terminal

O state.json guardó el punto. Ejecuta resume y continúa.

📡

Se cayó internet

Vuelve a conectarte y ejecútalo resume. La investigación ya realizada proviene de la caché.

429

Error 429 — límite de solicitudes

Llegaste al límite de la API. Espera unos minutos a que se renueve el límite y ejecuta resume.

💡 Consejo — resume se puede repetir sin riesgo

No hay problema en ejecutar resume varias veces: siempre revisa el state.json y solo hace lo que todavía falta. Nunca vuelve a hacer (ni cobra) lo que ya está listo.

7

📁 La carpeta output/

Todo lo que produce la herramienta va a parar a un lugar predecible: la carpeta output/{slug}/, uno por empresa. Conocer esta estructura te permite encontrar cualquier archivo en un instante.

🌳 El árbol completo

output/stripe/
├── markdown/             # 15 documentos .md
├── presentations/        # 2 apresentações .pptx
├── documents/            # 2 relatórios .docx
├── mermaid_images/       # 5 diagramas .png
├── state.json            # checkpoint (fase, custo, erros)
└── research_cache.json   # pesquisa bruta da Perplexity
📄 markdown/ — 15 .md

Todos los documentos de texto: desde el inventario técnico hasta el plan de gestión del cambio. La Ruta 3 abre cada uno.

📊 presentations/ — 2 .pptx

Un resumen ejecutivo y una presentación completa con los hallazgos.

📝 documents/ — 2 .docx

El informe de estrategia final y la propuesta de trabajo.

📐 mermaid_images/ — 5 .png

Estado actual, estado futuro, flujo de datos, roadmap e integración.

🎯 En resumen

Cada empresa = una carpeta autónoma. Los entregables quedan separados por tipo y los dos archivos JSON guardan el estado y la caché. Es todo lo que necesitas para entender, retomar y reutilizar un análisis.

🧬 Resumen del módulo

✓
Fase 1 — Investigación — Perplexity realiza 9-18 búsquedas (visión, stack, competidores, problemas, regulación) y guarda los resultados.
✓
Fase 2 — Síntesis — Gemini genera los 15 documentos en orden de dependencia, con una pausa de ~5s entre llamadas.
✓
Fase 3 — Generación — local y gratis: PPTX (python-pptx), DOCX y PNG (Chrome/Puppeteer).
✓
state.json — checkpoint con fase, entregables listos, costo y errores; permite reanudar.
✓
research_cache.json — guarda la investigación en bruto; --skip-research vuelve a generar documentos sin volver a investigar.
✓
Recuperación y output/ — resume continúa desde donde lo dejaste; output/{slug}/ organiza todo por tipo.

Próxima Ruta:

Ruta 3 — Entregables — ahora que dominas la herramienta por dentro, abre cada uno de los 15 documentos y aprende a usarlos en la práctica.