Capa de Inteligencia — Los 4 Pilares

Cómo Arc OS valida, aprende, enfoca y se mejora a sí mismo.


Resumen

La Capa de Inteligencia se sitúa entre los mensajes del usuario y las respuestas de Claude. Opera en cuatro etapas:

         INPUT                    PROCESSING                 OUTPUT
    ┌──────────────┐        ┌──────────────────┐       ┌─────────────────┐
    │ User Message  │───────►│  Context Router   │       │ Claude Response  │
    │               │        │  (skill scoring)  │       │  + eval warnings │
    │ Fix It / 👎   │        │                  │       │                 │
    │ (feedback)    │        │  Learnings       │       │ Quality metrics │
    │               │        │  (correction     │       │  logged         │
    └──────────────┘        │   injection)     │       └────────┬────────┘
                            │                  │                │
                            │  buildGsdPrompt()│        ┌───────┴────────┐
                            └────────┬─────────┘        │ Nightly Loop   │
                                     │                  │ (improvement   │
                                     ▼                  │  proposals)    │
                              Claude CLI                └────────────────┘

Pilar 1: Motor de Evals Binarios

Qué: Reglas declarativas que verifican cada respuesta antes de entregarla.

Por qué: El output de IA debería tener controles de calidad, como los tests unitarios para el código.

Cómo:

Cada skill puede tener un archivo .evals.json con reglas:

{
  "rules": [
    { "id": "gm-001", "type": "string_not_contains", "value": "--force", "severity": "warning" },
    { "id": "gm-002", "type": "max_length", "value": 4000, "severity": "info" }
  ]
}

Después de que Claude genera una respuesta, el motor de evals ejecuta todas las reglas aplicables:

