Docker Acaba de Solucionar el 90% de la Programación con IA al Lanzar Esto

AAI LABS
AI/미래기술컴퓨터/소프트웨어

Transcript

00:00:00Una de las cosas más importantes en IA ha sido el protocolo MCP,
00:00:03pero seis meses después se ha convertido en un gran problema para nosotros.
00:00:06Cuando empezamos,
00:00:07la gente solo tenía dos o tres servidores MCP ejecutándose localmente,
00:00:11pero MCP ha evolucionado mucho más allá.
00:00:13Ahora la gente tiene literalmente cientos de servidores MCP con miles de herramientas a la vez,
00:00:18y se ha convertido en un gran problema.
00:00:20Como saben,
00:00:20Cloudflare fue el primero en notarlo,
00:00:22y Claude le siguió publicando un artículo de investigación sobre este problema.
00:00:26Pero Docker encontró una solución para esto y resolvió uno de los problemas más críticos para los MCP al idear una forma completamente nueva de usarlos.
00:00:34Un modo dinámico que te permite ahorrar muchísimos tokens,
00:00:37acelerar tus agentes y crear tipos de automatizaciones completamente nuevos que personalmente estoy deseando ver.
00:00:43Así que Docker publicó un artículo sobre esto en el que básicamente nos instan a dejar de codificar rígidamente el entorno de nuestros agentes.
00:00:50¿Qué quieren decir con eso?
00:00:51En primer lugar, ¿en qué servidores MCP confiamos realmente?
00:00:54El segundo es,
00:00:55¿cómo evitamos llenar nuestro contexto con definiciones de herramientas que quizás ni siquiera usemos?
00:01:00Por ejemplo,
00:01:01si tienes mil herramientas,
00:01:03quizás solo uses dos o tres en un solo chat.
00:01:05El tercero es,
00:01:06¿cómo descubren,
00:01:07configuran y luego usan estas herramientas de manera eficiente y autónoma los agentes?
00:01:12Pero quiero que se centren en el segundo,
00:01:14que es,
00:01:14¿cómo evitamos llenar nuestro contexto con definiciones de herramientas que quizás ni siquiera usemos?
00:01:19Por ejemplo,
00:01:20si tienes mil herramientas,
00:01:21quizás solo uses dos o tres en un solo chat.
00:01:23Anthropic también publicó un post sobre esto,
00:01:26que cubrimos en uno de nuestros videos anteriores,
00:01:28y obtuvimos una respuesta muy positiva de la gente que quería la implementación.
00:01:32Y Docker de hecho siguió adelante y lo implementó.
00:01:34Ahora,
00:01:34antes de seguir adelante,
00:01:35debes saber que Docker ya había establecido toda la infraestructura para esto mucho antes de que se convirtiera en un problema.
00:01:41Y para eso,
00:01:42necesitas conocer su catálogo de MCP,
00:01:44en el que han listado servidores MCP verificados en los que realmente puedes confiar.
00:01:48Y es muy fácil de conectar,
00:01:50simplemente los conectas aquí en Docker.
00:01:52Por ejemplo,
00:01:52he conectado Notion aquí,
00:01:54pueden ver que ahora tengo dos servidores,
00:01:56y mi cliente MCP,
00:01:57que la mayoría de las veces es código de Claude,
00:01:59solo se conecta a Docker,
00:02:01y luego Docker básicamente gestiona todos mis servidores MCP.
00:02:04Así que esto resuelve completamente el primer problema sobre en qué servidores MCP confiamos realmente.
00:02:09Ahora,
00:02:10para permitir que nuestros agentes usen estos MCP dinámicamente,
00:02:13han implementado esta pasarela MCP que ya tiene herramientas preconstruidas para usar los servidores MCP dentro del catálogo y utilizarlos de forma autónoma.
00:02:22Así que,
00:02:23esencialmente,
00:02:24lo que sucede es que solo conectas un MCP y este MCP tiene todo el contexto de a qué herramientas está conectado en el catálogo.
00:02:31Me he conectado a dos y sabe qué definiciones de herramientas debe traer al contexto.
00:02:36Así, tu ventana de contexto no se sobrecarga..
00:02:39Ahora,
00:02:39para que esto funcione realmente,
00:02:41añadieron algunas herramientas nuevas que incluyen MCP find,
00:02:44add y remove,
00:02:44que básicamente encuentran servidores MCP en el catálogo por nombre o descripción.
00:02:48Y como les mostraré,
00:02:49los guiaré sobre cómo añadirlos correctamente.
00:02:51Así que,
00:02:52por ejemplo,
00:02:52estoy usando mi MCP de GitHub aquí,
00:02:54y le estoy diciendo que quiero buscar algunos repositorios interesantes.
00:02:57Después de especificar qué tipo de repositorios,
00:03:00no llama a la herramienta directamente,
00:03:02sino que usa el servidor Docker MCP,
00:03:04que luego llama a la herramienta con la información correcta y,
00:03:07obviamente,
00:03:08devuelve todos los resultados.
00:03:09Ahora,
00:03:10quiero que noten una cosa: el LLM está devolviendo todo sobre los repositorios.
00:03:14Devuelve el enlace,
00:03:15las estrellas,
00:03:16la descripción,
00:03:17e incluso sabe la fecha en que se publicaron estos repositorios..
00:03:21Solo quiero que recuerden esto porque será importante más adelante.
00:03:25Ahora, pasemos a la selección dinámica de herramientas.
00:03:28Esta es la parte más importante del artículo,
00:03:31y de esto hablaba cuando mencioné una nueva forma de usar los servidores MCP..
00:03:35Volviendo al artículo de Claude,
00:03:36hablan de cómo Claude o cualquier agente de IA usa más tokens.
00:03:39Uno son las definiciones de herramientas en la ventana de contexto,
00:03:42y el segundo son los resultados intermedios de las herramientas.
00:03:45Aquí es donde hablamos de los resultados brutos que realmente se devuelven de las llamadas a herramientas MCP.
00:03:51Así que todo este detalle que buscamos usando la herramienta de GitHub fue devuelto a la ventana de contexto.
00:03:56Por eso Claude conoce cada pequeño detalle sobre los repositorios,
00:03:59mientras que yo solo quería la descripción y el enlace del repositorio.
00:04:02De esta manera,
00:04:03solo se necesitan unas pocas llamadas a herramientas,
00:04:06como en mi caso,
00:04:07quizás 20 llamadas a herramientas antes de que toda la ventana de contexto se llene.
00:04:11Esto es algo que han mejorado en el proyecto de pasarela MCP,
00:04:13donde solo proporcionan las herramientas que son realmente útiles.
00:04:17Así,
00:04:17por ejemplo,
00:04:18en mi caso,
00:04:18una forma de ahorrar contexto es darme solo la herramienta de búsqueda de repositorios y no las otras 40 herramientas que vienen dentro de este MCP de GitHub.
00:04:26Porque en esta sesión,
00:04:27solo quiero usar la herramienta de búsqueda de repositorios.
00:04:30Pero de nuevo,
00:04:31una vez que empiezas a seleccionar herramientas de esta manera,
00:04:34también se abre un nuevo abanico de posibilidades.
00:04:36Y eso nos lleva al modo de código.
00:04:38Cloudflare básicamente describió cómo hemos estado usando MCP de forma incorrecta,
00:04:41y que esta no es la forma real.
00:04:43Y aquí es donde Docker es el primero en implementar esta nueva solución.
00:04:46He jugado mucho con ello.
00:04:48Y debo decir que estoy realmente sorprendido por cómo resultó la ejecución.
00:04:51Así que dicen que al hacer posible que los agentes programen directamente usando herramientas MCP,
00:04:56es decir,
00:04:56que tomen las herramientas y las implementen en código,
00:04:59pueden proporcionar a los agentes estas herramientas de modo de código que usan las herramientas de una manera completamente nueva.
00:05:05¿Qué hace el modo de código?
00:05:07Crea una herramienta habilitada para JavaScript que puede llamar a otras herramientas MCP.
00:05:11Esto puede parecer muy simple,
00:05:12pero los ejemplos que les mostraré espero que lo aclaren.
00:05:15Ahora,
00:05:16antes de sumergirnos en una implementación,
00:05:18hay otras cosas a considerar.
00:05:19En primer lugar,
00:05:20dado que este es código escrito por un agente,
00:05:22obviamente,
00:05:23no está probado y no es seguro.
00:05:24Así que Docker ha planeado que esto se ejecute en un sandbox.
00:05:27Y como ya proporcionan contenedores Docker,
00:05:29esto fue bastante obvio para ellos.
00:05:31Este enfoque termina ofreciendo tres beneficios clave.
00:05:33En primer lugar,
00:05:34es completamente seguro,
00:05:35porque ese es el principal beneficio del sandboxing.
00:05:38No causa ningún daño real a tu sistema.
00:05:40Luego está toda la eficiencia de tokens y herramientas de la que hemos estado hablando,
00:05:44donde la herramienta que usa no tiene que ser enviada al modelo en cada solicitud,
00:05:48el modelo solo necesita saber sobre una nueva herramienta de modo de código.
00:05:52Así que sin el modo de código,
00:05:53si solo estás usando,
00:05:54digamos,
00:05:54estas tres herramientas,
00:05:56y las está ejecutando repetidamente,
00:05:57el contexto de esas otras 47 herramientas también va junto con las tres herramientas que realmente estamos usando.
00:06:03Pero con el modo de código,
00:06:04lo que sucede es que el agente escribe la herramienta personalizada 'analizar mis repositorios' usando solo las herramientas que realmente necesitamos usar.
00:06:12Y cada vez solo hace referencia a esa única herramienta de modo de código.
00:06:15Y de esta manera,
00:06:16guarda todo ese otro contexto al no enviar las herramientas que realmente no necesitamos usar.
00:06:21Y luego también tenemos la persistencia de estado,
00:06:23en la que los volúmenes gestionan cómo se guardan los datos entre estas llamadas a herramientas.
00:06:28Y en realidad no se envían al modelo.
00:06:29Un ejemplo muy simple de esto puede ser una pipeline de procesamiento de datos.
00:06:33Así que digamos que queremos descargar un conjunto de datos,
00:06:36el conjunto de datos se descarga y se devuelve,
00:06:38pero en realidad se guarda en el volumen,
00:06:40y el modelo solo se entera de que se descargó correctamente.
00:06:43El modelo no se inunda con cinco gigabytes de datos.
00:06:46Luego,
00:06:46si queremos procesar las primeras 10.000 filas,
00:06:49el modelo puede simplemente leer del volumen donde se almacenan los datos y devolver el resumen real.
00:06:53De esta manera,
00:06:54solo los datos que deben ir al modelo,
00:06:56como resultados finales,
00:06:57resúmenes,
00:06:58cualquier mensaje de error o respuestas a preguntas,
00:07:00se transfieren al modelo y la ventana de contexto permanece limpia..
00:07:07La razón por la que buscaba estos repositorios de GitHub es para descubrir nuevas herramientas de código abierto que pueda incluir en mis videos.
00:07:14Y lo que normalmente hago es ejecutar múltiples llamadas usando la herramienta 'find GitHub repo'.
00:07:18Simplemente escribo diferentes palabras clave para buscar herramientas.
00:07:21Así que le presenté esto al código de Claude y combinó todas esas diferentes llamadas a herramientas en una sola herramienta que busca repositorios basándose en las palabras clave que le doy.
00:07:29Pueden ver que incluso aquí,
00:07:31sin el modo de código,
00:07:32Docker ejecuta múltiples consultas.
00:07:33Y eso es lo que quería solucionar.
00:07:35La herramienta que creó se llamó 'multi search repos'..
00:07:37Y después de crear la herramienta,
00:07:39usó la herramienta 'MCP exec' para ejecutarla.
00:07:41Básicamente me dio 29 repositorios únicos buscando con seis palabras clave diferentes,
00:07:45pero los resultados se devolvieron directamente en la respuesta y en la terminal,
00:07:49lo que significa que todos los resultados se devolvían dentro de la ventana de contexto.
00:07:54Para solucionar esto,
00:07:55le dije que debía escribir todo en un archivo y que el modelo solo debía obtener la descripción de los repositorios.
00:08:00No era necesario dar estrellas ni nada más al respecto.
00:08:03Y cambió la herramienta y escribió todos esos resultados en un archivo de texto en mi repositorio para que,
00:08:08si quería buscar algo específico sobre un repositorio,
00:08:11pudiera hacerlo consultando el archivo de texto.
00:08:13Ahora hay una cosa que me gustaría ver implementada: una forma de guardar y reutilizar esta herramienta ahora mismo.
00:08:19La única opción es guardarla manualmente como un archivo.
00:08:22Después de eso, le pedí que buscara el MCP de Notion.
00:08:24Una vez conectado,
00:08:25le pregunté si podía crear una herramienta que enviara los resultados de la búsqueda de GitHub directamente a Notion en lugar de usar un archivo de texto.
00:08:33Y de nuevo,
00:08:33usando el modo de código,
00:08:34realmente creó la herramienta 'GitHub to Notion' que me permitiría pegar los resultados en Notion..
00:08:40Y después de ejecutarlo,
00:08:41hubo básicamente algunos pequeños problemas que tuve que solucionar.
00:08:44Pero esencialmente,
00:08:45ahora tengo esta base de datos en Notion.
00:08:47Está básicamente codificada rígidamente.
00:08:49Así que,
00:08:49cualquier consulta que proporcione,
00:08:51simplemente introducirá los resultados en esta base de datos según los diferentes campos..
00:08:55E incluso incluirá la fecha para que pueda filtrarlos fácilmente y buscar solo los resultados que realmente quiero.
00:09:01El modelo solo conoce el nombre y la descripción del repositorio de GitHub que recibe en un momento dado.
00:09:06No obtiene nada más,
00:09:07pero el resto de la información se guarda aquí.
00:09:09Sinceramente,
00:09:10si solo revisan este catálogo,
00:09:11obtendrán al menos una idea de los MCP que podrían encadenar para crear estos flujos de trabajo increíbles.
00:09:17Y al mismo tiempo,
00:09:18están ahorrando tokens y preservando el rendimiento de su propio agente de IA.
00:09:21Empezar con ellos es, sinceramente, bastante fácil.
00:09:24Necesitas actualizar tu versión de Docker.
00:09:26Pero si aún no lo tienes,
00:09:27podrían estar deshabilitados en las funciones beta.
00:09:30Así que asegúrate de que este kit de herramientas Docker MCP esté habilitado..
00:09:34Aparte de eso,
00:09:35tendrás tu catálogo y estas nuevas funciones están habilitadas por defecto.
00:09:39Así que todo lo que tienes que hacer es conectar tu cliente y podrás empezar a usarlos.
00:09:43Con esto llegamos al final de este video.
00:09:45Si desean apoyar el canal y ayudarnos a seguir haciendo videos como este,
00:09:48pueden hacerlo usando el botón de 'Super Gracias' a continuación.
00:09:51Como siempre, gracias por ver, y nos vemos en el próximo..

