trueNetLab logo
ES
DeepSeek Harness: cuando todo es realmente un plugin

DeepSeek Harness: cuando todo es realmente un plugin

Cuando hablamos de agentes de IA, casi siempre empezamos por el modelo. ¿Qué modelo escribe mejor código? ¿Cuál comprende contextos más largos? ¿Cuál resuelve más tareas en un benchmark? Es comprensible, pero ya no basta. Un agente no es solo un modelo de lenguaje. Necesita herramientas, memoria, sesiones, permisos, un entorno de ejecución, planificación, registros y alguna interfaz que permita intervenir a las personas.

Precisamente por eso me parece tan emocionante la Developer Preview de DeepSeek Harness. DeepSeek resume la idea en una frase extraordinariamente clara: Everything is a plugin. No solo deben ser intercambiables las herramientas adicionales. También los modelos, las skills, las sesiones, los sandboxes, el almacenamiento, los bucles de agente, la planificación de tareas e incluso la interfaz de usuario se tratan como plugins.

Al principio suena a una decisión técnica de diseño para desarrolladores. En realidad, encierra una afirmación más amplia sobre la próxima fase de la IA. Si la inteligencia procede del modelo, pero la capacidad práctica de trabajar procede del harness, esa segunda mitad no puede convertirse en un bloque opaco controlado por un único proveedor.

El modelo aporta inteligencia. Solo un harness intercambiable decide a quién sirve esa inteligencia y bajo qué reglas puede actuar.

El agente es más que su modelo

DeepSeek describe la fórmula de forma muy concisa: agente igual a modelo más harness. El modelo procesa lenguaje y genera decisiones. El harness lo conecta con el entorno real. Proporciona archivos, registra herramientas, gestiona estados, inicia subagentes, ejecuta comandos y decide qué información vuelve al contexto en la siguiente llamada al modelo.

Por tanto, un harness no es simplemente el envoltorio de un modelo. Determina en qué puede convertirse realmente una respuesta del modelo. ¿El agente solo puede producir texto o también modificar un archivo? ¿Ve todo el repositorio o únicamente un directorio de trabajo? ¿Un comando se ejecuta directamente en el host, dentro de un contenedor o en un sandbox remoto? ¿Debe una persona autorizar una acción? ¿Se conserva el estado entre varias sesiones? Nada de esto son propiedades del modelo, sino decisiones del entorno de ejecución que lo rodea.

De responder a actuar

En un chat sencillo, esta separación apenas se nota. Entra una pregunta y sale una respuesta. Pero en cuanto un agente trabaja en un repositorio, tramita tickets, accede a sistemas internos o asume tareas prolongadas, el harness pasa a ser al menos tan importante como el modelo. Traduce una intención expresada en lenguaje en una secuencia de pasos reales y devuelve sus resultados al modelo como nuevo contexto.

Es ahí donde se decide si una tecnología de demostración impresionante se convierte en una herramienta fiable. Un modelo excelente con un contexto deficiente, permisos demasiado amplios y una gestión de sesiones poco fiable sigue siendo un mal agente. Puede razonar de forma brillante y aun así editar el archivo equivocado, usar un estado obsoleto o no recuperarse correctamente de un error. A la inversa, un modelo algo más débil puede resultar sorprendentemente útil en un entorno bien diseñado porque ve las herramientas adecuadas, tiene límites claros y su trabajo sigue siendo trazable.

La arquitectura se convierte en parte del resultado

DeepSeek Harness hace visible esta capa. El kernel Cordis monta plugins, resuelve dependencias y puede volver a retirar componentes. Las capacidades se proporcionan como servicios. Un plugin puede implementar una shell, otro exponerla como herramienta para el modelo y un tercero consumir esa herramienta dentro de un flujo de trabajo. La implementación concreta puede cambiarse mediante la configuración sin reconstruir todo el harness.

DeepSeek va más allá que muchas plataformas que solo permiten añadir unas pocas herramientas como extensiones. La conexión con el modelo, el registro de herramientas, el registro de sesiones y el propio bucle del agente también son plugins. Según la arquitectura, no existe un núcleo privilegiado que deba parchearse para cada ampliación. El nuevo comportamiento se monta junto a los componentes existentes y, al retirarlo, puede deshacer limpiamente sus registros.

