- Nueva estructura de carpetas según Skynet v7 - Añadidos schemas SQL completos - Documentación de entidades, componentes e integraciones - Modelo de seguridad actualizado - Infraestructura y operaciones reorganizadas
206 lines
5.2 KiB
Markdown
206 lines
5.2 KiB
Markdown
# Factory Protocol
|
|
|
|
**Versión:** 1.0
|
|
**Estado:** Especificación
|
|
|
|
---
|
|
|
|
## Descripción
|
|
|
|
THE FACTORY es el sistema de generación iterativa. Implementa un ciclo de mejora continua con Director, Executor, Evaluator y Auditor.
|
|
|
|
```
|
|
┌─────────────────────────────────────────────────────────────────┐
|
|
│ THE FACTORY │
|
|
│ │
|
|
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
|
|
│ │ DIRECTOR │───▶│ EXECUTOR │───▶│ EVALUATOR│ │
|
|
│ │ (decide) │◀───│ (genera) │◀───│ (evalúa) │ │
|
|
│ └────┬─────┘ └──────────┘ └──────────┘ │
|
|
│ │ │
|
|
│ ▼ │
|
|
│ ┌──────────┐ │
|
|
│ │ AUDITOR │ ──▶ SENTINEL │
|
|
│ │(registra)│ │
|
|
│ └──────────┘ │
|
|
└─────────────────────────────────────────────────────────────────┘
|
|
```
|
|
|
|
---
|
|
|
|
## Componentes
|
|
|
|
### DIRECTOR
|
|
|
|
Cerebro de THE FACTORY:
|
|
|
|
- Recibe jobs de Alfred (DECK) o Clara (CORP)
|
|
- Selecciona modelos apropiados
|
|
- Decide convergencia
|
|
- Gestiona presupuesto e iteraciones
|
|
|
|
```javascript
|
|
// Convergencia si:
|
|
// - confidence >= 0.85
|
|
// - mejora < 0.02 con confidence > 0.7 (rendimientos decrecientes)
|
|
const decision = director.decideConvergence(job, evaluation);
|
|
```
|
|
|
|
### EXECUTOR
|
|
|
|
Genera artefactos según tipo:
|
|
|
|
| Función | Modelos |
|
|
|---------|---------|
|
|
| TEXT_GENERATION | claude-sonnet, claude-opus, gpt-4, llama-3 |
|
|
| IMAGE_GENERATION | flux-pro, flux-dev, sdxl, dalle-3 |
|
|
| CODE_GENERATION | claude-sonnet, claude-opus, gpt-4 |
|
|
| DOCUMENT_GENERATION | claude-opus, gpt-4 |
|
|
| AUDIO_GENERATION | elevenlabs, bark, xtts |
|
|
| VIDEO_GENERATION | runway, pika, stable-video |
|
|
|
|
### EVALUATOR
|
|
|
|
Analiza cada artefacto:
|
|
|
|
```json
|
|
{
|
|
"confidence": 0.82,
|
|
"strengths": ["Cumple estructura básica", "Lenguaje apropiado"],
|
|
"weaknesses": ["Falta detalle en sección X"],
|
|
"feedback": "Mejorar especificidad y añadir ejemplos."
|
|
}
|
|
```
|
|
|
|
### AUDITOR
|
|
|
|
Registra eventos para trazabilidad:
|
|
|
|
- `JOB_CREATED` - Inicio del job
|
|
- `JOB_STARTED` - Ejecución iniciada
|
|
- `ITERATION_COMPLETED` - Cada iteración
|
|
- `JOB_COMPLETED` - Finalización
|
|
|
|
---
|
|
|
|
## Ciclo de Iteración
|
|
|
|
```
|
|
1. DIRECTOR recibe job
|
|
2. DIRECTOR selecciona modelo para EXECUTOR
|
|
3. EXECUTOR genera artefacto
|
|
4. EVALUATOR evalúa resultado
|
|
5. DIRECTOR decide:
|
|
- Converge → Finalizar
|
|
- No converge → Volver a paso 3 con feedback
|
|
6. AUDITOR registra cada paso
|
|
```
|
|
|
|
---
|
|
|
|
## Request
|
|
|
|
```json
|
|
{
|
|
"contract_version": "2.1",
|
|
"profile": "FULL",
|
|
|
|
"routing": {
|
|
"module": "FACTORY",
|
|
"version": "1.0"
|
|
},
|
|
|
|
"factory": {
|
|
"function": "TEXT_GENERATION",
|
|
"objective": "Generar artículo sobre IA",
|
|
"constraints": {
|
|
"max_iterations": 5,
|
|
"min_confidence": 0.85,
|
|
"max_cost_units": 1.0
|
|
},
|
|
"context": {
|
|
"style": "profesional",
|
|
"length": "1500 palabras",
|
|
"audience": "técnico"
|
|
}
|
|
},
|
|
|
|
"payload": {
|
|
"type": "text",
|
|
"content": "Brief del artículo..."
|
|
}
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## Response
|
|
|
|
```json
|
|
{
|
|
"result": {
|
|
"status": "SUCCESS",
|
|
"content": "Artículo generado...",
|
|
"content_hash": "sha256"
|
|
},
|
|
|
|
"factory": {
|
|
"iterations": 3,
|
|
"final_confidence": 0.89,
|
|
"model_used": "claude-opus",
|
|
"convergence_reason": "confidence_threshold"
|
|
},
|
|
|
|
"audit": {
|
|
"job_id": "uuid",
|
|
"events": [
|
|
{"type": "JOB_CREATED", "ts": "..."},
|
|
{"type": "ITERATION_COMPLETED", "iteration": 1, "confidence": 0.72},
|
|
{"type": "ITERATION_COMPLETED", "iteration": 2, "confidence": 0.81},
|
|
{"type": "ITERATION_COMPLETED", "iteration": 3, "confidence": 0.89},
|
|
{"type": "JOB_COMPLETED", "ts": "..."}
|
|
]
|
|
},
|
|
|
|
"performance": {
|
|
"total_ms": 45000,
|
|
"cost_units": 0.45
|
|
}
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## Convergencia
|
|
|
|
| Condición | Acción |
|
|
|-----------|--------|
|
|
| confidence >= threshold | Converge |
|
|
| mejora < 0.02 && confidence > 0.7 | Converge (rendimientos decrecientes) |
|
|
| iteraciones >= max | Converge forzado |
|
|
| costo >= max | Converge forzado |
|
|
|
|
---
|
|
|
|
## Configuración
|
|
|
|
```yaml
|
|
factory:
|
|
default_max_iterations: 5
|
|
default_min_confidence: 0.85
|
|
default_max_cost: 1.0
|
|
|
|
convergence:
|
|
confidence_threshold: 0.85
|
|
diminishing_returns_threshold: 0.02
|
|
diminishing_returns_min_confidence: 0.7
|
|
|
|
models:
|
|
text:
|
|
primary: claude-opus
|
|
fallback: [claude-sonnet, gpt-4]
|
|
image:
|
|
primary: flux-pro
|
|
fallback: [flux-dev, sdxl]
|
|
```
|