Key Takeaway

Docker ha lanzado una solución innovadora con su modo dinámico y modo de código para los servidores MCP, permitiendo a los agentes de IA gestionar herramientas de forma más eficiente, segura y autónoma, resolviendo la sobrecarga de contexto y optimizando el uso de tokens.

Highlights

Docker ha resuelto el problema de la sobrecarga de contexto en agentes de IA con cientos de servidores MCP al introducir un modo dinámico.

El nuevo modo dinámico de Docker para MCPs permite un ahorro significativo de tokens, acelera los agentes y facilita nuevas automatizaciones.

El catálogo de MCP de Docker ofrece servidores verificados y una gestión centralizada, resolviendo el problema de la confianza en las herramientas.

La 'pasarela MCP' de Docker permite la selección dinámica de herramientas, cargando solo las definiciones necesarias y evitando la sobrecarga de la ventana de contexto.

El 'modo de código' de Docker permite a los agentes programar directamente, creando herramientas personalizadas en JavaScript que se ejecutan de forma segura en un sandbox.

El modo de código mejora la seguridad, la eficiencia de tokens y la persistencia de estado mediante volúmenes, evitando la inundación del modelo con datos brutos.

Se demostró la automatización de búsquedas en GitHub y la integración con Notion, optimizando el uso del contexto y creando flujos de trabajo avanzados.