No es una idea completamente nueva. Los sistemas operativos, navegadores, editores y plataformas llevan décadas viviendo de componentes modulares. Lo nuevo es la coherencia con la que DeepSeek aplica este principio a un agente de IA completo. La arquitectura del agente deja de aceptarse como un producto fijo y pasa a ser una combinación de decisiones que el operador puede modificar.

Por qué resulta tan atractiva la idea de que «todo es un plugin»

La idea de los plugins desplaza el poder de un producto acabado hacia un entorno de ejecución componible. Puedo sustituir un proveedor de modelos sin reconstruir todo mi modo de trabajo. Puedo cambiar una shell local por otra más aislada. Puedo utilizar otro almacenamiento, otra lógica de sesiones o mi propia interfaz. Además del acceso a sus propios modelos, DeepSeek documenta otros proveedores y endpoints personalizados compatibles con OpenAI.

Cambiar de modelo sin empezar de cero

Así, un agente se parece más a una infraestructura que configuro de acuerdo con mi entorno. Un equipo de desarrollo pequeño quizá solo necesite acceso a archivos, Git y pruebas. Un equipo de seguridad también querrá consultas de red, sandboxes aislados, autorizaciones más estrictas y registros inmutables. Una empresa puede utilizar su propio gateway de modelos, mientras que un laboratorio privado se conecta a un modelo local de pesos abiertos.

Esto tiene importancia estratégica porque los modelos cambian ahora con enorme rapidez. Hoy destaca un proveedor en programación; mañana, otro en contexto largo o uso de herramientas. En un producto cerrado, cambiar el modelo suele implicar cambiar también de plataforma. Hay que reconstruir sesiones, reglas, permisos, integraciones y formas de trabajo. En un entorno modular, el modelo puede seguir siendo un componente que se sustituye por otro proveedor o por un endpoint autogestionado.

No será un cambio totalmente fluido. Los modelos difieren en formatos de roles, razonamiento, llamadas a herramientas, compatibilidad con imágenes y comportamiento ante fallos. Los adaptadores correspondientes deben gestionar correctamente esas diferencias. Pero ahí se aprecia precisamente el valor de una separación clara: las particularidades de un proveedor no se propagan sin control por todo el producto.

Infraestructura intercambiable en lugar de botones intercambiables

Es especialmente interesante separar la definición, el proveedor y el consumidor de una capacidad. Una interfaz Bash describe qué puede hacer la capacidad. Un proveedor decide dónde y cómo se ejecutan realmente los comandos. Solo otro plugin la convierte en una herramienta que el modelo puede invocar. Estas separaciones son importantes porque crean un punto claro de control. Allí pueden incorporarse límites de tiempo, aislamiento, autorizaciones y registros sin reprogramar cada bucle del agente.

El potencial se hace evidente cuando varias capacidades comparten el mismo mundo de ejecución. Si el sistema de archivos y los procesos pasan de un entorno local a un sandbox remoto, la shell, el terminal y la navegación por el código pueden trasladarse juntos. Para el usuario, la capacidad sigue siendo similar, mientras que el marco de seguridad y operación subyacente cambia por completo. Este tipo de intercambiabilidad vale más que otro interruptor en una interfaz.

Los distintos modos de ejecución también muestran las intenciones de DeepSeek. El modo estándar incluye el agente de programación completo. En el modo Code, el modelo puede orquestar varias llamadas a herramientas mediante código TypeScript generado. El modo Minimal reduce el entorno a shell y editor para benchmarks. El modo Creator permite explorar plugins y presets propios. No todos los casos de uso tienen que cargar la misma caja de herramientas gigantesca.

Los perfiles y bundles convierten todo esto en algo más que una colección suelta de extensiones. Un perfil puede definir un entorno de agente para una finalidad concreta. Cabe imaginar un perfil ligero para desarrollo local, otro más restringido para sistemas de producción y uno forense con un registro especialmente detallado. Las capacidades se componen con los mismos bloques, pero su combinación y sus límites se adaptan al riesgo correspondiente.

Gestión de plugins de DeepSeek Harness con los módulos instalados y su estado

Dónde surge el potencial en la práctica

La arquitectura es emocionante, pero su valor solo se aprecia en situaciones concretas. Un sistema de plugins no es un fin en sí mismo. Debe permitir adaptar un agente más rápidamente a requisitos reales sin construir una plataforma nueva para cada caso de uso.

