Por qué un Kimi K3 autoalojado no tiene memoria
Lo que realmente te dan los pesos abiertos
Obtienes el modelo: pesos, un servidor de inferencia (vLLM, SGLang o similar) y un endpoint. Eso es una función: entran tokens, salen tokens. Los productos de consumo con los que la gente lo compara (ChatGPT, Claude) envuelven sus modelos en toda una capa de producto: cuentas, almacenamiento de conversaciones, funciones de memoria, recuperación. Nada de eso viene con los pesos. Cuando te autoalojas, estás recibiendo el motor, no el coche.
La razón técnica por la que no tiene estado
La inferencia es sin estado por diseño. El modelo mantiene el contexto solo para la solicitud que tiene delante; eso es la ventana de contexto. La ventana de 1M de tokens de K3 es enorme, lo que hace que esto sea fácil de malinterpretar: puedes meter una base de código entera o un año de notas en una sola solicitud, por lo que se siente como memoria. No lo es. Cierra la solicitud y el estado desaparece; la siguiente llamada no sabe nada. Una ventana grande es memoria de trabajo para una tarea, no persistencia entre tareas.
Lo que esto te cuesta
Vuelves a enviar todo, cada vez. Para mantener una "conversación" en marcha, reproduces todo el historial en cada turno; el coste y la latencia aumentan a medida que crece, hasta que alcanzas el límite de la ventana y empiezas a truncar. Los despliegues multiusuario no tienen perfil por usuario, por lo que la personalización es imposible sin construirla. And nada se acumula: tu agente autoalojado no puede aprender sobre tu proyecto entre sesiones, porque no hay ningún lugar donde guardar ese aprendizaje.
Construir la memoria tú mismo (y lo que cuesta)
La pila DIY (hazlo tú mismo)
El enfoque estándar requiere un trabajo real, y muchos equipos lo hacen: levantar una base de datos vectorial, construir una canalización de embeddings, escribir lógica de fragmentación (chunking), añadir extracción para decidir qué vale la pena recordar y luego la recuperación con clasificación de relevancia. Es un camino muy transitado y te da un control total, la misma razón por la que la gente se autoaloja en primer lugar.
El coste real: son semanas de ingeniería antes de que funcione bien, además de la propiedad y mantenimiento permanentes. La calidad de la extracción, la deduplicación, la gestión de conflictos cuando dos sesiones no coinciden, el ajuste de relevancia... cada uno es su propio problema de optimización y cada uno se degrada silenciosamente si se descuida.
Registros de conversación en una base de datos
Más barato que una pila vectorial: almacena las transcripciones en Postgres y reprodúcelas. Funciona hasta que el volumen crece, momento en el que estás reenviando demasiado o escribiendo tu propia función de resumen, y los resúmenes pierden los detalles específicos que más necesitabas conservar.
Llenar la ventana de 1M de tokens
Tentador con K3 específicamente: simplemente pon todo en el prompt. Pero pagas por cada token en cada solicitud, la latencia escala con la entrada y la calidad de recuperación dentro de una ventana saturada disminuye; el modelo tiene más que filtrar, no más comprensión. Además, se sigue reiniciando al final de la solicitud.
La barrera común: en los tres casos estás construyendo infraestructura. Si la memoria es el producto que estás construyendo, es la decisión correcta. Si la memoria es solo fontanería en el camino hacia tu producto real, es un desvío; el mismo dilema que la memoria para servidores MCP sin estado.
La solución: dale memoria persistente a tu pila autoalojada
El camino más rápido es mantener el modelo donde está y colocar una capa de memoria a su lado. MemoryLake se encarga de la extracción, detección de conflictos, control de versiones y recuperación por ti: entran documentos y conversaciones, sale memoria estructurada y con capacidad de búsqueda, y tu K3 autoalojado la consulta por solicitud. Tus pesos permanecen en tu hardware; la capa de memoria está cifrada de extremo a extremo, por lo que tampoco puede leer tu contenido.
Paso 1: Crea una clave de API
Inicia sesión en MemoryLake, genera una clave y realiza tu primera solicitud; toma unos 30 segundos.

Paso 2: Sube tus primeras memorias
Sube lo que tu despliegue deba saber de forma permanente: documentos de proyectos, especificaciones, conocimiento del producto y datos por usuario; funcionan documentos, imágenes y otros archivos. Se analiza e indexa una sola vez en lugar de reenviarse en cada solicitud.

Paso 3: Conecta tu IA y agentes
Llama a la API antes de tu endpoint de inferencia: recupera las memorias relevantes para la solicitud e inclúyelas en el mensaje del sistema o prompt, de modo que cada llamada a K3 comience informada en lugar de en blanco. Si tu framework de agentes habla MCP, conéctalo allí en su lugar; y la misma memoria estará disponible para Claude, Codex, OpenClaw y otros agentes, de modo que tu modelo autoalojado y tus herramientas comerciales compartan un mismo contexto.

Lo que realmente cuesta la inferencia sin estado
El impuesto de la reproducción
Sin una capa de memoria, la continuidad significa reproducir el historial en cada llamada. En hardware autoalojado pagas en tiempo de GPU y latencia en lugar de facturas de API, pero es el mismo desperdicio: cómputo gastado en volver a leer lo que ya le dijiste al modelo, creciendo con cada turno hasta que la ventana obliga a truncar.
Recuperación en lugar de reproducción
Con la memoria al lado del modelo, cada solicitud lleva solo la parte relevante (el dato, la decisión, el pasaje) en lugar de todo el historial. Entradas más cortas, respuestas más rápidas, más espacio libre en la ventana para el trabajo real. La Calculadora de Ahorro de Tokens de MemoryLake proyecta el efecto si también estás ejecutando API comerciales junto con tu propio despliegue.
Buenas prácticas para la memoria autoalojada
Mantén la ventana para el trabajo, la capa para el conocimiento
Usa los 1M de tokens de K3 para lo que la tarea actual realmente necesita. El conocimiento duradero pertenece a la capa de memoria, recuperado bajo demanda; eso es lo que evita que tus prompts crezcan indefinidamente.
Almacena datos y decisiones, no transcripciones en bruto
Los registros completos son baratos de almacenar y caros de usar. Los datos sintetizados, las decisiones y los documentos se recuperan mucho mejor que un muro de historial de conversación.
Delimita la memoria por usuario o por proyecto
Los despliegues multiinquilino necesitan aislamiento desde el primer día. Un alcance (scope) por usuario o proyecto mantiene la recuperación relevante y evita que el contexto se filtre entre ellos.
Conclusión
Los pesos abiertos de Kimi K3 son un verdadero cambio: capacidad de clase de frontera que puedes ejecutar tú mismo, con una ventana lo suficientemente grande como para que parezca que el contexto está resuelto. No lo está: los pesos son un motor sin estado, y la memoria es la capa que tienes que añadir. Constrúyela tú mismo si la memoria es tu producto; de lo contrario, coloca una capa de memoria lista al lado de tu endpoint y dedica tu ingeniería a lo que realmente estás entregando. Tu modelo se ejecuta en tu hardware. Tu memoria solo tiene que existir.