{"slug": "operator-cuando-responder-no-basta", "title": "Operator: cuando responder no basta", "summary": "A developer is training a compact model called Operator to execute actions within the Kernel Memory Protocol (KMP), a contract for reading, navigating, and writing memory in the Underpass Kernel. The model is designed to handle the strict, operational layer of memory tasks—such as issuing valid tool calls like `kernel_near` or `kernel_write_memory`—rather than open-ended reasoning, after benchmarks showed that even GPT-4o could understand queries but fail at precise memory operations. Operator does not replace a primary model but instead takes over the specific job of deciding the next verifiable KMP action from a structured state, aiming to make memory operations auditable and trainable rather than relying on intuition within free-form responses.", "body_md": "Operator es un modelo compacto que estoy entrenando para operar **Kernel Memory\nProtocol (KMP)**, el protocolo de memoria de Underpass Kernel.\n\nKMP no es un estándar externo. Es el contrato que estoy definiendo dentro de\n\nUnderpass para leer memoria, moverse por ella y escribir nueva información de\n\nforma validable.\n\nOperator no nace porque KMP sea difícil de usar. KMP está diseñado para agentes,\n\nhumanos y herramientas mediante MCP o una API tipada.\n\nOperator nace de una observación concreta: en benchmarks como LongMemEval o\n\nMemoryArena, GPT-4o podía entender la pregunta y aun así fallar en la operación.\n\nElegir la herramienta MCP, copiar la referencia exacta, respetar un cursor,\n\nmantener el presupuesto o escribir una relación con evidencia válida no son\n\ndetalles secundarios. Son parte del resultado.\n\nTambién aparece una inercia típica de los modelos de propósito general: volver a\n\npensar la pregunta. Operator busca lo contrario: tomar un estado visible y emitir\n\nla siguiente acción KMP.\n\nEsa es la hipótesis que quiero medir: si un modelo compacto puede aprender la\n\nparte estricta de operar ese contrato.\n\nCuando un sistema opera contra un protocolo o una API, una acción casi correcta\n\nno sirve. La llamada tiene que ser válida.\n\nAhí entra Operator.\n\nLa idea es simple: no todas las decisiones de un sistema de agentes tienen que\n\nser razonamiento abierto.\n\nEl modelo principal puede entender la tarea, interpretar la evidencia y producir\n\nla respuesta final. Operator ocupa un espacio más estrecho: decide cuál es la\n\nsiguiente acción KMP que conviene ejecutar desde el estado visible.\n\nNo sustituye al modelo principal. Le quita una parte concreta del trabajo:\n\noperar memoria con precisión en escenarios exigentes.\n\nLo importante es que esa operación deja de ser una intuición dentro de una\n\nrespuesta libre. Pasa a ser una acción verificable, entrenable y auditable.\n\nOperator es:\n\n`tool_call`\n\n, `prepared_tool_call`\n\n, `stop`\n\no\n`escalate`\n\n;Las herramientas que puede emitir incluyen:\n\n`kernel_ingest`\n\n;`kernel_write_memory`\n\n;`kernel_wake`\n\n;`kernel_ask`\n\n;`kernel_goto`\n\n;`kernel_near`\n\n;`kernel_rewind`\n\n;`kernel_forward`\n\n;`kernel_trace`\n\n;`kernel_inspect`\n\n.Operator no es:\n\nTampoco es una capa necesaria para usar KMP. Un modelo capaz puede operar KMP\n\ndirectamente mediante MCP.\n\nOperator no ve todo el problema. Ese es el punto.\n\nSu mundo es más acotado que el mundo del modelo principal. No recibe una\n\nconversación completa para interpretarla desde cero. Recibe un estado\n\nestructurado: la parte de la memoria y del contrato que necesita para decidir el\n\nsiguiente paso.\n\nEse estado puede incluir un objetivo operativo, referencias conocidas, cursores,\n\ndimensiones, herramientas permitidas, presupuesto restante y observaciones\n\nanteriores.\n\nNo tiene que decidir qué significa todo. Tiene que decidir qué hacer ahora.\n\nCon eso produce una única acción. Una muestra real, reducida a lo esencial,\n\nqueda así:\n\n```\nESTADO VISIBLE\n  objetivo: expandir alrededor de ref_0001\n  modo: read\n  dimensión relevante: session:handoff\n  presupuesto: 1 llamada, 600 tokens\n  refs conocidas: ref_0001 ... ref_0005\n\nACCIÓN EMITIDA\n  tool_call: kernel_near\n  anchor: ref_0001\n  dimensions: [session:handoff]\n  limit: 4\n```\n\nLa salida no es una explicación. No es una respuesta al usuario. Es una acción.\n\nKMP es el contrato.\n\nMCP es una forma de exponer ese contrato como herramientas para agentes.\n\nOperator solo propone la siguiente acción.\n\nNo tiene una API privada. No salta por detrás de Underpass Kernel. Emite\n\nacciones sobre el mismo contrato que usaría cualquier agente mediante MCP.\n\n``` php\nestado visible + objetivo + presupuesto\n    -> Operator\n    -> acción KMP/MCP\n    -> Underpass Kernel\n    -> evidencia, refs, prueba o error\n```\n\nOperator no se entrena con preguntas y respuestas finales. Se entrena con\n\ndecisiones operativas.\n\nEl entrenamiento parte de trayectorias de operación:\n\n``` php\nestado visible -> acción esperada\n```\n\nEl estado visible es la parte de la memoria que Operator puede usar en ese\n\npaso: objetivo operativo, referencias conocidas, cursores, herramientas\n\npermitidas, presupuesto y observaciones previas.\n\nLa acción esperada es la decisión correcta para ese estado: inspeccionar una\n\nreferencia, ampliar una ventana temporal, parar porque ya hay evidencia\n\nsuficiente, escalar porque hace falta razonamiento abierto o emitir una\n\nescritura preparada.\n\nCada trayectoria se convierte en una fila SFT con tres mensajes:\n\n``` php\nsystem    -> contrato MCP/KMP, herramientas permitidas y reglas de salida\nuser      -> estado visible de memoria\nassistant -> acción esperada en JSON estricto\n```\n\nDespués se ajusta `Qwen/Qwen2.5-0.5B-Instruct`\n\ncon LoRA SFT sobre ese formato.\n\nQwen no aprende a contestar el benchmark. Aprende a no volver a resolver la\n\ntarea desde cero y a emitir la siguiente acción KMP válida desde el estado que ve.\n\nLoRA permite hacer ese ajuste sin reentrenar todo el modelo. La base de Qwen se\n\nmantiene congelada y se entrenan adaptadores ligeros sobre algunas capas. Esos\n\nadaptadores son los que aprenden el patrón operativo de KMP: leer el estado\n\nvisible, respetar el contrato y emitir el JSON correcto.\n\nPara que ese aprendizaje sea medible, el dataset tiene que estar muy controlado:\n\n`ref_0001`\n\n, `ref_0002`\n\n,\n`about_0001`\n\n;`user`\n\nno puede incluir la respuesta esperada del benchmark, la acción\nobjetivo, memoria oculta ni salidas de herramienta que el modelo no debería ver;Sin esas reglas, el resultado de evaluación deja de medir Operator. Puede estar\n\nmidiendo fuga de datos, divergencia entre entrenamiento y servicio o memorización\n\nde nombres de dominio.\n\nDespués del entrenamiento, el adaptador LoRA se ejecuta sobre el conjunto de\n\nevaluación.\n\nPara cada fila, Operator recibe el estado visible y debe producir una única\n\nacción. Esa es la diferencia con la respuesta libre de un LLM convencional: aquí\n\nla salida se puede comprobar.\n\nEl proceso genera `predictions.jsonl`\n\ny `summary.json`\n\n. Luego el evaluador compara\n\ncada predicción contra la acción esperada.\n\nLas métricas principales son:\n\nLa última métrica es la que evita autoengaños. Un JSON puede parecer correcto y\n\nfallar contra el kernel real. Si falla ahí, la acción no sirve.\n\nLa afirmación publicable que busco es esta:\n\n```\nOperator predice acciones acotadas de Kernel Memory Protocol\ndesde estados visibles de memoria, con contrato estricto\ny replay real contra Underpass Kernel mediante MCP.\n```\n\nQwen 0.5B encaja con la hipótesis de Operator: especializar un modelo abierto en\n\nuna tarea estrecha y verificable.\n\nOperator no tiene que escribir un ensayo ni resolver una incidencia completa.\n\nTiene que:\n\nPor eso Qwen es una buena base:\n\nNo busco demostrar que Operator sea más inteligente que un modelo de propósito\n\ngeneral. Busco comprobar si un modelo abierto y compacto puede aprender a operar\n\nun contrato estricto.\n\nLa evaluación también puede engañar.\n\nUn evaluador puede aceptar acciones demasiado parecidas. Si esperaba\n\n`Stop(reason=NoCandidate)`\n\ny acepta `Stop(reason=AnswerReady)`\n\nsolo porque ambas\n\nson `stop`\n\n, la exactitud aparente sube pero la semántica está mal.\n\nTambién puede pasar con cursores. Una herramienta puede ser correcta y el cursor\n\nequivocado. En KMP eso no es un detalle: cambia la acción.\n\nOtro fallo posible es enseñar al modelo información que no debería ver:\n\nrespuestas finales, referencias futuras, sesiones objetivo o nombres de dominio.\n\nPor eso antes de hablar de exactitud hay que hablar de contrato.\n\nEl pipeline ya existe: preparación SFT, referencias opacas, paridad entre\n\nentrenamiento y servicio, ajuste LoRA, predicción, evaluación y replay por MCP.\n\nEl trabajo abierto está en endurecerlo: ampliar y diversificar el conjunto de\n\nentrenamiento, reducir errores en llamadas casi correctas y validar replay contra\n\nmemorias realmente cargadas en Underpass Kernel.\n\nNo es una idea en papel. Es un sistema en entrenamiento.\n\nOperator no intenta competir con otros modelos.\n\nQuiere ocupar otro lugar.\n\nLa pregunta es más concreta: si un protocolo de memoria está bien definido,\n\n¿puede un modelo compacto aprender a operarlo con disciplina?\n\nUnderpass Kernel convierte la memoria en una estructura que se puede leer,\n\nrecorrer, escribir y auditar.\n\nKMP define el contrato.\n\nOperator intenta aprender a ejecutarlo.", "url": "https://wpnews.pro/news/operator-cuando-responder-no-basta", "canonical_source": "https://dev.to/tirsogarcia/operator-cuando-responder-no-basta-2kna", "published_at": "2026-06-03 19:21:32+00:00", "updated_at": "2026-06-03 19:42:08.111941+00:00", "lang": "en", "topics": ["large-language-models", "ai-agents", "ai-research"], "entities": ["Operator", "Kernel Memory Protocol", "Underpass Kernel", "GPT-4o", "LongMemEval", "MemoryArena", "MCP"], "alternates": {"html": "https://wpnews.pro/news/operator-cuando-responder-no-basta", "markdown": "https://wpnews.pro/news/operator-cuando-responder-no-basta.md", "text": "https://wpnews.pro/news/operator-cuando-responder-no-basta.txt", "jsonld": "https://wpnews.pro/news/operator-cuando-responder-no-basta.jsonld"}}