De herramienta personal a plataforma empresarial

Un desarrollador puede empezar con una shell local, un editor de archivos y un modelo. En cuanto se convierte en una herramienta para un equipo, aparecen otros requisitos: identidades centralizadas, espacios de trabajo separados, autorización para acciones críticas, un gateway de modelos, control de costes, sesiones persistentes y un registro de auditoría exportable. En una aplicación monolítica, el fabricante decide si estas funciones llegan y cuándo.

En un entorno modular, las empresas pueden añadir por sí mismas los elementos que faltan o reemplazar proveedores existentes. No hace falta reinventar el agente. La misma interfaz y la misma lógica de agente pueden utilizar otros modelos detrás de un gateway corporativo, ejecutar comandos en un sandbox interno y guardar las sesiones en un almacenamiento propio. Esa es la diferencia entre una herramienta práctica y una plataforma controlable.

Diferentes zonas de confianza con los mismos componentes

No todas las tareas merecen los mismos permisos. Un agente que resume documentación no necesita acceso a producción. Un agente de respuesta a incidentes quizá necesite datos de registros y consultas de red, pero no debe modificar la configuración. Un agente de despliegue puede ejecutar cambios, aunque debería requerir autorizaciones más estrictas, tokens más breves y un registro especialmente claro.

Con servicios y perfiles bien separados, esta diferenciación puede expresarse en el entorno de ejecución. El modelo no necesita comprender cada detalle de seguridad y cumplirlo voluntariamente. El entorno decide técnicamente qué capacidades existen. Para la seguridad, esto es fundamental: una capacidad no montada ni siquiera está disponible para el modelo como herramienta directa.

Un ecosistema para especialistas

Ningún proveedor construirá a la vez el mejor sandbox, el mejor almacén de sesiones, todos los sistemas empresariales y todos los adaptadores de modelos. Un modelo de plugins abierto permite que los especialistas resuelvan especialmente bien una sola capa. Un proveedor de seguridad podría ofrecer un entorno de ejecución reforzado. Un proyecto de almacenamiento podría aportar sesiones resistentes a manipulaciones. Un equipo interno de plataforma podría conectar las autorizaciones y las identidades con su propia organización.

Cuando estos componentes encajan mediante interfaces estables, surge un ecosistema en vez de una aplicación individual cada vez más grande. Este es probablemente el mayor potencial de DeepSeek Harness. DeepSeek no tiene que ganar todos los casos de uso. Basta con que la arquitectura se convierta en el lugar donde otros ofrecen y combinan sus capacidades.

La trazabilidad no es un detalle menor

La segunda gran idea, junto a los plugins, es el registro de sesiones de solo anexado. Según DeepSeek, todo lo que ve el modelo queda registrado como evento. Esto incluye instrucciones del sistema, llamadas a herramientas y sus resultados, inyecciones de contexto y la planificación de subagentes. La reanudación, ramificación, búsqueda y repetición se basan en el mismo flujo de eventos.

Para los desarrolladores es práctico porque permite reconstruir una ejecución defectuosa. Para la seguridad y las operaciones es aún más importante. Si un agente modifica un archivo, inicia un comando o envía datos a un servicio, necesito algo más que el último mensaje del chat. Debo poder saber qué contexto existía, qué herramienta participó y en qué punto una decisión se convirtió en una acción.

En las aplicaciones clásicas, un error suele poder rastrearse hasta una entrada y una ruta de código determinista. Con los agentes es más difícil. Un modelo puede derivar pasos intermedios diferentes a partir del mismo encargo general, emplear herramientas en otro orden y reaccionar a resultados inesperados. Sin un historial completo, al final solo queda la afirmación de que el agente decidió algo. No basta ni para depurar ni para investigar un incidente de seguridad.

Convertir el flujo de eventos en la fuente de verdad abre una segunda posibilidad: experimentos más comparables. Una sesión puede ramificarse en un punto determinado y continuar con otro modelo, un prompt modificado o capacidades distintas. Así no solo se compara qué modelo escribe la respuesta más elegante. Se puede analizar cómo afecta un cambio concreto al mismo estado real de trabajo.

