Archive: System v4 - Estado al 2024-12-24
This commit is contained in:
85
v4-archive/context/README.md
Normal file
85
v4-archive/context/README.md
Normal file
@@ -0,0 +1,85 @@
|
||||
# Sistema de Contexto para Agentes IA
|
||||
|
||||

|
||||
|
||||
|
||||
**"La IA no recuerda. Tú sí."**
|
||||
|
||||
Sistema de bloques de contexto atómicos para agentes TZZR.
|
||||
|
||||
## Filosofía
|
||||
|
||||
Los LLMs no tienen memoria persistente. Cada conversación empieza de cero. Este sistema resuelve eso:
|
||||
|
||||
1. **Bloques atómicos** - Piezas de contexto reutilizables
|
||||
2. **Asignación por agente** - Cada agente recibe solo lo que necesita
|
||||
3. **Peso y orden** - Priorizar información crítica
|
||||
4. **Expiración** - Contexto temporal cuando sea necesario
|
||||
|
||||
## Arquitectura
|
||||
|
||||
```
|
||||
context_blocks (35 bloques atómicos)
|
||||
↓
|
||||
agent_context_index (asignación agente↔bloque)
|
||||
↓
|
||||
v_agent_context (vista activa)
|
||||
↓
|
||||
get_agent_full_context(agent_id) → TEXT concatenado
|
||||
```
|
||||
|
||||
## Estadísticas
|
||||
|
||||
| Tipo | Cantidad |
|
||||
|------|----------|
|
||||
| identity | 6 |
|
||||
| capability | 12 |
|
||||
| knowledge | 13 |
|
||||
| rule | 3 |
|
||||
| index | 1 |
|
||||
| **Total** | **35** |
|
||||
|
||||
## Agentes
|
||||
|
||||
| Agente | Bloques | Rol |
|
||||
|--------|---------|-----|
|
||||
| ARCHITECT | 20 | Coordinador central |
|
||||
| DECK | 8 | Servidor personal |
|
||||
| CORP | 8 | Servidor empresarial |
|
||||
| HST | 5 | API tags semánticos |
|
||||
| LOCKER | 4 | Almacenamiento R2 |
|
||||
| RUNPOD | 6 | GPU endpoints |
|
||||
|
||||
## Uso Rápido
|
||||
|
||||
```sql
|
||||
-- Obtener contexto de un agente
|
||||
SELECT get_agent_full_context('architect');
|
||||
|
||||
-- Ver bloques asignados
|
||||
SELECT * FROM v_agent_context WHERE agent_id = 'deck';
|
||||
|
||||
-- Añadir bloque a agente
|
||||
INSERT INTO agent_context_index (agent_id, block_id, peso, orden)
|
||||
SELECT 'deck', id, 0.9, 5 FROM context_blocks WHERE codigo = 'nuevo_bloque';
|
||||
```
|
||||
|
||||
## Estructura del Repo
|
||||
|
||||
```
|
||||
context/
|
||||
├── schemas/ # SQL: tablas, vistas, funciones
|
||||
├── indices/ # Índices optimizados para LLM
|
||||
├── blocks/ # Documentación de bloques por tipo
|
||||
├── agents/ # Contexto por agente
|
||||
└── docs/ # Guías de uso
|
||||
```
|
||||
|
||||
## Base de Datos
|
||||
|
||||
- Host: ARCHITECT (69.62.126.110)
|
||||
- Database: `architect`
|
||||
- Acceso: `sudo -u postgres psql -d architect`
|
||||
|
||||
---
|
||||
Creado: 2024-12-24
|
||||
115
v4-archive/context/docs/USAGE.md
Normal file
115
v4-archive/context/docs/USAGE.md
Normal file
@@ -0,0 +1,115 @@
|
||||
# Guía de Uso
|
||||
|
||||
## Conexión
|
||||
|
||||
```bash
|
||||
ssh -i ~/.ssh/tzzr root@localhost "sudo -u postgres psql -d architect"
|
||||
```
|
||||
|
||||
## Consultar Contexto
|
||||
|
||||
### Contexto completo de un agente
|
||||
```sql
|
||||
SELECT get_agent_full_context('architect');
|
||||
```
|
||||
|
||||
### Ver bloques asignados
|
||||
```sql
|
||||
SELECT cb.codigo, cb.tipo, aci.peso, aci.orden
|
||||
FROM agent_context_index aci
|
||||
JOIN context_blocks cb ON aci.block_id = cb.id
|
||||
WHERE aci.agent_id = 'architect' AND aci.activo = true
|
||||
ORDER BY aci.orden;
|
||||
```
|
||||
|
||||
### Listar todos los bloques
|
||||
```sql
|
||||
SELECT codigo, tipo, length(contenido) as bytes, tags
|
||||
FROM context_blocks
|
||||
ORDER BY tipo, codigo;
|
||||
```
|
||||
|
||||
## Añadir Bloques
|
||||
|
||||
### Crear nuevo bloque
|
||||
```sql
|
||||
INSERT INTO context_blocks (codigo, tipo, contenido, tags) VALUES
|
||||
('mi_bloque', 'knowledge', 'Contenido del bloque...', '{tag1,tag2}');
|
||||
```
|
||||
|
||||
### Asignar bloque a agente
|
||||
```sql
|
||||
INSERT INTO agent_context_index (agent_id, block_id, peso, orden)
|
||||
SELECT 'deck', id, 0.9, 10
|
||||
FROM context_blocks WHERE codigo = 'mi_bloque';
|
||||
```
|
||||
|
||||
## Modificar Bloques
|
||||
|
||||
### Actualizar contenido
|
||||
```sql
|
||||
UPDATE context_blocks SET contenido = 'Nuevo contenido...'
|
||||
WHERE codigo = 'mi_bloque';
|
||||
```
|
||||
|
||||
### Cambiar peso/orden
|
||||
```sql
|
||||
UPDATE agent_context_index SET peso = 0.8, orden = 5
|
||||
WHERE agent_id = 'deck'
|
||||
AND block_id = (SELECT id FROM context_blocks WHERE codigo = 'mi_bloque');
|
||||
```
|
||||
|
||||
## Desactivar Bloques
|
||||
|
||||
### Desactivar temporalmente
|
||||
```sql
|
||||
UPDATE agent_context_index SET activo = false
|
||||
WHERE agent_id = 'deck'
|
||||
AND block_id = (SELECT id FROM context_blocks WHERE codigo = 'mi_bloque');
|
||||
```
|
||||
|
||||
### Bloque con expiración
|
||||
```sql
|
||||
INSERT INTO agent_context_index (agent_id, block_id, expires_at)
|
||||
SELECT 'architect', id, NOW() + INTERVAL '1 day'
|
||||
FROM context_blocks WHERE codigo = 'temporal_block';
|
||||
```
|
||||
|
||||
## Buscar Bloques
|
||||
|
||||
### Por tag
|
||||
```sql
|
||||
SELECT * FROM context_blocks WHERE 'services' = ANY(tags);
|
||||
```
|
||||
|
||||
### Por contenido
|
||||
```sql
|
||||
SELECT codigo, tipo FROM context_blocks
|
||||
WHERE contenido ILIKE '%mailcow%';
|
||||
```
|
||||
|
||||
## Estadísticas
|
||||
|
||||
### Bloques por tipo
|
||||
```sql
|
||||
SELECT tipo, COUNT(*) as cantidad
|
||||
FROM context_blocks
|
||||
GROUP BY tipo ORDER BY tipo;
|
||||
```
|
||||
|
||||
### Bloques por agente
|
||||
```sql
|
||||
SELECT agent_id, COUNT(*) as bloques
|
||||
FROM agent_context_index
|
||||
WHERE activo = true
|
||||
GROUP BY agent_id ORDER BY bloques DESC;
|
||||
```
|
||||
|
||||
### Tamaño total por agente
|
||||
```sql
|
||||
SELECT agent_id, SUM(length(cb.contenido)) as bytes
|
||||
FROM agent_context_index aci
|
||||
JOIN context_blocks cb ON aci.block_id = cb.id
|
||||
WHERE aci.activo = true
|
||||
GROUP BY agent_id ORDER BY bytes DESC;
|
||||
```
|
||||
Reference in New Issue
Block a user