DDR-001 — Sistema de clasificación facetada¶
Versión: 0.1.0 | Fecha: 2026-04-11 | Estado: Aceptado
Contexto¶
Engrama es un framework de memoria a largo plazo basado en grafos para agentes de IA. Los nodos representan entidades (proyectos, problemas, tecnologías, decisiones) y las aristas representan relaciones entre ellas. La pregunta central: ¿cómo deben clasificarse las entidades para que un agente pueda descubrir patrones entre dominios?
Los enfoques tradicionales — etiquetas planas, jerarquías de carpetas o enlaces sin tipo — fallan todos del mismo modo: mezclan diferentes tipos de información sobre una entidad. "Este problema trata sobre seguridad de tipos" (identidad), "pertenece al proyecto EOElite" (contexto) y "se resolvió activando las comprobaciones estrictas de nulos" (acción) son tres hechos ortogonales, pero las taxonomías planas los colapsan en un solo eje.
Decisión¶
Adoptar un sistema de seis facetas ortogonales, adaptado de la clasificación colonada de Ranganathan (PMEST, 1933) y enriquecido con conceptos de BFO (Basic Formal Ontology). Cada entidad se clasifica a lo largo de estas dimensiones independientes:
| Faceta | Pregunta que responde | Relación | Nodo destino |
|---|---|---|---|
| Identidad | ¿Qué es? | INSTANCE_OF |
Concept |
| Composición | ¿De qué está compuesto? | COMPOSED_OF |
Technology, Concept |
| Acción | ¿Qué hace / qué proceso? | PERFORMS / SOLVED_BY |
Concept, Decision |
| Propósito | ¿Para qué sirve? | SERVES |
Concept |
| Contexto | ¿Dónde y cuándo? | BELONGS_TO + marcas temporales |
Project, Client |
| Dominio | ¿A qué campo del conocimiento pertenece? | IN_DOMAIN |
Domain |
Por qué estas seis¶
El PMEST de Ranganathan (Personality, Matter, Energy, Space, Time) fue diseñado para la clasificación universal de bibliotecas. Nuestra adaptación se mapea de forma natural a un grafo de conocimiento:
- Personality → Identidad (
INSTANCE_OF): la naturaleza esencial de la entidad. - Matter → Composición (
COMPOSED_OF): de qué está construida. - Energy → Acción (
PERFORMS,SOLVED_BY): el proceso o la transformación. - Space/Time → Contexto (
BELONGS_TO+ marcas temporales): anclaje en proyectos y en el tiempo. - Propósito (añadido): Ranganathan no lo contemplaba —
has_functionde BFO cubre esa laguna. Saber para qué sirve algo es fundamental para que un agente decida cuándo reutilizarlo. - Dominio (añadido): filtrado a nivel de campo. Un agente que trabaja en ciberseguridad no necesita nodos de fotografía contaminando su recuperación.
Los nodos Concept como puente¶
El destino de la faceta de identidad — Concept — es el tipo de nodo más importante. Los conceptos son el puente que posibilita el descubrimiento entre dominios. Cuando dos Problems de distintos proyectos son ambos INSTANCE_OF del mismo Concept (p. ej., type-safety-violation), el agente descubre un patrón que puede transferir.
Los conceptos deben ser:
- Específicos del dominio pero agnósticos al proyecto:
type-safety-violationsí,eoelite-bug-42no. - En el nivel de abstracción adecuado: ni demasiado amplios (
programming) ni demasiado concretos (line-47-fix). - Deduplicados: siempre buscar antes de crear.
Regla de clasificación mínima¶
Toda entidad DEBE tener al menos:
- Contexto (
BELONGS_TO) — sin él, el nodo queda sin anclar.
INSTANCE_OF es OBLIGATORIO para: Problem, Decision, Vulnerability. Estos tipos carecen de sentido sin un Concept que los ancle — el descubrimiento entre dominios depende de ello. INSTANCE_OF es RECOMENDADO para el resto de tipos de nodo cuando aporta valor de descubrimiento más allá de lo que la etiqueta ya proporciona.
Toda entidad DEBERÍA tener:
- Dominio (
IN_DOMAIN) — habilita el filtrado por campo.
Composición, acción y propósito deben aplicarse cuando sean relevantes para la naturaleza de la entidad. No forcéis facetas que no apliquen.
Consecuencias¶
Positivas¶
- Descubrimiento entre dominios:
MATCH (a:Problem)-[:INSTANCE_OF]->(c:Concept)<-[:INSTANCE_OF]-(b:Problem)encuentra problemas similares en cualquier par de proyectos, dominios o periodos temporales. - Consultas ortogonales: cada faceta es independiente, así que las consultas pueden combinarlas libremente. "Problemas sobre seguridad de tipos en el dominio de ciberseguridad resueltos por una Decisión" es un recorrido natural del grafo.
- Perfiles componibles: nuevos dominios (hacking, fotografía, IA) añaden tipos de nodo y relaciones estructurales pero reutilizan las mismas seis facetas. El sistema de clasificación escala sin necesidad de rediseño.
- Autonomía del agente: las preguntas de las facetas ("¿Qué es?", "¿De qué está compuesto?") son lo bastante sencillas para que un LLM las aplique de forma consistente sin corrección humana constante.
Negativas¶
- Curva de aprendizaje: los agentes necesitan el system prompt para entender las seis facetas. Sin él, vuelven al etiquetado plano.
- Riesgo de sobreclasificación: los agentes pueden forzar facetas que no aplican. Mitigado por la regla: "no forcéis facetas que no apliquen".
- Deriva de conceptos: dos agentes podrían crear Concepts sutilmente distintos para la misma idea. Mitigado por la regla "siempre buscar antes de crear".
Referencias¶
- Ranganathan, S.R. (1933). Colon Classification. Madras Library Association.
- Arp, R., Smith, B., & Spear, A.D. (2015). Building Ontologies with Basic Formal Ontology. MIT Press.