Timeline

Problema de Escala con el Protocolo MCP

El video comienza explicando que el protocolo MCP, inicialmente importante para la IA, se ha convertido en un problema significativo. Lo que empezó con dos o tres servidores MCP locales, ha escalado a cientos de servidores con miles de herramientas, causando una gran sobrecarga. Se menciona que Cloudflare y Claude fueron los primeros en identificar y publicar investigaciones sobre esta creciente complejidad. Este problema afecta la eficiencia y el rendimiento de los agentes de IA. La gestión de un volumen tan grande de herramientas se ha vuelto insostenible.

La Solución de Docker: Modo Dinámico

Docker ha desarrollado una solución innovadora para este problema crítico de los MCPs. Han introducido un 'modo dinámico' que permite un uso completamente nuevo de los servidores MCP. Esta nueva aproximación promete un ahorro considerable de tokens, una aceleración notable de los agentes de IA y la capacidad de crear tipos de automatizaciones totalmente novedosos. Esta solución aborda directamente las limitaciones de escala y eficiencia que enfrentaban los sistemas de IA. Es un cambio fundamental en cómo los agentes interactúan con las herramientas.

Desafíos en la Codificación de Entornos de Agentes

Docker publicó un artículo instando a los desarrolladores a dejar de codificar rígidamente el entorno de sus agentes. Se plantean tres preguntas clave: en qué servidores MCP confiar, cómo evitar llenar el contexto con definiciones de herramientas no utilizadas (el foco principal), y cómo los agentes pueden descubrir, configurar y usar herramientas de manera eficiente. El problema de la sobrecarga de contexto es crucial, ya que un agente podría tener acceso a mil herramientas pero solo usar dos o tres en una conversación. Este enfoque rígido consume recursos innecesarios y ralentiza el rendimiento.

