Add: 260118_agente_curador_hashtags.md - diseño inicial
This commit is contained in:
64
agentes/260118_agente_curador_hashtags.md
Normal file
64
agentes/260118_agente_curador_hashtags.md
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
# Agente Curador de Hashtags
|
||||||
|
|
||||||
|
## Propósito
|
||||||
|
Asistir en la migración de hashtags legacy (texto) a referencias mrf (hashes) en la base de datos TZZR.
|
||||||
|
|
||||||
|
## Contexto del problema
|
||||||
|
- 15 tablas con campo `hashtags` contienen texto legible: `["payment", "cable", "invoice"]`
|
||||||
|
- Deberían contener hashes mrf referenciando la tabla `hst`
|
||||||
|
- 228 tags únicos, 2,747 usos totales
|
||||||
|
- Muchos tags son ambiguos (ej: "cable" → 6 hst posibles)
|
||||||
|
|
||||||
|
## Función del agente
|
||||||
|
|
||||||
|
### Input
|
||||||
|
- Tag de texto legacy (ej: "cable")
|
||||||
|
- Contexto del registro (tabla origen, campos relacionados)
|
||||||
|
- Lista de hst candidatos que coinciden parcialmente
|
||||||
|
|
||||||
|
### Proceso
|
||||||
|
1. Analizar el contexto del registro donde aparece el tag
|
||||||
|
2. Consultar tabla `hst` buscando coincidencias por:
|
||||||
|
- `alias`
|
||||||
|
- `name_es`
|
||||||
|
- `name_en`
|
||||||
|
3. Rankear candidatos por relevancia contextual
|
||||||
|
4. Si confianza > umbral → proponer mapeo automático
|
||||||
|
5. Si confianza < umbral → marcar para revisión humana
|
||||||
|
|
||||||
|
### Output
|
||||||
|
- `mrf` recomendado
|
||||||
|
- Score de confianza (0-1)
|
||||||
|
- Justificación
|
||||||
|
- Flag: `auto_approved` | `needs_review`
|
||||||
|
|
||||||
|
## Tabla de trabajo
|
||||||
|
|
||||||
|
```sql
|
||||||
|
CREATE TABLE tzzr_system.legacy_tag_mapping (
|
||||||
|
id SERIAL PRIMARY KEY,
|
||||||
|
tag_texto VARCHAR(128) NOT NULL,
|
||||||
|
tabla_origen VARCHAR(64),
|
||||||
|
contexto JSONB,
|
||||||
|
mrf_propuesto VARCHAR(64) REFERENCES tzzr_core_hst.hst(mrf),
|
||||||
|
confianza DECIMAL(3,2),
|
||||||
|
justificacion TEXT,
|
||||||
|
estado VARCHAR(20) DEFAULT 'pendiente', -- pendiente, aprobado, rechazado, revision
|
||||||
|
revisado_por VARCHAR(64),
|
||||||
|
created_at TIMESTAMP DEFAULT NOW(),
|
||||||
|
updated_at TIMESTAMP DEFAULT NOW()
|
||||||
|
);
|
||||||
|
```
|
||||||
|
|
||||||
|
## Métricas de éxito
|
||||||
|
- % de tags mapeados automáticamente (objetivo: >60%)
|
||||||
|
- % de mapeos auto-aprobados correctos (objetivo: >95%)
|
||||||
|
- Tiempo promedio de curación por tag
|
||||||
|
|
||||||
|
## Dependencias
|
||||||
|
- Acceso lectura a tablas con hashtags
|
||||||
|
- Acceso lectura a `tzzr_core_hst.hst`
|
||||||
|
- Acceso escritura a `legacy_tag_mapping`
|
||||||
|
|
||||||
|
## Estado
|
||||||
|
Diseño inicial - pendiente implementación
|
||||||
Reference in New Issue
Block a user