Para las empresas, a largo plazo podría surgir una especie de registro de cambios e incidentes para agentes. ¿Quién dio la orden? ¿Qué política estaba activa? ¿Qué datos recibió el modelo? ¿Qué acción se autorizó? ¿Qué resultado volvió? Estas preguntas serán importantes cuando los agentes dejen de limitarse a asesorar y empiecen a provocar cambios en sistemas reales.

Sin embargo, un registro todavía no es un audit trail terminado. La conservación, el control de acceso, la integridad, los contenidos sensibles y la exportación aún deben resolverse correctamente. Un registro completo puede convertirse en un riesgo si contiene prompts, código fuente, resultados de herramientas o credenciales. Aun así, me gusta la decisión básica: la información visible para el modelo no debe llegar desde un canal lateral oculto, sino desde un flujo de eventos reconstruible.

Vista Trajectory de una ejecución completa de agente en DeepSeek Harness

El open source se convierte en un arma estratégica

Que este proyecto proceda de China lo hace aún más interesante. DeepSeek no solo publica pesos de modelos, sino que construye visiblemente varias capas del stack. DeepSeek V4 está disponible con pesos y código bajo licencia MIT. Ahora el Harness, también bajo MIT, añade un entorno abierto para el trabajo con agentes. Por debajo, Cordis aporta incluso su propio modelo de plugins y composición.

Esto encaja con una evolución que ya describí en mi artículo sobre la IA, la seguridad y la lucha por el stack completo. China no quiere limitarse a consumir aplicaciones de IA. Las empresas chinas construyen modelos, software de inferencia, rutas de hardware y ahora también la infraestructura de agentes que se sitúa por encima. DeepSeek avanza a un ritmo que en Occidente ya no puede explicarse mediante la vieja imagen de una mera industria copiadora.

El open source no es solo idealismo en esta carrera. Es distribución, confianza gracias a la posibilidad de inspección y un acelerador de ecosistemas. Quien libera pesos, código e interfaces invita a desarrolladores de todo el mundo a encontrar errores, crear integraciones y convertir su diseño en un estándar de facto. Para DeepSeek, un harness abierto puede tener más valor estratégico que otra interfaz de chat cerrada, porque sigue siendo relevante aunque ejecute modelos de otros proveedores.

Es un punto notable. DeepSeek construye una plataforma en la que el propio DeepSeek sigue siendo intercambiable. A corto plazo parece casi contradictorio. ¿Por qué debería un proveedor facilitar el cambio hacia un competidor? A largo plazo, esa puede ser precisamente la posición más fuerte. Si los desarrolladores construyen sus agentes, plugins, reglas de seguridad y sesiones sobre este entorno, el harness se convierte en infraestructura común. DeepSeek quizá pierda algunas llamadas al modelo, pero gana influencia sobre la arquitectura de todo el ecosistema.

La apertura también acelera el aprendizaje. En un producto cerrado, el desarrollo de la arquitectura central permanece en gran medida en manos del fabricante. Un proyecto abierto se utiliza en entornos que el equipo original nunca pudo prever por completo. De ahí surgen informes de errores, nuevos adaptadores, backends alternativos y conocimiento operativo. En un ámbito joven como el software de agentes, esta retroalimentación puede ser más importante que una primera versión perfecta.

Ahí reside precisamente la inteligencia del enfoque de plugins. DeepSeek no tiene que construir por sí mismo cada almacenamiento, cada sandbox ni cada sistema empresarial. Proporciona una arquitectura en la que otros pueden insertar esas capacidades. Si el ecosistema crece, el núcleo se beneficia de cada nueva integración.

China no construye solo un modelo, sino también un camino a su alrededor

La importancia geopolítica no reside únicamente en los resultados de benchmarks. Un país o una región económica no alcanza la soberanía tecnológica solo porque en algún lugar se haya entrenado un modelo potente. Necesita hardware, software de inferencia, herramientas de desarrollo, interfaces, experiencia operativa y desarrolladores que construyan productos encima. DeepSeek Harness es otro componente de esa cadena.

La narrativa occidental sobre la tecnología china suele ir por detrás de esta evolución. Quien sigue viendo a China principalmente como un imitador barato pasa por alto la velocidad con la que allí se publican arquitecturas propias y se atrae a desarrolladores de todo el mundo. DeepSeek no tiene que liderar permanentemente en todas las categorías. Le basta con mantener corta la distancia, iterar rápido y abrir su trabajo para que otros puedan construir sobre él.