[Claude's response about git operations]
---
Eval: ⚠️ No force push | ℹ️ Response under 4000 chars

Tipos de Reglas

Tipo Qué Verifica
string_contains La respuesta debe incluir texto literal
string_not_contains La respuesta NO debe incluir texto
regex_match La respuesta debe coincidir con el patrón regex
regex_not_match La respuesta NO debe coincidir con el regex
max_length La respuesta debe ser <= N caracteres
min_length La respuesta debe ser >= N caracteres

Decisiones Clave de Diseño

Referencia de diseño: Anthropic Skill Creator — evals estructurados con afirmaciones binarias.


Pilar 2: Context Router

Qué: Selección inteligente de skills que inyecta solo los más relevantes en cada prompt.

Por qué: 25 skills cargados a la vez = dilución de contexto. El modelo intenta aplicar consejos de despliegue a revisiones de código.

Cómo:

Antes de construir el prompt, el router puntúa cada skill registrado contra el mensaje del usuario:

Score = (trigger matches x 2) + (keyword matches x 1)
Sort by score descending → take top 5

Ejemplo:

User: "Review this code for XSS vulnerabilities"

Scoring:
  code-review:     trigger "review" (2) + keyword "XSS" (1) = 3
  code-review-protocol: trigger "code review" (2)            = 2
  deployment-flow: no match                                  = 0
  git-manager:     no match                                  = 0

Injected into prompt:
  SKILLS_HINT (focus on these):
  - code-review: Security audit and code quality review...
  - code-review-protocol: Structured code review with OWASP...

Por Qué Sugerencias en Lugar de Filtrado

El router sugiere skills pero no bloquea otros. Claude sigue teniendo acceso completo.

Enfoque Riesgo
Filtrado estricto (--allowedTools) Una clasificación errónea rompe la sesión
Mutaciones de symlinks Cambios en el sistema de archivos sobre un proceso en ejecución
Sugerencias orientativas Seguro: una sugerencia incorrecta = Claude la ignora

Triggers vs Keywords

Triggers (2 pts): Señales de invocación explícita. El usuario solicita directamente esta capacidad.

Keywords (1 pt): Contexto semántico más amplio. Sugiere relevancia sin ser un comando.

Referencia de diseño: Priming de contexto — atención enfocada sin filtrado estricto.


Pilar 3: Reflect Loop

Qué: Captura automática de correcciones como reglas persistentes.

Por qué: Las correcciones a la IA deben sobrevivir a los reinicios. Una corrección = mejora permanente.

Cómo:

CEO presses 🛠️ Fix It
    │
    ├── addLearning(source: "fixit", rule: "Fix requested for: <last response>")
    ├── projectLearnings reloaded from disk
    └── Fix prompt sent to Claude for immediate correction

CEO presses 👎
    │
    ├── addLearning(source: "negative", rule: "Negative feedback on: <response>")
    ├── qualityTracker.logFeedback(positive: false)
    └── projectLearnings reloaded from disk

Las reglas se guardan en learnings.md:

# Learnings

## Rules

- [2026-04-03T14:22:00Z] [fixit] Always use t-call for translations in Odoo QWeb
- [2026-04-03T15:10:00Z] [negative] Avoid sudo in deployment scripts

En cada mensaje posterior, los logs acumulados se inyectan:

LEARNINGS (past corrections — follow these rules):
- Avoid sudo in deployment scripts
- Always use t-call for translations in Odoo QWeb

Propiedades Clave

Referencia de diseño: Claude Reflect System — las correcciones se convierten en reglas permanentes que previenen regresiones.


Pilar 4: Karpathy Loop

Qué: Análisis automatizado nocturno de métricas de calidad con propuestas de mejora enviadas al CEO.

Por qué: Los humanos olvidan revisar el rendimiento. El sistema debería encontrar sus propios puntos débiles.

Cómo:

Cada día a las 03:00 UTC, scripts/nightly-improve.ts se ejecuta:

  1. Leer el registro — enumerar todos los Child Bots desde bot_registry.json
  2. Leer métricas — cargar quality-metrics.json por cada child
  3. Encontrar los de bajo rendimiento — filtrar skills donde:
    • applied_count >= 3 (tamaño mínimo de muestra para evitar ruido)
    • Y además success_rate < 80% O feedback_negative > feedback_positive
  4. Leer logs — extraer patrones de corrección relacionados
  5. Generar propuestas — basadas en plantillas (deterministas, sin IA)
  6. Enviar al CEO — informe resumen + tarjetas de propuestas individuales en Telegram

Flujo de Aprobación del CEO

Telegram: Proposal Card
┌──────────────────────────────────────┐
│ Improvement Proposal                  │
│                                       │
│ Child: citadel-v2                     │
│ Skill: code-review                    │
│ Reason: low success rate (72%)        │
│ Feedback: 👍 4 / 👎 6                │
│                                       │
│ Related learnings:                    │
│   • Always use t-call for i18n        │
│                                       │
│ [✅ Approve]  [❌ Reject]             │
└──────────────────────────────────────┘

Decisiones Clave de Diseño

Referencia de diseño: Karpathy AutoResearch Loop — modificar → verificar → conservar/descartar → repetir. Con la incorporación crítica de la aprobación humana.


Cómo Trabajan Juntos los 4 Pilares

Day 1:
  CEO sends message → Context Router suggests relevant skills
  Claude responds → Evals check output → Warning: "No force push"
  CEO sees warning, presses Fix It → Learning saved to learnings.md

Day 2:
  CEO sends similar message → Learnings injected: "Don't use --force"
  Claude avoids the mistake → No eval warnings → thumbs-up
  Quality metrics improve for that skill

Day 30:
  Nightly loop detects git-manager skill has 95% success rate
  No proposal needed — skill is healthy

Day 30 (different skill):
  Nightly loop detects code-review at 68% success
  Sends proposal to CEO → CEO approves → skill backed up
  CEO manually improves skill.md
  Next cycle: success rate climbs

El sistema crea un bucle de retroalimentación positiva: las correcciones se convierten en reglas persistentes → las reglas mejoran la calidad → las métricas reflejan la mejora → el bucle nocturno confirma el buen estado del sistema.


Pilar 5: Sage Worker (Phase 40.11+)

Qué: Análisis de skills potenciado por IA, benchmarking y descubrimiento en el marketplace.

Por qué: La mejora manual de skills no escala. Se necesita un análisis automatizado de la calidad de los skills y acceso a la experiencia de la comunidad.

Cómo:

Análisis de Skills

Selecciona cualquier skill en la UI de Skill Evolution → haz clic en "Sage Analyze" → Sage (Claude Haiku) evalúa:

Benchmarks A/B

Compara dos versiones de un skill:

  1. Selecciona una actualización de skill (PR)
  2. Ejecuta el benchmark → Sage prueba ambas versiones contra prompts de muestra
  3. Los resultados muestran una comparación de calidad con resumen

Descubrimiento en el Marketplace

Busca skills creados por la comunidad en claudemarketplaces.com:

  1. "Sage Scout" → busca por palabra clave
  2. Analiza la compatibilidad con tu proyecto
  3. Instala de forma global o haz fork a un proyecto específico

Referencia de diseño: Gestores de paquetes (npm, pip) para la gestión de skills de IA, con análisis de compatibilidad potenciado por LLM.