Synthetic Mind es una arquitectura cognitiva personalizada diseñada para replicar patrones de razonamiento humano específicos de manera determinística y auditable.
A diferencia de los agentes de IA genéricos que "piensan" utilizando pesos pre-entrenados opacos, Synthetic Mind aísla el proceso de razonamiento (heurísticas) del procesador (LLM). Ingiere pensamientos crudos, infiere reglas explícitas y las aplica contextualmente.
El objetivo no es crear una superinteligencia, sino una Mente Espejo (Mirror Mind): un sistema que piensa como su usuario, pero con mayor coherencia, capacidad explícita de autorreflexión (active recall) e inmunidad a la deriva cognitiva (versionado).
NO es:
- Un chatbot.
- Un sistema RAG genérico.
- Un agente autónomo que actúa sin supervisión.
El sistema se adhiere estrictamente a la Arquitectura Hexagonal (Ports & Adapters) para desacoplar el modelo cognitivo central de las herramientas externas (LLMs, Bases de Datos, APIs Web).
- Dominio (
mind/core): Contiene la lógica pura y las entidades (Thought,Heuristic,CognitiveMode,Contradiction). Sin dependencias externas. - Aplicación (
mind/application): Orquesta la lógica a través de Casos de Uso (RegisterThought,InferHeuristics,ProcessFeedback). Implementa el flujo de trabajo cognitivo. - Infraestructura (
mind/infrastructure): Implementaciones concretas de interfaces.ChromaMemoryRepo(Persistencia Vectorial).OllamaClient(Interfaz LLM).
- Interfaz (
mind/interface): Puntos de entrada.FastAPI(API REST).Streamlit(Laboratorio Cognitivo UI).
Unidades de entrada cruda. Representan un flujo de conciencia.
- Estructura:
content,source,timestamp,tags. - Rol: Datos transitorios. Se usan solo como material semilla para minar heurísticas.
Una regla mental explícita derivada de pensamientos.
- Condición: "SI la reunión no tiene agenda"
- Acción: "ENTONCES rechazarla"
- Racional: "Pérdida de tiempo"
- Métricas:
Confidence(0.0 - 1.0): Valor de verdad. ¿Qué tan seguro estoy de esto?Utility(0.0 - 1.0): Valor pragmático. ¿Qué tan útil es esta acción?
- Ciclo de Vida:
Active|Deprecated. - Linaje: Soporta versionado (
version,parent_id) para evolución.
El Motor de Inferencia transforma la complejidad no estructurada (Pensamientos) en orden estructurado (Heurísticas).
- Recuperación: Obtiene pensamientos recientes relevantes de la memoria.
- Extracción LLM: Utiliza un prompt de "Inferencia Agresiva" para forzar la extracción de patrones incluso de señales débiles.
- Estrategia de Parsing:
- Decodificación JSON Robusta: Intenta localizar y reparar bloques JSON.
- Fallback: Si falla el análisis estructural, crea una heurística de "sesgo de baja confianza" a partir del texto sin procesar para asegurar que no haya pérdida de datos.
- Verificación de Referencia: Antes de guardar, dispara el Active Recall (ver abajo).
Antes de aceptar una nueva creencia (Heurística), el sistema consulta su memoria existente para prevenir la disonancia cognitiva.
Existe un conflicto cuando dos heurísticas activas comparten:
- Condiciones Similares (Similitud Semántica > Umbral).
- (Implícito) Acciones/Racionales Divergentes.
- Se genera un nuevo candidato a heurística.
- El sistema consulta la BD Vectorial buscando reglas que coincidan con la Condición del candidato.
- Si se encuentran coincidencias (y no son el mismo candidato):
- Marca una
Contradiction(A vs B). - Guarda la contradicción en el repositorio.
- Marca una
- Resultado: El sistema "notifica" que sostener esta nueva creencia entra en conflicto con una anterior.
El sistema no piensa de la misma manera todo el tiempo. Implementa Modos Cognitivos para replicar el cambio de contexto humano.
- Analysis (Análisis):
- Objetivo: Verdad y Rigor.
- Filtros: Descarta baja confianza (< 0.7).
- Supresión: Ignora tipos
biasystate.
- Execution (Ejecución):
- Objetivo: Acción y Velocidad.
- Filtros: Requiere alta utilidad (> 0.6). Tolera menor confianza (0.4).
- Learning (Aprendizaje):
- Objetivo: Exploración.
- Filtros: Muy permisivo (Confianza > 0.2). Permite sesgos.
- Values (Valores):
- Objetivo: Alineación.
- Bias: Potencia (boost) los tipos
preferenceyprinciple.
- Inferencia: Una heurística inferida durante el modo Analysis podría ser rechazada, pero aceptada en modo Learning.
- Contradicciones: Un conflicto entre una regla de Analysis y una de Learning podría ser ignorado si el modo actual suprime una de ellas.
- Recuperación:
GET /heuristicsfiltra resultados basados en la configuración del modo activo.
El humano actúa como el Supervisor Epistemológico. El sistema propone; el humano valida.
- Approve (Aprobar): Valida la regla. Aumenta
confidenceyutility. - Reject (Rechazar): Depreca la regla (
active=False). Disminuye puntaje. - Modify (Modificar): Crea una Versión 2 (hijo), la vincula al padre y depreca la versión anterior. Preserva el historial.
| Método | Endpoint | Descripción |
|---|---|---|
POST |
/thought |
Registra pensamientos crudos. |
POST |
/infer |
Dispara el motor de inferencia (Mode-Aware). Retorna nueva Heurística/Conflicto. |
GET |
/heuristics |
Recupera reglas. Filtra por filtros/sesgos del Modo Activo. |
POST |
/feedback |
Aplica juicio humano (Approve/Reject/Modify). |
POST |
/mode/set |
Cambia el Modo Cognitivo global. |
GET |
/mode/current |
Retorna la config del modo activo. |
GET |
/contradictions |
Lista conflictos abiertos. |
GET |
/health/cognition |
Retorna métricas (Integridad, Patrones Activos). |
Una interfaz de "Laboratorio" minimalista para que el usuario gobierne su mente sintética.
- Barra Lateral: inyectar pensamientos y Cambiar Modo Cognitivo.
- Dashboard: Ver Salud Epistémica.
- Grilla de Patrones: Tabla filtrable de reglas.
- Visualiza
Condición -> Acción. - Expone botones para Feedback instantáneo (
👍,👎,✏️). - Refleja la "lente" del Modo seleccionado actualmente.
- Visualiza
Estado: v0.4 (Feature Complete para el Bucle Cognitivo Central).
Completado:
- Implementación Hexagonal Completa.
- Motor de Inferencia con Fallbacks.
- Active Recall (Detección de Contradicciones).
- Cambio de Contexto (Modos).
- Feedback/Versionado.
- UI Lab.
Diseño Basado en Principios: Este sistema demuestra que la Arquitectura es Destino. Al forzar límites estrictos y modelos explícitos, creamos un sistema que no solo "genera texto", sino que gestiona conocimiento estructurado respetando la complejidad del pensamiento humano.