La distancia respecto a los modelos cerrados de vanguardia disminuye

Durante mucho tiempo, los modelos de pesos abiertos se consideraron una alternativa interesante para laboratorios y casos especiales, mientras que las capacidades realmente potentes quedaban en manos de unos pocos proveedores cerrados. Esa imagen se sostiene cada vez peor. La brecha no ha desaparecido en todas las disciplinas, pero se cierra más rápido de lo que muchos esperaban.

En sus propias evaluaciones, DeepSeek coloca sus modelos V4 directamente junto a modelos cerrados actuales de vanguardia. Dependiendo del benchmark, V4 Pro se acerca, obtiene resultados comparables o queda visiblemente por detrás. No existe un resultado uniforme en ingeniería de software, uso de herramientas, conocimiento factual y tareas de razonamiento muy difíciles. Precisamente por eso no conviene declarar un «ganador» a partir de una sola tabla.

El punto más importante es la distancia temporal. Capacidades que hace poco parecían una ventaja exclusiva de los mayores laboratorios estadounidenses aparecen hoy, unos meses después, en modelos cuyos pesos pueden descargarse, ejecutarse en infraestructura propia y examinarse. «Solo unos meses por detrás de los modelos de vanguardia» no es una constante medible científicamente, pero describe bastante bien lo breve que puede parecer hoy la ventaja de los sistemas cerrados.

Esto también cambia el significado económico de una ventaja. Si un modelo cerrado es un diez por ciento mejor en una tarea concreta, puede ser decisivo. Pero si un modelo abierto es suficientemente bueno, funciona en infraestructura propia y puede integrarse en la zona de seguridad de la empresa, el cálculo global puede seguir favoreciendo al modelo abierto. El control, la ubicación de los datos, los costes previsibles y la capacidad de adaptación también forman parte del rendimiento, aunque no aparezcan en un benchmark.

No debemos olvidar el hardware. Que los pesos estén disponibles abiertamente no significa que un modelo de 1,6 billones de parámetros funcione cómodamente en un armario de servidores. DeepSeek V4 Pro es un enorme modelo mixture-of-experts. Aunque solo una parte de los parámetros esté activa por token, la memoria, el coste de inferencia y la operación siguen siendo exigentes. La apertura elimina la barrera de acceso al código y a los pesos, no la realidad física de los grandes modelos.

Aun así, la existencia de esos pesos cambia el mercado. Los investigadores pueden examinar el modelo. Los proveedores pueden desplegarlo en su propia infraestructura. Las comunidades pueden desarrollar cuantizaciones y optimizaciones de ejecución. Las empresas obtienen al menos una alternativa a depender por completo de una única API.

Como consecuencia, la competencia se desplaza. La inteligencia bruta del modelo sigue siendo importante, pero el valor duradero reside cada vez más en pipelines de datos, evaluaciones, ejecución, seguridad, distribución e integración en procesos reales. Un harness abierto encaja exactamente en este cambio. Cuando los modelos se vuelven más intercambiables, gana relevancia la plataforma que les proporciona contexto, herramientas y límites de forma fiable.

Abierto no significa automáticamente fiable

Pese a todo el entusiasmo, sería ingenuo equiparar automáticamente «open source de China» con soberanía. Quien utiliza el servicio alojado de DeepSeek sigue enviando datos a un proveedor externo. Solo un endpoint de modelo autogestionado y un harness controlado cambian realmente la soberanía sobre los datos. Incluso entonces, la procedencia, el proceso de construcción, las dependencias y las actualizaciones siguen formando parte de la cadena de suministro.

Los plugins aumentan esta responsabilidad. Un plugin no es un tema inofensivo. Puede registrar herramientas, acceder a servicios y ejecutar código en el sistema. En las instalaciones desde repositorios Git, la documentación de DeepSeek advierte expresamente que los scripts de compilación autorizados pueden ejecutarse en el host fuera del sandbox del agente. Recomienda permitir solo fuentes fiables y fijar las dependencias a un commit concreto.

Es exactamente la advertencia adecuada. Una plataforma abierta de plugins crea intercambiabilidad, pero también una nueva cadena de suministro. Cada proveedor adicional puede obtener acceso a prompts, archivos, credenciales o herramientas ejecutables. Un plugin comprometido no necesita un espectacular jailbreak del modelo si ya forma parte legítima del entorno de ejecución.