Infraestructura Existente de Docker y Catálogo MCP

Anthropic también abordó el problema de la sobrecarga de contexto, y Docker ya había establecido la infraestructura necesaria antes de que se convirtiera en un problema generalizado. Esto incluye su catálogo de MCP, que lista servidores verificados y confiables. El cliente MCP (a menudo código de Claude) se conecta a Docker, que luego gestiona todos los servidores MCP, resolviendo así el primer problema sobre la confianza en los servidores. Esta infraestructura preexistente facilitó la implementación de la nueva solución. La centralización de la gestión de MCPs es un paso clave.

Pasarela MCP para Uso Dinámico de Herramientas

Para permitir que los agentes utilicen los MCPs de forma dinámica, Docker ha implementado una 'pasarela MCP'. Esta pasarela incluye herramientas preconstruidas que permiten a los agentes usar los servidores MCP del catálogo de forma autónoma. Al conectar un MCP, la pasarela solo trae las definiciones de herramientas relevantes al contexto, evitando la sobrecarga de la ventana de contexto del agente. Esto asegura que el agente solo tenga acceso a lo que necesita en un momento dado. La pasarela actúa como un intermediario inteligente, optimizando el flujo de información.

Nuevas Herramientas y Ejemplo de Búsqueda en GitHub

Docker añadió nuevas herramientas como 'MCP find', 'add' y 'remove' para buscar y gestionar servidores MCP. Se muestra un ejemplo con el MCP de GitHub, donde un agente busca repositorios interesantes. El sistema no llama directamente a la herramienta, sino que usa el servidor Docker MCP como intermediario. Se destaca que el LLM devuelve una gran cantidad de detalles sobre los repositorios (enlace, estrellas, descripción, fecha), lo cual es relevante para la discusión posterior sobre la eficiencia del contexto. Este exceso de información es un problema que la solución de Docker busca mitigar.

