Frameworks de IA en Python: sin aislamiento a nivel OS, memoria no acotada, conversaciones sin estado.
Kernex resuelve los tres.
El runtime de Rust
para agentes de IA.
Sandboxed. Agnóstico al proveedor. Memoria persistente.
Sin Python. Sin pausas de GC. Sin contenedores.
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.
preliminarLa 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.
Controles a nivel de prompt
Instrucciones del system prompt, llamadas de herramienta permitidas, filtros de respuesta. Útil pero eludible con una inyección bien elaborada.
SandboxProfile (nivel código)
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.
Aislamiento a nivel OS
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.
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"] 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
// 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
// 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
// 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.
Pipeline de revisión de código seguro para un equipo fintech
Las soluciones basadas en Python fueron rechazadas por el equipo de seguridad. Kernex permitió que el equipo aprobara una herramienta que habría sido bloqueada con cualquier alternativa en Python.
Pipeline de 3 fases, menos de 30 segundos por PR. Los logs de auditoría satisfacen la evidencia SOC 2.
Bot de documentación con memoria persistente
Un mantenedor en solitario con 40k líneas de Rust y 15 repos. kx recordó una decisión de breaking-change de marzo y la mencionó sin pedirlo en abril.
Tiempo de respuesta a preguntas de soporte: de 15 minutos a 4 minutos.
Asistente de IA local para desarrollo air-gapped
Operación completamente sin conexión con Ollama. Sandboxing a nivel OS como característica de cumplimiento. Ningún dato sale de la máquina, jamás.
Aprobado para su uso en un entorno de desarrollo clasificado.
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
¿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