Semantic-Sift
Un middleware MCP basado en razonamiento que utiliza heurísticas y modelos BERT neuronales para destilar contexto y eliminar ruido.
Documentación
🔍 Semantic-Sift
El middleware de razonamiento primero para flujos de trabajo agénticos de alta fidelidad.
"Ahorra tokens mientras preserva el contexto: maximiza el razonamiento, minimiza la alucinación."
Semantic-Sift es un servidor local de Protocolo de Contexto de Modelo (MCP) que actúa como un "Nivel de Saneamiento" inteligente entre tus datos brutos y la ventana de contexto de tu IA.
Si bien los LLM modernos tienen ventanas de contexto masivas, su precisión de razonamiento a menudo se degrada a medida que aumenta el ruido. Semantic-Sift resuelve esto destilando registros técnicos, documentos extensos e historiales de chat en contexto de alta densidad utilizando LLMLingua-2. Trata tu ventana de contexto como un recurso precioso, optimizando la Relación Señal-Ruido (SNR) para que tus modelos pasen más tiempo razonando y menos tiempo navegando por texto repetitivo.
🧠 Filosofía: El Estudio de Dos
Semantic-Sift se basa en la filosofía del Estudio de Dos: la creencia de que el futuro de la ingeniería es una asociación de alta fidelidad entre un arquitecto humano y un copiloto de IA soberano. Al gestionar la fricción de la ingesta de datos brutos, Sift permite que este "Estudio" se centre en construir sistemas, no solo en aplicar parches. Actúa como un filtro cognitivo que garantiza que tanto tú como tu agente colaboren en la representación más limpia y relevante de la verdad técnica.
⚡ Inicio rápido (60 segundos)
# 1. Install
pip install "semantic-sift[neural]"
# 2. Onboard your project (writes IDE hooks and opencode.json)
semantic-sift-onboard # or: ask your AI "Run sift_onboard()"
# 3. Add to your MCP config (example: Cursor / Claude Desktop)
# { "mcpServers": { "semantic-sift": { "command": "semantic-sift" } } }
# 4. Warm up the model (optional — avoids first-call latency)
# Ask your AI: "Run sift_warmup()"
Guía de configuración completa (estructura de venv, matriz de configuración de IDE, Patrón Soberano): doc/INTEGRATION_ENCYCLOPEDIA.md
🏛️ Valor Multidisciplinario
Semantic-Sift es una capa estratégica diseñada para gestionar la atención en cuatro perfiles profesionales clave:
- Para el Ingeniero Senior: Un middleware local-first y de baja latencia que utiliza un enfoque de doble motor (Tamiz Heurístico + Reordenador Neuronal). Refina marcas de tiempo, texto repetitivo y JSON redundante antes de que lleguen al cable, reduciendo la latencia y previniendo fallos de razonamiento por "Perdido en el Medio".
- Para el Gerente de Proyecto: "Seguro de Contexto." Al reducir la sobrecarga de tokens en un 30-70%, Sift proporciona un ROI directo en los costos de API y reduce el "bucle de reintentos" causado por alucinaciones del modelo en entornos de datos desordenados.
- Para el Investigador: Integridad de datos a escala. Soporta MarkItDown (a través del extra opcional
[multi-modal]) para convertir.pdf,.docxy.xlsxcomplejos en Markdown estructurado y destilado, permitiendo la síntesis rápida de repositorios técnicos masivos sin perder anclas semánticas críticas. - Para el Socio de Conocimiento: Gestión de Carga Cognitiva. Sift gestiona la fricción de la ingesta de datos brutos, permitiendo que la asociación humano-IA se centre en estrategia de alto nivel y decisiones arquitectónicas en lugar de triaje manual de datos.
💰 Ingeniería de Valor: ROI Operativo vs. Económico
Semantic-Sift proporciona una capa dual de valor. Mientras que los beneficios económicos dependen de tu plan de facturación, los beneficios operativos se aplican a cada flujo de trabajo profesional.
1. El ROI Económico (Ahorros Directos)
Objetivo: Usuarios en planes de API por token (GPT-4o, Claude 3.5).
- Protección de Cartera: Sift actúa como un filtro local, típicamente reduciendo el volumen de tokens salientes en un 30-70%.
- Interés Compuesto: En bucles agénticos iterativos, estos ahorros se acumulan rápidamente. Cada carácter podado es dinero que permanece en tu presupuesto.
2. El ROI Operativo (Calidad y Rendimiento)
Objetivo: TODOS (incluidos usuarios de suscripción "Ilimitada" o por solicitud).
- Precisión de Atención: Incluso con contexto "infinito", los LLM sufren del síndrome de "Perdido en el Medio". Al eliminar el ruido, aseguras que todo el poder de razonamiento del modelo se enfoque en la señal técnica, resultando en código de mayor calidad y menos alucinaciones.
- Reducción de Latencia: Prompts más pequeños = Tiempo más rápido al Primer Token (TTFT). Pasas menos tiempo esperando que la "nube" procese texto repetitivo y más tiempo en tu estado de flujo.
- Seguro de Contexto: Previene errores de "Límite de contexto excedido" en tareas complejas. Sift asegura que el 100% del límite de tu modelo esté lleno de información, no de formato.
📚 Índice Maestro de Documentación
Todos los detalles técnicos, lógica arquitectónica y guías de integración se mantienen estrictamente en el directorio doc/ para prevenir la pérdida de datos a través de la resumición.
- doc/INDEX.md: La hoja de ruta de navegación y la fuente de verdad para la estructura de documentación.
- doc/ARCHITECTURE.md: Especificaciones del Interceptor de Gancho Sift, el Núcleo de Destilación (motores Heurístico/Semántico/Clasificación) y el Caché.
- doc/TOOL_REFERENCE.md: Manual exhaustivo del operador para todas las herramientas FastMCP (p. ej.,
sift_read_file,sift_logs,sift_chat,sift_rank). - doc/INTEGRATION_ENCYCLOPEDIA.md: Mapa Maestro de Compatibilidad, lógica del Inyector de Ganchos, Estructuras de Payload y la Matriz Maestra de Configuración para conectar IDEs (Cursor, Gemini, VS Code, OpenCode, etc.).
- doc/TELEMETRY_SPEC.md: Diseño del rastreo OpenTelemetry, Detector de Eco (Prevención de Doble Sifting), Cabeceras de Auditoría y controles de Privacidad.
- doc/ORCHESTRATION_BLUEPRINTS.md: Flujos de trabajo accionables para agentes de IA, incluidos árboles de decisión de Ingesta de Archivos, RAG Multi-Documento y Compactación de Historial.
🎯 Casos de Uso de Alto Impacto
📚 El Cazador de Conocimiento (Investigadores y Arquitectos)
- El Dolor: Leer PDFs de 50 páginas, especificaciones complejas de Word o sitios de documentación desordenados.
- El Sift: Soporta MarkItDown a través del extra opcional
[multi-modal]para ingerir nativamente.pdf,.docxy.xlsx. Convierte el "ruido" corporativo en Markdown estructurado, permitiendo que tu agente sintetice múltiples documentos de 14MB en un solo turno.
🛠️ El Cazador de Registros (DevOps y SREs)
- El Dolor: Encontrar un solo error en 100,000 líneas de registros técnicos.
- El Sift: El Tamiz Heurístico refina marcas de tiempo y texto repetitivo en milisegundos. El Gancho Subconsciente reordena automáticamente los resultados, para que tu agente solo vea los bloques de datos más relevantes.
🧠 El Estratega de Contexto (Ingenieros de IA)
- El Dolor: Alucinación de LLM y degradación del razonamiento causadas por flujos de datos desordenados.
- El Sift: Al entregar contexto de alta densidad con el 95% del significado preservado, Sift actúa como un Puente Cognitivo. Asegura que la atención de tu LLM se enfoque exclusivamente en la señal.
⚡ Niveles de Rendimiento
Semantic-Sift se distribuye en dos niveles de rendimiento. Elige según tu caso de uso:
Servidor MCP Python (pip install semantic-sift) | Sidecar CLI Rust (sift-core) | |
|---|---|---|
| Sifting heurístico de registros | ✅ ~500ms | ✅ <1ms (nativo) |
| Sifting semántico neuronal | ✅ ~500ms (PyTorch) | ✅ ~150ms (ONNX) |
| Dependencia de Python | Requerida | Ninguna |
| Toolchain de Rust | No requerido | No requerido (precompilado) |
| Entrega vía | Rueda PyPI (incluye sift-core precompilado) | Empaquetado en la rueda; usa fetch_sift_core.py para instalaciones de desarrollo |
Rueda PyPI (pip install semantic-sift): El binario sift-core precompilado está incluido — no se requiere toolchain de Rust.
Instalación editable/desarrollo (pip install -e .): El paso de compilación de Rust se omite. Ejecuta una vez para obtener el binario precompilado:
python scripts/fetch_sift_core.py
Marcador opcional [native]: Para herramientas de gestión de dependencias que necesitan un identificador explícito, pip install semantic-sift[native] está disponible como un extra sin operación (el binario siempre está incluido en la rueda).
🚀 Inicio Rápido
1. Instalación
Opción A: Instalación Rápida (PyPI)
ℹ️ Lo que obtienes: La rueda PyPI incluye el binario Rust
sift-coreprecompilado — no se requiere toolchain de Rust. El extra[neural]añade PyTorch (~1.5 GB) para el respaldo de payloads grandes usando LLMLingua-2;[multi-modal]añade MarkItDown para la ingesta de PDF/DOCX/XLSX. Espera varios minutos para la primera instalación debido al tamaño de descarga de PyTorch.
uv venv
# Windows: .\.venv\Scripts\activate
# macOS/Linux: source .venv/bin/activate
uv pip install semantic-sift[neural,multi-modal]
Opción B: Patrón Soberano (Recomendado)
Clona el repositorio para acceder al código fuente nativo del sidecar Rust y a los benchmarks:
⚠️ Compilador de Rust Requerido: El Patrón Soberano compila
sift-coredesde el código fuente. Debes tener el compilador de Rust instalado (rustup.rs) antes de ejecutar el comando de instalación a continuación. Si no deseas instalar Rust, usa la Opción A (PyPI) en su lugar.
git clone https://github.com/luismichio/semantic-sift.git
cd semantic-sift
# Use Python 3.12 for torch/CUDA compatibility
python3.12 -m venv venv312
# Windows:
.\venv312\Scripts\activate
# macOS/Linux:
# source venv312/bin/activate
uv pip install -e .[neural,multi-modal]
Consejo para Windows (descubrimiento de entorno
uv): Siuvno logra encontrar tu entorno (error: "No se encontró un entorno virtual"), apunta explícitamente a tu intérprete:uv pip install -e . --python venv312\Scripts\python.exe
Nota: Si estás usando el Patrón de Doble Repositorio Soberano de Context-Pipe,
semantic-siftse instala de forma cruzada encontext-pipe/venv(a través deuv pip install -e ../semantic-sift). Elvenv312anterior solo se necesita para el runtime ML independiente o para ejecutarserver.pydirectamente.
🐍 Guía de Entorno de Python
Elegir la ruta de Python correcta para tu configuración MCP es crítico para la estabilidad:
| Tipo de Configuración | Ejemplo de Ruta | Ventajas | Desventajas |
|---|---|---|---|
| Venv Dedicado (Win) | .../semantic-sift/venv312/Scripts/python.exe | Dependencias aisladas, sin conflictos de versión de torch. | Ligeramente más espacio en disco. |
| Venv Dedicado (Mac/Linux) | .../semantic-sift/venv312/bin/python | Mismo beneficio de aislamiento en Unix. | Igual. |
| Python Global | C:/Users/User/AppData/Local/.../python.exe | Bibliotecas compartidas, configuración rápida. | Alto riesgo de conflictos de versión (p. ej., discrepancias de transformers). |
Recomendación: Usa siempre la ruta de Venv Dedicado en tu mcp_config.json para asegurar que el núcleo de sifting esté aislado y sea confiable.
Nota sobre Orquestación: Semantic-Sift es un "Núcleo de Inteligencia". Para flujos de trabajo complejos con múltiples herramientas, recomendamos encarecidamente instalar Context-Pipe, el conmutador universal que enruta datos nativamente a Semantic-Sift sin bloquear tu IDE.
Para herramientas de desarrollo (mypy, pytest):
uv pip install -e .[dev]
Binario Rust para instalaciones editables:
pip install -e .omite el paso de compilación de Rust, por lo quesift-coreno estará en tu PATH. En lugar de compilar desde el código fuente, descarga el binario precompilado para tu plataforma desde la versión correspondiente de GitHub en un solo comando:python scripts/fetch_sift_core.pyEsto coloca
sift-core[.exe]directamente en el directorioScripts/binde tu entorno activo. Vuelve a ejecutarlo cada vez que actualices la versión.
2. Conecta el MCP
CRÍTICO: Para rutas de configuración exactas para Cursor, Gemini, OpenCode, VS Code y Claude, consulta la Matriz Maestra de Configuración.
3. Auto-Onboarding
Una vez conectado, pregunta a tu Asistente de IA:
"Ejecuta
sift_onboard()para configurar este proyecto."
📊 Comandos de Telemetría y Gestión
Semantic-Sift opera de forma invisible, pero siempre puedes auditar su rendimiento y ahorros de tokens sin quemar tokens de LLM para hacerlo.
- CLI de Terminal:
- Ejecuta
semantic-sift-statspara imprimir un panel global de tus ahorros de tokens, latencia y aciertos de caché. - Ejecuta
semantic-sift-onboardpara inicializar manualmente Sift en cualquier proyecto (soporta--envy--dry-run).
- Ejecuta
- Prompts MCP: Los clientes compatibles (Claude Desktop, Cursor, Zed) mostrarán un prompt
sift_dashboarden su interfaz (a menudo a través de un comando de barra o botón) para inyectar instantáneamente tus estadísticas de telemetría en el chat. - OpenCode y CLI de Gemini: La herramienta
sift_onboard()inyecta automáticamente comandos de barra personalizados nativos/sift-statsy/sift-onboarden la configuración de tu IDE.
🦀 Sidecar Rust Nativo (Aplicaciones Meechi y de Escritorio)
Para aplicaciones de alto rendimiento y locales primero (como Meechi), Semantic-Sift proporciona un binario nativo de Rust (sift-core). Este sidecar está optimizado para portabilidad y velocidad, con cero dependencias de Python.
🔀 El Motor Híbrido (semantic-sift-cli)
Para ofrecer lo mejor de ambos mundos, instalar el paquete de Python también expone el comando semantic-sift-cli. Este actúa como un Enrutador Inteligente:
- Para tareas cortas (<30,000 caracteres), se conecta instantáneamente al Rust
sift-corede baja latencia (ONNX). - Para tareas masivas por lotes, carga dinámicamente el framework PyTorch de alto rendimiento con Flash Attention para evitar la explosión de memoria.
Comparación de Características
| Característica | Servidor MCP de Python | Rust Sift-Core (Sidecar) |
|---|---|---|
| Cribado Heurístico de Registros | ✅ | ✅ (Nativo) |
| Compresión Semántica | ✅ (PyTorch) | ✅ (ONNX) |
| Ingestión Multimodal | ✅ (vía [multi-modal]) | ❌ (Solo Texto) |
| Formatos Soportados | .pdf, .xlsx, .docx, .html, .txt | .txt, .log, .out (Texto) |
| Latencia de Inicio | 3-5 segundos | ~10ms |
| Tamaño del Binario | ~1.5GB (con modelos) | ~15MB |
Nota: Para aplicaciones nativas como Meechi, recomendamos una estrategia de Ingestión por Niveles: use el frontend de la aplicación (por ejemplo,
pdf.js) para extraer texto, y luego envíelo al sidecar de Rust para un cribado semántico de alta velocidad.
Uso:
# Sift a log file instantly
cat app.log | sift-core logs
# Perform neural semantic compression
cat document.txt | sift-core semantic --model ./models/llmlingua2 --rate 0.4
🤖 Para Agentes de IA: Protocolo Operativo
Si eres un Agente de IA (por ejemplo, Gemini CLI, Cursor, Claude Code) leyendo este repositorio, sigue este protocolo:
- Inicialización: Llama a
sift_onboard()para registrar hooks en segundo plano. Usasift_onboard(dry_run=True)para previsualizar todas las acciones planificadas sin escribir ningún archivo. - Asesoramiento de Contexto: Antes de leer archivos grandes (>1,000 caracteres), llama a
sift_analyze_file(path)para determinar la proporción de ruido. - Cribado Obligatorio: Si el ruido > 15%, canaliza los datos a través de
sift_logsosift_chatantes de incluirlos en el razonamiento. Para documentos, usasift_doc(text, rate=0.4)— ajustarate(0.1–0.9) para intercambiar profundidad de compresión por fidelidad. - Clasificación: Usa
sift_rankpara identificar los fragmentos más relevantes semánticamente para la consulta del usuario. - Extracción: Al destilar PDFs o contenido extraído, usa
sift_extraction(content, show_diff=True)para ver exactamente qué se eliminó y verificar la fidelidad.
🛡️ Seguridad y Pruebas
Semantic-Sift está construido sobre una Línea Base de Cero Vulnerabilidades:
- Pytest: 100% de tasa de aprobación en integridad heurística.
- Bandit (SAST): Análisis estático automatizado para patrones de Python.
- Pip-Audit (SCA): Monitoreo en tiempo real de la cadena de suministro para 0 vulnerabilidades conocidas.
Controles de privacidad y telemetría:
- Establece
SIFT_TELEMETRY_OPTED_IN=truepara habilitar la telemetría (opt-in; deshabilitada por defecto). - Establece
SIFT_TELEMETRY_DISABLED=true(interruptor de apagado heredado) para deshabilitar la telemetría por completo. - Establece
SIFT_TELEMETRY_TTL_DAYS=90(por defecto) para controlar cuántos días de historial de sesión se conservan en.pipe_telemetry.jsonantes de que se eliminen las entradas antiguas. - Establece
SIFT_TELEMETRY_URL=https://your-endpointpara enrutar pulsos de metadatos a tu propio endpoint. - Establece
SIFT_PULSE_RATE_LIMIT_S=10(por defecto) para controlar la frecuencia de pulsos de telemetría asíncrona.
Controles de seguridad:
- Establece
SIFT_ALLOW_GLOBAL_READS=truepara permitirsift_read_file/sift_analyze_filefuera de la raíz del espacio de trabajo (la protección contra traversal de rutas está activada por defecto).
Controles de rendimiento:
- Establece
SIFT_HOOK_TIMEOUT_MS=3000para limitar la latencia semántica del hook antes de la fallback heurística. - Establece
SIFT_MODEL_READY_WAIT_MS=1200para controlar el tiempo de espera de calentamiento del modelo semántico antes de devolver la salida en modo heurístico. - Establece
SIFT_COMPACTION_FIDELITY_THRESHOLD=0.3(por defecto) para controlar el umbral de solapamiento de vocabulario por debajo del cual se emite una advertencia de compactación de baja fidelidad. - Establece
SIFT_RANK_TOP_N=3(por defecto) para establecer el número predeterminado de resultados devueltos porsift_ranka nivel de servidor cuandotop_nno se pasa explícitamente.
Controles de registro de hooks:
- Establece
SIFT_LOG_FILEpara sobrescribir la ruta del registro de hooks (por defecto:.gemini/sift_debug.log). - Establece
SIFT_LOG_LEVEL(DEBUG,INFO,WARNING,ERROR) para controlar la verbosidad del registro de hooks.
Consulta SECURITY.md para nuestra política de seguridad completa.
El esquema de telemetría y los detalles del endpoint están documentados en doc/TELEMETRY_SPEC.md.
🔗 El Ecosistema (Studio of Two)
Semantic-Sift es un miembro insignia de la infraestructura Studio of Two. Está diseñado para trabajar en armonía de alta fidelidad con:
- Context-Pipe: El conmutador universal para la ingeniería de contexto. Mientras Sift proporciona la inteligencia, Context-Pipe proporciona la orquestación. Recomendamos encarecidamente usar Context-Pipe para encadenar nodos de Sift con herramientas de enmascaramiento, búsqueda e ingestión multimodal.
⚖️ Licencia
Semantic-Sift está licenciado bajo la Apache License 2.0. Consulta LICENSE.md para más detalles.
🤝 Contribuciones
Semantic-Sift es de Código Abierto, pero Cerrado a Contribuciones.
Para mantener la estricta visión arquitectónica del "Studio of Two" y mantener el costo de mantenimiento en cero absoluto, este repositorio no acepta pull requests externos. Te animamos a usar, incrustar y bifurcar el código bajo la licencia permisiva Apache 2.0, pero por favor no envíes PRs para nuevas características o correcciones de errores. Consulta CONTRIBUTING.md para más detalles.