| name | pipeline-judge-dual |
| description | FASE 9 del pipeline de Planitor. Dual-LLM: Modelo A (analítico) evalúa desde perspectiva analítica-rigurosa y Modelo B (creativo) desde perspectiva estratégica-creativa. Planitor sintetiza ambas evaluaciones en un JUDGE-REPORT.json final con auto-fix. Incluye validación fiscal, scoring de completitud y feedback documentado para re-runs.
|
| metadata | {"author":"planitor-team","version":"3.0","scope":["planitor"],"phase":9,"dual_llm":true,"auto_invoke":"Cuando se solicita la evaluación adversarial del plan de negocio"} |
Pipeline — FASE 9: Judge Dual-LLM
Dos LLMs evalúan el plan desde perspectivas complementarias. Planitor sintetiza ambas evaluaciones y produce un informe de calidad unificado con validación fiscal, scoring de completitud y feedback documentado.
Cuándo se ejecuta
Después de FASE 8 (Investor Pack). Cuando plan-final.md e investor-evidence-pack.md están generados.
Input
| Fuente | Ruta |
|---|
| Plan final | projects/{proyecto}/plan-final.md |
| Todos los artefactos | projects/{proyecto}/v{n}/ |
| Research web | projects/{proyecto}/research-web.json |
| Research benchmarks | projects/{proyecto}/research-benchmarks.json |
Output
| Producto | Ruta |
|---|
| Evaluación Juez A | projects/{proyecto}/v{n}/judge/JUDGE-A.json |
| Evaluación Juez B | projects/{proyecto}/v{n}/judge/JUDGE-B.json |
| Informe final sintetizado | projects/{proyecto}/v{n}/JUDGE-REPORT.json |
| Feedback para re-run | projects/{proyecto}/v{n}/judge/FEEDBACK-FOR-RERUN.json |
Los Dos Jueces
| Agente | Modelo | Enfoque |
|---|
modelo-a | modelo-principal | Analítico-riguroso — fact-check numérico, coherencia interna, verificación de cálculos, consistencia de datos entre secciones, validación contra artefactos fuente |
modelo-b | modelo-secundario | Estratégico-creativo — viabilidad del modelo, diferenciación real, fuerza de la propuesta, calidad narrativa, persuasión del documento, honestidad estratégica |
Ventaja dual-LLM: Un modelo detecta errores y inconsistencias mecánicas; el otro evalúa si el plan realmente convencería a un inversor/banco. La síntesis produce una evaluación completa y equilibrada.
Paso 1: Launch Paralelo
ejecutar como sub-tarea(id=modelo-a, task:
"Lee skills/pipeline-judge-dual/SKILL.md para entender el formato.
Lee plan-final.md en projects/{proyecto}/.
Lee TODOS los artefactos en projects/{proyecto}/v{n}/.
Lee research-web.json y research-benchmarks.json en projects/{proyecto}/.
Tu ENFOQUE: analítico-riguroso.
Ejecuta fact-check exhaustivo:
1. NÚMEROS: ¿Coinciden break-even, márgenes, cash flow entre secciones y artefactos?
2. COHERENCIA INTERNA: ¿Buyer persona consistente? ¿Pricing igual en todas las secciones?
3. DATOS vs FUENTES: ¿Los datos del plan coinciden con GROUND-TRUTH y research?
4. SENSIBILIDAD: ¿3 escenarios presentes? ¿Variable make-or-break identificada?
5. REDUNDANCIA: ¿Datos repetidos? ¿Secciones duplicadas?
6. COMPETENCIA: ¿URLs verificadas? ¿Mínimo 3 competidores?
7. ESTACIONALIDAD: ¿Basada en datos INE? ¿Zona emisora/receptora correcta?
8. DATOS ANTIGUOS: ¿Hay datos >6 meses sin marcar ⚠️?
9. UNIT ECONOMICS: ¿LTV/CAC ≥ 3:1 en escenario base? ¿Techo de facturación?
10. CURVA DE INGRESOS: ¿Realista para el sector? ¿Efecto novedad modelado?
11. FISCALIDAD — IVA: ¿Se desglosa IVA repercutido (21%) vs IVA soportado? ¿Se contempla IVA soportado en inversiones?
12. FISCALIDAD — IRPF: ¿Se estima IRPF por tramos sobre beneficios? ¿Se incluyen retenciones?
13. FISCALIDAD — CUOTA AUTÓNOMOS: ¿Se incluye cuota RETA mensual (~300€/mes mínimo)?
14. FISCALIDAD — RÉGIMEN FISCAL: ¿Se indica régimen fiscal (módulos vs estimación directa)? ¿Es coherente con el modelo?
15. FISCALIDAD — DEDUCCIONES: ¿Se identifican deducciones fiscales aplicables (inversión en equipo, I+D, creación empleo)?
16. COMPLETITUD: ¿El plan tiene TODAS las secciones obligatorias? Verificar checklist:
- Resumen ejecutivo
- Análisis de mercado (TAM/SAM/SOM)
- Competencia con URLs
- Modelo de negocio (9 bloques Canvas)
- Plan financiero 3 años
- Análisis de sensibilidad
- Plan operativo
- Riesgos y mitigación
- Plan de financiación
- Timeline con hitos
- Análisis fiscal (IVA, IRPF, cuota autónomos, régimen)
- Plan regulatorio / marco legal
- Plan de salida/liquidación
Para cada issue: clasificar como crítico/warning/sugerencia.
Scores 1-10 por criterio.
Genera un JUDGE-REPORT.json.
Escríbelo en projects/{proyecto}/v{n}/judge/JUDGE-A.json"
)
ejecutar como sub-tarea(id=modelo-b, task:
"Lee skills/pipeline-judge-dual/SKILL.md para entender el formato.
Lee plan-final.md en projects/{proyecto}/.
Lee TODOS los artefactos en projects/{proyecto}/v{n}/.
Tu ENFOQUE: estratégico-creativo.
Evalúa como un inversor/banco leería el plan:
1. PROPUESTA DE VALOR: ¿Es realmente diferencial o 'me too'? ¿Convence?
2. MODELO DE NEGOCIO: ¿Es sostenible y escalable? ¿O es un trabajo disfrazado?
3. NARRATIVA: ¿El plan engancha? ¿Se lee de tirón? ¿O es aburrido y genérico?
4. HONESTIDAD: ¿Hay optimismo infundado? ¿Se ocultan riesgos? ¿Edulcoración?
5. DIFERENCIACIÓN: ¿La ventaja competitiva es defendible? ¿O fácil de copiar?
6. VIABILIDAD ESTRATÉGICA: ¿El GTM tiene sentido? ¿Los canales son realistas?
7. PERSUASIÓN: ¿Convince a un inversor escéptico? ¿Y a un banco conservador?
8. CALIDAD DE CONSULTORÍA: ¿Se aplicaron frameworks de expertos? ¿O solo se nombraron?
9. PROPÓSITO: ¿Resuelve un problema real? ¿O es una solución buscando problema?
10. FACTOR X: ¿Tiene algo que lo hace memorable y diferente de otros planes del sector?
Para cada issue: clasificar como crítico/warning/sugerencia.
Scores 1-10 por criterio.
Genera un JUDGE-REPORT.json.
Escríbelo en projects/{proyecto}/v{n}/judge/JUDGE-B.json"
)
Ambos en paralelo. Esperar AMBOS antes de continuar a Paso 2.
Paso 2: Synthesis (Planitor orquesta)
Matriz de Evaluación Combinada
| Criterio | Peso | Fuente Principal |
|---|
| Datos verificados con fuentes | 20% | A (analítico) |
| Estacionalidad real | 10% | A (analítico) |
| Competencia con URLs | 10% | A (analítico) |
| Análisis de sensibilidad | 10% | A (analítico) |
| Fiscalidad completa | 15% | A (analítico) |
| Completitud del plan | 10% | A (analítico) |
| Viabilidad honesta | 10% | B (estratégico) |
| Calidad estratégica | 10% | B (estratégico) |
| Investor readiness | 5% | B (estratégico) |
| Validación cruzada | Bonus +0.5 | A (analítico) |
Proceso de Síntesis
- Merge de issues: Combinar todos los críticos de A + B (deduplicar si ambos detectan lo mismo)
- Scores ponderados: Cada criterio usa la fuente principal indicada en la tabla
- Veredicto combinado:
- Si ambos dicen approved →
approved
- Si uno dice approved_with_suggestions →
approved_with_suggestions
- Si alguno dice rejected →
rejected
- Auto-fix: Si score < 7 → listar fases a re-ejecutar con mejoras concretas
- Feedback documentado: Generar
FEEDBACK-FOR-RERUN.json con issues específicos, datos faltantes y sugerencias concretas por fase (ver estructura abajo)
Estructura de JUDGE-REPORT.json (output final)
{
"verdict": "approved|approved_with_suggestions|rejected",
"dual_llm": true,
"synthesis_sources": {
"judge_a": "judge/JUDGE-A.json",
"judge_b": "judge/JUDGE-B.json"
},
"score_calidad": 0,
"score_honestidad": 0,
"score_viabilidad": 0,
"score_total": 0,
"score_por_criterio": {
"datos_verificados": {"score": 0, "peso": 0.25, "fuente": "A", "notas": ""},
"estacionalidad_real": {"score": 0, "peso": 0.15, "fuente": "A", "notas": ""},
"competencia_urls": {"score": 0, "peso": 0.15, "fuente": "A", "notas": ""},
"sensibilidad": {"score": 0, "peso": 0.15, "fuente": "A", "notas": ""},
"viabilidad_honesta": {"score": 0, "peso": 0.15, "fuente": "B", "notas": ""},
"calidad_estrategica": {"score": 0, "peso": 0.15, "fuente": "B", "notas": ""},
"validacion_cruzada": {"score": 0, "peso": 0, "fuente": "A", "notas": ""}
},
"issues_criticos": [],
"warnings": [],
"sugerencias": [],
"fact_check": {
"datos_verificados": 0,
"datos_estimados": 0,
"datos_sin_fuente": 0,
"inconsistencias": []
},
"fiscalidad": {
"iva_desglosado": false,
"irpf_estimado": false,
"cuota_autonomos": false,
"regimen_fiscal_declarado": false,
"deducciones_identificadas": false,
"notas": ""
},
"completitud": {
"secciones_presentes": [],
"secciones_ausentes": [],
"porcentaje_completitud": 0,
"notas": ""
},
"investor_readiness": {
"score": 0,
"thesis_clara": false,
"traccion_evidencia": false,
"unit_economics_presentes": false,
"riesgos_mitigados": false,
"uso_fondos_detallado": false,
"notas": ""
},
"redundancia": {
"datos_repetidos": [],
"secciones_duplicadas": []
},
"mejoras_recomendadas": [],
"fases_a_reejecutar": [],
"iteracion": 1
}
Estructura de FEEDBACK-FOR-RERUN.json
Este archivo se genera siempre después de cada iteración de JUDGE (incluso si score >= 7). Contiene feedback accionable para mejorar el plan.
{
"timestamp": "",
"iteracion_judge": 1,
"score_total": 0,
"veredicto": "",
"feedback_por_fase": {
"BRIEF": {
"issues": [],
"datos_faltantes": [],
"sugerencias": []
},
"MARKET_GATE": {
"issues": [],
"datos_faltantes": [],
"sugerencias": []
},
"GROUND_TRUTH": {
"issues": [],
"datos_faltantes": [],
"sugerencias": []
},
"MARKET": {
"issues": [],
"datos_faltantes": [],
"sugerencias": []
},
"FINANCIALS": {
"issues": [],
"datos_faltantes": [],
"sugerencias": []
},
"STRATEGY": {
"issues": [],
"datos_faltantes": [],
"sugerencias": []
},
"BUILD": {
"issues": [],
"datos_faltantes": [],
"sugerencias": []
},
"INVESTOR_PACK": {
"issues": [],
"datos_faltantes": [],
"sugerencias": []
}
},
"queries_busqueda_sugeridas": [],
"prioridad_acciones": [
{"accion": "", "fase": "", "urgencia": "critica|alta|media"}
]
}
Reglas para FEEDBACK-FOR-RERUN
- Issues específicos: No "mejorar mercado", sino "Añadir URL verificable de competidor X" o "Incluir tabla IVA mensual"
- Datos faltantes: Lista concreta de datos que faltan con fuente sugerida (ej: "Pirámide poblacional INE tabla 2882")
- Sugerencias por fase: Cada fase afectada tiene su propio bloque de sugerencias
- Queries de búsqueda: Sugerencias de búsquedas concretas para investigación web/Investigación web en re-runs
- Priorización: Ordenar acciones por urgencia (crítica > alta > media)
## Reglas de Iteración
- Si score < 7/10 → listar fases afectadas y mejoras concretas
- Re-ejecutar SOLO las fases afectadas (no todo el pipeline)
- Volver a ejecutar JUDGE dual
- Máximo 2 iteraciones de JUDGE
- Si tras 2 iteraciones sigue < 7 → entregar con nota "PLAN CON RESERVAS" y explicar qué falta
## Agentes Utilizados
- `modelo-a` (Modelo A) — Agente independiente con modelo fijo en config
- `modelo-b` (Modelo B) — Agente independiente con modelo fijo en config
## Resumen de Novedades v3.0
| Novedad | Descripción |
|---------|-------------|
| **Fiscalidad** | 5 checks fiscales obligatorios en fact-check de Modelo A: IVA, IRPF, cuota autónomos, régimen fiscal, deducciones |
| **Completitud** | Checklist de 13 secciones obligatorias verificadas por Modelo A |
| **Feedback documentado** | FEEDBACK-FOR-RERUN.json con issues, datos faltantes y sugerencias por fase |
| **Investor readiness** | Nuevo criterio B (estratégico) evaluando preparación para inversor/banco |
| **Matriz 10 criterios** | De 7 a 10 criterios con pesos ajustados, fiscalidad al 15% |