proyecto generalizado

This commit is contained in:
2026-05-23 16:44:45 +02:00
parent 2f990ea636
commit b4964261ec
94 changed files with 1032 additions and 320 deletions
+25 -32
View File
@@ -1,16 +1,9 @@
# 🛡️ AgentForge
# 🔨 Forja
Plataforma profesional de **gobernanza de agentes IA**: catalogación, versionado
de prompts y políticas, guardrails runtime, ejecución stateful con
Human-in-the-Loop, observabilidad y trazabilidad end-to-end.
## ¿Por qué?
Poner agentes IA en producción sin una capa de gobierno produce sistemas
opacos: prompts que cambian sin historial, validaciones inconsistentes,
acciones de alto impacto sin supervisión, sin auditoría de decisiones.
AgentForge aporta el plano de control mínimo que un equipo de plataforma
necesita antes de operar agentes con impacto real.
**Forja de agentes IA** — plataforma de gobernanza genérica para agentes de cualquier tipo.
Catalogación y versionado (estilo Git) de definiciones, políticas y guardrails;
ejecución controlada con runtime stateful, Human-in-the-Loop y observabilidad completa.
Úsala como plano de control en cualquier proyecto que necesite agentes gobernados.
## Arquitectura
@@ -18,13 +11,13 @@ necesita antes de operar agentes con impacto real.
┌───────────────────────── docker-compose ──────────────────────────┐
│ │
│ ┌─────────────────────┐ HTTP/JSON ┌────────────────────┐ │
│ │ agentforge-dashboard│ ────────────────► │ agentforge-core │ │
│ │ forja-dashboard │ ────────────────► │ forja-core │ │
│ │ Streamlit :8501 │ ◄──────────────── │ FastAPI :8000 │ │
│ └─────────────────────┘ └────────────────────┘ │
│ │
│ Strategy pattern (Protocol) para LLMProvider, GuardrailEngine, │
AgentRegistry. Persistencia mixta: YAML (definiciones), JSON
│ (registry), JSONL (logs append-only), SQLite (checkpoints).
│ Strategy pattern para LLMProvider, GuardrailEngine, Registry.
│ Persistencia: YAML (defs versionadas), JSONL (logs), SQLite
│ (checkpoints LangGraph + HITL).
└────────────────────────────────────────────────────────────────────┘
```
@@ -65,14 +58,14 @@ Azure OpenAI real, edita `.env`.
| Feature | Ubicación |
|---|---|
| Agent Registry | `core/src/agentforge_core/registry/repository.py` |
| Versionado tipo Git | `agents/<name>/versions/` + `registry/versioning.py` |
| Guardrails runtime | `core/src/agentforge_core/guardrails/` |
| LangGraph stateful + checkpointing | `core/src/agentforge_core/runtime/` |
| Human-in-the-Loop | nodo `approve_gate` + endpoints `/approve` y `/reject` |
| Observabilidad | `observability/logging.py` (structlog + trace_id) |
| LLM provider abstraction | `core/src/agentforge_core/llm/` |
| Política versionada | `policies/default/versions/v1.yaml` |
| Agent / Policy Registry | `core/src/forja_core/registry/` |
| Versionado Git-like (YAML) | `agents/<name>/` + `policies/<name>/` |
| Guardrails runtime (strategy) | `core/src/forja_core/guardrails/` |
| LangGraph + HITL + checkpoints | `core/src/forja_core/runtime/` |
| Observabilidad (trace + structlog) | `core/src/forja_core/observability/` |
| LLM abstraction | `core/src/forja_core/llm/` |
| Editores gráficos (nuevo) | dashboard páginas Forjar Agente / Política |
| API REST + dashboard | forja-core :8000 + forja-dashboard :8501 |
## Variables de entorno
@@ -85,14 +78,14 @@ Ver [`docs/futuro.md`](docs/futuro.md).
## Estructura del repositorio
```
agentforge/
├── core/ servicio FastAPI
├── dashboard/ servicio Streamlit
├── agents/ definiciones declarativas (YAML)
├── policies/ políticas de guardrails
├── data/ estado runtime (gitignored)
├── tests/ pytest unit + integration
└── docs/ documentación adicional
forja/
├── core/ servicio FastAPI (gobernanza + runtime)
├── dashboard/ Streamlit (UI + editores gráficos)
├── agents/ definiciones de agentes (YAML versionados)
├── policies/ políticas de guardrails (YAML versionados)
├── data/ runtime state (gitignored)
├── tests/
└── docs/
```
## Tests