Update to Skynet v7 - Complete documentation restructure
- 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
This commit is contained in:
205
05_INTEGRACIONES/factory-protocol.md
Normal file
205
05_INTEGRACIONES/factory-protocol.md
Normal file
@@ -0,0 +1,205 @@
|
||||
# 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]
|
||||
```
|
||||
Reference in New Issue
Block a user