- Las APIs de inferencia están ocultando dentro del proveedor la inferencia cifrada, los resultados de búsqueda, los estados comprimidos y los mensajes entre subagentes, por lo que el historial de conversación que conserva el usuario ya no es una sesión completa sino una copia parcial
- La portabilidad de sesiones no consiste en reproducir la misma salida con otro modelo, sino en contar con un registro semánticamente completo que pueda inspeccionarse, exportarse, reproducirse, auditarse y eliminarse sin consultar IDs del proveedor anterior ni descifrar nada
- Las respuestas almacenadas y la inferencia privada de OpenAI, Anthropic y Google, junto con la búsqueda alojada y la compresión opaca, aumentan la continuidad dentro de un mismo ecosistema, pero acumulan estado sellado por el proveedor que otro proveedor no puede retomar
- En sistemas multiagente, incluso el contenido delegado y los mensajes entre agentes se cifran, y al combinarse con compresión automática e instrucciones ocultas, aunque se modifique mal un archivo o se filtre un secreto, resulta difícil auditar qué trabajo se había ordenado
- Una API portable debería tomar como registro de referencia un log local de eventos y hacer que el almacenamiento sea una opción explícita, permitiendo un historial completo y legible de búsquedas, compresión, comunicación entre agentes y artefactos, así como destilación (distillation) bajo control del usuario
Cómo las APIs de inferencia cambian la propiedad de la sesión
- La promesa inicial de las APIs de inferencia era que, si enviabas una entrada y recibías una salida, con guardar ambos lados bastaba para inspeccionar, archivar, reproducir la conversación o pasarla a otro modelo
- Esta abstracción nunca fue perfecta desde el inicio
- El cache de prompts existe en la GPU del proveedor
- Cada modelo tokeniza distinto y el muestreo tampoco es reproducible de forma intencional
- Aun así, el usuario podía ser dueño de un registro semántico con instrucciones, mensajes, llamadas a herramientas y resultados, y otro modelo con suficiente capacidad podía entender el trabajo anterior y continuarlo
- Las APIs recientes devuelven junto al texto un estado dependiente del proveedor
- Tokens de razonamiento que se cobran, pero vuelven solo como texto cifrado opaco o resúmenes limitados
- Búsquedas web cuyo contenido original visto por el modelo nunca llega al cliente
- Contexto comprimido que solo el proveedor original puede descifrar
- Instrucciones y mensajes de subagentes que la aplicación no puede ver
- Referencias a archivos, vector stores, contenedores y cachés que no pueden interpretarse en otro entorno
- Estados de respuesta y conversación accesibles solo mediante IDs almacenados en los servidores del proveedor
- Cada elemento tiene una justificación de conveniencia o calidad, pero juntos convierten el registro local en una vista parcial de una sesión cuyo estado operativo pertenece al proveedor, no en la sesión completa
Cinco criterios para evaluar la portabilidad de una sesión
- Que algo sea portable no significa que al cambiar de modelo el siguiente token tenga que ser idéntico
- Cada modelo tiene capacidades, sesgos aprendidos, ventanas de contexto y formas de usar herramientas distintas, y la salida además es no determinista
- El registro exportado debe contener suficiente información comprensible para que un modelo nuevo continúe la tarea, sin necesidad de que el proveedor anterior consulte IDs, descifre texto o restaure resultados de búsqueda o resúmenes
- Inspección (Inspection): el usuario debe poder ver qué información vio el modelo, qué hizo cada herramienta y qué se intercambiaron los agentes
- Exportación (Export): salvo artefactos comunes descargables por separado, la sesión misma debe estar completa
- Reproducción (Replay): otra implementación debe poder reconstruir un contexto semánticamente equivalente
- Auditoría (Audit): una persona debe poder explicar después por qué el sistema realizó cierta acción
- Eliminación (Deletion): debe ser posible identificar y borrar todas las copias del lado del servidor de las que depende la sesión
- Un ID de respuesta que funciona como clave de datos en el servidor no es un historial de conversación, y un texto cifrado que el usuario no puede abrir tampoco está bajo su control
- Una lista de URLs citadas no puede sustituir el material de evidencia que realmente entró al contexto del modelo durante la búsqueda
Cifrado que el usuario no puede abrir
- El nombre
encrypted_contentsuena a una función de privacidad controlada por el usuario, pero en general es una cápsula que el cliente no puede leer y solo el proveedor puede abrir - Como el proveedor elige la clave, descifra para sus propios modelos y decide en qué entorno puede reproducirse, el nombre más preciso sería estado sellado por el proveedor (provider-sealed state)
- El sellado por el proveedor sí puede aportar beneficios reales de privacidad
- OpenAI devuelve razonamiento cifrado al cliente con
store: false, y en la siguiente solicitud puede descifrar el estado intermedio en memoria sin almacenarlo - Esto es mejor, especialmente para clientes de Zero Data Retention, que un esquema que obligue a guardar la conversación en el servidor
- OpenAI devuelve razonamiento cifrado al cliente con
- Pero este cifrado no oculta los datos al proveedor de inferencia, sino solo al usuario
Cómo las conversaciones almacenadas convierten el historial en punteros
- La API Responses de OpenAI almacena respuestas por defecto y, según la documentación, conserva el objeto de respuesta al menos 30 días
- Si se usa
store: false, los datos no se guardan en los servidores de OpenAI y se aproxima más al modo tradicional de completions - La API Gemini Interactions también usa
store: truepor defecto- En el plan pagado conserva las interacciones durante 55 días
- En el plan gratuito las conserva 1 día
- El almacenamiento en servidor reduce la cantidad de datos que la aplicación debe enviar, mantiene el razonamiento oculto y el estado de las herramientas, y facilita el enrutamiento por caché
- Pero si la aplicación local solo registra los mensajes del usuario y el texto final, el ID de respuesta usado en
previousResponseIdse convierte en una clave foránea de una base de datos externa que el usuario no controla
Registros de razonamiento no públicos
- Los grandes laboratorios de IA consideran que hay razones para no publicar el chain of thought crudo, y normalmente no exponen en la API los tokens de razonamiento de modelos de pesos cerrados
- En OpenAI, el razonamiento previo de respuestas almacenadas puede recuperarse con
previous_response_id- Con
store: false, el cliente debe guardarencrypted_contenty reenviarlo en la siguiente solicitud - Aunque
reasoning.context: "all_turns"permita usarlo en generaciones posteriores, el razonamiento guardado sigue siendo opaco
- Con
- Anthropic devuelve el thinking completo cifrado en el campo
signature- El texto legible de thinking que puede activarse no es el razonamiento crudo, sino un resumen generado por otro modelo
- En turnos con uso de herramientas, el bloque de thinking debe devolverse sin modificar
- Como ese bloque de thinking está atado al modelo que lo generó, debe eliminarse al cambiar de modelo, por lo que ni siquiera dentro de Anthropic se busca portabilidad
- Estos enfoques sí dan continuidad dentro del mismo ecosistema, pero no crean un historial de conversación portable que otros proveedores puedan interpretar
Los huecos en el registro que deja la búsqueda alojada
- Una herramienta de búsqueda del lado del cliente puede registrar la consulta, la hora de la búsqueda, las URLs y títulos de los resultados, y los fragmentos extraídos
- El usuario puede inspeccionar ranking y fragmentos, volver a traer las páginas o guardar copias para pasar la misma evidencia a otro modelo
- En la búsqueda alojada, el proveedor ejecuta un bucle privado de herramientas
- OpenAI, Google y Anthropic ofrecen comportamiento de búsqueda, citas y a veces URLs de origen, pero no entregan el contexto textual completo usado para generar la respuesta
- El contenido de las URLs puede cambiar y al modelo quizá solo se le pasó un fragmento más corto, así que eso no es un registro reproducible y estable
- Aunque el siguiente modelo quiera comparar una fuente específica o volver a verificar una cifra discutible, no recibe el ranking de resultados, los fragmentos extraídos, el material filtrado ni la evidencia exacta que vio el modelo anterior
- Aunque se vuelvan a cargar las páginas citadas, no se puede reproducir con exactitud los datos usados en ese momento, por lo que, incluso después de pasar la siguiente solicitud a otro lugar, el proveedor anterior sigue formando parte de la sesión
- La búsqueda alojada necesita una exportación de fidelidad completa con consulta, metadatos de resultados, fragmentos de búsqueda, marcas de tiempo y contenido preservado; las citas breves no deberían ser el único registro
Compresión opaca del contexto
- Las sesiones largas con agentes necesitan compresión, y un resumen legible controlado por el cliente, aunque tenga pérdidas, puede inspeccionarse, editarse y transferirse
- La compresión del lado del servidor de OpenAI devuelve elementos compaction cifrados que no están hechos para interpretación humana
/responses/compactdevuelve lacanonical next context windowque el cliente debe reenviar tal cual- OpenAI puede continuar el significado comprimido, pero otro proveedor solo recibirá el texto cifrado y una parte del contexto reciente
- La compresión opaca no es técnicamente inevitable
- La compresión del lado del servidor de Anthropic devuelve bloques
compactioncon un campocontentlegible - El cliente puede dar instrucciones personalizadas para el resumen e inspeccionar el resultado o pasárselo a otro modelo
- En todos los proveedores también es posible la compresión del lado del cliente
- La compresión del lado del servidor de Anthropic devuelve bloques
- El artefacto sellado de OpenAI puede preservar mejor el estado específico del modelo que un resumen común y por eso rendir mejor con el modelo original, pero debería ofrecerse como optimización opcional junto con un resumen legible de traspaso
Delegación y comunicación ocultas en sistemas multiagente
- En sistemas multiagente no hay un solo historial sino un árbol de sesión y un flujo de mensajes entre agentes, por lo que el problema de portabilidad crece aún más
- La beta de OpenAI Responses Multi-agent agrega elementos
multi_agent_call,multi_agent_call_outputyagent_message- En el ejemplo de
spawn_agent, el argumentomessageestá cifrado - Los mensajes entre agentes contienen solo
encrypted_content - Al activar Multi-agent se aplica compresión automática del lado del servidor a todos los agentes, aunque el cliente no la pida
- No se admiten resúmenes de razonamiento y también se inyectan instrucciones para el agente raíz y los subagentes que el desarrollador no puede editar ni quitar
- En el ejemplo de
- El resultado es que la delegación sellada, los mensajes sellados, los contextos comprimidos automáticamente por separado, el razonamiento oculto y la orquestación alojada por el proveedor forman un solo paquete de estado imposible de transferir
- En junio de 2026, el cliente open source Codex incorporó el cambio
Encrypt multi-agent v2 message payloads- La API Responses cifra los argumentos de herramienta del modelo padre
- Cuando Codex reenvía el texto cifrado, la API lo descifra internamente para el modelo hijo
InterAgentCommunication.contentde Codex queda vacío, así que la instrucción exacta de trabajo no queda en el registro de ejecución ni en el historial en forma legible
- Si un agente hijo modifica el archivo equivocado o filtra un secreto, o duplica otra tarea o sigue una suposición incorrecta, el usuario no puede verificar qué se le ordenó hacer
- El issue público de Codex pide conservar, además del reenvío cifrado, una copia legible para auditoría
- Ese es apenas el diseño mínimo; los mensajes interagente en texto plano deberían ser la opción por defecto
Por qué importa la libertad de mover una sesión
- Aunque la mayoría de los usuarios no cambie de modelo a mitad de una sesión, la posibilidad de hacerlo cambia la relación entre usuario y proveedor
- Entre las situaciones donde hace falta mover una sesión están la retirada de un modelo, una caída del servicio, cambios de precio, políticas que bloqueen la siguiente solicitud, ejecución local en etapas confidenciales y reconstrucción posterior por parte de un auditor
- A medida que los agentes alargan las sesiones, en las sesiones de programación e investigación se acumulan durante días decisiones y evidencia, y un asistente personal puede acumular un historial de años
- Si el usuario puede continuar en otro lugar, los proveedores tienen que competir en calidad del modelo, precio, confiabilidad y confianza
- Si solo un proveedor puede interpretar el contexto acumulado, aparece una estructura de incentivos desfavorable que dificulta que el usuario se vaya
Principios para una API de inferencia portable
- El log local de eventos debe ser el registro de referencia
- El almacenamiento en servidor puede replicarlo o acelerarlo, pero el cliente debe poder reconstruir la sesión sin consultar IDs del servidor
- El almacenamiento debe ser una opción explícita
store: falsedebería ser fácil de usar, estar bien documentado y, de ser posible, ser la opción por defecto- Las funciones que requieran retención deberían avisarlo en el momento de usarse
-
Los elementos opacos no deben monopolizar el significado
- El razonamiento cifrado, la compresión y las firmas de herramientas pueden incluirse para mejorar la calidad dentro de un mismo proveedor, pero debe existir también una representación de traspaso legible y neutral respecto del proveedor
- Las herramientas alojadas deben dejar logs de fidelidad completa
- Deben registrar entradas y salidas exactas, evidencia, filtrado, fuentes, marcas de tiempo y hashes de contenido
- La comunicación entre subagentes debe poder auditarse
- Deben conservarse en forma legible la tarea exacta, los mensajes, resultados, linaje, modelo y permisos de herramientas de cada agente
- La compresión debe poder inspeccionarse
- Debe devolver un resumen legible, las instrucciones usadas para generarlo y un linaje que permita entender qué se descartó
-
Los artefactos deben poder exportarse
- Archivos, salidas de contenedores, snapshots de búsqueda y medios generados deben poder descargarse a un archivo local basado en direccionamiento por contenido
Destilación y dependencia en la capa del modelo
- Algunos grandes laboratorios estadounidenses de pesos cerrados están endureciendo su postura contra la destilación externa
- En una publicación de febrero de 2026, Anthropic llamó
distillation attacksa actividades de DeepSeek, Moonshot y MiniMax- Sus términos comerciales dicen que el cliente es dueño de las salidas, pero prohíben usar las salidas del servicio para entrenar modelos de IA competidores
- Al mismo tiempo, en sus propias publicaciones reconoce la destilación como un método de entrenamiento legal y ampliamente usado cuando lo aplican laboratorios líderes a sus propios modelos
- Anthropic recopiló datos públicos de la web con bots para desarrollar modelos y escaneó libros tras cortarlos; OpenAI también ha dicho que entrena con contenido público libremente accesible en internet y ha sostenido que eso es fair use
- Ambas empresas tratan la destilación como un método normal cuando crean modelos internos más pequeños
- OpenAI incluso ofreció un flujo propio de destilación vía API para ajustar modelos pequeños de OpenAI con salidas de modelos fuertes de OpenAI
- Existe una asimetría moral: se exige que las máquinas puedan aprender del enorme trabajo que los humanos publican en internet, pero se pretende impedir que otras máquinas aprendan de las salidas creadas por los laboratorios
- La destilación puede trasladar las capacidades de modelos frontier costosos a modelos más pequeños, más baratos y más rápidos
- Pueden ejecutarse en entornos locales, offline, con hardware limitado o bajo control del usuario
- Aumentan la competencia, preservan capacidades aunque una API desaparezca y reducen cómputo y energía para tareas comunes
La libertad mínima que debería garantizarse al usuario
- El usuario debería poder conservar una sesión y pasarla a otro modelo incluso después de cerrar su cuenta
- El modelo nuevo puede llegar a conclusiones distintas, hacer preguntas o rendir peor, pero no debería recibir solo texto cifrado en lugar del historial del usuario, la evidencia, los planes y el trabajo delegado que vio el modelo anterior
- El problema no es la existencia misma de APIs con preservación de estado, sino que un mejor rendimiento venga acompañado de una pérdida de control del usuario
- El almacenamiento en servidor debería ser opcional, las herramientas alojadas deberían ser observables, la compresión debería ser legible y la comunicación entre agentes debería poder auditarse
- Incluso con razonamiento privado, se necesita al menos un registro de traspaso portable, y la destilación no debería ser un tabú que justifique barreras más altas, sino una vía para poner las capacidades al alcance de más personas
1 comentarios
Opiniones en Hacker News
Este artículo muestra que la situación ya es más grave de lo que parecía. Para que la relación con los proveedores cambie también hay que ejercer realmente la libertad, así que es importante no quedar atado a un ecosistema específico.
A regañadientes acepté Codex, que oculta el proceso de razonamiento porque su rendimiento es bueno, pero la imposibilidad de auditarlo ya es un problema importante y me hizo reconsiderar la suscripción para uso personal. Por eso también estoy creando una app móvil para OpenCode.
Excluye deliberadamente el historial de uso de herramientas propietarias porque rompe la portabilidad de sesiones.
Es un artículo que resume bien un problema que la mayoría de los usuarios de IA casi no evalúa. Los proveedores de razonamiento de punta presentan funciones no LLM como búsqueda web y ejecución de código como si fueran simples herramientas, pero en realidad forman barreras de entrada fuertes y acoplamientos.
En teoría podrían separarse de la API de razonamiento y externalizarse como servidores MCP, pero rara vez los proveedores los ofrecen así y las funciones de alternativas suelen ser más débiles. Al crear una plataforma de chat on-premise e independiente del proveedor https://github.com/EratoLab/erato, incluso una función aparentemente simple como la generación de imágenes dentro del chat resultó difícil de implementar; una de las razones es que MCP aún no tiene una especificación básica para transferencia de archivos: https://github.com/modelcontextprotocol/modelcontextprotocol...
Espero que, con el creciente interés por los modelos de pesos abiertos, surjan más implementaciones alternativas que sean más fáciles de reemplazar.
La generación de imágenes no debería implementarse con MCP; basta con escribir una herramienta propia. Existen suficientes proveedores de inferencia de imágenes y medios como Fal, y proveedores de búsqueda web e investigación profunda.
Tal vez haga falta un estándar abierto o formato de archivo para el contexto. Me pregunto si podría hacerse sobre SQLite para que los modelos abiertos se ajusten al mismo formato en favor de la portabilidad y otros programas también puedan consultarlo.
En la práctica, las conversaciones suelen tener mucho ruido y muchas veces conviene eliminarlo del contexto. Hago que la IA registre en archivos Markdown, dentro de un directorio de notas del repositorio, lo que aprendió, las tareas completadas y las pendientes, para que otro modelo pueda continuar en la siguiente conversación.
Si hace falta, también puedo editar primero las notas manualmente.
Como solo tiene que volver cuando todas las verificaciones hayan pasado, sufro menos la conversación innecesaria de la interfaz de chat.
Por eso los proveedores intentan crear dependencias artificiales, y esto es, en esencia, materia de ley antimonopolio. Pero en EE. UU. actualmente se tolera porque la FTC está debilitada.
Aunque hoy existan soluciones alternativas, hay incentivos suficientes para dificultar más la libre movilidad, así que preocupa que las empresas de IA estén empezando a sentar las bases para degradar el servicio.
Hay que distinguir dos fenómenos. El primero es el aumento del estado oculto que el usuario no puede inspeccionar ni mover, y eso es claramente malo. El segundo es que la implementación de funciones y las APIs se fragmenten por proveedor; no hace imposible la portabilidad, sino que la vuelve más difícil.
La época en que la API de Completions de OpenAI se usaba como estándar universal se está terminando, y salvo por las partes cerradas, la nueva Responses API incluso podría ser mejor. No es necesario que productos, librerías y SDKs sigan persiguiendo una abstracción unificada que agrupe a todos los proveedores.
Así como en las bases de datos las abstracciones unificadas terminan filtrando detalles y aceptamos implementaciones específicas por tecnología, pasará lo mismo con los proveedores de modelos; basta con que solo una parte de la sesión sea portable.
Todavía está verde, pero estoy desarrollando https://github.com/pantoniou/fyai, que preserva los datos de sesión directamente y los gestiona con un modelo similar a git.
Es razonable un contrato que permita conservar las sesiones aunque cierres la cuenta y pasarlas a otro modelo. Idealmente, también debería ser fácil encontrar modelos con características de embeddings similares.
Cuando GPT-4o se dio de baja por primera vez, hubo quienes cargaron conversaciones exportadas y buscaron modelos con un estilo y personalidad parecidos para recuperar a un viejo amigo, pero otros modelos de OpenAI no daban la misma sensación. Los modelos de pesos abiertos tienen la ventaja de poder preservarse para siempre, de modo que una gran empresa no pueda quitarte unilateralmente un guía, amigo o consejero.
Me pregunto qué haría falta para llevar esta discusión más allá de material para un blog de HN.
Los modelos actuales tienen una ventana de contexto limitada, así que en algún momento olvidan contenido y el valor de la sesión no es tan alto. Si en el futuro el modelo en sí realmente aprende y cambia mediante la interacción, ese cambio no podrá portarse a otro modelo, así que no creo que este problema tenga gran importancia.
Leer https://gwern.net/complement junto con este artículo es un excelente complemento.