Saltar al contenido principal

Frameworks de IA en Python: sin aislamiento a nivel OS, memoria no acotada, conversaciones sin estado.

Kernex resuelve los tres.

v0.4.0 Apache-2.0 / MIT crates.io github

El runtime de Rust
para agentes de IA.

Sandboxed. Agnóstico al proveedor. Memoria persistente.

Sin Python. Sin pausas de GC. Sin contenedores.

cat main.rs rust
use kernex_runtime::RuntimeBuilder;
use kernex_providers::factory::ProviderFactory;
use kernex_core::message::Request;

#[tokio::main]
async fn main() -> anyhow::Result<()> {
    let runtime = RuntimeBuilder::from_env().build().await?;
    let provider = ProviderFactory::create("ollama", None)?;
    let request = Request::text("user-1", "Explain this codebase");
    let response = runtime.complete(&provider, &request).await?;
    println!("{}", response.text);
    Ok(())
}

cargo add kernex-runtime kernex-providers  ·  docs.rs/kernex-runtime

Todo lo que producción requiere.

No es un wrapper superficial. No es un framework prototipo. Crates componibles que forman un sistema de producción.

Sandbox a Nivel OS

Seatbelt en macOS. Landlock en Linux. El OS impone el límite aunque el modelo sea engañado. Ningún otro framework de IA en Rust incluye esto.

11 Proveedores de IA

Claude Code CLI, Anthropic, OpenAI, Gemini, Ollama, OpenRouter, Groq, Mistral, DeepSeek, Fireworks, xAI. Cambia de proveedor con una línea. Sin vendor lock-in.

Memoria Persistente

Hechos respaldados por SQLite, lecciones de sesión y aprendizaje por recompensa. El contexto persiste entre ejecuciones. Tu agente recuerda.

Pipelines en TOML

Topologías multi-agente definidas en TOML. Bucles correctivos, fases paralelas, enrutamiento condicional. Checkpointing crash-safe reanuda pipelines tras un fallo. Versionado junto a tu código.

21 Skills Integrados

9 integraciones de herramientas (filesystem, git, navegador, GitHub, bases de datos) y 12 personas de agente incluidas. Carga desde archivos SKILL.md. Distribuye convenciones con tu repo.

Binario Único

Sin virtualenv. Sin contenedor. Sin dependencias de runtime. Un binario compilado de menos de 15 MB. Despliégalo donde quieras.

Benchmarks.

preliminar

La ventaja de Rust es real, pero los números dependen de la tarea. El cold start y la memoria son las señales más consistentes. Metodología completa y resultados en GitHub.

framework lang arranque en frío memoria pico rendimiento
Kernex
Rust 12ms 24 MB 185 req/s
LangChain
Python 2,200ms 310 MB 43 req/s
LangGraph
Python 2,800ms 385 MB 36 req/s
CrewAI
Python 3,100ms 340 MB 29 req/s

Completados de texto secuenciales con Ollama local (codellama:13b). Apple M2 Pro, 32 GB RAM. Cold start: lanzamiento del proceso hasta la primera llamada a la API. Memoria: 10 agentes concurrentes. Metodología completa: github.com/kernex-dev/kernex/bench

Seguridad que impone el OS.

Ningún otro framework de Rust tiene la Capa 1. Ni Rig. Ni AutoAgents. Kernex es el único framework donde una inyección de prompt no puede leer tus claves SSH.

capa 3

Controles a nivel de prompt

configurado por usuario

Instrucciones del system prompt, llamadas de herramienta permitidas, filtros de respuesta. Útil pero eludible con una inyección bien elaborada.

capa 2

SandboxProfile (nivel código)

kernex-sandbox

Validación de rutas a nivel Rust antes de que cualquier operación de archivo llegue al OS. Listas de permitidos y bloqueados por perfil.

capa 1

Aislamiento a nivel OS

exclusivo de Kernex

