📚 El problema del contexto
Quieres el conocimiento de élite que está en esos PDFs. Pero poner un documento de 46 páginas completo en Claude Code supera el límite de contexto, y lo peor: llena la ventana de resúmenes, agradecimientos y buzzwords. Necesitas el valioso, no del volumen.
✗ Poner el PDF entero
- ✗Supera el límite de tokens
- ✗Consume contexto costoso con basura
- ✗Diluir la señal entre el ruido
- ✗Respuesta genérica y superficial
✓ Destilar antes de usar
- ✓Cabe holgadamente en el contexto
- ✓Solo frameworks, números e insights
- ✓Señal pura, alta densidad
- ✓Reutilizable en cualquier proyecto
PDF enormes
de contexto
valor vs. volumen
lo que importa
✂️ División en bloques de ~10k tokens
La idea central del RAG perezoso: en vez de procesarlo todo de una vez, tú porción. Extrae el texto del PDF, cuenta los tokens y lo divide en bloques de ~10.000 tokens. Cada bloque cabe holgadamente en una llamada a la API.
// el concepto de chunking — dividir por tokens
CHUNK_SIZE = 10_000 # tokens por bloco
texto = extrair_texto_do_pdf("bcg-guide.pdf") # via PyMuPDF
tokens = tokenizer.encode(texto) # cl100k_base
blocos = []
for i in range(0, len(tokens), CHUNK_SIZE):
pedaco = tokens[i : i + CHUNK_SIZE]
blocos.append(tokenizer.decode(pedaco))
# 1 PDF de 46 págs ≈ 3-4 blocos → cabem na API um a um
por bloque
extrae texto
cl100k_base
no de una vez
🧪 El prompt de síntesis
Es aquí donde reside la calidad de la cheat sheet. El prompt le indica al modelo que extraiga solo lo que vale — frameworks, estadísticas, insights, citas, términos — preservando las cifras y eliminando las buzzwords. El bloque sin valor recibe la marca [MINIMAL_CONTENT] y se descarta después.
// estructura real del prompt de síntesis (pdf_to_cheatsheet.py)
Você é um consultor criando um cheat sheet a partir deste documento. Extraia o conhecimento mais valioso: ## Conceitos & Frameworks → liste cada um em 1-2 frases ## Estatísticas críticas → preserve números e fontes ## Insights acionáveis → o que dá para implementar ## Citações notáveis → 2-3 frases de impacto ## Terminologia → defina termos e siglas Regras: seja conciso, NÃO generalize números, use bullets, negrito no termo na 1ª vez. Se o bloco for só sumário/ referências, responda: [MINIMAL_CONTENT: ...]
💡 El detalle que marca la diferencia
La regla "NO generalices las cifras" es lo que separa una cheat sheet útil de un resumen vacío. «La IA aumenta la productividad» no vale nada; "40% de aumento de productividad (Google Cloud, 2025)" es munición para tu entregable.
extracción fija
no generaliza
solo lo valioso
marca el vacío
✨ Gemini 2.5 Flash: barato y con contexto enorme
El modelo que hace la síntesis. Una elección deliberada: contexto enorme, precio bajísimo. Es lo que permite destilar una biblioteca entera de PDFs por centavos, con reintento exponencial y un retraso entre llamadas para respetar el rate limit.
Contexto enorme
Soporta sin problema los bloques de 10k tokens y responde sin cortar a mitad de camino.
Costo bajísimo
Toda la biblioteca de guías cuesta unos centavos. Es el mismo modelo que redacta los entregables en la Fábrica.
Resiliente
Reintento exponencial (3 intentos) y una espera de ~5s entre llamadas. Un error de red no interrumpe el proceso.
💡 Consejo práctico
Este fue un error real durante la construcción (en el video, falló el chunking de Gemini en un archivo). Construir en público es mostrar el desorden: cuando haya un error de API, solo tienes que pedirle a Claude Code que vuelva a ejecutarlo; la reanudación continúa desde donde se quedó.
el modelo
gigante
costo bajo
exponencial
🧩 Crear la cheat sheet
Con los bloques sintetizados, tú reconstruye: reúne en el orden correcto, descarta los marcados como vacíos y genera un único Markdown, con encabezado (fuente, fecha), secciones numeradas y un pie de página que diga «verifica en el original».
// reensamblaje de los bloques en una cheat sheet final
cheat = cabecalho(fonte="bcg-guide.pdf", data=hoje)
for i, bloco in ordenar_por_indice(blocos_sintetizados):
if "[MINIMAL_CONTENT" in bloco and tamanho_util(bloco) < 500:
continue # descarta o vazio
cheat += f"## Seção {i+1}\n\n{bloco}\n"
cheat += rodape("verifique no documento original")
salvar("bcg-guide_TLDR.md", cheat) # 1 página, pronto
✓ Cheat sheet bien armado
- ✓Bloques en el orden original
- ✓Vacíos descartados
- ✓Encabezado con fuente y fecha
- ✓Pie de página que solicita verificación
✗ Cheat sheet mal armado
- ✗Bloques fuera de orden
- ✗Resumen y agradecimientos en medio
- ✗Sin rastro de la fuente
- ✗Tratado como una verdad absoluta
por índice
los vacíos
fuente + fecha
Markdown final
🐍 pdf_to_cheatsheet.py en la práctica
No escribes nada de esto a mano: el script ya existe. Lee una carpeta de PDFs y guarda el progreso en progress.json, omite los bloques ya hechos y acepta flags útiles. Solo tienes que pedirle a Claude Code que lo ejecute.
// lo que escribes en Claude Code
# dá uma olhada sem gastar API (só conta os blocos) python pdf_to_cheatsheet.py --dry-run # processa só um arquivo python pdf_to_cheatsheet.py --single-pdf "bcg-guide.pdf" # se o contexto encher ou a API falhar, rode de novo: # ele retoma pelos blocos que faltam (progress.json)
💡 Por qué importa la reanudación
O ProgressTracker guarda cada bloque completado. Si el proceso falla en el bloque 7 de 10, al ejecutarlo de nuevo salta los 6 primeros y continúa. Tú no paga dos veces por el mismo bloque — ahorro que se acumula en una biblioteca grande.
sin gastar en API
un solo archivo
retoma desde donde lo dejaste
guarda lo realizado
✅ Resumen del módulo
🎯 Misión 2.2 — Tu primer cheat sheet
Toma 1 PDF de consultoría (una guía gratuita de McKinsey, BCG, KPMG, Google Cloud…) y conviértelo en una hoja de trucos de 1 página:
- Pídele a Claude Code que ejecute el
pdf_to_cheatsheet.pyen él (o aplicar el prompt de síntesis por bloques). - Verifica: ¿quedaron frameworks, números e insights, sin buzzwords?
- Guardar como
fonte_TLDR.mdcon encabezado (fuente + fecha).
Éxito: 1 cheat sheet de 1 página generado. Lo que obtuviste: la primera pieza de tu base de conocimiento — y la técnica para destilar cualquier PDF de aquí en adelante.
Siguiente módulo:
2.3 — Tu cerebro de consultor (organizar varios cheat sheets en una base curada e inyectable)