Selección Dinámica de Herramientas y Optimización de Tokens

Esta sección se enfoca en la selección dinámica de herramientas, considerada la parte más importante de la solución de Docker. Se retoma el artículo de Claude que identifica dos fuentes de consumo excesivo de tokens: las definiciones de herramientas en el contexto y los resultados intermedios. El ejemplo de GitHub ilustra cómo los resultados brutos llenan el contexto. La pasarela MCP de Docker mejora esto al proporcionar solo las herramientas y la información verdaderamente útiles, como solo la herramienta de búsqueda de repositorios en lugar de todas las 40 herramientas de GitHub, abriendo nuevas posibilidades. Esto es clave para la eficiencia y el rendimiento.

Introducción al Modo de Código de Docker

Cloudflare había señalado que la forma en que se usaban los MCPs era incorrecta, y Docker es el primero en implementar una nueva solución: el 'modo de código'. Este modo permite a los agentes programar directamente usando herramientas MCP, es decir, tomar las herramientas e implementarlas en código. El modo de código crea una herramienta habilitada para JavaScript que puede llamar a otras herramientas MCP, lo que, aunque simple en concepto, tiene implicaciones profundas. Representa un cambio paradigmático en la interacción entre agentes y herramientas.

Beneficios del Modo de Código: Seguridad, Eficiencia y Persistencia