Seatbelt (macOS) y Landlock (Linux) imponen límites de filesystem y red a nivel kernel. Incluso si las Capas 2 y 3 fallan, el OS rechaza la syscall.

macOS Seatbelt Linux Landlock

Las tres capas corren simultáneamente. GuardrailRunner añade filtrado semántico de entrada y salida en la capa de pipeline. Logs de auditoría escritos en SQLite como evidencia de cumplimiento.

cat .kernex/sandbox.toml

[sandbox]
# Allowed read paths
allow_read = ["./src", "./Cargo.toml", "./Cargo.lock"]

# Blocked paths — OS enforces this, not the model
deny_read  = ["~/.ssh", "~/.aws", "/etc", "/var"]
deny_write = ["*"]  # read-only by default

# Network: only the provider endpoint
allow_network = ["api.anthropic.com:443"]
Leer el modelo de seguridad

Quién construye con Kernex.

Tres equipos con diferentes presiones. Un framework que responde a cada uno.

Equipos backend Series A-C

Ingeniero de Infraestructura de IA

ICP 1

// el problema

Puede prototipar con LangChain. No puede confiar en él en producción. Fugas de memoria, ralentizaciones del GIL, cero aislamiento a nivel OS.

// lo que kernex les da

Tipos, memoria predecible y sandboxing forzado por el kernel para un sistema que toca datos de producción.

Organizaciones de ingeniería orientadas al cumplimiento

Equipo de Plataforma Orientado a Seguridad

ICP 2

// el problema

Presión legal para demostrar que los subsistemas de IA no pueden acceder a rutas sensibles ni exfiltrar credenciales. Python no tiene respuesta.

// lo que kernex les da

Límites forzados por el OS más logs de auditoría de HookRunner. Una historia que supera una revisión de seguridad.

Constructores independientes

Desarrollador Rust Independiente

ICP 3

// el problema

Cada librería de IA en Rust es un wrapper superficial sin orquestación. O requiere incorporar Python.

// lo que kernex les da

Una solución nativa de Rust completa: proveedor, memoria, pipelines y CLI. Un binario compilado que funciona sin conexión.

Casos de estudio.

Despliegues en producción, restricciones reales, resultados reales.

Inicio rápido.

En marcha en menos de cinco minutos.

Agregar a Cargo.toml

[dependencies]
kernex-runtime = "0.4"
kernex-providers = "0.4"
tokio = { version = "1", features = ["full"] }

o: cargo add kernex-runtime kernex-providers

Escribe tu agente

use kernex_runtime::RuntimeBuilder;
use kernex_providers::factory::ProviderFactory;
use kernex_core::message::Request;

#[tokio::main]
async fn main() -> anyhow::Result<()> {
    // Set ANTHROPIC_API_KEY (or OPENAI_API_KEY, OLLAMA_HOST, etc.)
    let runtime = RuntimeBuilder::from_env().build().await?;
    let provider = ProviderFactory::create("claude", None)?;
    let request  = Request::text("user-1", "Summarize the repo at ./src");
    let response = runtime.complete(&provider, &request).await?;
    println!("{}", response.text);
    Ok(())
}

Configura tu proveedor y ejecuta

ANTHROPIC_API_KEY=sk-... cargo run OLLAMA_HOST=localhost cargo run
kx CLI kernex-agent v0.4.0

¿Quieres Kernex sin escribir Rust?

kx es un asistente de código nativo de terminal construido sobre Kernex. Recuerda lo que decidiste, conoce tu stack y no se interpone en tu camino. La memoria del proyecto persiste entre sesiones en SQLite.

install

cargo install kernex-agent   # installs kx

kx init

frontend-developer installed.

backend-architect installed.

kx

what auth pattern did we decide on?

Based on our session on March 12: JWT with 15-minute access
tokens and refresh via httpOnly cookie. You noted SameSite=Strict
as the CSRF mitigation.