Poder examinar el código fuente es una ventaja, pero todavía no constituye una auditoría de seguridad. Alguien debe revisar realmente el código, verificar las compilaciones, fijar versiones y controlar actualizaciones. En un ecosistema de plugins en crecimiento, la procedencia se vuelve casi tan importante como la función. Un plugin útil de origen desconocido puede representar un riesgo mayor que una función ausente.

Para un uso serio, por tanto, emplearía solo unos pocos plugins revisados. Las versiones deben fijarse, los permisos separarse, los secretos gestionarse fuera de la configuración y las conexiones salientes controlarse. Los sandboxes tienen que aislar de verdad y no limitarse a llamarse así. El registro de sesiones debe protegerse y revisarse por si contiene datos sensibles. Sobre todo, «todo es un plugin» no debe acabar significando «cada plugin puede hacerlo todo».

El potencial a largo plazo depende también de la gobernanza. Una buena plataforma necesita pruebas comprensibles de procedencia, artefactos firmados, compilaciones reproducibles, dependencias claras y una forma de restringir capacidades por perfil. Si DeepSeek y la comunidad se toman en serio estos fundamentos poco vistosos, la apertura puede conducir a un control real. Si no, la promesa de los plugins se convertirá simplemente en una superficie de ataque enorme.

Qué quiero ver de DeepSeek Harness

DeepSeek denomina deliberadamente al proyecto Developer Preview y anuncia cambios incompatibles. Es un buen momento para leer, experimentar y hacer pruebas con datos no críticos. Todavía no es motivo para hacer depender de él flujos centrales de producción.

Lo interesante será comprobar si la arquitectura limpia se convierte en un ecosistema resistente. Para ello hacen falta versiones firmadas, procedencia trazable de los plugins, modelos de permisos claros, compilaciones reproducibles y un proceso de actualización que no exija volver a confiar en cada cambio. También importa saber hasta qué punto pueden combinarse realmente plugins de distintos proveedores mientras el proyecto evoluciona rápidamente.

También quiero ver si la intercambiabilidad prometida resiste el uso cotidiano. Sobre el papel, un adaptador de modelo se cambia fácilmente. En la práctica, los modelos difieren en llamadas a herramientas, razonamiento, formatos de contexto, compatibilidad con imágenes y modos de fallo. Una interfaz abierta reduce estas diferencias, pero no las hace desaparecer.

A pesar de estas reservas, DeepSeek Harness me parece uno de los proyectos de IA más interesantes del año. No porque ya tenga que ser el mejor agente de programación. Lo emocionante es que una empresa china de IA abre la capa situada sobre el modelo y la convierte en un sistema modular. Mientras otros proveedores integran sus agentes cada vez más profundamente en plataformas cerradas, DeepSeek apuesta por una arquitectura en la que incluso su propio modelo es solo un plugin intercambiable.

Mi impresión y el ritmo increíble

La Developer Preview ya me muestra un gran potencial. La interfaz hace tangible el principio de los plugins, y la vista Trajectory demuestra que la trazabilidad no se pretende añadir después. El proyecto todavía es joven y muchas cosas cambian, pero esta arquitectura abierta parece una base sobre la que puede surgir algo grande con mucha rapidez.

Ahora mismo ocurren tantas cosas en el mundo de la IA que incluso unas semanas de diferencia pueden parecer antiguas. ¿A quién le sorprende si Alphabet espera por sí sola entre 175.000 y 185.000 millones de dólares de gastos de capital para 2026 y Meta otros 115.000 a 135.000 millones, en ambos casos muy marcados por la infraestructura de IA? Cientos de miles de millones fluyen de repente hacia la misma idea, la misma competición y el mismo futuro.

Ese capital no garantiza buenos productos. Pero explica por qué los modelos, los centros de datos y las plataformas de agentes avanzan a un ritmo que hace pocos años parecía imposible. Los modelos se vuelven más intercambiables, los pesos abiertos recuperan terreno rápidamente y la diferenciación decisiva se desplaza al harness. DeepSeek acelera visiblemente en los tres frentes. Quien construya infraestructura de IA no debería interpretarlo solo como una historia de competencia china, sino como una invitación a reconsiderar su dependencia de stacks cerrados.

Hasta la próxima,
Joe

Fuentes