El modo de código ofrece tres beneficios clave. Primero, seguridad: el código generado por el agente se ejecuta en un sandbox (contenedores Docker), evitando daños al sistema. Segundo, eficiencia de tokens: el modelo solo necesita conocer la nueva herramienta de modo de código, no todas las herramientas subyacentes, lo que reduce drásticamente el contexto enviado. Tercero, persistencia de estado: los volúmenes gestionan la persistencia de datos entre llamadas a herramientas, evitando que el modelo se inunde con grandes cantidades de datos, como un conjunto de datos de 5 GB, y solo recibe resúmenes o resultados finales. Estos beneficios son fundamentales para la adopción a gran escala de agentes de IA.

Ejemplo Práctico 1: Búsqueda de Repositorios Optimizada

El orador buscaba herramientas de código abierto en GitHub para sus videos, lo que implicaba múltiples llamadas a la herramienta 'find GitHub repo'. Con el modo de código, Claude combinó estas llamadas en una única herramienta 'multi search repos'. Inicialmente, los 29 resultados de seis palabras clave se devolvían directamente, llenando el contexto. La solución fue modificar la herramienta para escribir los resultados en un archivo de texto, y el modelo solo recibía la descripción y el enlace, manteniendo el contexto limpio. Este ejemplo demuestra un ahorro significativo de tokens y una mayor eficiencia.

Ejemplo Práctico 2: Integración GitHub a Notion

Se exploró la integración con Notion. El agente, utilizando el modo de código, creó una herramienta llamada 'GitHub to Notion' que permite enviar los resultados de la búsqueda de GitHub directamente a una base de datos de Notion, en lugar de a un archivo de texto. Aunque hubo pequeños ajustes, la herramienta automatiza la inserción de repositorios con sus descripciones, enlaces y fechas en Notion, demostrando una automatización avanzada y la capacidad de mantener el contexto del modelo enfocado solo en la información esencial. Esto ilustra el potencial para crear flujos de trabajo complejos y personalizados.

Conclusión y Cómo Empezar

En resumen, el catálogo de MCP de Docker y las nuevas funcionalidades permiten encadenar herramientas para crear flujos de trabajo potentes, ahorrando tokens y mejorando el rendimiento de los agentes de IA. Para empezar, los usuarios deben actualizar su versión de Docker y asegurarse de que el 'kit de herramientas Docker MCP' esté habilitado en las funciones beta. Una vez configurado, solo es necesario conectar el cliente para comenzar a utilizar estas innovadoras capacidades. La facilidad de implementación y los beneficios prometidos hacen de esta una solución atractiva para desarrolladores de IA.

Community Posts

View all posts