[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"portal-settings:stajic:es":3,"public-menus:all":38,"post:managed-agent-harness-vs-self-hosted-agent-loop-what-you-gain-what-you-lose:es":205,"related:post:managed-agent-harness-vs-self-hosted-agent-loop-what-you-gain-what-you-lose:es:1":1775},{"statusCode":4,"data":5,"message":37},200,{"tenantId":6,"lang":7,"defaultLang":8,"siteUrl":9,"contactEmail":10,"brandName":11,"logoUrl":12,"siteName":11,"siteDescription":13,"ogImage":10,"robotsIndex":14,"socialLinks":10,"reservedSlugs":10,"seoPolicy":15},"stajic","es","de","https:\u002F\u002Fstajic.de",null,"Stajic Platform","\u002FLogo_Planet.svg","Stajic Portal",true,{"branding":16,"relatedContent":17,"crossDomainLinks":18},{"logoUrl":12},{"enabled":14},[19,22,25,28,31,34],{"url":20,"label":21,"isActive":14,"showInFooter":14,"includeInSameAs":14},"https:\u002F\u002Ffigure.rocks","figure.rocks",{"url":23,"label":24,"isActive":14,"showInFooter":14,"includeInSameAs":14},"https:\u002F\u002Floving.rocks","loving.rocks",{"url":26,"label":27,"isActive":14,"showInFooter":14,"includeInSameAs":14},"https:\u002F\u002Fbazify.com","bazify.com",{"url":29,"label":30,"isActive":14,"showInFooter":14,"includeInSameAs":14},"https:\u002F\u002Fbazify.de","bazify.de",{"url":32,"label":33,"isActive":14,"showInFooter":14,"includeInSameAs":14},"https:\u002F\u002Fbazify.at","bazify.at",{"url":35,"label":36,"isActive":14,"showInFooter":14,"includeInSameAs":14},"https:\u002F\u002Fbazify.ba","bazify.ba","Portal settings resolved",[39,45],{"id":40,"name":41,"location":42,"isActive":14,"isDefault":43,"items":44},1,"main-navigation","header",false,[],{"id":46,"name":47,"location":48,"isActive":14,"isDefault":14,"items":49},4,"main-menu","sidebar",[50,66,79,93,103,118,133],{"id":51,"title":52,"url":60,"target":61,"icon":62,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":64,"portfolioId":10,"children":65},"item-18",{"de":53,"en":54,"es":55,"fr":56,"it":54,"ru":57,"sr":58,"zh":59},"Startseite","Home","Inicio","Accueil","Главная","Почетна","首页","\u002Ffull-stack-web-developer-munich-performance-seo-and-maintainable-builds","_self","i-lucide-home","page",111,[],{"id":67,"title":68,"url":75,"target":61,"icon":76,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":77,"portfolioId":10,"children":78},"item-22",{"de":69,"en":69,"es":70,"fr":69,"it":71,"ru":72,"sr":73,"zh":74},"Vision","Visión","Visione","Видение","Визија","想象","\u002Fueber-uns-webdesign-muenchen-webaplikation","i-lucide-eye",113,[],{"id":80,"title":81,"url":89,"target":61,"icon":90,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":91,"portfolioId":10,"children":92},"item-19",{"de":82,"en":83,"es":84,"fr":83,"it":85,"ru":86,"sr":87,"zh":88},"Leistungen","Services","Servicios","Servizi","Услуги","Услуге","服务","\u002Fservices-dienstleistungen-muenchen","i-lucide-wrench",116,[],{"id":94,"title":95,"url":99,"target":61,"icon":100,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":101,"portfolioId":10,"children":102},"item-23",{"de":96,"en":96,"es":96,"fr":96,"it":96,"ru":97,"sr":97,"zh":98},"Blog","Блог","博客","\u002Fblog","i-lucide-book-open",112,[],{"id":104,"title":105,"url":114,"target":61,"icon":115,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":116,"portfolioId":10,"children":117},"item-32",{"de":106,"en":107,"es":108,"fr":109,"it":110,"ru":111,"sr":112,"zh":113},"Neue Technologien","New Technologies","Nuevas tecnologías","Nouvelles technologies","Nuove tecnologie","Новые технологии","Нове технологије","新技术！","\u002Fneue-webtechnologien","i-lucide-sparkles",122,[],{"id":119,"title":120,"url":129,"target":61,"icon":130,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":131,"portfolioId":10,"children":132},"item-20",{"de":121,"en":122,"es":123,"fr":124,"it":125,"ru":126,"sr":127,"zh":128},"Kontakt","Contact us!","Contacto","Contact","Contatto","Контакт","Контактирајте нас","联系我们！","\u002Fcontact","i-lucide-mail",115,[],{"id":134,"title":135,"url":144,"target":61,"icon":145,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":146,"portfolioId":10,"children":147},"item-21",{"de":136,"en":137,"es":138,"fr":139,"it":140,"ru":141,"sr":142,"zh":143},"Unsere Arbeit","Our Work","Nuestro trabajo","Nos réalisations","I nostri lavori","Наши работы","Наши радови","文件夹","\u002Fportfolio","i-lucide-briefcase",114,[148,161,175,181,193],{"id":149,"title":150,"url":144,"target":61,"icon":159,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":146,"portfolioId":10,"children":160},"item-24",{"de":151,"en":152,"es":153,"fr":154,"it":155,"ru":156,"sr":157,"zh":158},"Alle Projekte","All Projects","Todos los proyectos","Tous les projets","Tutti i progetti","Все проекты","Сви пројекти","所有项目","i-lucide-grid-3x3",[],{"id":162,"title":163,"url":171,"target":61,"icon":172,"isActive":14,"type":173,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":10,"portfolioId":10,"children":174},"item-29",{"de":164,"en":165,"es":166,"fr":167,"it":168,"ru":169,"sr":170,"zh":143},"Local Roots, Global Reach","Local Roots - Global Reach","Empresa local ","Entreprise locale","Azienda locale","Местная компания","Локално предузеће глобално тржиште","\u002Fportfolio\u002Flocal-roots-global-reach-communication-media-systems-for-modern-business","i-lucide-folder","custom",[],{"id":176,"title":177,"url":179,"target":61,"icon":172,"isActive":14,"type":173,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":10,"portfolioId":10,"children":180},"item-28",{"de":178,"en":178,"es":178,"fr":178,"it":178,"ru":178,"sr":178,"zh":178},"Solr Suggester","\u002Fportfolio\u002Fsolr-fuzzy-suggester-und-solr-infix-suggester-abfrage-ueber-ajax-und-filterung",[],{"id":182,"title":183,"url":191,"target":61,"icon":172,"isActive":14,"type":173,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":10,"portfolioId":10,"children":192},"item-27",{"de":184,"en":185,"es":186,"fr":187,"it":188,"ru":189,"sr":190,"zh":185},"Firmenwebseite SEO","Company Website SEO","Sitio web corporativo SEO","Site web d’entreprise SEO","Sito web aziendale SEO","Корпоративный сайт SEO","Пословна веб-страница SEO","\u002Fportfolio\u002Fseo-sem-branding-mobile-webseite-muenchen",[],{"id":194,"title":195,"url":203,"target":61,"icon":172,"isActive":14,"type":173,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":10,"portfolioId":10,"children":204},"item-31",{"de":196,"en":197,"es":198,"fr":199,"it":200,"ru":201,"sr":202,"zh":197},"Digitalisierungsportal","Digitalization Portal","Portal de digitalización","Portail de numérisation","Portale di digitalizzazione","Портал цифровизации","Портал за дигитализацију","\u002Fportfolio\u002Fdigitalisierungsportal-archiv-museum-bibliothek-ead-lido-mets-mods",[],{"statusCode":4,"data":206,"message":1774},{"id":207,"title":208,"slug":209,"content":210,"contentJson":211,"excerpt":873,"featuredImage":874,"featuredImageAlt":875,"featuredImageCaption":10,"featuredImageTitle":10,"featuredImageCopyright":10,"featuredImageAuthor":10,"featuredImageSourceUrl":10,"featuredImageLicense":10,"featuredImageIsAiGenerated":43,"status":876,"publishedAt":877,"createdAt":878,"updatedAt":879,"seoLocalePaths":880,"categories":889,"author":902,"translations":907},"475","Harness de agente gestionado vs. bucle de agente autohospedado: lo que ganas, lo que pierdes","managed-agent-harness-vs-self-hosted-agent-loop-what-you-gain-what-you-lose","\u003Cnav class=\"editorjs-toc\" data-editorjs-toc=\"true\" aria-label=\"Índice\">\u003Cstrong class=\"editorjs-toc__title\">Índice\u003C\u002Fstrong>\u003Col class=\"editorjs-toc__list editorjs-toc__list--depth-0\">\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-6\" class=\"editorjs-toc__link\">El error: tratar el autoalojamiento como una sola decisión\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-10\" class=\"editorjs-toc__link\">Tres arquitecturas a las que a menudo se llama «autoalojadas»\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-12\" class=\"editorjs-toc__link\">El modelo de dos planos\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-15\" class=\"editorjs-toc__link\">Harness gestionado: lo que realmente gana\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-19\" class=\"editorjs-toc__link\">Harness gestionado: a qué se renuncia\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-23\" class=\"editorjs-toc__link\">Entorno de ejecución autohospedado: la arquitectura intermedia\u003C\u002Fa>\u003Col class=\"editorjs-toc__list editorjs-toc__list--depth-1\">\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-27\" class=\"editorjs-toc__link\">Cuándo es suficiente la ejecución autohospedada\u003C\u002Fa>\u003C\u002Fli>\u003C\u002Fol>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-29\" class=\"editorjs-toc__link\">Cuándo podrías necesitar gestionar también el harness\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-33\" class=\"editorjs-toc__link\">La prueba de escalada de control\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-36\" class=\"editorjs-toc__link\">La carga operativa crece de forma no lineal cuando eres dueño del harness\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-40\" class=\"editorjs-toc__link\">Límite de seguridad: autohospedar el cómputo no hace que el agente sea privado automáticamente\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-44\" class=\"editorjs-toc__link\">Latencia y coste: el control puede trasladar los cuellos de botella en lugar de eliminarlos\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-47\" class=\"editorjs-toc__link\">Matriz de decisión para producción\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-49\" class=\"editorjs-toc__link\">El modelo híbrido no es un compromiso: a menudo es la arquitectura limpia\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-53\" class=\"editorjs-toc__link\">¿Qué cambiaría esta respuesta?\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-56\" class=\"editorjs-toc__link\">Limitaciones\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-59\" class=\"editorjs-toc__link\">Conclusión\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-62\" class=\"editorjs-toc__link\">Preguntas frecuentes\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-64\" class=\"editorjs-toc__link\">Glosario\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-66\" class=\"editorjs-toc__link\">Fuentes primarias y lecturas adicionales\u003C\u002Fa>\u003C\u002Fli>\u003C\u002Fol>\u003C\u002Fnav>\n\u003Cp>La frase «agente autoalojado» oculta ahora al menos tres arquitecturas diferentes. Puede utilizar un harness gestionado con cómputo alojado por OpenAI, un harness gestionado conectado a infraestructura que usted opera, o ejecutar el harness y el bucle del agente usted mismo. Esas elecciones tienen implicaciones muy distintas en cuanto a control, recuperación, gestión del contexto, seguridad, latencia y carga operativa.\u003C\u002Fp>\n\u003Caside class=\"editorjs-callout editorjs-callout--info my-6 rounded-xl border p-5 border-blue-300 bg-blue-50 dark:border-blue-900 dark:bg-blue-950\u002F20\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">Respuesta directa\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">&lt;strong&gt;No elija entre «gestionado» y «autoalojado» como si se tratara de una decisión binaria.&lt;\u002Fstrong&gt; Separe el &lt;strong&gt;plano del harness&lt;\u002Fstrong&gt; del &lt;strong&gt;plano de ejecución&lt;\u002Fstrong&gt;. Un harness gestionado aún puede utilizar cómputo autoalojado. Un entorno autoalojado le proporciona control sobre los archivos, los paquetes, el acceso a la red y la ejecución sin exigirle asumir la propiedad del bucle del agente. Ejecute el harness usted mismo solo cuando necesite control sobre la orquestación, el ciclo de vida, los supuestos de enrutamiento de modelos o comportamientos en tiempo de ejecución que un harness gestionado no pueda exponer.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Caside class=\"editorjs-callout editorjs-callout--warning my-6 rounded-xl border p-5 border-amber-300 bg-amber-50 dark:border-amber-900 dark:bg-amber-950\u002F20\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">Actualizado al 25 de septiembre de 2026\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">La API de Agents de OpenAI está en fase beta pública y su arquitectura puede evolucionar. La documentación actual separa el harness de Codex alojado por OpenAI del entorno de ejecución y admite explícitamente entornos autoalojados. OpenAI también expone el harness de Codex por separado a través del SDK de Codex para infraestructuras que usted opera.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Caside class=\"editorjs-callout editorjs-callout--note my-6 rounded-xl border p-5 border-gray-300 bg-gray-50 dark:border-gray-700 dark:bg-gray-900\u002F40\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">El modelo utilizado en este artículo\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">El modelo de Plano del harness \u002F Plano de ejecución y la Prueba de escalada de control a continuación son herramientas prácticas de arquitectura propuestas aquí. No constituyen terminología formal de ningún proveedor.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Ch2 id=\"section-6\">El error: tratar el autoalojamiento como una sola decisión\u003C\u002Fh2>\n\u003Cp>En el software convencional, «autoalojado» suele significar que la aplicación se ejecuta en una infraestructura que usted controla. Los sistemas de agentes complican esa definición porque el entorno de ejecución puede dividirse. El bucle de modelo y herramientas puede ejecutarse en un lugar mientras que la ejecución del código, los archivos y el acceso a redes privadas ocurren en otro.\u003C\u002Fp>\n\u003Cp>La arquitectura actual de la API de Agents de OpenAI hace explícita esta división: OpenAI ejecuta el harness, mientras que el entorno de ejecución puede estar ausente, alojado por OpenAI o autoalojado. Por lo tanto, un entorno autoalojado no significa que el bucle del agente esté autoalojado.\u003C\u002Fp>\n\u003Cp>Esta distinción es importante porque muchos equipos eligen un entorno de ejecución más complejo de lo que necesitan. Desean acceso a redes privadas o paquetes personalizados, concluyen que todo el agente debe ser autoalojado y, accidentalmente, asumen la responsabilidad de la gestión del contexto, la orquestación, la recuperación y el ciclo de vida que podrían haber permanecido gestionados.\u003C\u002Fp>\n\u003Ch2 id=\"section-10\">Tres arquitecturas a las que a menudo se llama «autoalojadas»\u003C\u002Fh2>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Arquitectura\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">¿Quién ejecuta el harness?\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Dónde se ejecutan el código y los archivos\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">De qué es usted responsable principalmente\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Harness gestionado + entorno gestionado\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Plataforma\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Sandbox alojado por la plataforma\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Aplicación, herramientas, lógica de producto, autorización\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Harness gestionado + entorno autoalojado\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Plataforma\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Su contenedor, máquina virtual, portátil, nube privada u otro cómputo\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Aprovisionamiento del entorno, redes, archivos y ciclo de vida; la plataforma sigue siendo propietaria del harness\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Harness \u002F bucle de agente operado por usted\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Usted\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">El entorno de su elección\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Proceso del harness, orquestación, estrategia de contexto, alojamiento, recuperación, ejecución y ciclo de vida de la aplicación\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-12\">El modelo de dos planos\u003C\u002Fh2>\n\u003Csection class=\"editorjs-comparison my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Separe el plano del harness del plano de ejecución\u003C\u002Fh3>\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left dark:border-gray-700 dark:bg-gray-900\">\u003C\u002Fth>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left font-semibold dark:border-gray-700 dark:bg-gray-900\">Plano\u003C\u002Fth>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left font-semibold dark:border-gray-700 dark:bg-gray-900\">De qué se encarga\u003C\u002Fth>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left font-semibold dark:border-gray-700 dark:bg-gray-900\">Preguntas a formular\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Plano del harness\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Plano de ejecución\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Plano de aplicación\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Caside class=\"editorjs-callout editorjs-callout--success my-6 rounded-xl border p-5 border-emerald-300 bg-emerald-50 dark:border-emerald-900 dark:bg-emerald-950\u002F20\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">Consecuencia arquitectónica clave\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Puede autoalojar el &lt;strong&gt;plano de ejecución&lt;\u002Fstrong&gt; sin necesidad de autoalojar el &lt;strong&gt;plano del harness&lt;\u002Fstrong&gt;. Ese suele ser el punto medio adecuado.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Ch2 id=\"section-15\">Harness gestionado: lo que realmente gana\u003C\u002Fh2>\n\u003Cp>Un harness gestionado elimina más que un bucle while. La API actual de Agents de OpenAI gestiona sesiones, orquestación, compactación de contexto y recuperación. El trabajo de Anthropic sobre agentes gestionados describe la misma motivación general: los harnesses contienen supuestos sobre el comportamiento de los modelos, y esos supuestos deben evolucionar a medida que los modelos mejoran.\u003C\u002Fp>\n\u003Cp>Eso significa que la ventaja no se reduce a tener menos líneas de código. La plataforma puede actualizar el comportamiento en tiempo de ejecución, el manejo de contexto a largo plazo, la coordinación de subagentes y la recuperación sin requerir que cada equipo de aplicaciones reconstruya dichos mecanismos.\u003C\u002Fp>\n\u003Cul>\u003Cli>Menos código de orquestación a cargo de la aplicación.\u003C\u002Fli>\u003Cli>Comportamiento gestionado de sesiones duraderas.\u003C\u002Fli>\u003Cli>Compactación y recuperación de contexto gestionadas.\u003C\u002Fli>\u003Cli>Un entorno de ejecución que puede evolucionar con las capacidades del modelo.\u003C\u002Fli>\u003Cli>Adopción más sencilla de características nativas de la plataforma para subagentes y agentes de larga duración.\u003C\u002Fli>\u003Cli>Carga operativa potencialmente menor para equipos cuya diferenciación no reside en el propio harness.\u003C\u002Fli>\u003C\u002Ful>\n\u003Ch2 id=\"section-19\">Harness gestionado: a qué se renuncia\u003C\u002Fh2>\n\u003Cp>Delegar el harness también delega parte del control. Tu aplicación ya no es dueña de cada detalle de la iteración, la estrategia de contexto, la orquestación y la evolución del entorno de ejecución. Una actualización de la plataforma puede mejorar el sistema, pero también puede cambiar comportamientos de los que tu producto dependía implícitamente.\u003C\u002Fp>\n\u003Cp>Esto genera un tipo diferente de requisito de ingeniería: evaluaciones sólidas, límites de producto explícitos y una capa de integración que evite que el comportamiento de la sesión gestionada se convierta en la fuente de verdad de tu negocio.\u003C\u002Fp>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Compromiso del harness gestionado\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Qué significa a nivel operativo\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Menor control del bucle\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">No puedes asumir que cada detalle de la orquestación está definido por la aplicación\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Evolución de la plataforma\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">El comportamiento del harness puede mejorar o cambiar sin que cambie tu código\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Ciclo de vida específico del proveedor\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Las sesiones, los eventos y la semántica de recuperación pasan a formar parte de la superficie de integración\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Límite de observabilidad\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Las trazas de la plataforma deben combinarse con los datos de auditoría de la aplicación\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Coste de portabilidad\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Migrar a otro harness en el futuro puede requerir más que simplemente cambiar los endpoints del modelo\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-23\">Entorno de ejecución autohospedado: la arquitectura intermedia\u003C\u002Fh2>\n\u003Cp>El modelo de entorno autohospedado de OpenAI es importante porque desacopla la computación privada de la propiedad del harness. La plataforma sigue ejecutando el harness de Codex, mientras que un ejecutor corre dentro de tu entorno y recibe comandos a través de una conexión saliente.\u003C\u002Fp>\n\u003Cp>Tú controlas el aprovisionamiento, los archivos, las dependencias, el acceso a la red y la limpieza. Por lo tanto, el harness puede operar contra infraestructura privada o software personalizado sin requerir que todo el entorno de ejecución del agente se traslade a tu aplicación.\u003C\u002Fp>\n\u003Cp>El coste es la responsabilidad del ciclo de vida. Tu aplicación debe mapear sesiones a computación, evitar aprovisionamientos duplicados, reconectar entornos, coordinar el apagado y preservar cualquier archivo que deba sobrevivir al entorno.\u003C\u002Fp>\n\u003Ch3 id=\"section-27\">Cuándo es suficiente la ejecución autohospedada\u003C\u002Fh3>\n\u003Cul>\u003Cli>El agente necesita acceso a una VPC privada o a un servicio interno.\u003C\u002Fli>\u003Cli>El agente necesita binarios personalizados, paquetes, controladores o software del sistema.\u003C\u002Fli>\u003Cli>La carga de trabajo debe ejecutarse en hardware o cuentas de nube que tú controlas.\u003C\u002Fli>\u003Cli>Los archivos deben permanecer dentro de un entorno controlado.\u003C\u002Fli>\u003Cli>Necesitas tu propio proveedor de sandboxing o modelo de aislamiento.\u003C\u002Fli>\u003Cli>Deseas una orquestación gestionada por la plataforma pero una ejecución controlada por tu infraestructura.\u003C\u002Fli>\u003C\u002Ful>\n\u003Ch2 id=\"section-29\">Cuándo podrías necesitar gestionar también el harness\u003C\u002Fh2>\n\u003Cp>Ser propietario del harness se justifica cuando el propio harness forma parte de la diferenciación de tu producto o de su conjunto de restricciones. La descripción general actual del runtime de OpenAI posiciona el SDK de Codex para ejecutar el harness de Codex en infraestructura que tú operas, mientras que Responses es la opción de nivel inferior cuando deseas ser dueño del bucle del agente por ti mismo.\u003C\u002Fp>\n\u003Cp>La clave consiste en identificar un requisito que resida genuinamente en el plano del harness, no en el plano de ejecución.\u003C\u002Fp>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Requisito\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">¿Problema del plano de ejecución o del plano del harness?\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Dirección probable\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Acceso a base de datos privada\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Plano de ejecución\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Harness gestionado + entorno autohospedado puede ser suficiente\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Paquetes de Linux personalizados\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Plano de ejecución\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Harness gestionado + entorno autohospedado\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Hardware de GPU personalizado\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Plano de ejecución\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Harness gestionado + entorno autohospedado donde esté admitido\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Lógica de detención de agente personalizada\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Plano del harness\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Harness autooperado \u002F bucle personalizado\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Enrutamiento de modelos entre proveedores en cada paso\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Plano del harness\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Bucle personalizado o harness que tú operas\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Algoritmo personalizado de compactación de contexto\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Plano del harness\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Harness autooperado si el runtime gestionado no puede exponerlo\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Semántica de orquestación determinista requerida por el producto\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Plano del harness\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Harness autooperado o bucle personalizado estrictamente controlado\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Despliegue de producto exclusivamente local sin dependencia de un harness gestionado\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Plano del harness + plano de ejecución\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Runtime autooperado\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-33\">La prueba de escalada de control\u003C\u002Fh2>\n\u003Cp>Utiliza la arquitectura menos autohospedada que satisfaga el requisito real. Escala el control capa por capa.\u003C\u002Fp>\n\u003Csection class=\"editorjs-process my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Prueba de escalada de control\u003C\u002Fh3>\u003Cdiv class=\"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-4\">\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">1\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">1. Comenzar con el límite de la aplicación\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Mantén la verdad del dominio, la autorización y las acciones comerciales críticas en tu propio producto, independientemente del runtime del agente.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">2\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">2. Preguntar si el agente necesita ejecución local\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Si no es así, un harness gestionado sin un entorno dedicado puede ser suficiente.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">3\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">3. Preguntar si la computación alojada en la plataforma es aceptable\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">En caso afirmativo, utiliza un entorno gestionado y evita la propiedad innecesaria de infraestructura.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">4\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">4. Si no, autohospedar el plano de ejecución\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Conecta tu propio entorno para red privada, archivos, paquetes o computación controlada.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">5\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">5. Reevaluar la restricción restante\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Si el requisito ahora se satisface, deténte. No autohospedes el harness simplemente por simetría arquitectónica.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">6\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">6. Escalar a la propiedad del harness solo por requisitos del harness\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Sé dueño del harness de Codex o del bucle de agente personalizado cuando la orquestación, la estrategia de contexto, el ciclo de vida o la portabilidad realmente lo requieran.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">7\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">7. Demostrar que el control adicional compensa las operaciones adicionales\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Evalúa confiabilidad, latencia, coste, recuperación, observabilidad y carga de ingeniería antes de comprometerte.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-36\">La carga operativa crece de forma no lineal cuando eres dueño del harness\u003C\u002Fh2>\n\u003Cp>Un bucle autooperado parece sencillo en una demo: llamar al modelo, inspeccionar la llamada a la herramienta, ejecutar la herramienta, añadir el resultado y repetir. La producción añade estado duradero, reintentos, eventos duplicados, cancelaciones, aprobaciones, desbordamiento de contexto, tiempos de espera de herramientas, reinicios de procesos, persistencia de trazas, contrapresión, trabajo concurrente y recuperación tras efectos secundarios parciales.\u003C\u002Fp>\n\u003Cp>La investigación de Anthropic sobre agentes de ejecución prolongada demuestra reiteradamente que el diseño del entorno de ejecución (harness) afecta sustancialmente al rendimiento. Su trabajo en el desarrollo de aplicaciones de ejecución prolongada utiliza planificación explícita, artefactos estructurados y agentes evaluadores, ya que los bucles ingenuos tienden a perder el progreso o a terminar prematuramente. Por tanto, el harness es lógica de producción, no mera fontanería.\u003C\u002Fp>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Si gestionas tu propio harness, también necesitas una respuesta para\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Por qué es importante\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Estado de sesión duradero\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Los procesos se reinician; el trabajo de larga duración debe reanudarse correctamente\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Compactación de contexto\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">El historial acaba superando el contexto de trabajo práctico\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Idempotencia de herramientas\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Los reintentos no deben repetir efectos secundarios irreversibles\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Cancelación e interrupción\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Los usuarios y los sistemas necesitan detener o redirigir el trabajo\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Recuperación tras ejecución parcial\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Una herramienta puede ejecutarse con éxito incluso si el agente nunca recibe el resultado\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Concurrencia\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Múltiples tareas, workers o agentes pueden interactuar con un estado compartido\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Observabilidad\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">El resultado final no es suficiente para depurar fallos en tiempo de ejecución\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Versionado\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Las actualizaciones del harness pueden cambiar el comportamiento incluso cuando los prompts se mantienen constantes\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Evaluación\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Los cambios en el runtime requieren pruebas de regresión en trayectorias representativas\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-40\">Límite de seguridad: autohospedar el cómputo no hace que el agente sea privado automáticamente\u003C\u002Fh2>\n\u003Cp>Un entorno de ejecución autohospedado controla dónde se ejecutan los comandos y dónde residen los archivos, pero el harness gestionado y la interacción con el modelo siguen cruzando el límite del servicio. Por tanto, los equipos deben mapear los flujos de datos de forma explícita en lugar de utilizar «autohospedado» como sinónimo de privacidad.\u003C\u002Fp>\n\u003Cp>El ejecutor autohospedado de OpenAI utiliza credenciales de entorno restringidas y conexiones salientes. Se trata de un aislamiento útil, pero tu aplicación sigue necesitando sus propias reglas para secretos, exposición a redes privadas, aislamiento entre usuarios y entornos, retención de archivos, autorización de herramientas y clasificación de datos.\u003C\u002Fp>\n\u003Caside class=\"editorjs-callout editorjs-callout--warning my-6 rounded-xl border p-5 border-amber-300 bg-amber-50 dark:border-amber-900 dark:bg-amber-950\u002F20\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">Distinción importante\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">&lt;strong&gt;El control de la infraestructura, el aislamiento de la ejecución y los límites de gobernanza de datos están relacionados, pero no son idénticos.&lt;\u002Fstrong&gt; Toma decisiones para cada uno por separado.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Ch2 id=\"section-44\">Latencia y coste: el control puede trasladar los cuellos de botella en lugar de eliminarlos\u003C\u002Fh2>\n\u003Cp>El autohospedaje puede reducir algunos costes en la ruta de datos o de inicio de entornos, pero también puede añadir tiempo de aprovisionamiento, ciclo de vida de WebSockets, arranques en frío, limpieza de sandboxes, infraestructura de observabilidad y sobrecarga de ingeniería. Un entorno gestionado puede costar más por unidad de cómputo y, al mismo tiempo, resultar más económico de operar con volúmenes bajos o irregulares.\u003C\u002Fp>\n\u003Cp>La comparación adecuada es el coste total del sistema: uso de modelos y herramientas, tiempo de entorno, infraestructura, esfuerzo de ingeniería, carga de guardias (on-call), recuperación de fallos y el coste de iterar más lentamente.\u003C\u002Fp>\n\u003Ch2 id=\"section-47\">Matriz de decisión para producción\u003C\u002Fh2>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Restricción\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Harness gestionado + entorno gestionado\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Harness gestionado + entorno autohospedado\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Harness \u002F bucle autooperado\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Vía más rápida a producción\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Fuerte\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Moderada\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Más débil\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Ejecución en red privada\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Débil \u002F depende del diseño de conectividad\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Fuerte\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Fuerte\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Paquetes personalizados \u002F software de sistema\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Moderado\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Fuerte\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Fuerte\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Control a nivel de harness\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Bajo\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Bajo\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">El más alto\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Carga operativa\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La más baja\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Media\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La más alta\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Portabilidad\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La más baja\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Media\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Potencialmente la más alta si se diseña intencionadamente\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Control de la estrategia de contexto\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Gestionado por la plataforma\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Gestionado por la plataforma\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Controlado por la aplicación\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Control de la infraestructura de ejecución\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Bajo\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Alto\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Alto\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Capacidad para beneficiarse de actualizaciones del harness gestionado\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La más alta\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La más alta\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Asumes la adopción\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Mejor encaje\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Equipos que se diferencian en la capa de producto\u002Fherramientas\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Equipos que necesitan cómputo privado\u002Fpersonalizado sin asumir la orquestación\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Equipos cuya semántica de tiempo de ejecución es en sí misma un requisito\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-49\">El modelo híbrido no es un compromiso: a menudo es la arquitectura limpia\u003C\u002Fh2>\n\u003Cp>Un harness gestionado con ejecución autohospedada no es estar «a medio autohospedar». Es una separación intencionada de responsabilidades. La plataforma asume la complejidad del runtime de agentes de largo alcance, mientras que tu infraestructura controla la ejecución, la conectividad privada y los archivos.\u003C\u002Fp>\n\u003Cp>Ese límite se asemeja al de otras arquitecturas en la nube: plano de control gestionado, plano de datos o de ejecución controlado por el cliente. La labor de diseño fundamental consiste en definir el contrato entre ambos: identidad de la sesión, identidad del entorno, credenciales, archivos, permisos de herramientas, eventos del ciclo de vida y limpieza.\u003C\u002Fp>\n\u003Caside class=\"editorjs-referral my-6\">\u003Ca href=\"https:\u002F\u002Fstajic.de\u002Fes\u002Fblog\u002Fopenai-agents-api-vs-agents-sdk-vs-responses-api-what-should-you-build-on-in-2026\" class=\"flex flex-col sm:flex-row gap-4 rounded-xl border border-gray-200 dark:border-gray-700 p-4 transition hover:border-primary-500\">\u003Cdiv class=\"min-w-0 flex-1\">\u003Cstrong class=\"block text-lg text-gray-900 dark:text-gray-100\">OpenAI Agents API vs Agents SDK vs Responses API: ¿Sobre qué deberías construir en 2026?\u003C\u002Fstrong>\u003Cp class=\"mt-2 text-sm text-gray-600 dark:text-gray-300\">Una comparación del control en tiempo de ejecución entre las distintas interfaces de agentes actuales de OpenAI y a dónde pertenece cada límite de control.\u003C\u002Fp>\u003Cspan class=\"mt-3 inline-flex text-sm font-medium text-primary-600 dark:text-primary-400\">Leer la comparación de runtimes →\u003C\u002Fspan>\u003C\u002Fdiv>\u003C\u002Fa>\u003C\u002Faside>\n\u003Ch2 id=\"section-53\">¿Qué cambiaría esta respuesta?\u003C\u002Fh2>\n\u003Cp>La recomendación cambia si los harnesses gestionados ofrecen un control sustancialmente mayor sobre el runtime, si los harnesses autohospedados incorporan primitivas más sencillas de sesiones duraderas y recuperación, o si la normativa exige que todo el bucle del agente y la interacción con el modelo permanezcan dentro de la infraestructura que tú operas.\u003C\u002Fp>\n\u003Cp>También cambia con la capacidad del modelo. Anthropic señala explícitamente que los supuestos del harness pueden quedar obsoletos a medida que los modelos mejoran. Un mecanismo de control que es esencial hoy en día puede volverse innecesario más adelante, mientras que una nueva capacidad del modelo puede generar un nuevo requisito de gobernanza.\u003C\u002Fp>\n\u003Ch2 id=\"section-56\">Limitaciones\u003C\u002Fh2>\n\u003Cp>Este artículo separa las responsabilidades de la arquitectura; no afirma que un modelo de alojamiento sea universalmente más seguro, más económico o más confiable. Esos resultados dependen de la implementación, la carga de trabajo, los requisitos de cumplimiento, las habilidades del equipo y el comportamiento del proveedor.\u003C\u002Fp>\n\u003Cp>La API de OpenAI Agents todavía está en fase beta pública, y los productos de agentes gestionados de diferentes proveedores exponen diferentes límites. El modelo de dos planos tiene como objetivo ayudar a comparar esas arquitecturas sin asumir que todos los proveedores utilicen términos idénticos.\u003C\u002Fp>\n\u003Ch2 id=\"section-59\">Conclusión\u003C\u002Fh2>\n\u003Cp>La pregunta útil no es “¿Deberíamos alojar el agente nosotros mismos?” Es: ¿Qué plano necesitamos controlar realmente?\u003C\u002Fp>\n\u003Cp>Si el requisito es cómputo privado, paquetes personalizados, archivos locales o acceso a la red interna, aloje el plano de ejecución y mantenga el harness gestionado. Si el requisito son las semánticas de orquestación, la estrategia de contexto, el control del proveedor o el propio ciclo de vida del runtime, entonces asumir la propiedad del harness puede estar justificado. Aumente el control solo en la medida en que el requisito lo exija.\u003C\u002Fp>\n\u003Ch2 id=\"section-62\">Preguntas frecuentes\u003C\u002Fh2>\n\u003Csection class=\"editorjs-faq my-6 rounded-xl border border-gray-200 p-5 dark:border-gray-700\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Harnesses gestionados y runtimes de agentes autoalojados\u003C\u002Fh3>\u003Cdiv id=\"faq1\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">¿Un entorno autoalojado de la API de OpenAI Agents es un agente autoalojado?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">No del todo. OpenAI todavía ejecuta el harness gestionado de Codex, mientras que su infraestructura ejecuta el entorno de ejecución utilizado para comandos, archivos y herramientas locales.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq2\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">¿Cuándo es suficiente un entorno autoalojado?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">A menudo es suficiente cuando sus requisitos se refieren al acceso a la red privada, paquetes personalizados, archivos controlados, hardware específico o políticas de infraestructura, en lugar del control sobre el bucle del agente en sí.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq3\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">¿Cuándo debería ejecutar el harness yo mismo?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Considere asumir la propiedad del harness cuando necesite semánticas de orquestación personalizadas, gestión de contexto personalizada, enrutamiento de proveedores, comportamiento de runtime exclusivamente local u otro requisito que resida en el bucle del agente en lugar del entorno de ejecución.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq4\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">¿El autoalojamiento mejora automáticamente la seguridad?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">No. Cambia qué componentes controla. La seguridad depende del flujo de datos, el aislamiento, las credenciales, los permisos de las herramientas, las redes, el registro y el diseño del ciclo de vida en todos los componentes.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq5\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">¿Cuál es el principal costo operativo de ser dueño del bucle del agente?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Usted pasa a ser responsable del estado duradero, la gestión del contexto, los reintentos, la cancelación, la recuperación, la observabilidad, la concurrencia, las actualizaciones del runtime y la evaluación de los cambios en el harness.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-64\">Glosario\u003C\u002Fh2>\n\u003Csection class=\"editorjs-glossary my-6 rounded-xl border border-gray-200 dark:border-gray-700 p-5\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Términos clave de arquitectura\u003C\u002Fh3>\u003Cdl>\u003Cdiv id=\"harness-plane\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Plano del harness\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">La capa del runtime del agente responsable de la ejecución del bucle, la orquestación, la gestión del contexto, la continuidad de la sesión y la recuperación.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"execution-plane\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Plano de ejecución\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">El entorno en el que se ejecutan los comandos, corre el código y se accede a los archivos, paquetes y recursos locales.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"managed-harness\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Harness gestionado\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Un harness de agente cuyo runtime, gestión de sesiones y orquestación son operados por un proveedor de plataforma.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"self-hosted-environment\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Entorno autoalojado\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Cómputo y archivos operados por el propietario de la aplicación mientras que un harness de agente independiente puede permanecer gestionado en otro lugar.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"self-operated-harness\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Harness autooperado\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Un runtime de agente cuyo bucle, alojamiento, estrategia de contexto y ciclo de vida son operados por el equipo de la aplicación.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"control-escalation-test\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Prueba de escalamiento de control\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Un método de decisión que incrementa la propiedad de la infraestructura y el runtime solo cuando un requisito no puede satisfacerse en una capa de menor control.\u003C\u002Fdd>\u003C\u002Fdiv>\u003C\u002Fdl>\u003C\u002Fsection>\n\u003Ch2 id=\"section-66\">Fuentes primarias y lecturas adicionales\u003C\u002Fh2>\n\u003Ca href=\"https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fagents-api\u002Farchitecture\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">OpenAI — Arquitectura de la API de Agents\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Separación actual entre el harness alojado, el entorno de ejecución y el servidor de aplicaciones.\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fagents-api\u002Fenvironments\u002Fself-hosted\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">OpenAI — Sandboxes autoalojados\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Cómo los entornos de ejecución operados por el cliente se conectan al harness gestionado y qué responsabilidades del ciclo de vida permanecen en la aplicación.\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fagents-api\u002Fenvironments\u002Flifecycle\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">OpenAI — Ciclo de vida del sandbox\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Aprovisionamiento, reconexión, prevención de entornos duplicados y responsabilidades de limpieza para el cómputo autoalojado.\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fagents\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">OpenAI — Opciones de runtime de agentes\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Comparación actual de la API de Agents, el SDK de Codex y la API de Responses según las responsabilidades gestionadas frente a las operadas por la aplicación.\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fdevelopers.openai.com\u002Fblog\u002Fcodex-as-a-platform\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">OpenAI — Codex como plataforma\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Harness de Codex de código abierto y capas de integración para aplicaciones que desean un control de runtime más profundo.\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Fmanaged-agents\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">Anthropic — Escalando agentes gestionados: Desacoplando el cerebro de las manos\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Análisis de la arquitectura de agentes gestionados y por qué los supuestos del harness deben evolucionar con la capacidad del modelo.\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Feffective-harnesses-for-long-running-agents\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">Anthropic — Arneses eficaces para agentes de ejecución prolongada\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Lecciones de ingeniería que demuestran que el rendimiento de los agentes de ejecución prolongada depende sustancialmente del diseño del arnés y de los artefactos persistentes.\u003C\u002Fp>\u003C\u002Fa>",{"time":212,"blocks":213,"version":872},1790365483764,[214,222,228,236,243,249,254,259,264,269,274,299,304,334,341,346,351,356,370,375,380,385,408,413,418,423,428,433,445,450,455,460,494,499,504,533,538,543,548,583,588,593,598,604,609,614,619,624,670,675,680,685,694,699,704,709,714,719,724,729,734,739,744,770,775,803,808,818,827,836,845,854,863],{"id":215,"data":216,"type":220,"tunes":221},"-PDI7SJcNl",{"title":217,"maxLevel":218,"minLevel":219},"Índice",3,2,"tableOfContents",{},{"id":223,"data":224,"type":226,"tunes":227},"intro",{"text":225},"La frase «agente autoalojado» oculta ahora al menos tres arquitecturas diferentes. Puede utilizar un harness gestionado con cómputo alojado por OpenAI, un harness gestionado conectado a infraestructura que usted opera, o ejecutar el harness y el bucle del agente usted mismo. Esas elecciones tienen implicaciones muy distintas en cuanto a control, recuperación, gestión del contexto, seguridad, latencia y carga operativa.","paragraph",{},{"id":229,"data":230,"type":234,"tunes":235},"direct",{"body":231,"title":232,"variant":233},"\u003Cstrong>No elija entre «gestionado» y «autoalojado» como si se tratara de una decisión binaria.\u003C\u002Fstrong> Separe el \u003Cstrong>plano del harness\u003C\u002Fstrong> del \u003Cstrong>plano de ejecución\u003C\u002Fstrong>. Un harness gestionado aún puede utilizar cómputo autoalojado. Un entorno autoalojado le proporciona control sobre los archivos, los paquetes, el acceso a la red y la ejecución sin exigirle asumir la propiedad del bucle del agente. Ejecute el harness usted mismo solo cuando necesite control sobre la orquestación, el ciclo de vida, los supuestos de enrutamiento de modelos o comportamientos en tiempo de ejecución que un harness gestionado no pueda exponer.","Respuesta directa","info","callout",{},{"id":237,"data":238,"type":234,"tunes":242},"current",{"body":239,"title":240,"variant":241},"La API de Agents de OpenAI está en fase beta pública y su arquitectura puede evolucionar. La documentación actual separa el harness de Codex alojado por OpenAI del entorno de ejecución y admite explícitamente entornos autoalojados. OpenAI también expone el harness de Codex por separado a través del SDK de Codex para infraestructuras que usted opera.","Actualizado al 25 de septiembre de 2026","warning",{},{"id":244,"data":245,"type":234,"tunes":248},"note",{"body":246,"title":247,"variant":244},"El modelo de Plano del harness \u002F Plano de ejecución y la Prueba de escalada de control a continuación son herramientas prácticas de arquitectura propuestas aquí. No constituyen terminología formal de ningún proveedor.","El modelo utilizado en este artículo",{},{"id":250,"data":251,"type":42,"tunes":253},"h-mistake",{"text":252,"level":219},"El error: tratar el autoalojamiento como una sola decisión",{},{"id":255,"data":256,"type":226,"tunes":258},"p-mistake-1",{"text":257},"En el software convencional, «autoalojado» suele significar que la aplicación se ejecuta en una infraestructura que usted controla. Los sistemas de agentes complican esa definición porque el entorno de ejecución puede dividirse. El bucle de modelo y herramientas puede ejecutarse en un lugar mientras que la ejecución del código, los archivos y el acceso a redes privadas ocurren en otro.",{},{"id":260,"data":261,"type":226,"tunes":263},"p-mistake-2",{"text":262},"La arquitectura actual de la API de Agents de OpenAI hace explícita esta división: OpenAI ejecuta el harness, mientras que el entorno de ejecución puede estar ausente, alojado por OpenAI o autoalojado. Por lo tanto, un entorno autoalojado no significa que el bucle del agente esté autoalojado.",{},{"id":265,"data":266,"type":226,"tunes":268},"p-mistake-3",{"text":267},"Esta distinción es importante porque muchos equipos eligen un entorno de ejecución más complejo de lo que necesitan. Desean acceso a redes privadas o paquetes personalizados, concluyen que todo el agente debe ser autoalojado y, accidentalmente, asumen la responsabilidad de la gestión del contexto, la orquestación, la recuperación y el ciclo de vida que podrían haber permanecido gestionados.",{},{"id":270,"data":271,"type":42,"tunes":273},"h-three",{"text":272,"level":219},"Tres arquitecturas a las que a menudo se llama «autoalojadas»",{},{"id":275,"data":276,"type":297,"tunes":298},"three-table",{"content":277,"stretched":43,"withHeadings":14},[278,283,288,292],[279,280,281,282],"Arquitectura","¿Quién ejecuta el harness?","Dónde se ejecutan el código y los archivos","De qué es usted responsable principalmente",[284,285,286,287],"Harness gestionado + entorno gestionado","Plataforma","Sandbox alojado por la plataforma","Aplicación, herramientas, lógica de producto, autorización",[289,285,290,291],"Harness gestionado + entorno autoalojado","Su contenedor, máquina virtual, portátil, nube privada u otro cómputo","Aprovisionamiento del entorno, redes, archivos y ciclo de vida; la plataforma sigue siendo propietaria del harness",[293,294,295,296],"Harness \u002F bucle de agente operado por usted","Usted","El entorno de su elección","Proceso del harness, orquestación, estrategia de contexto, alojamiento, recuperación, ejecución y ciclo de vida de la aplicación","table",{},{"id":300,"data":301,"type":42,"tunes":303},"h-two-plane",{"text":302,"level":219},"El modelo de dos planos",{},{"id":305,"data":306,"type":332,"tunes":333},"plane-comparison",{"rows":307,"title":321,"layout":297,"columns":322},[308,313,317],{"id":309,"label":310,"values":311},"harness","Plano del harness",[312,312,312],"",{"id":314,"label":315,"values":316},"execution","Plano de ejecución",[312,312,312],{"id":318,"label":319,"values":320},"application","Plano de aplicación",[312,312,312],"Separe el plano del harness del plano de ejecución",[323,326,329],{"id":324,"label":325},"plane","Plano",{"id":327,"label":328},"owns","De qué se encarga",{"id":330,"label":331},"questions","Preguntas a formular","comparison",{},{"id":335,"data":336,"type":234,"tunes":340},"key-consequence",{"body":337,"title":338,"variant":339},"Puede autoalojar el \u003Cstrong>plano de ejecución\u003C\u002Fstrong> sin necesidad de autoalojar el \u003Cstrong>plano del harness\u003C\u002Fstrong>. Ese suele ser el punto medio adecuado.","Consecuencia arquitectónica clave","success",{},{"id":342,"data":343,"type":42,"tunes":345},"h-managed",{"text":344,"level":219},"Harness gestionado: lo que realmente gana",{},{"id":347,"data":348,"type":226,"tunes":350},"p-managed-1",{"text":349},"Un harness gestionado elimina más que un bucle while. La API actual de Agents de OpenAI gestiona sesiones, orquestación, compactación de contexto y recuperación. El trabajo de Anthropic sobre agentes gestionados describe la misma motivación general: los harnesses contienen supuestos sobre el comportamiento de los modelos, y esos supuestos deben evolucionar a medida que los modelos mejoran.",{},{"id":352,"data":353,"type":226,"tunes":355},"p-managed-2",{"text":354},"Eso significa que la ventaja no se reduce a tener menos líneas de código. La plataforma puede actualizar el comportamiento en tiempo de ejecución, el manejo de contexto a largo plazo, la coordinación de subagentes y la recuperación sin requerir que cada equipo de aplicaciones reconstruya dichos mecanismos.",{},{"id":357,"data":358,"type":368,"tunes":369},"managed-list",{"meta":359,"items":360,"style":367},{},[361,362,363,364,365,366],"Menos código de orquestación a cargo de la aplicación.","Comportamiento gestionado de sesiones duraderas.","Compactación y recuperación de contexto gestionadas.","Un entorno de ejecución que puede evolucionar con las capacidades del modelo.","Adopción más sencilla de características nativas de la plataforma para subagentes y agentes de larga duración.","Carga operativa potencialmente menor para equipos cuya diferenciación no reside en el propio harness.","unordered","list",{},{"id":371,"data":372,"type":42,"tunes":374},"h-managed-cost",{"text":373,"level":219},"Harness gestionado: a qué se renuncia",{},{"id":376,"data":377,"type":226,"tunes":379},"p-managed-cost-1",{"text":378},"Delegar el harness también delega parte del control. Tu aplicación ya no es dueña de cada detalle de la iteración, la estrategia de contexto, la orquestación y la evolución del entorno de ejecución. Una actualización de la plataforma puede mejorar el sistema, pero también puede cambiar comportamientos de los que tu producto dependía implícitamente.",{},{"id":381,"data":382,"type":226,"tunes":384},"p-managed-cost-2",{"text":383},"Esto genera un tipo diferente de requisito de ingeniería: evaluaciones sólidas, límites de producto explícitos y una capa de integración que evite que el comportamiento de la sesión gestionada se convierta en la fuente de verdad de tu negocio.",{},{"id":386,"data":387,"type":297,"tunes":407},"managed-cost-table",{"content":388,"stretched":43,"withHeadings":14},[389,392,395,398,401,404],[390,391],"Compromiso del harness gestionado","Qué significa a nivel operativo",[393,394],"Menor control del bucle","No puedes asumir que cada detalle de la orquestación está definido por la aplicación",[396,397],"Evolución de la plataforma","El comportamiento del harness puede mejorar o cambiar sin que cambie tu código",[399,400],"Ciclo de vida específico del proveedor","Las sesiones, los eventos y la semántica de recuperación pasan a formar parte de la superficie de integración",[402,403],"Límite de observabilidad","Las trazas de la plataforma deben combinarse con los datos de auditoría de la aplicación",[405,406],"Coste de portabilidad","Migrar a otro harness en el futuro puede requerir más que simplemente cambiar los endpoints del modelo",{},{"id":409,"data":410,"type":42,"tunes":412},"h-self-env",{"text":411,"level":219},"Entorno de ejecución autohospedado: la arquitectura intermedia",{},{"id":414,"data":415,"type":226,"tunes":417},"p-self-env-1",{"text":416},"El modelo de entorno autohospedado de OpenAI es importante porque desacopla la computación privada de la propiedad del harness. La plataforma sigue ejecutando el harness de Codex, mientras que un ejecutor corre dentro de tu entorno y recibe comandos a través de una conexión saliente.",{},{"id":419,"data":420,"type":226,"tunes":422},"p-self-env-2",{"text":421},"Tú controlas el aprovisionamiento, los archivos, las dependencias, el acceso a la red y la limpieza. Por lo tanto, el harness puede operar contra infraestructura privada o software personalizado sin requerir que todo el entorno de ejecución del agente se traslade a tu aplicación.",{},{"id":424,"data":425,"type":226,"tunes":427},"p-self-env-3",{"text":426},"El coste es la responsabilidad del ciclo de vida. Tu aplicación debe mapear sesiones a computación, evitar aprovisionamientos duplicados, reconectar entornos, coordinar el apagado y preservar cualquier archivo que deba sobrevivir al entorno.",{},{"id":429,"data":430,"type":42,"tunes":432},"h-enough",{"text":431,"level":218},"Cuándo es suficiente la ejecución autohospedada",{},{"id":434,"data":435,"type":368,"tunes":444},"enough-list",{"meta":436,"items":437,"style":367},{},[438,439,440,441,442,443],"El agente necesita acceso a una VPC privada o a un servicio interno.","El agente necesita binarios personalizados, paquetes, controladores o software del sistema.","La carga de trabajo debe ejecutarse en hardware o cuentas de nube que tú controlas.","Los archivos deben permanecer dentro de un entorno controlado.","Necesitas tu propio proveedor de sandboxing o modelo de aislamiento.","Deseas una orquestación gestionada por la plataforma pero una ejecución controlada por tu infraestructura.",{},{"id":446,"data":447,"type":42,"tunes":449},"h-own-harness",{"text":448,"level":219},"Cuándo podrías necesitar gestionar también el harness",{},{"id":451,"data":452,"type":226,"tunes":454},"p-own-1",{"text":453},"Ser propietario del harness se justifica cuando el propio harness forma parte de la diferenciación de tu producto o de su conjunto de restricciones. La descripción general actual del runtime de OpenAI posiciona el SDK de Codex para ejecutar el harness de Codex en infraestructura que tú operas, mientras que Responses es la opción de nivel inferior cuando deseas ser dueño del bucle del agente por ti mismo.",{},{"id":456,"data":457,"type":226,"tunes":459},"p-own-2",{"text":458},"La clave consiste en identificar un requisito que resida genuinamente en el plano del harness, no en el plano de ejecución.",{},{"id":461,"data":462,"type":297,"tunes":493},"requirements-table",{"content":463,"stretched":43,"withHeadings":14},[464,468,471,474,477,480,483,486,489],[465,466,467],"Requisito","¿Problema del plano de ejecución o del plano del harness?","Dirección probable",[469,315,470],"Acceso a base de datos privada","Harness gestionado + entorno autohospedado puede ser suficiente",[472,315,473],"Paquetes de Linux personalizados","Harness gestionado + entorno autohospedado",[475,315,476],"Hardware de GPU personalizado","Harness gestionado + entorno autohospedado donde esté admitido",[478,310,479],"Lógica de detención de agente personalizada","Harness autooperado \u002F bucle personalizado",[481,310,482],"Enrutamiento de modelos entre proveedores en cada paso","Bucle personalizado o harness que tú operas",[484,310,485],"Algoritmo personalizado de compactación de contexto","Harness autooperado si el runtime gestionado no puede exponerlo",[487,310,488],"Semántica de orquestación determinista requerida por el producto","Harness autooperado o bucle personalizado estrictamente controlado",[490,491,492],"Despliegue de producto exclusivamente local sin dependencia de un harness gestionado","Plano del harness + plano de ejecución","Runtime autooperado",{},{"id":495,"data":496,"type":42,"tunes":498},"h-control-test",{"text":497,"level":219},"La prueba de escalada de control",{},{"id":500,"data":501,"type":226,"tunes":503},"p-control-intro",{"text":502},"Utiliza la arquitectura menos autohospedada que satisfaga el requisito real. Escala el control capa por capa.",{},{"id":505,"data":506,"type":531,"tunes":532},"control-flow",{"steps":507,"title":529,"orientation":530},[508,511,514,517,520,523,526],{"label":509,"description":510},"1. Comenzar con el límite de la aplicación","Mantén la verdad del dominio, la autorización y las acciones comerciales críticas en tu propio producto, independientemente del runtime del agente.",{"label":512,"description":513},"2. Preguntar si el agente necesita ejecución local","Si no es así, un harness gestionado sin un entorno dedicado puede ser suficiente.",{"label":515,"description":516},"3. Preguntar si la computación alojada en la plataforma es aceptable","En caso afirmativo, utiliza un entorno gestionado y evita la propiedad innecesaria de infraestructura.",{"label":518,"description":519},"4. Si no, autohospedar el plano de ejecución","Conecta tu propio entorno para red privada, archivos, paquetes o computación controlada.",{"label":521,"description":522},"5. Reevaluar la restricción restante","Si el requisito ahora se satisface, deténte. No autohospedes el harness simplemente por simetría arquitectónica.",{"label":524,"description":525},"6. Escalar a la propiedad del harness solo por requisitos del harness","Sé dueño del harness de Codex o del bucle de agente personalizado cuando la orquestación, la estrategia de contexto, el ciclo de vida o la portabilidad realmente lo requieran.",{"label":527,"description":528},"7. Demostrar que el control adicional compensa las operaciones adicionales","Evalúa confiabilidad, latencia, coste, recuperación, observabilidad y carga de ingeniería antes de comprometerte.","Prueba de escalada de control","auto","processFlow",{},{"id":534,"data":535,"type":42,"tunes":537},"h-ops",{"text":536,"level":219},"La carga operativa crece de forma no lineal cuando eres dueño del harness",{},{"id":539,"data":540,"type":226,"tunes":542},"p-ops-1",{"text":541},"Un bucle autooperado parece sencillo en una demo: llamar al modelo, inspeccionar la llamada a la herramienta, ejecutar la herramienta, añadir el resultado y repetir. La producción añade estado duradero, reintentos, eventos duplicados, cancelaciones, aprobaciones, desbordamiento de contexto, tiempos de espera de herramientas, reinicios de procesos, persistencia de trazas, contrapresión, trabajo concurrente y recuperación tras efectos secundarios parciales.",{},{"id":544,"data":545,"type":226,"tunes":547},"p-ops-2",{"text":546},"La investigación de Anthropic sobre agentes de ejecución prolongada demuestra reiteradamente que el diseño del entorno de ejecución (harness) afecta sustancialmente al rendimiento. Su trabajo en el desarrollo de aplicaciones de ejecución prolongada utiliza planificación explícita, artefactos estructurados y agentes evaluadores, ya que los bucles ingenuos tienden a perder el progreso o a terminar prematuramente. Por tanto, el harness es lógica de producción, no mera fontanería.",{},{"id":549,"data":550,"type":297,"tunes":582},"ops-table",{"content":551,"stretched":43,"withHeadings":14},[552,555,558,561,564,567,570,573,576,579],[553,554],"Si gestionas tu propio harness, también necesitas una respuesta para","Por qué es importante",[556,557],"Estado de sesión duradero","Los procesos se reinician; el trabajo de larga duración debe reanudarse correctamente",[559,560],"Compactación de contexto","El historial acaba superando el contexto de trabajo práctico",[562,563],"Idempotencia de herramientas","Los reintentos no deben repetir efectos secundarios irreversibles",[565,566],"Cancelación e interrupción","Los usuarios y los sistemas necesitan detener o redirigir el trabajo",[568,569],"Recuperación tras ejecución parcial","Una herramienta puede ejecutarse con éxito incluso si el agente nunca recibe el resultado",[571,572],"Concurrencia","Múltiples tareas, workers o agentes pueden interactuar con un estado compartido",[574,575],"Observabilidad","El resultado final no es suficiente para depurar fallos en tiempo de ejecución",[577,578],"Versionado","Las actualizaciones del harness pueden cambiar el comportamiento incluso cuando los prompts se mantienen constantes",[580,581],"Evaluación","Los cambios en el runtime requieren pruebas de regresión en trayectorias representativas",{},{"id":584,"data":585,"type":42,"tunes":587},"h-security",{"text":586,"level":219},"Límite de seguridad: autohospedar el cómputo no hace que el agente sea privado automáticamente",{},{"id":589,"data":590,"type":226,"tunes":592},"p-sec-1",{"text":591},"Un entorno de ejecución autohospedado controla dónde se ejecutan los comandos y dónde residen los archivos, pero el harness gestionado y la interacción con el modelo siguen cruzando el límite del servicio. Por tanto, los equipos deben mapear los flujos de datos de forma explícita en lugar de utilizar «autohospedado» como sinónimo de privacidad.",{},{"id":594,"data":595,"type":226,"tunes":597},"p-sec-2",{"text":596},"El ejecutor autohospedado de OpenAI utiliza credenciales de entorno restringidas y conexiones salientes. Se trata de un aislamiento útil, pero tu aplicación sigue necesitando sus propias reglas para secretos, exposición a redes privadas, aislamiento entre usuarios y entornos, retención de archivos, autorización de herramientas y clasificación de datos.",{},{"id":599,"data":600,"type":234,"tunes":603},"sec-callout",{"body":601,"title":602,"variant":241},"\u003Cstrong>El control de la infraestructura, el aislamiento de la ejecución y los límites de gobernanza de datos están relacionados, pero no son idénticos.\u003C\u002Fstrong> Toma decisiones para cada uno por separado.","Distinción importante",{},{"id":605,"data":606,"type":42,"tunes":608},"h-cost",{"text":607,"level":219},"Latencia y coste: el control puede trasladar los cuellos de botella en lugar de eliminarlos",{},{"id":610,"data":611,"type":226,"tunes":613},"p-cost-1",{"text":612},"El autohospedaje puede reducir algunos costes en la ruta de datos o de inicio de entornos, pero también puede añadir tiempo de aprovisionamiento, ciclo de vida de WebSockets, arranques en frío, limpieza de sandboxes, infraestructura de observabilidad y sobrecarga de ingeniería. Un entorno gestionado puede costar más por unidad de cómputo y, al mismo tiempo, resultar más económico de operar con volúmenes bajos o irregulares.",{},{"id":615,"data":616,"type":226,"tunes":618},"p-cost-2",{"text":617},"La comparación adecuada es el coste total del sistema: uso de modelos y herramientas, tiempo de entorno, infraestructura, esfuerzo de ingeniería, carga de guardias (on-call), recuperación de fallos y el coste de iterar más lentamente.",{},{"id":620,"data":621,"type":42,"tunes":623},"h-matrix",{"text":622,"level":219},"Matriz de decisión para producción",{},{"id":625,"data":626,"type":297,"tunes":669},"decision-matrix",{"content":627,"stretched":43,"withHeadings":14},[628,631,636,639,642,646,651,654,658,661,664],[629,284,473,630],"Restricción","Harness \u002F bucle autooperado",[632,633,634,635],"Vía más rápida a producción","Fuerte","Moderada","Más débil",[637,638,633,633],"Ejecución en red privada","Débil \u002F depende del diseño de conectividad",[640,641,633,633],"Paquetes personalizados \u002F software de sistema","Moderado",[643,644,644,645],"Control a nivel de harness","Bajo","El más alto",[647,648,649,650],"Carga operativa","La más baja","Media","La más alta",[652,648,649,653],"Portabilidad","Potencialmente la más alta si se diseña intencionadamente",[655,656,656,657],"Control de la estrategia de contexto","Gestionado por la plataforma","Controlado por la aplicación",[659,644,660,660],"Control de la infraestructura de ejecución","Alto",[662,650,650,663],"Capacidad para beneficiarse de actualizaciones del harness gestionado","Asumes la adopción",[665,666,667,668],"Mejor encaje","Equipos que se diferencian en la capa de producto\u002Fherramientas","Equipos que necesitan cómputo privado\u002Fpersonalizado sin asumir la orquestación","Equipos cuya semántica de tiempo de ejecución es en sí misma un requisito",{},{"id":671,"data":672,"type":42,"tunes":674},"h-hybrid",{"text":673,"level":219},"El modelo híbrido no es un compromiso: a menudo es la arquitectura limpia",{},{"id":676,"data":677,"type":226,"tunes":679},"p-hybrid-1",{"text":678},"Un harness gestionado con ejecución autohospedada no es estar «a medio autohospedar». Es una separación intencionada de responsabilidades. La plataforma asume la complejidad del runtime de agentes de largo alcance, mientras que tu infraestructura controla la ejecución, la conectividad privada y los archivos.",{},{"id":681,"data":682,"type":226,"tunes":684},"p-hybrid-2",{"text":683},"Ese límite se asemeja al de otras arquitecturas en la nube: plano de control gestionado, plano de datos o de ejecución controlado por el cliente. La labor de diseño fundamental consiste en definir el contrato entre ambos: identidad de la sesión, identidad del entorno, credenciales, archivos, permisos de herramientas, eventos del ciclo de vida y limpieza.",{},{"id":686,"data":687,"type":692,"tunes":693},"ref-runtime",{"url":688,"title":689,"excerpt":690,"ctaLabel":691},"https:\u002F\u002Fstajic.de\u002Fes\u002Fblog\u002Fopenai-agents-api-vs-agents-sdk-vs-responses-api-what-should-you-build-on-in-2026","OpenAI Agents API vs Agents SDK vs Responses API: ¿Sobre qué deberías construir en 2026?","Una comparación del control en tiempo de ejecución entre las distintas interfaces de agentes actuales de OpenAI y a dónde pertenece cada límite de control.","Leer la comparación de runtimes","referralArticle",{},{"id":695,"data":696,"type":42,"tunes":698},"h-change",{"text":697,"level":219},"¿Qué cambiaría esta respuesta?",{},{"id":700,"data":701,"type":226,"tunes":703},"p-change-1",{"text":702},"La recomendación cambia si los harnesses gestionados ofrecen un control sustancialmente mayor sobre el runtime, si los harnesses autohospedados incorporan primitivas más sencillas de sesiones duraderas y recuperación, o si la normativa exige que todo el bucle del agente y la interacción con el modelo permanezcan dentro de la infraestructura que tú operas.",{},{"id":705,"data":706,"type":226,"tunes":708},"p-change-2",{"text":707},"También cambia con la capacidad del modelo. Anthropic señala explícitamente que los supuestos del harness pueden quedar obsoletos a medida que los modelos mejoran. Un mecanismo de control que es esencial hoy en día puede volverse innecesario más adelante, mientras que una nueva capacidad del modelo puede generar un nuevo requisito de gobernanza.",{},{"id":710,"data":711,"type":42,"tunes":713},"h-limit",{"text":712,"level":219},"Limitaciones",{},{"id":715,"data":716,"type":226,"tunes":718},"p-limit-1",{"text":717},"Este artículo separa las responsabilidades de la arquitectura; no afirma que un modelo de alojamiento sea universalmente más seguro, más económico o más confiable. Esos resultados dependen de la implementación, la carga de trabajo, los requisitos de cumplimiento, las habilidades del equipo y el comportamiento del proveedor.",{},{"id":720,"data":721,"type":226,"tunes":723},"p-limit-2",{"text":722},"La API de OpenAI Agents todavía está en fase beta pública, y los productos de agentes gestionados de diferentes proveedores exponen diferentes límites. El modelo de dos planos tiene como objetivo ayudar a comparar esas arquitecturas sin asumir que todos los proveedores utilicen términos idénticos.",{},{"id":725,"data":726,"type":42,"tunes":728},"h-conclusion",{"text":727,"level":219},"Conclusión",{},{"id":730,"data":731,"type":226,"tunes":733},"p-conclusion-1",{"text":732},"La pregunta útil no es “¿Deberíamos alojar el agente nosotros mismos?” Es: ¿Qué plano necesitamos controlar realmente?",{},{"id":735,"data":736,"type":226,"tunes":738},"p-conclusion-2",{"text":737},"Si el requisito es cómputo privado, paquetes personalizados, archivos locales o acceso a la red interna, aloje el plano de ejecución y mantenga el harness gestionado. Si el requisito son las semánticas de orquestación, la estrategia de contexto, el control del proveedor o el propio ciclo de vida del runtime, entonces asumir la propiedad del harness puede estar justificado. Aumente el control solo en la medida en que el requisito lo exija.",{},{"id":740,"data":741,"type":42,"tunes":743},"h-faq",{"text":742,"level":219},"Preguntas frecuentes",{},{"id":745,"data":746,"type":745,"tunes":769},"faq",{"items":747,"title":768},[748,752,756,760,764],{"id":749,"answer":750,"question":751},"faq1","No del todo. OpenAI todavía ejecuta el harness gestionado de Codex, mientras que su infraestructura ejecuta el entorno de ejecución utilizado para comandos, archivos y herramientas locales.","¿Un entorno autoalojado de la API de OpenAI Agents es un agente autoalojado?",{"id":753,"answer":754,"question":755},"faq2","A menudo es suficiente cuando sus requisitos se refieren al acceso a la red privada, paquetes personalizados, archivos controlados, hardware específico o políticas de infraestructura, en lugar del control sobre el bucle del agente en sí.","¿Cuándo es suficiente un entorno autoalojado?",{"id":757,"answer":758,"question":759},"faq3","Considere asumir la propiedad del harness cuando necesite semánticas de orquestación personalizadas, gestión de contexto personalizada, enrutamiento de proveedores, comportamiento de runtime exclusivamente local u otro requisito que resida en el bucle del agente en lugar del entorno de ejecución.","¿Cuándo debería ejecutar el harness yo mismo?",{"id":761,"answer":762,"question":763},"faq4","No. Cambia qué componentes controla. La seguridad depende del flujo de datos, el aislamiento, las credenciales, los permisos de las herramientas, las redes, el registro y el diseño del ciclo de vida en todos los componentes.","¿El autoalojamiento mejora automáticamente la seguridad?",{"id":765,"answer":766,"question":767},"faq5","Usted pasa a ser responsable del estado duradero, la gestión del contexto, los reintentos, la cancelación, la recuperación, la observabilidad, la concurrencia, las actualizaciones del runtime y la evaluación de los cambios en el harness.","¿Cuál es el principal costo operativo de ser dueño del bucle del agente?","Harnesses gestionados y runtimes de agentes autoalojados",{},{"id":771,"data":772,"type":42,"tunes":774},"h-glossary",{"text":773,"level":219},"Glosario",{},{"id":776,"data":777,"type":776,"tunes":802},"glossary",{"title":778,"entries":779},"Términos clave de arquitectura",[780,783,786,790,794,798],{"term":310,"anchor":781,"definition":782},"harness-plane","La capa del runtime del agente responsable de la ejecución del bucle, la orquestación, la gestión del contexto, la continuidad de la sesión y la recuperación.",{"term":315,"anchor":784,"definition":785},"execution-plane","El entorno en el que se ejecutan los comandos, corre el código y se accede a los archivos, paquetes y recursos locales.",{"term":787,"anchor":788,"definition":789},"Harness gestionado","managed-harness","Un harness de agente cuyo runtime, gestión de sesiones y orquestación son operados por un proveedor de plataforma.",{"term":791,"anchor":792,"definition":793},"Entorno autoalojado","self-hosted-environment","Cómputo y archivos operados por el propietario de la aplicación mientras que un harness de agente independiente puede permanecer gestionado en otro lugar.",{"term":795,"anchor":796,"definition":797},"Harness autooperado","self-operated-harness","Un runtime de agente cuyo bucle, alojamiento, estrategia de contexto y ciclo de vida son operados por el equipo de la aplicación.",{"term":799,"anchor":800,"definition":801},"Prueba de escalamiento de control","control-escalation-test","Un método de decisión que incrementa la propiedad de la infraestructura y el runtime solo cuando un requisito no puede satisfacerse en una capa de menor control.",{},{"id":804,"data":805,"type":42,"tunes":807},"h-sources",{"text":806,"level":219},"Fuentes primarias y lecturas adicionales",{},{"id":809,"data":810,"type":816,"tunes":817},"src-openai-architecture",{"link":811,"meta":812},"https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fagents-api\u002Farchitecture",{"image":813,"title":814,"description":815},{"url":312},"OpenAI — Arquitectura de la API de Agents","Separación actual entre el harness alojado, el entorno de ejecución y el servidor de aplicaciones.","linkTool",{},{"id":819,"data":820,"type":816,"tunes":826},"src-openai-selfhosted",{"link":821,"meta":822},"https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fagents-api\u002Fenvironments\u002Fself-hosted",{"image":823,"title":824,"description":825},{"url":312},"OpenAI — Sandboxes autoalojados","Cómo los entornos de ejecución operados por el cliente se conectan al harness gestionado y qué responsabilidades del ciclo de vida permanecen en la aplicación.",{},{"id":828,"data":829,"type":816,"tunes":835},"src-openai-lifecycle",{"link":830,"meta":831},"https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fagents-api\u002Fenvironments\u002Flifecycle",{"image":832,"title":833,"description":834},{"url":312},"OpenAI — Ciclo de vida del sandbox","Aprovisionamiento, reconexión, prevención de entornos duplicados y responsabilidades de limpieza para el cómputo autoalojado.",{},{"id":837,"data":838,"type":816,"tunes":844},"src-openai-runtime",{"link":839,"meta":840},"https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fagents",{"image":841,"title":842,"description":843},{"url":312},"OpenAI — Opciones de runtime de agentes","Comparación actual de la API de Agents, el SDK de Codex y la API de Responses según las responsabilidades gestionadas frente a las operadas por la aplicación.",{},{"id":846,"data":847,"type":816,"tunes":853},"src-openai-platform",{"link":848,"meta":849},"https:\u002F\u002Fdevelopers.openai.com\u002Fblog\u002Fcodex-as-a-platform",{"image":850,"title":851,"description":852},{"url":312},"OpenAI — Codex como plataforma","Harness de Codex de código abierto y capas de integración para aplicaciones que desean un control de runtime más profundo.",{},{"id":855,"data":856,"type":816,"tunes":862},"src-anthropic-managed",{"link":857,"meta":858},"https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Fmanaged-agents",{"image":859,"title":860,"description":861},{"url":312},"Anthropic — Escalando agentes gestionados: Desacoplando el cerebro de las manos","Análisis de la arquitectura de agentes gestionados y por qué los supuestos del harness deben evolucionar con la capacidad del modelo.",{},{"id":864,"data":865,"type":816,"tunes":871},"src-anthropic-harness",{"link":866,"meta":867},"https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Feffective-harnesses-for-long-running-agents",{"image":868,"title":869,"description":870},{"url":312},"Anthropic — Arneses eficaces para agentes de ejecución prolongada","Lecciones de ingeniería que demuestran que el rendimiento de los agentes de ejecución prolongada depende sustancialmente del diseño del arnés y de los artefactos persistentes.",{},"2.31","“Agente autoalojado” puede significar arquitecturas muy diferentes. Esta guía separa el arnés gestionado, el entorno de ejecución autoalojado y el bucle de agente totalmente autooperado—y muestra qué límite de control necesitan realmente los equipos.","\u002Fuploads\u002F2026\u002F09\u002Fmanaged-agent-harness-vs-self-hosted-agent-loop-what-you-gain-what-you-lose-1790352403475-kj10jh.webp","managed-agent-harness-vs-self-hosted-agent-loop-what-you-gain-what-you-lose-1790352403475-kj10jh","PUBLISHED","2026-09-25T12:05:00.000Z","2026-09-25T16:05:38.279Z","2026-09-25T19:49:39.069Z",{"en":881,"de":882,"sr":883,"es":884,"fr":885,"it":886,"ru":887,"zh":888},"\u002Fblog\u002Fmanaged-agent-harness-vs-self-hosted-agent-loop-what-you-gain-what-you-lose","\u002Fde\u002Fblog\u002Fmanaged-agent-harness-vs-self-hosted-agent-loop-what-you-gain-what-you-lose","\u002Fsr\u002Fblog\u002Fmanaged-agent-harness-vs-self-hosted-agent-loop-what-you-gain-what-you-lose","\u002Fes\u002Fblog\u002Fmanaged-agent-harness-vs-self-hosted-agent-loop-what-you-gain-what-you-lose","\u002Ffr\u002Fblog\u002Fmanaged-agent-harness-vs-self-hosted-agent-loop-what-you-gain-what-you-lose","\u002Fit\u002Fblog\u002Fmanaged-agent-harness-vs-self-hosted-agent-loop-what-you-gain-what-you-lose","\u002Fru\u002Fblog\u002Fmanaged-agent-harness-vs-self-hosted-agent-loop-what-you-gain-what-you-lose","\u002Fzh\u002Fblog\u002Fmanaged-agent-harness-vs-self-hosted-agent-loop-what-you-gain-what-you-lose",[890,894,898],{"id":891,"name":892,"slug":893},89,"Arnés de evaluación","evaluation-harness",{"id":895,"name":896,"slug":897},78,"Bucle de optimización","optimization-loop",{"id":899,"name":900,"slug":901},91,"Monitoreo (calidad, deriva)","monitoring",{"id":903,"login":904,"email":905,"displayName":906},"20","rooth8233","aleksandar@stajic.de","Aleksandar Stajić",[908,1457],{"lang":909,"title":910,"content":911,"contentJson":912,"excerpt":1456},"en","Managed Agent Harness vs Self-Hosted Agent Loop: What You Gain, What You Lose","{\"time\":1790352404508,\"blocks\":[{\"id\":\"-PDI7SJcNl\",\"type\":\"tableOfContents\",\"data\":{\"title\":\"Contents\",\"minLevel\":2,\"maxLevel\":3},\"tunes\":{}},{\"id\":\"intro\",\"type\":\"paragraph\",\"data\":{\"text\":\"The phrase “self-hosted agent” now hides at least three different architectures. You can use a managed harness with OpenAI-hosted compute, a managed harness connected to infrastructure you operate, or run the harness and agent loop yourself. Those choices have very different implications for control, recovery, context management, security, latency, and operational burden.\"},\"tunes\":{}},{\"id\":\"direct\",\"type\":\"callout\",\"data\":{\"variant\":\"info\",\"title\":\"Direct answer\",\"body\":\"\u003Cstrong>Do not choose between “managed” and “self-hosted” as if they were one binary decision.\u003C\u002Fstrong> Separate the \u003Cstrong>harness plane\u003C\u002Fstrong> from the \u003Cstrong>execution plane\u003C\u002Fstrong>. A managed harness can still use self-hosted compute. A self-hosted environment gives you control over files, packages, network access and execution without requiring you to own the agent loop. Run the harness yourself only when you need control over orchestration, lifecycle, model-routing assumptions, or runtime behaviour that a managed harness cannot expose.\"},\"tunes\":{}},{\"id\":\"current\",\"type\":\"callout\",\"data\":{\"variant\":\"warning\",\"title\":\"Current as of 25 September 2026\",\"body\":\"OpenAI's Agents API is in public beta and its architecture can evolve. Current documentation separates the OpenAI-hosted Codex harness from the execution environment and explicitly supports self-hosted environments. OpenAI also exposes the Codex harness separately through the Codex SDK for infrastructure you operate.\"},\"tunes\":{}},{\"id\":\"note\",\"type\":\"callout\",\"data\":{\"variant\":\"note\",\"title\":\"The model used in this article\",\"body\":\"The Harness Plane \u002F Execution Plane model and Control Escalation Test below are practical architecture tools proposed here. They are not formal vendor terminology.\"},\"tunes\":{}},{\"id\":\"h-mistake\",\"type\":\"header\",\"data\":{\"text\":\"The mistake: treating self-hosting as one decision\",\"level\":2},\"tunes\":{}},{\"id\":\"p-mistake-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"In conventional software, “self-hosted” usually means the application runs on infrastructure you control. Agent systems complicate that definition because the runtime can be split. The model-and-tool loop can run in one place while code execution, files and private-network access happen somewhere else.\"},\"tunes\":{}},{\"id\":\"p-mistake-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"OpenAI's current Agents API architecture makes this split explicit: OpenAI runs the harness, while the execution environment can be absent, OpenAI-hosted, or self-hosted. A self-hosted environment therefore does not mean the agent loop is self-hosted.\"},\"tunes\":{}},{\"id\":\"p-mistake-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"This distinction matters because many teams choose a more complex runtime than they need. They want private-network access or custom packages, conclude that the entire agent must be self-hosted, and accidentally take ownership of context management, orchestration, recovery and lifecycle that could have remained managed.\"},\"tunes\":{}},{\"id\":\"h-three\",\"type\":\"header\",\"data\":{\"text\":\"Three architectures that are often called “self-hosted”\",\"level\":2},\"tunes\":{}},{\"id\":\"three-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Architecture\",\"Who runs the harness?\",\"Where code\u002Ffiles execute\",\"What you primarily own\"],[\"Managed harness + managed environment\",\"Platform\",\"Platform-hosted sandbox\",\"Application, tools, product logic, authorization\"],[\"Managed harness + self-hosted environment\",\"Platform\",\"Your container, VM, laptop, private cloud or other compute\",\"Environment provisioning, networking, files and lifecycle; platform still owns harness\"],[\"Self-operated harness \u002F agent loop\",\"You\",\"Your chosen environment\",\"Harness process, orchestration, context strategy, hosting, recovery, execution and application lifecycle\"]]},\"tunes\":{}},{\"id\":\"h-two-plane\",\"type\":\"header\",\"data\":{\"text\":\"The two-plane model\",\"level\":2},\"tunes\":{}},{\"id\":\"plane-comparison\",\"type\":\"comparison\",\"data\":{\"title\":\"Separate the harness plane from the execution plane\",\"layout\":\"table\",\"columns\":[{\"id\":\"plane\",\"label\":\"Plane\"},{\"id\":\"owns\",\"label\":\"What it owns\"},{\"id\":\"questions\",\"label\":\"Questions to ask\"}],\"rows\":[{\"id\":\"harness\",\"label\":\"Harness plane\",\"values\":[\"\",\"\",\"\"]},{\"id\":\"execution\",\"label\":\"Execution plane\",\"values\":[\"\",\"\",\"\"]},{\"id\":\"application\",\"label\":\"Application plane\",\"values\":[\"\",\"\",\"\"]}]},\"tunes\":{}},{\"id\":\"key-consequence\",\"type\":\"callout\",\"data\":{\"variant\":\"success\",\"title\":\"Key architectural consequence\",\"body\":\"You can self-host the \u003Cstrong>execution plane\u003C\u002Fstrong> without self-hosting the \u003Cstrong>harness plane\u003C\u002Fstrong>. That is often the right middle ground.\"},\"tunes\":{}},{\"id\":\"h-managed\",\"type\":\"header\",\"data\":{\"text\":\"Managed harness: what you actually gain\",\"level\":2},\"tunes\":{}},{\"id\":\"p-managed-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"A managed harness removes more than a while-loop. OpenAI's current Agents API manages sessions, orchestration, context compaction and recovery. Anthropic's work on managed agents describes the same broader motivation: harnesses contain assumptions about model behaviour, and those assumptions need to evolve as models improve.\"},\"tunes\":{}},{\"id\":\"p-managed-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"That means the benefit is not only fewer lines of code. The platform can update runtime behaviour, long-horizon context handling, subagent coordination and recovery without requiring every application team to rebuild those mechanisms.\"},\"tunes\":{}},{\"id\":\"managed-list\",\"type\":\"list\",\"data\":{\"style\":\"unordered\",\"meta\":{},\"items\":[\"Less application-owned orchestration code.\",\"Managed durable-session behaviour.\",\"Managed context compaction and recovery.\",\"A runtime that can evolve with model capabilities.\",\"Simpler adoption of platform-native subagent and long-running-agent features.\",\"Potentially lower operational burden for teams whose differentiation is not the harness itself.\"]},\"tunes\":{}},{\"id\":\"h-managed-cost\",\"type\":\"header\",\"data\":{\"text\":\"Managed harness: what you give up\",\"level\":2},\"tunes\":{}},{\"id\":\"p-managed-cost-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Delegating the harness also delegates some control. Your application no longer owns every detail of iteration, context strategy, orchestration and runtime evolution. A platform update can improve the system, but it can also change behaviour your product implicitly depended on.\"},\"tunes\":{}},{\"id\":\"p-managed-cost-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"This creates a different kind of engineering requirement: strong evals, explicit product boundaries and an integration layer that prevents managed-session behaviour from becoming your business source of truth.\"},\"tunes\":{}},{\"id\":\"managed-cost-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Managed-harness trade-off\",\"What it means operationally\"],[\"Less loop control\",\"You cannot assume every orchestration detail is application-defined\"],[\"Platform evolution\",\"Harness behaviour can improve or change without your code changing\"],[\"Vendor-specific lifecycle\",\"Sessions, events and recovery semantics become part of the integration surface\"],[\"Observability boundary\",\"Platform traces must be joined with application audit data\"],[\"Portability cost\",\"Moving to another harness later may require more than swapping model endpoints\"]]},\"tunes\":{}},{\"id\":\"h-self-env\",\"type\":\"header\",\"data\":{\"text\":\"Self-hosted execution environment: the middle architecture\",\"level\":2},\"tunes\":{}},{\"id\":\"p-self-env-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"OpenAI's self-hosted environment model is important because it decouples private compute from harness ownership. The platform still runs the Codex harness, while an executor runs inside your environment and receives commands over an outbound connection.\"},\"tunes\":{}},{\"id\":\"p-self-env-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"You control provisioning, files, dependencies, network access and cleanup. The harness can therefore work against private infrastructure or custom software without requiring the entire agent runtime to move into your application.\"},\"tunes\":{}},{\"id\":\"p-self-env-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"The cost is lifecycle responsibility. Your application must map sessions to compute, avoid duplicate provisioning, reconnect environments, coordinate shutdown and preserve any files that must outlive the environment.\"},\"tunes\":{}},{\"id\":\"h-enough\",\"type\":\"header\",\"data\":{\"text\":\"When self-hosted execution is enough\",\"level\":3},\"tunes\":{}},{\"id\":\"enough-list\",\"type\":\"list\",\"data\":{\"style\":\"unordered\",\"meta\":{},\"items\":[\"The agent needs access to a private VPC or internal service.\",\"The agent needs custom binaries, packages, drivers or system software.\",\"The workload must run on hardware or cloud accounts you control.\",\"Files must remain inside a controlled environment.\",\"You need your own sandbox provider or isolation model.\",\"You want platform-managed orchestration but infrastructure-controlled execution.\"]},\"tunes\":{}},{\"id\":\"h-own-harness\",\"type\":\"header\",\"data\":{\"text\":\"When you may need to own the harness too\",\"level\":2},\"tunes\":{}},{\"id\":\"p-own-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Owning the harness becomes justified when the harness itself is part of your product differentiation or constraint set. OpenAI's current runtime overview positions the Codex SDK for running the Codex harness in infrastructure you operate, while Responses is the lower-level option when you want to own the agent loop yourself.\"},\"tunes\":{}},{\"id\":\"p-own-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"The key is to identify a requirement that genuinely lives in the harness plane, not the execution plane.\"},\"tunes\":{}},{\"id\":\"requirements-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Requirement\",\"Execution-plane problem or harness-plane problem?\",\"Likely direction\"],[\"Private database access\",\"Execution plane\",\"Managed harness + self-hosted environment may be sufficient\"],[\"Custom Linux packages\",\"Execution plane\",\"Managed harness + self-hosted environment\"],[\"Custom GPU hardware\",\"Execution plane\",\"Managed harness + self-hosted environment where supported\"],[\"Custom agent stopping logic\",\"Harness plane\",\"Self-operated harness \u002F custom loop\"],[\"Cross-provider model routing at every step\",\"Harness plane\",\"Custom loop or harness you operate\"],[\"Custom context-compaction algorithm\",\"Harness plane\",\"Self-operated harness if the managed runtime cannot expose it\"],[\"Deterministic orchestration semantics required by product\",\"Harness plane\",\"Self-operated harness or tightly controlled custom loop\"],[\"Local-only product deployment with no managed harness dependency\",\"Harness plane + execution plane\",\"Self-operated runtime\"]]},\"tunes\":{}},{\"id\":\"h-control-test\",\"type\":\"header\",\"data\":{\"text\":\"The Control Escalation Test\",\"level\":2},\"tunes\":{}},{\"id\":\"p-control-intro\",\"type\":\"paragraph\",\"data\":{\"text\":\"Use the least self-hosted architecture that satisfies the actual requirement. Escalate control one layer at a time.\"},\"tunes\":{}},{\"id\":\"control-flow\",\"type\":\"processFlow\",\"data\":{\"title\":\"Control Escalation Test\",\"orientation\":\"auto\",\"steps\":[{\"label\":\"1. Start with the application boundary\",\"description\":\"Keep domain truth, authorization and consequential business actions in your own product regardless of agent runtime.\"},{\"label\":\"2. Ask whether the agent needs local execution\",\"description\":\"If not, a managed harness without a dedicated environment may be enough.\"},{\"label\":\"3. Ask whether platform-hosted compute is acceptable\",\"description\":\"If yes, use a managed environment and avoid unnecessary infrastructure ownership.\"},{\"label\":\"4. If not, self-host the execution plane\",\"description\":\"Connect your own environment for private network, files, packages or controlled compute.\"},{\"label\":\"5. Re-evaluate the remaining constraint\",\"description\":\"If the requirement is now satisfied, stop. Do not self-host the harness simply for architectural symmetry.\"},{\"label\":\"6. Escalate to harness ownership only for harness requirements\",\"description\":\"Own the Codex harness or custom agent loop when orchestration, context strategy, lifecycle or portability genuinely requires it.\"},{\"label\":\"7. Prove the extra control is worth the extra operations\",\"description\":\"Benchmark reliability, latency, cost, recovery, observability and engineering burden before committing.\"}]},\"tunes\":{}},{\"id\":\"h-ops\",\"type\":\"header\",\"data\":{\"text\":\"Operational burden grows nonlinearly when you own the harness\",\"level\":2},\"tunes\":{}},{\"id\":\"p-ops-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"A self-operated loop sounds simple in a demo: call model, inspect tool call, execute tool, append result, repeat. Production adds durable state, retries, duplicate events, cancellation, approval, context overflow, tool timeouts, process restarts, trace persistence, backpressure, concurrent work and recovery after partial side effects.\"},\"tunes\":{}},{\"id\":\"p-ops-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Long-running-agent research from Anthropic repeatedly shows that harness design materially affects performance. Their work on long-running application development uses explicit planning, structured artifacts and evaluator agents because naïve loops tend to lose progress or terminate prematurely. The harness is therefore production logic, not plumbing.\"},\"tunes\":{}},{\"id\":\"ops-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"If you own the harness, you also need an answer for\",\"Why it matters\"],[\"Durable session state\",\"Processes restart; long-running work must resume correctly\"],[\"Context compaction\",\"History eventually exceeds practical working context\"],[\"Tool idempotency\",\"Retries must not repeat irreversible side effects\"],[\"Cancellation and interruption\",\"Users and systems need to stop or redirect work\"],[\"Recovery after partial execution\",\"A tool may succeed even if the agent never receives the result\"],[\"Concurrency\",\"Multiple tasks, workers or agents can touch shared state\"],[\"Observability\",\"Final output is insufficient for debugging runtime failures\"],[\"Versioning\",\"Harness updates can change behaviour even when prompts remain constant\"],[\"Evaluation\",\"Runtime changes need regression testing across representative trajectories\"]]},\"tunes\":{}},{\"id\":\"h-security\",\"type\":\"header\",\"data\":{\"text\":\"Security boundary: self-hosting compute does not automatically make the agent private\",\"level\":2},\"tunes\":{}},{\"id\":\"p-sec-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"A self-hosted execution environment controls where commands run and where files live, but the managed harness and model interaction still cross the service boundary. Teams should therefore map data flows explicitly rather than use “self-hosted” as shorthand for a privacy property.\"},\"tunes\":{}},{\"id\":\"p-sec-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"OpenAI's self-hosted executor uses restricted environment credentials and outbound connections. That is useful isolation, but your application still needs its own rules for secrets, private-network exposure, user-to-environment isolation, file retention, tool authorization and data classification.\"},\"tunes\":{}},{\"id\":\"sec-callout\",\"type\":\"callout\",\"data\":{\"variant\":\"warning\",\"title\":\"Important distinction\",\"body\":\"\u003Cstrong>Infrastructure control, execution isolation and data-governance boundaries are related but not identical.\u003C\u002Fstrong> Decide them separately.\"},\"tunes\":{}},{\"id\":\"h-cost\",\"type\":\"header\",\"data\":{\"text\":\"Latency and cost: control can move bottlenecks rather than remove them\",\"level\":2},\"tunes\":{}},{\"id\":\"p-cost-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Self-hosting may reduce some data-path or environment-startup costs, but it can also add provisioning time, WebSocket lifecycle, cold starts, sandbox cleanup, observability infrastructure and engineering overhead. A managed environment may cost more per unit of compute while being cheaper to operate at low or irregular volume.\"},\"tunes\":{}},{\"id\":\"p-cost-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"The correct comparison is total system cost: model and tool usage, environment time, infrastructure, engineering effort, on-call burden, failure recovery and the cost of slower iteration.\"},\"tunes\":{}},{\"id\":\"h-matrix\",\"type\":\"header\",\"data\":{\"text\":\"A production decision matrix\",\"level\":2},\"tunes\":{}},{\"id\":\"decision-matrix\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Constraint\",\"Managed harness + managed environment\",\"Managed harness + self-hosted environment\",\"Self-operated harness \u002F loop\"],[\"Fastest path to production\",\"Strong\",\"Moderate\",\"Weakest\"],[\"Private-network execution\",\"Weak \u002F depends on connectivity design\",\"Strong\",\"Strong\"],[\"Custom packages \u002F system software\",\"Moderate\",\"Strong\",\"Strong\"],[\"Harness-level control\",\"Low\",\"Low\",\"Highest\"],[\"Operational burden\",\"Lowest\",\"Medium\",\"Highest\"],[\"Portability\",\"Lowest\",\"Medium\",\"Potentially highest if intentionally designed\"],[\"Context strategy control\",\"Platform-managed\",\"Platform-managed\",\"Application-controlled\"],[\"Execution infrastructure control\",\"Low\",\"High\",\"High\"],[\"Ability to benefit from managed harness updates\",\"Highest\",\"Highest\",\"You own adoption\"],[\"Best fit\",\"Teams differentiating at product\u002Ftool layer\",\"Teams needing private\u002Fcustom compute without owning orchestration\",\"Teams whose runtime semantics are themselves a requirement\"]]},\"tunes\":{}},{\"id\":\"h-hybrid\",\"type\":\"header\",\"data\":{\"text\":\"Hybrid is not a compromise — it is often the clean architecture\",\"level\":2},\"tunes\":{}},{\"id\":\"p-hybrid-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"A managed harness with self-hosted execution is not “half self-hosted.” It is an intentional separation of concerns. The platform owns long-horizon agent-runtime complexity, while your infrastructure owns execution, private connectivity and files.\"},\"tunes\":{}},{\"id\":\"p-hybrid-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"That boundary resembles other cloud architectures: managed control plane, customer-controlled data or execution plane. The important design work is defining the contract between them — session identity, environment identity, credentials, files, tool permissions, lifecycle events and cleanup.\"},\"tunes\":{}},{\"id\":\"ref-runtime\",\"type\":\"referralArticle\",\"data\":{\"url\":\"https:\u002F\u002Fstajic.de\u002Fblog\u002Fopenai-agents-api-vs-agents-sdk-vs-responses-api-what-should-you-build-on-in-2026\",\"title\":\"OpenAI Agents API vs Agents SDK vs Responses API: What Should You Build On in 2026?\",\"excerpt\":\"A runtime-ownership comparison of OpenAI's current agent surfaces and where each control boundary belongs.\",\"ctaLabel\":\"Read the runtime comparison\"},\"tunes\":{}},{\"id\":\"h-change\",\"type\":\"header\",\"data\":{\"text\":\"What would change this answer?\",\"level\":2},\"tunes\":{}},{\"id\":\"p-change-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"The recommendation changes if managed harnesses expose substantially more runtime control, if self-hosted harnesses gain simpler durable-session and recovery primitives, or if regulation requires the entire agent loop and model interaction to remain inside infrastructure you operate.\"},\"tunes\":{}},{\"id\":\"p-change-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"It also changes with model capability. Anthropic explicitly notes that harness assumptions can become stale as models improve. A control mechanism that is essential today may become unnecessary later, while a new model capability can create a new governance requirement.\"},\"tunes\":{}},{\"id\":\"h-limit\",\"type\":\"header\",\"data\":{\"text\":\"Limitations\",\"level\":2},\"tunes\":{}},{\"id\":\"p-limit-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"This article separates architecture responsibilities; it does not claim that one hosting model is universally more secure, cheaper or more reliable. Those outcomes depend on implementation, workload, compliance requirements, team skill and provider behaviour.\"},\"tunes\":{}},{\"id\":\"p-limit-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"The OpenAI Agents API is still in public beta, and managed-agent products from different vendors expose different boundaries. The two-plane model is intended to help compare those architectures without assuming that every vendor uses identical terms.\"},\"tunes\":{}},{\"id\":\"h-conclusion\",\"type\":\"header\",\"data\":{\"text\":\"Conclusion\",\"level\":2},\"tunes\":{}},{\"id\":\"p-conclusion-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"The useful question is not “Should we self-host the agent?” It is: Which plane do we actually need to control?\"},\"tunes\":{}},{\"id\":\"p-conclusion-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"If the requirement is private compute, custom packages, local files or internal-network access, self-host the execution plane and keep the harness managed. If the requirement is orchestration semantics, context strategy, provider control or runtime lifecycle itself, then harness ownership may be justified. Escalate control only as far as the requirement demands.\"},\"tunes\":{}},{\"id\":\"h-faq\",\"type\":\"header\",\"data\":{\"text\":\"FAQ\",\"level\":2},\"tunes\":{}},{\"id\":\"faq\",\"type\":\"faq\",\"data\":{\"title\":\"Managed harnesses and self-hosted agent runtimes\",\"items\":[{\"id\":\"faq1\",\"question\":\"Is an OpenAI Agents API self-hosted environment a self-hosted agent?\",\"answer\":\"Not completely. OpenAI still runs the managed Codex harness, while your infrastructure runs the execution environment used for commands, files and local tools.\"},{\"id\":\"faq2\",\"question\":\"When is a self-hosted environment enough?\",\"answer\":\"It is often enough when your requirements concern private-network access, custom packages, controlled files, specific hardware or infrastructure policy rather than control over the agent loop itself.\"},{\"id\":\"faq3\",\"question\":\"When should I run the harness myself?\",\"answer\":\"Consider harness ownership when you need custom orchestration semantics, custom context management, provider routing, local-only runtime behaviour, or another requirement that lives in the agent loop rather than the execution environment.\"},{\"id\":\"faq4\",\"question\":\"Does self-hosting automatically improve security?\",\"answer\":\"No. It changes which components you control. Security depends on data flow, isolation, credentials, tool permissions, networking, logging and lifecycle design across all components.\"},{\"id\":\"faq5\",\"question\":\"What is the main operational cost of owning the agent loop?\",\"answer\":\"You become responsible for durable state, context management, retries, cancellation, recovery, observability, concurrency, runtime upgrades and evaluation of harness changes.\"}]},\"tunes\":{}},{\"id\":\"h-glossary\",\"type\":\"header\",\"data\":{\"text\":\"Glossary\",\"level\":2},\"tunes\":{}},{\"id\":\"glossary\",\"type\":\"glossary\",\"data\":{\"title\":\"Key architecture terms\",\"entries\":[{\"term\":\"Harness plane\",\"definition\":\"The agent-runtime layer responsible for loop execution, orchestration, context management, session continuity and recovery.\",\"anchor\":\"harness-plane\"},{\"term\":\"Execution plane\",\"definition\":\"The environment in which commands run, code executes and files, packages and local resources are accessed.\",\"anchor\":\"execution-plane\"},{\"term\":\"Managed harness\",\"definition\":\"An agent harness whose runtime, session management and orchestration are operated by a platform provider.\",\"anchor\":\"managed-harness\"},{\"term\":\"Self-hosted environment\",\"definition\":\"Compute and files operated by the application owner while a separate agent harness may remain managed elsewhere.\",\"anchor\":\"self-hosted-environment\"},{\"term\":\"Self-operated harness\",\"definition\":\"An agent runtime whose loop, hosting, context strategy and lifecycle are operated by the application team.\",\"anchor\":\"self-operated-harness\"},{\"term\":\"Control Escalation Test\",\"definition\":\"A decision method that increases infrastructure and runtime ownership only when a requirement cannot be satisfied at a lower-control layer.\",\"anchor\":\"control-escalation-test\"}]},\"tunes\":{}},{\"id\":\"h-sources\",\"type\":\"header\",\"data\":{\"text\":\"Primary sources and further reading\",\"level\":2},\"tunes\":{}},{\"id\":\"src-openai-architecture\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fagents-api\u002Farchitecture\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"OpenAI — Agents API Architecture\",\"description\":\"Current separation between the hosted harness, execution environment and application server.\"}},\"tunes\":{}},{\"id\":\"src-openai-selfhosted\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fagents-api\u002Fenvironments\u002Fself-hosted\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"OpenAI — Self-hosted sandboxes\",\"description\":\"How customer-operated execution environments connect to the managed harness and which lifecycle responsibilities remain with the application.\"}},\"tunes\":{}},{\"id\":\"src-openai-lifecycle\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fagents-api\u002Fenvironments\u002Flifecycle\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"OpenAI — Sandbox lifecycle\",\"description\":\"Provisioning, reconnection, duplicate-environment prevention and cleanup responsibilities for self-hosted compute.\"}},\"tunes\":{}},{\"id\":\"src-openai-runtime\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fagents\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"OpenAI — Agent runtime options\",\"description\":\"Current comparison of Agents API, Codex SDK and Responses API by managed versus application-operated responsibilities.\"}},\"tunes\":{}},{\"id\":\"src-openai-platform\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fdevelopers.openai.com\u002Fblog\u002Fcodex-as-a-platform\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"OpenAI — Codex as a platform\",\"description\":\"Open-source Codex harness and integration layers for applications that want deeper runtime control.\"}},\"tunes\":{}},{\"id\":\"src-anthropic-managed\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Fmanaged-agents\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"Anthropic — Scaling Managed Agents: Decoupling the brain from the hands\",\"description\":\"Discussion of managed-agent architecture and why harness assumptions need to evolve with model capability.\"}},\"tunes\":{}},{\"id\":\"src-anthropic-harness\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Feffective-harnesses-for-long-running-agents\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"Anthropic — Effective harnesses for long-running agents\",\"description\":\"Engineering lessons showing that long-running agent performance depends materially on harness design and persistent artifacts.\"}},\"tunes\":{}}],\"version\":\"2.31.6\"}",{"time":913,"blocks":914,"version":1455},1790352404508,[915,919,923,928,933,938,942,946,950,954,958,981,985,1006,1011,1015,1019,1023,1034,1038,1042,1046,1068,1072,1076,1080,1084,1088,1099,1103,1107,1111,1143,1147,1151,1177,1181,1185,1189,1223,1227,1231,1235,1240,1244,1248,1252,1256,1299,1303,1307,1311,1318,1322,1326,1330,1334,1338,1342,1346,1350,1354,1358,1378,1382,1402,1406,1413,1420,1427,1434,1441,1448],{"id":215,"data":916,"type":220,"tunes":918},{"title":917,"maxLevel":218,"minLevel":219},"Contents",{},{"id":223,"data":920,"type":226,"tunes":922},{"text":921},"The phrase “self-hosted agent” now hides at least three different architectures. You can use a managed harness with OpenAI-hosted compute, a managed harness connected to infrastructure you operate, or run the harness and agent loop yourself. Those choices have very different implications for control, recovery, context management, security, latency, and operational burden.",{},{"id":229,"data":924,"type":234,"tunes":927},{"body":925,"title":926,"variant":233},"\u003Cstrong>Do not choose between “managed” and “self-hosted” as if they were one binary decision.\u003C\u002Fstrong> Separate the \u003Cstrong>harness plane\u003C\u002Fstrong> from the \u003Cstrong>execution plane\u003C\u002Fstrong>. A managed harness can still use self-hosted compute. A self-hosted environment gives you control over files, packages, network access and execution without requiring you to own the agent loop. Run the harness yourself only when you need control over orchestration, lifecycle, model-routing assumptions, or runtime behaviour that a managed harness cannot expose.","Direct answer",{},{"id":237,"data":929,"type":234,"tunes":932},{"body":930,"title":931,"variant":241},"OpenAI's Agents API is in public beta and its architecture can evolve. Current documentation separates the OpenAI-hosted Codex harness from the execution environment and explicitly supports self-hosted environments. OpenAI also exposes the Codex harness separately through the Codex SDK for infrastructure you operate.","Current as of 25 September 2026",{},{"id":244,"data":934,"type":234,"tunes":937},{"body":935,"title":936,"variant":244},"The Harness Plane \u002F Execution Plane model and Control Escalation Test below are practical architecture tools proposed here. They are not formal vendor terminology.","The model used in this article",{},{"id":250,"data":939,"type":42,"tunes":941},{"text":940,"level":219},"The mistake: treating self-hosting as one decision",{},{"id":255,"data":943,"type":226,"tunes":945},{"text":944},"In conventional software, “self-hosted” usually means the application runs on infrastructure you control. Agent systems complicate that definition because the runtime can be split. The model-and-tool loop can run in one place while code execution, files and private-network access happen somewhere else.",{},{"id":260,"data":947,"type":226,"tunes":949},{"text":948},"OpenAI's current Agents API architecture makes this split explicit: OpenAI runs the harness, while the execution environment can be absent, OpenAI-hosted, or self-hosted. A self-hosted environment therefore does not mean the agent loop is self-hosted.",{},{"id":265,"data":951,"type":226,"tunes":953},{"text":952},"This distinction matters because many teams choose a more complex runtime than they need. They want private-network access or custom packages, conclude that the entire agent must be self-hosted, and accidentally take ownership of context management, orchestration, recovery and lifecycle that could have remained managed.",{},{"id":270,"data":955,"type":42,"tunes":957},{"text":956,"level":219},"Three architectures that are often called “self-hosted”",{},{"id":275,"data":959,"type":297,"tunes":980},{"content":960,"stretched":43,"withHeadings":14},[961,966,971,975],[962,963,964,965],"Architecture","Who runs the harness?","Where code\u002Ffiles execute","What you primarily own",[967,968,969,970],"Managed harness + managed environment","Platform","Platform-hosted sandbox","Application, tools, product logic, authorization",[972,968,973,974],"Managed harness + self-hosted environment","Your container, VM, laptop, private cloud or other compute","Environment provisioning, networking, files and lifecycle; platform still owns harness",[976,977,978,979],"Self-operated harness \u002F agent loop","You","Your chosen environment","Harness process, orchestration, context strategy, hosting, recovery, execution and application lifecycle",{},{"id":300,"data":982,"type":42,"tunes":984},{"text":983,"level":219},"The two-plane model",{},{"id":305,"data":986,"type":332,"tunes":1005},{"rows":987,"title":997,"layout":297,"columns":998},[988,991,994],{"id":309,"label":989,"values":990},"Harness plane",[312,312,312],{"id":314,"label":992,"values":993},"Execution plane",[312,312,312],{"id":318,"label":995,"values":996},"Application plane",[312,312,312],"Separate the harness plane from the execution plane",[999,1001,1003],{"id":324,"label":1000},"Plane",{"id":327,"label":1002},"What it owns",{"id":330,"label":1004},"Questions to ask",{},{"id":335,"data":1007,"type":234,"tunes":1010},{"body":1008,"title":1009,"variant":339},"You can self-host the \u003Cstrong>execution plane\u003C\u002Fstrong> without self-hosting the \u003Cstrong>harness plane\u003C\u002Fstrong>. That is often the right middle ground.","Key architectural consequence",{},{"id":342,"data":1012,"type":42,"tunes":1014},{"text":1013,"level":219},"Managed harness: what you actually gain",{},{"id":347,"data":1016,"type":226,"tunes":1018},{"text":1017},"A managed harness removes more than a while-loop. OpenAI's current Agents API manages sessions, orchestration, context compaction and recovery. Anthropic's work on managed agents describes the same broader motivation: harnesses contain assumptions about model behaviour, and those assumptions need to evolve as models improve.",{},{"id":352,"data":1020,"type":226,"tunes":1022},{"text":1021},"That means the benefit is not only fewer lines of code. The platform can update runtime behaviour, long-horizon context handling, subagent coordination and recovery without requiring every application team to rebuild those mechanisms.",{},{"id":357,"data":1024,"type":368,"tunes":1033},{"meta":1025,"items":1026,"style":367},{},[1027,1028,1029,1030,1031,1032],"Less application-owned orchestration code.","Managed durable-session behaviour.","Managed context compaction and recovery.","A runtime that can evolve with model capabilities.","Simpler adoption of platform-native subagent and long-running-agent features.","Potentially lower operational burden for teams whose differentiation is not the harness itself.",{},{"id":371,"data":1035,"type":42,"tunes":1037},{"text":1036,"level":219},"Managed harness: what you give up",{},{"id":376,"data":1039,"type":226,"tunes":1041},{"text":1040},"Delegating the harness also delegates some control. Your application no longer owns every detail of iteration, context strategy, orchestration and runtime evolution. A platform update can improve the system, but it can also change behaviour your product implicitly depended on.",{},{"id":381,"data":1043,"type":226,"tunes":1045},{"text":1044},"This creates a different kind of engineering requirement: strong evals, explicit product boundaries and an integration layer that prevents managed-session behaviour from becoming your business source of truth.",{},{"id":386,"data":1047,"type":297,"tunes":1067},{"content":1048,"stretched":43,"withHeadings":14},[1049,1052,1055,1058,1061,1064],[1050,1051],"Managed-harness trade-off","What it means operationally",[1053,1054],"Less loop control","You cannot assume every orchestration detail is application-defined",[1056,1057],"Platform evolution","Harness behaviour can improve or change without your code changing",[1059,1060],"Vendor-specific lifecycle","Sessions, events and recovery semantics become part of the integration surface",[1062,1063],"Observability boundary","Platform traces must be joined with application audit data",[1065,1066],"Portability cost","Moving to another harness later may require more than swapping model endpoints",{},{"id":409,"data":1069,"type":42,"tunes":1071},{"text":1070,"level":219},"Self-hosted execution environment: the middle architecture",{},{"id":414,"data":1073,"type":226,"tunes":1075},{"text":1074},"OpenAI's self-hosted environment model is important because it decouples private compute from harness ownership. The platform still runs the Codex harness, while an executor runs inside your environment and receives commands over an outbound connection.",{},{"id":419,"data":1077,"type":226,"tunes":1079},{"text":1078},"You control provisioning, files, dependencies, network access and cleanup. The harness can therefore work against private infrastructure or custom software without requiring the entire agent runtime to move into your application.",{},{"id":424,"data":1081,"type":226,"tunes":1083},{"text":1082},"The cost is lifecycle responsibility. Your application must map sessions to compute, avoid duplicate provisioning, reconnect environments, coordinate shutdown and preserve any files that must outlive the environment.",{},{"id":429,"data":1085,"type":42,"tunes":1087},{"text":1086,"level":218},"When self-hosted execution is enough",{},{"id":434,"data":1089,"type":368,"tunes":1098},{"meta":1090,"items":1091,"style":367},{},[1092,1093,1094,1095,1096,1097],"The agent needs access to a private VPC or internal service.","The agent needs custom binaries, packages, drivers or system software.","The workload must run on hardware or cloud accounts you control.","Files must remain inside a controlled environment.","You need your own sandbox provider or isolation model.","You want platform-managed orchestration but infrastructure-controlled execution.",{},{"id":446,"data":1100,"type":42,"tunes":1102},{"text":1101,"level":219},"When you may need to own the harness too",{},{"id":451,"data":1104,"type":226,"tunes":1106},{"text":1105},"Owning the harness becomes justified when the harness itself is part of your product differentiation or constraint set. OpenAI's current runtime overview positions the Codex SDK for running the Codex harness in infrastructure you operate, while Responses is the lower-level option when you want to own the agent loop yourself.",{},{"id":456,"data":1108,"type":226,"tunes":1110},{"text":1109},"The key is to identify a requirement that genuinely lives in the harness plane, not the execution plane.",{},{"id":461,"data":1112,"type":297,"tunes":1142},{"content":1113,"stretched":43,"withHeadings":14},[1114,1118,1121,1123,1126,1129,1132,1135,1138],[1115,1116,1117],"Requirement","Execution-plane problem or harness-plane problem?","Likely direction",[1119,992,1120],"Private database access","Managed harness + self-hosted environment may be sufficient",[1122,992,972],"Custom Linux packages",[1124,992,1125],"Custom GPU hardware","Managed harness + self-hosted environment where supported",[1127,989,1128],"Custom agent stopping logic","Self-operated harness \u002F custom loop",[1130,989,1131],"Cross-provider model routing at every step","Custom loop or harness you operate",[1133,989,1134],"Custom context-compaction algorithm","Self-operated harness if the managed runtime cannot expose it",[1136,989,1137],"Deterministic orchestration semantics required by product","Self-operated harness or tightly controlled custom loop",[1139,1140,1141],"Local-only product deployment with no managed harness dependency","Harness plane + execution plane","Self-operated runtime",{},{"id":495,"data":1144,"type":42,"tunes":1146},{"text":1145,"level":219},"The Control Escalation Test",{},{"id":500,"data":1148,"type":226,"tunes":1150},{"text":1149},"Use the least self-hosted architecture that satisfies the actual requirement. Escalate control one layer at a time.",{},{"id":505,"data":1152,"type":531,"tunes":1176},{"steps":1153,"title":1175,"orientation":530},[1154,1157,1160,1163,1166,1169,1172],{"label":1155,"description":1156},"1. Start with the application boundary","Keep domain truth, authorization and consequential business actions in your own product regardless of agent runtime.",{"label":1158,"description":1159},"2. Ask whether the agent needs local execution","If not, a managed harness without a dedicated environment may be enough.",{"label":1161,"description":1162},"3. Ask whether platform-hosted compute is acceptable","If yes, use a managed environment and avoid unnecessary infrastructure ownership.",{"label":1164,"description":1165},"4. If not, self-host the execution plane","Connect your own environment for private network, files, packages or controlled compute.",{"label":1167,"description":1168},"5. Re-evaluate the remaining constraint","If the requirement is now satisfied, stop. Do not self-host the harness simply for architectural symmetry.",{"label":1170,"description":1171},"6. Escalate to harness ownership only for harness requirements","Own the Codex harness or custom agent loop when orchestration, context strategy, lifecycle or portability genuinely requires it.",{"label":1173,"description":1174},"7. Prove the extra control is worth the extra operations","Benchmark reliability, latency, cost, recovery, observability and engineering burden before committing.","Control Escalation Test",{},{"id":534,"data":1178,"type":42,"tunes":1180},{"text":1179,"level":219},"Operational burden grows nonlinearly when you own the harness",{},{"id":539,"data":1182,"type":226,"tunes":1184},{"text":1183},"A self-operated loop sounds simple in a demo: call model, inspect tool call, execute tool, append result, repeat. Production adds durable state, retries, duplicate events, cancellation, approval, context overflow, tool timeouts, process restarts, trace persistence, backpressure, concurrent work and recovery after partial side effects.",{},{"id":544,"data":1186,"type":226,"tunes":1188},{"text":1187},"Long-running-agent research from Anthropic repeatedly shows that harness design materially affects performance. Their work on long-running application development uses explicit planning, structured artifacts and evaluator agents because naïve loops tend to lose progress or terminate prematurely. The harness is therefore production logic, not plumbing.",{},{"id":549,"data":1190,"type":297,"tunes":1222},{"content":1191,"stretched":43,"withHeadings":14},[1192,1195,1198,1201,1204,1207,1210,1213,1216,1219],[1193,1194],"If you own the harness, you also need an answer for","Why it matters",[1196,1197],"Durable session state","Processes restart; long-running work must resume correctly",[1199,1200],"Context compaction","History eventually exceeds practical working context",[1202,1203],"Tool idempotency","Retries must not repeat irreversible side effects",[1205,1206],"Cancellation and interruption","Users and systems need to stop or redirect work",[1208,1209],"Recovery after partial execution","A tool may succeed even if the agent never receives the result",[1211,1212],"Concurrency","Multiple tasks, workers or agents can touch shared state",[1214,1215],"Observability","Final output is insufficient for debugging runtime failures",[1217,1218],"Versioning","Harness updates can change behaviour even when prompts remain constant",[1220,1221],"Evaluation","Runtime changes need regression testing across representative trajectories",{},{"id":584,"data":1224,"type":42,"tunes":1226},{"text":1225,"level":219},"Security boundary: self-hosting compute does not automatically make the agent private",{},{"id":589,"data":1228,"type":226,"tunes":1230},{"text":1229},"A self-hosted execution environment controls where commands run and where files live, but the managed harness and model interaction still cross the service boundary. Teams should therefore map data flows explicitly rather than use “self-hosted” as shorthand for a privacy property.",{},{"id":594,"data":1232,"type":226,"tunes":1234},{"text":1233},"OpenAI's self-hosted executor uses restricted environment credentials and outbound connections. That is useful isolation, but your application still needs its own rules for secrets, private-network exposure, user-to-environment isolation, file retention, tool authorization and data classification.",{},{"id":599,"data":1236,"type":234,"tunes":1239},{"body":1237,"title":1238,"variant":241},"\u003Cstrong>Infrastructure control, execution isolation and data-governance boundaries are related but not identical.\u003C\u002Fstrong> Decide them separately.","Important distinction",{},{"id":605,"data":1241,"type":42,"tunes":1243},{"text":1242,"level":219},"Latency and cost: control can move bottlenecks rather than remove them",{},{"id":610,"data":1245,"type":226,"tunes":1247},{"text":1246},"Self-hosting may reduce some data-path or environment-startup costs, but it can also add provisioning time, WebSocket lifecycle, cold starts, sandbox cleanup, observability infrastructure and engineering overhead. A managed environment may cost more per unit of compute while being cheaper to operate at low or irregular volume.",{},{"id":615,"data":1249,"type":226,"tunes":1251},{"text":1250},"The correct comparison is total system cost: model and tool usage, environment time, infrastructure, engineering effort, on-call burden, failure recovery and the cost of slower iteration.",{},{"id":620,"data":1253,"type":42,"tunes":1255},{"text":1254,"level":219},"A production decision matrix",{},{"id":625,"data":1257,"type":297,"tunes":1298},{"content":1258,"stretched":43,"withHeadings":14},[1259,1262,1267,1270,1272,1276,1280,1283,1287,1290,1293],[1260,967,972,1261],"Constraint","Self-operated harness \u002F loop",[1263,1264,1265,1266],"Fastest path to production","Strong","Moderate","Weakest",[1268,1269,1264,1264],"Private-network execution","Weak \u002F depends on connectivity design",[1271,1265,1264,1264],"Custom packages \u002F system software",[1273,1274,1274,1275],"Harness-level control","Low","Highest",[1277,1278,1279,1275],"Operational burden","Lowest","Medium",[1281,1278,1279,1282],"Portability","Potentially highest if intentionally designed",[1284,1285,1285,1286],"Context strategy control","Platform-managed","Application-controlled",[1288,1274,1289,1289],"Execution infrastructure control","High",[1291,1275,1275,1292],"Ability to benefit from managed harness updates","You own adoption",[1294,1295,1296,1297],"Best fit","Teams differentiating at product\u002Ftool layer","Teams needing private\u002Fcustom compute without owning orchestration","Teams whose runtime semantics are themselves a requirement",{},{"id":671,"data":1300,"type":42,"tunes":1302},{"text":1301,"level":219},"Hybrid is not a compromise — it is often the clean architecture",{},{"id":676,"data":1304,"type":226,"tunes":1306},{"text":1305},"A managed harness with self-hosted execution is not “half self-hosted.” It is an intentional separation of concerns. The platform owns long-horizon agent-runtime complexity, while your infrastructure owns execution, private connectivity and files.",{},{"id":681,"data":1308,"type":226,"tunes":1310},{"text":1309},"That boundary resembles other cloud architectures: managed control plane, customer-controlled data or execution plane. The important design work is defining the contract between them — session identity, environment identity, credentials, files, tool permissions, lifecycle events and cleanup.",{},{"id":686,"data":1312,"type":692,"tunes":1317},{"url":1313,"title":1314,"excerpt":1315,"ctaLabel":1316},"https:\u002F\u002Fstajic.de\u002Fblog\u002Fopenai-agents-api-vs-agents-sdk-vs-responses-api-what-should-you-build-on-in-2026","OpenAI Agents API vs Agents SDK vs Responses API: What Should You Build On in 2026?","A runtime-ownership comparison of OpenAI's current agent surfaces and where each control boundary belongs.","Read the runtime comparison",{},{"id":695,"data":1319,"type":42,"tunes":1321},{"text":1320,"level":219},"What would change this answer?",{},{"id":700,"data":1323,"type":226,"tunes":1325},{"text":1324},"The recommendation changes if managed harnesses expose substantially more runtime control, if self-hosted harnesses gain simpler durable-session and recovery primitives, or if regulation requires the entire agent loop and model interaction to remain inside infrastructure you operate.",{},{"id":705,"data":1327,"type":226,"tunes":1329},{"text":1328},"It also changes with model capability. Anthropic explicitly notes that harness assumptions can become stale as models improve. A control mechanism that is essential today may become unnecessary later, while a new model capability can create a new governance requirement.",{},{"id":710,"data":1331,"type":42,"tunes":1333},{"text":1332,"level":219},"Limitations",{},{"id":715,"data":1335,"type":226,"tunes":1337},{"text":1336},"This article separates architecture responsibilities; it does not claim that one hosting model is universally more secure, cheaper or more reliable. Those outcomes depend on implementation, workload, compliance requirements, team skill and provider behaviour.",{},{"id":720,"data":1339,"type":226,"tunes":1341},{"text":1340},"The OpenAI Agents API is still in public beta, and managed-agent products from different vendors expose different boundaries. The two-plane model is intended to help compare those architectures without assuming that every vendor uses identical terms.",{},{"id":725,"data":1343,"type":42,"tunes":1345},{"text":1344,"level":219},"Conclusion",{},{"id":730,"data":1347,"type":226,"tunes":1349},{"text":1348},"The useful question is not “Should we self-host the agent?” It is: Which plane do we actually need to control?",{},{"id":735,"data":1351,"type":226,"tunes":1353},{"text":1352},"If the requirement is private compute, custom packages, local files or internal-network access, self-host the execution plane and keep the harness managed. If the requirement is orchestration semantics, context strategy, provider control or runtime lifecycle itself, then harness ownership may be justified. Escalate control only as far as the requirement demands.",{},{"id":740,"data":1355,"type":42,"tunes":1357},{"text":1356,"level":219},"FAQ",{},{"id":745,"data":1359,"type":745,"tunes":1377},{"items":1360,"title":1376},[1361,1364,1367,1370,1373],{"id":749,"answer":1362,"question":1363},"Not completely. OpenAI still runs the managed Codex harness, while your infrastructure runs the execution environment used for commands, files and local tools.","Is an OpenAI Agents API self-hosted environment a self-hosted agent?",{"id":753,"answer":1365,"question":1366},"It is often enough when your requirements concern private-network access, custom packages, controlled files, specific hardware or infrastructure policy rather than control over the agent loop itself.","When is a self-hosted environment enough?",{"id":757,"answer":1368,"question":1369},"Consider harness ownership when you need custom orchestration semantics, custom context management, provider routing, local-only runtime behaviour, or another requirement that lives in the agent loop rather than the execution environment.","When should I run the harness myself?",{"id":761,"answer":1371,"question":1372},"No. It changes which components you control. Security depends on data flow, isolation, credentials, tool permissions, networking, logging and lifecycle design across all components.","Does self-hosting automatically improve security?",{"id":765,"answer":1374,"question":1375},"You become responsible for durable state, context management, retries, cancellation, recovery, observability, concurrency, runtime upgrades and evaluation of harness changes.","What is the main operational cost of owning the agent loop?","Managed harnesses and self-hosted agent runtimes",{},{"id":771,"data":1379,"type":42,"tunes":1381},{"text":1380,"level":219},"Glossary",{},{"id":776,"data":1383,"type":776,"tunes":1401},{"title":1384,"entries":1385},"Key architecture terms",[1386,1388,1390,1393,1396,1399],{"term":989,"anchor":781,"definition":1387},"The agent-runtime layer responsible for loop execution, orchestration, context management, session continuity and recovery.",{"term":992,"anchor":784,"definition":1389},"The environment in which commands run, code executes and files, packages and local resources are accessed.",{"term":1391,"anchor":788,"definition":1392},"Managed harness","An agent harness whose runtime, session management and orchestration are operated by a platform provider.",{"term":1394,"anchor":792,"definition":1395},"Self-hosted environment","Compute and files operated by the application owner while a separate agent harness may remain managed elsewhere.",{"term":1397,"anchor":796,"definition":1398},"Self-operated harness","An agent runtime whose loop, hosting, context strategy and lifecycle are operated by the application team.",{"term":1175,"anchor":800,"definition":1400},"A decision method that increases infrastructure and runtime ownership only when a requirement cannot be satisfied at a lower-control layer.",{},{"id":804,"data":1403,"type":42,"tunes":1405},{"text":1404,"level":219},"Primary sources and further reading",{},{"id":809,"data":1407,"type":816,"tunes":1412},{"link":811,"meta":1408},{"image":1409,"title":1410,"description":1411},{"url":312},"OpenAI — Agents API Architecture","Current separation between the hosted harness, execution environment and application server.",{},{"id":819,"data":1414,"type":816,"tunes":1419},{"link":821,"meta":1415},{"image":1416,"title":1417,"description":1418},{"url":312},"OpenAI — Self-hosted sandboxes","How customer-operated execution environments connect to the managed harness and which lifecycle responsibilities remain with the application.",{},{"id":828,"data":1421,"type":816,"tunes":1426},{"link":830,"meta":1422},{"image":1423,"title":1424,"description":1425},{"url":312},"OpenAI — Sandbox lifecycle","Provisioning, reconnection, duplicate-environment prevention and cleanup responsibilities for self-hosted compute.",{},{"id":837,"data":1428,"type":816,"tunes":1433},{"link":839,"meta":1429},{"image":1430,"title":1431,"description":1432},{"url":312},"OpenAI — Agent runtime options","Current comparison of Agents API, Codex SDK and Responses API by managed versus application-operated responsibilities.",{},{"id":846,"data":1435,"type":816,"tunes":1440},{"link":848,"meta":1436},{"image":1437,"title":1438,"description":1439},{"url":312},"OpenAI — Codex as a platform","Open-source Codex harness and integration layers for applications that want deeper runtime control.",{},{"id":855,"data":1442,"type":816,"tunes":1447},{"link":857,"meta":1443},{"image":1444,"title":1445,"description":1446},{"url":312},"Anthropic — Scaling Managed Agents: Decoupling the brain from the hands","Discussion of managed-agent architecture and why harness assumptions need to evolve with model capability.",{},{"id":864,"data":1449,"type":816,"tunes":1454},{"link":866,"meta":1450},{"image":1451,"title":1452,"description":1453},{"url":312},"Anthropic — Effective harnesses for long-running agents","Engineering lessons showing that long-running agent performance depends materially on harness design and persistent artifacts.",{},"2.31.6","“Self-hosted agent” can mean very different architectures. This guide separates the managed harness, self-hosted execution environment, and fully self-operated agent loop—and shows which control boundary teams actually need.",{"lang":7,"title":208,"content":210,"contentJson":1458,"excerpt":873},{"time":212,"blocks":1459,"version":872},[1460,1463,1466,1469,1472,1475,1478,1481,1484,1487,1490,1498,1501,1515,1518,1521,1524,1527,1532,1535,1538,1541,1551,1554,1557,1560,1563,1566,1571,1574,1577,1580,1593,1596,1599,1610,1613,1616,1619,1633,1636,1639,1642,1645,1648,1651,1654,1657,1672,1675,1678,1681,1684,1687,1690,1693,1696,1699,1702,1705,1708,1711,1714,1723,1726,1736,1739,1744,1749,1754,1759,1764,1769],{"id":215,"data":1461,"type":220,"tunes":1462},{"title":217,"maxLevel":218,"minLevel":219},{},{"id":223,"data":1464,"type":226,"tunes":1465},{"text":225},{},{"id":229,"data":1467,"type":234,"tunes":1468},{"body":231,"title":232,"variant":233},{},{"id":237,"data":1470,"type":234,"tunes":1471},{"body":239,"title":240,"variant":241},{},{"id":244,"data":1473,"type":234,"tunes":1474},{"body":246,"title":247,"variant":244},{},{"id":250,"data":1476,"type":42,"tunes":1477},{"text":252,"level":219},{},{"id":255,"data":1479,"type":226,"tunes":1480},{"text":257},{},{"id":260,"data":1482,"type":226,"tunes":1483},{"text":262},{},{"id":265,"data":1485,"type":226,"tunes":1486},{"text":267},{},{"id":270,"data":1488,"type":42,"tunes":1489},{"text":272,"level":219},{},{"id":275,"data":1491,"type":297,"tunes":1497},{"content":1492,"stretched":43,"withHeadings":14},[1493,1494,1495,1496],[279,280,281,282],[284,285,286,287],[289,285,290,291],[293,294,295,296],{},{"id":300,"data":1499,"type":42,"tunes":1500},{"text":302,"level":219},{},{"id":305,"data":1502,"type":332,"tunes":1514},{"rows":1503,"title":321,"layout":297,"columns":1510},[1504,1506,1508],{"id":309,"label":310,"values":1505},[312,312,312],{"id":314,"label":315,"values":1507},[312,312,312],{"id":318,"label":319,"values":1509},[312,312,312],[1511,1512,1513],{"id":324,"label":325},{"id":327,"label":328},{"id":330,"label":331},{},{"id":335,"data":1516,"type":234,"tunes":1517},{"body":337,"title":338,"variant":339},{},{"id":342,"data":1519,"type":42,"tunes":1520},{"text":344,"level":219},{},{"id":347,"data":1522,"type":226,"tunes":1523},{"text":349},{},{"id":352,"data":1525,"type":226,"tunes":1526},{"text":354},{},{"id":357,"data":1528,"type":368,"tunes":1531},{"meta":1529,"items":1530,"style":367},{},[361,362,363,364,365,366],{},{"id":371,"data":1533,"type":42,"tunes":1534},{"text":373,"level":219},{},{"id":376,"data":1536,"type":226,"tunes":1537},{"text":378},{},{"id":381,"data":1539,"type":226,"tunes":1540},{"text":383},{},{"id":386,"data":1542,"type":297,"tunes":1550},{"content":1543,"stretched":43,"withHeadings":14},[1544,1545,1546,1547,1548,1549],[390,391],[393,394],[396,397],[399,400],[402,403],[405,406],{},{"id":409,"data":1552,"type":42,"tunes":1553},{"text":411,"level":219},{},{"id":414,"data":1555,"type":226,"tunes":1556},{"text":416},{},{"id":419,"data":1558,"type":226,"tunes":1559},{"text":421},{},{"id":424,"data":1561,"type":226,"tunes":1562},{"text":426},{},{"id":429,"data":1564,"type":42,"tunes":1565},{"text":431,"level":218},{},{"id":434,"data":1567,"type":368,"tunes":1570},{"meta":1568,"items":1569,"style":367},{},[438,439,440,441,442,443],{},{"id":446,"data":1572,"type":42,"tunes":1573},{"text":448,"level":219},{},{"id":451,"data":1575,"type":226,"tunes":1576},{"text":453},{},{"id":456,"data":1578,"type":226,"tunes":1579},{"text":458},{},{"id":461,"data":1581,"type":297,"tunes":1592},{"content":1582,"stretched":43,"withHeadings":14},[1583,1584,1585,1586,1587,1588,1589,1590,1591],[465,466,467],[469,315,470],[472,315,473],[475,315,476],[478,310,479],[481,310,482],[484,310,485],[487,310,488],[490,491,492],{},{"id":495,"data":1594,"type":42,"tunes":1595},{"text":497,"level":219},{},{"id":500,"data":1597,"type":226,"tunes":1598},{"text":502},{},{"id":505,"data":1600,"type":531,"tunes":1609},{"steps":1601,"title":529,"orientation":530},[1602,1603,1604,1605,1606,1607,1608],{"label":509,"description":510},{"label":512,"description":513},{"label":515,"description":516},{"label":518,"description":519},{"label":521,"description":522},{"label":524,"description":525},{"label":527,"description":528},{},{"id":534,"data":1611,"type":42,"tunes":1612},{"text":536,"level":219},{},{"id":539,"data":1614,"type":226,"tunes":1615},{"text":541},{},{"id":544,"data":1617,"type":226,"tunes":1618},{"text":546},{},{"id":549,"data":1620,"type":297,"tunes":1632},{"content":1621,"stretched":43,"withHeadings":14},[1622,1623,1624,1625,1626,1627,1628,1629,1630,1631],[553,554],[556,557],[559,560],[562,563],[565,566],[568,569],[571,572],[574,575],[577,578],[580,581],{},{"id":584,"data":1634,"type":42,"tunes":1635},{"text":586,"level":219},{},{"id":589,"data":1637,"type":226,"tunes":1638},{"text":591},{},{"id":594,"data":1640,"type":226,"tunes":1641},{"text":596},{},{"id":599,"data":1643,"type":234,"tunes":1644},{"body":601,"title":602,"variant":241},{},{"id":605,"data":1646,"type":42,"tunes":1647},{"text":607,"level":219},{},{"id":610,"data":1649,"type":226,"tunes":1650},{"text":612},{},{"id":615,"data":1652,"type":226,"tunes":1653},{"text":617},{},{"id":620,"data":1655,"type":42,"tunes":1656},{"text":622,"level":219},{},{"id":625,"data":1658,"type":297,"tunes":1671},{"content":1659,"stretched":43,"withHeadings":14},[1660,1661,1662,1663,1664,1665,1666,1667,1668,1669,1670],[629,284,473,630],[632,633,634,635],[637,638,633,633],[640,641,633,633],[643,644,644,645],[647,648,649,650],[652,648,649,653],[655,656,656,657],[659,644,660,660],[662,650,650,663],[665,666,667,668],{},{"id":671,"data":1673,"type":42,"tunes":1674},{"text":673,"level":219},{},{"id":676,"data":1676,"type":226,"tunes":1677},{"text":678},{},{"id":681,"data":1679,"type":226,"tunes":1680},{"text":683},{},{"id":686,"data":1682,"type":692,"tunes":1683},{"url":688,"title":689,"excerpt":690,"ctaLabel":691},{},{"id":695,"data":1685,"type":42,"tunes":1686},{"text":697,"level":219},{},{"id":700,"data":1688,"type":226,"tunes":1689},{"text":702},{},{"id":705,"data":1691,"type":226,"tunes":1692},{"text":707},{},{"id":710,"data":1694,"type":42,"tunes":1695},{"text":712,"level":219},{},{"id":715,"data":1697,"type":226,"tunes":1698},{"text":717},{},{"id":720,"data":1700,"type":226,"tunes":1701},{"text":722},{},{"id":725,"data":1703,"type":42,"tunes":1704},{"text":727,"level":219},{},{"id":730,"data":1706,"type":226,"tunes":1707},{"text":732},{},{"id":735,"data":1709,"type":226,"tunes":1710},{"text":737},{},{"id":740,"data":1712,"type":42,"tunes":1713},{"text":742,"level":219},{},{"id":745,"data":1715,"type":745,"tunes":1722},{"items":1716,"title":768},[1717,1718,1719,1720,1721],{"id":749,"answer":750,"question":751},{"id":753,"answer":754,"question":755},{"id":757,"answer":758,"question":759},{"id":761,"answer":762,"question":763},{"id":765,"answer":766,"question":767},{},{"id":771,"data":1724,"type":42,"tunes":1725},{"text":773,"level":219},{},{"id":776,"data":1727,"type":776,"tunes":1735},{"title":778,"entries":1728},[1729,1730,1731,1732,1733,1734],{"term":310,"anchor":781,"definition":782},{"term":315,"anchor":784,"definition":785},{"term":787,"anchor":788,"definition":789},{"term":791,"anchor":792,"definition":793},{"term":795,"anchor":796,"definition":797},{"term":799,"anchor":800,"definition":801},{},{"id":804,"data":1737,"type":42,"tunes":1738},{"text":806,"level":219},{},{"id":809,"data":1740,"type":816,"tunes":1743},{"link":811,"meta":1741},{"image":1742,"title":814,"description":815},{"url":312},{},{"id":819,"data":1745,"type":816,"tunes":1748},{"link":821,"meta":1746},{"image":1747,"title":824,"description":825},{"url":312},{},{"id":828,"data":1750,"type":816,"tunes":1753},{"link":830,"meta":1751},{"image":1752,"title":833,"description":834},{"url":312},{},{"id":837,"data":1755,"type":816,"tunes":1758},{"link":839,"meta":1756},{"image":1757,"title":842,"description":843},{"url":312},{},{"id":846,"data":1760,"type":816,"tunes":1763},{"link":848,"meta":1761},{"image":1762,"title":851,"description":852},{"url":312},{},{"id":855,"data":1765,"type":816,"tunes":1768},{"link":857,"meta":1766},{"image":1767,"title":860,"description":861},{"url":312},{},{"id":864,"data":1770,"type":816,"tunes":1773},{"link":866,"meta":1771},{"image":1772,"title":869,"description":870},{"url":312},{},"Post erfolgreich abgerufen",{"items":1776,"source":1818,"manualIds":1819,"manualMatchedIds":1820},[1777,1784,1791,1797,1804,1811],{"id":1778,"slug":1779,"title":1780,"excerpt":1781,"featuredImage":1782,"publishedAt":1783},"459","ollama-is-not-the-product-building-production-ready-open-llm-applications","Ollama no es el producto: Construcción de aplicaciones de LLM abiertos listas para producción","Ejecutar un modelo local con Ollama es fácil. Construir una aplicación Open-LLM lista para producción es más difícil: requiere RAG, control de acceso, abstracción de proveedores, evaluación, registro, disciplina de despliegue y una capa de aplicación controlada alrededor del modelo.","\u002Fuploads\u002F2026\u002F06\u002Follama-is-not-the-product-building-production-ready-open-llm-applications-1782679361640-h0usqf.webp","2026-06-28T16:39:00.000Z",{"id":1785,"slug":1786,"title":1787,"excerpt":1788,"featuredImage":1789,"publishedAt":1790},"455","zbt-z8102ax-dual-sim-failover-test","Conmutación por error de doble SIM del ZBT Z8102AX: qué funciona, qué falta y qué necesita un mejor firmware","El ZBT Z8102AX es un router OpenWrt 5G de doble SIM, pero el hardware de doble SIM por sí solo no es lo mismo que una conmutación por error inteligente. El router reconoce la SIM y se conecta correctamente, pero el cambio automático, la recuperación del módem, las decisiones basadas en la señal y una lógica de conmutación por error limpia aún necesitan pruebas más profundas.","\u002Fuploads\u002F2026\u002F06\u002Fopenwrt-router-review-dual-sim-03-1781620592829-7t77j7.webp","2026-06-16T10:40:00.000Z",{"id":1792,"slug":893,"title":1793,"excerpt":1794,"featuredImage":1795,"publishedAt":1796},"434","Guía completa de Evaluation Harness: Dominando la evaluación del rendimiento de LLM","Esta guía proporciona un recorrido detallado de Evaluation Harness, un marco de trabajo esencial para evaluar rigurosamente las capacidades de los modelos de lenguaje extensos (LLM) en los pipelines de LLMOps empresariales. Conozca la configuración, las mejores prácticas y las técnicas avanzadas para garantizar una evaluación comparativa y optimización de modelos confiables.","\u002Fuploads\u002F2026\u002F04\u002Fevaluation-harness-1775466944495-4s0xv2.webp","2026-03-01T17:50:00.000Z",{"id":1798,"slug":1799,"title":1800,"excerpt":1801,"featuredImage":1802,"publishedAt":1803},"469","rag-failed-but-which-layer-actually-failed-a-diagnostic-method","RAG falló — ¿Pero qué capa falló realmente? Un método de diagnóstico","Cuando una respuesta RAG es incorrecta, culpar a la recuperación o al modelo es demasiado vago. Este método de diagnóstico aísla la cobertura de fuentes, la construcción de consultas, la recuperación, el ranking, el ensamblaje del contexto, la generación, la atribución de evidencia y la actualidad, de modo que el fallo real puede reproducirse y corregirse.","\u002Fuploads\u002F2026\u002F09\u002Frag-failed-but-which-layer-actually-failed-a-diagnostic-method-1790350847177-pior4c.webp","2026-09-24T19:39:00.000Z",{"id":1805,"slug":1806,"title":1807,"excerpt":1808,"featuredImage":1809,"publishedAt":1810},"362","suchmaschinen-webcrawler-suchsoftware-und-suchergebnissen","Optimización para motores de búsqueda: El flujo de trabajo confiable para los primeros puestos","Análisis detallado de la optimización para motores de búsqueda (SEO), sus fundamentos técnicos, el papel de los rastreadores web y los pasos estratégicos para alcanzar las primeras posiciones orgánicas.","\u002Fuploads\u002F2026\u002F03\u002Fsuchmaschinen-webcrawler-suchsoftware-und-suchergebnissen-1774865001795-5wv0cw.webp","2023-04-12T13:03:00.000Z",{"id":1812,"slug":1813,"title":1814,"excerpt":1815,"featuredImage":1816,"publishedAt":1817},"364","tipps-fuer-die-verbesserung-der-seo-suchmaschinenoptimierung","Dominando el flujo de trabajo SEO: Estrategias de optimización esenciales para el crecimiento orgánico","Un flujo de trabajo SEO estructurado es crucial para un crecimiento orgánico sostenible. Aprende las diez estrategias fundamentales, desde la investigación de palabras clave y la optimización técnica hasta la calidad del contenido y el análisis de rendimiento.","\u002Fuploads\u002F2026\u002F03\u002Ftipps-fuer-die-verbesserung-der-seo-suchmaschinenoptimierung-1774866098131-hwkzrg.webp","2024-01-26T06:35:00.000Z","fallback",[],[]]