Docker Acabou de Corrigir 90% da Programação de IA ao Lançar Isso

AAI LABS
Internet TechnologyComputing/Software

Transcript

00:00:00Um dos pontos mais importantes na IA tem sido o protocolo MCP,
00:00:03mas seis meses depois,
00:00:04tornou-se um grande problema para nós.
00:00:06Quando começamos,
00:00:07as pessoas tinham apenas dois ou três servidores MCP a correr localmente,
00:00:11mas o MCP evoluiu para muito mais.
00:00:13Agora,
00:00:14as pessoas têm literalmente centenas de servidores MCP com milhares de ferramentas ao mesmo tempo,
00:00:18e isso tornou-se um enorme problema.
00:00:20Como sabem,
00:00:20a Cloudflare notou isto primeiro,
00:00:22e a Claude seguiu o exemplo ao publicar um artigo de investigação sobre este problema.
00:00:26Mas a Docker,
00:00:26na verdade,
00:00:27encontrou uma solução para isto e resolveu um dos problemas mais críticos para os MCPs ao apresentar uma forma totalmente nova de os usar.
00:00:34Um modo dinâmico que permite poupar muitos tokens,
00:00:37acelerar os seus agentes e criar tipos de automações totalmente novos que eu,
00:00:41pessoalmente,
00:00:42estou muito ansioso por ver.
00:00:43A Docker lançou um artigo sobre isto,
00:00:46no qual nos instam a parar de codificar o ambiente dos nossos agentes.
00:00:50O que querem dizer com isso?
00:00:51Primeiro, em que servidores MCP podemos realmente confiar?
00:00:54O segundo é: como evitamos preencher o nosso contexto com definições de ferramentas que talvez nem usemos?
00:01:00Por exemplo,
00:01:01se tiver mil ferramentas,
00:01:03pode usar apenas duas ou três numa única conversa.
00:01:05O terceiro é: como os agentes descobrem,
00:01:08configuram e depois usam estas ferramentas de forma eficiente e autónoma?
00:01:12Mas quero que se concentrem no segundo ponto: como evitamos preencher o nosso contexto com definições de ferramentas que talvez nem usemos?
00:01:19Por exemplo,
00:01:19se tiver mil ferramentas,
00:01:21pode usar apenas duas ou três numa única conversa.
00:01:23A Anthropic também publicou um artigo sobre isto,
00:01:26que abordámos num dos nossos vídeos anteriores,
00:01:28e obtivemos uma resposta muito positiva de pessoas que queriam a implementação.
00:01:32E a Docker, de facto, avançou e implementou isto.
00:01:34Agora,
00:01:34antes de prosseguirmos,
00:01:36precisam de saber que a Docker montou toda a infraestrutura para isto muito antes de se tornar um problema.
00:01:41E para isso,
00:01:42precisam de conhecer o catálogo MCP deles,
00:01:44no qual listaram servidores MCP verificados em que podem realmente confiar.
00:01:48E é muito fácil de ligar, basta conectá-los aqui no Docker.
00:01:52Por exemplo,
00:01:52conectei o Notion aqui,
00:01:54podem ver que neste momento tenho dois servidores,
00:01:56e o meu cliente MCP,
00:01:57que na maioria das vezes é apenas código Claude,
00:02:00conecta-se ao Docker,
00:02:01e depois o Docker basicamente gere todos os meus servidores MCP.
00:02:04Isto resolve completamente o primeiro problema sobre em que servidores MCP podemos realmente confiar.
00:02:09Agora,
00:02:10para realmente permitir que os nossos agentes usem estes MCPs dinamicamente,
00:02:14eles implementaram este gateway MCP que já possui ferramentas pré-construídas para usar os servidores MCP dentro do catálogo e utilizá-los autonomamente.
00:02:22Então,
00:02:23essencialmente,
00:02:24o que acontece é que só se conecta um MCP e este MCP tem todo o contexto das ferramentas a que está ligado no catálogo.
00:02:31Estive ligado a dois e ele sabe quais as definições de ferramentas a trazer para a janela de contexto.
00:02:36Assim, a sua janela de contexto não fica sobrecarregada..
00:02:39Para que isto funcione,
00:02:40adicionaram novas ferramentas,
00:02:42incluindo MCP find,
00:02:43add e remove,
00:02:44que basicamente encontram servidores MCP no catálogo por nome ou descrição.
00:02:48E como vos mostrarei,
00:02:49guiarei sobre como adicioná-los corretamente.
00:02:51Por exemplo,
00:02:52estou a usar o meu MCP do GitHub aqui,
00:02:54e estou a dizer-lhe que quero procurar alguns repositórios interessantes.
00:02:57Depois de especificar o tipo de repositórios,
00:03:00ele não chama a ferramenta em si,
00:03:02mas usa o servidor MCP do Docker,
00:03:03que depois chama a ferramenta com a informação correta e,
00:03:07obviamente,
00:03:07devolve todos os resultados.
00:03:09Agora,
00:03:09quero que notem uma coisa: o LLM está a devolver tudo sobre os repositórios.
00:03:14Está a devolver o link,
00:03:15as estrelas,
00:03:16a descrição,
00:03:17e até sabe a data em que estes repositórios foram publicados..
00:03:21Só quero que se lembrem disto porque será algo importante daqui para a frente.
00:03:25Agora, passando à seleção dinâmica de ferramentas.
00:03:28Esta é a parte mais importante do artigo,
00:03:30e era disto que estava a falar quando mencionei uma nova forma de usar os servidores MCP..
00:03:35Mais uma vez,
00:03:35referenciando o artigo da Claude,
00:03:38eles falam sobre como a Claude ou qualquer agente de IA usa mais tokens.
00:03:42Um são as definições de ferramentas na janela de contexto,
00:03:46e o segundo são os resultados intermédios das ferramentas.
00:03:50É aqui que falamos sobre os resultados brutos que são realmente devolvidos pelas chamadas de ferramentas MCP.
00:03:57Assim,
00:03:58todos estes detalhes que procurámos usando a ferramenta GitHub foram devolvidos para a janela de contexto.
00:04:05É por isso que a Claude sabe cada pequeno detalhe sobre os repositórios,
00:04:10enquanto eu só queria a descrição e o link do repositório.
00:04:13Desta forma,
00:04:14bastam algumas chamadas de ferramentas,
00:04:17como no meu caso,
00:04:18talvez 20 chamadas de ferramentas antes que toda a janela de contexto esteja realmente preenchida.
00:04:24Esta é uma coisa que eles melhoraram no projeto do gateway MCP,
00:04:29onde eles só fornecem as ferramentas que são realmente úteis.
00:04:33Por exemplo,
00:04:33no meu caso,
00:04:34uma forma de o contexto ser guardado é dar-me apenas a ferramenta de pesquisa de repositórios e não as outras 40 ferramentas que vêm dentro deste MCP do GitHub.
00:04:45Porque nesta sessão,
00:04:46eu só quero usar a ferramenta de pesquisa de repositórios.
00:04:50Mas,
00:04:50novamente,
00:04:51uma vez que se começa a selecionar ferramentas desta forma,
00:04:55também se abre um novo leque de possibilidades.
00:04:58E isso leva-nos ao modo de código.
00:05:00A Cloudflare basicamente delineou como temos usado o MCP de forma errada,
00:05:05e que esta não é a forma correta.
00:05:07E é aqui que a Docker é,
00:05:09na verdade,
00:05:10a primeira a implementar esta nova solução.
00:05:12Eu brinquei muito com ela.
00:05:14E devo dizer que estou realmente surpreendido com o resultado da execução.
00:05:19Então,
00:05:20eles dizem que ao tornar possível para os agentes codificarem diretamente usando ferramentas MCP,
00:05:26o que significa que eles pegam nas ferramentas e as implementam em código,
00:05:31eles podem fornecer aos agentes estas ferramentas de modo de código que usam as ferramentas de uma forma completamente nova.
00:05:39Então, o que faz o modo de código?
00:05:41Ele cria uma ferramenta habilitada para JavaScript que pode chamar outras ferramentas MCP.
00:05:47Isto pode parecer muito simples,
00:05:49mas os exemplos que vos vou mostrar,
00:05:52espero que esclareçam isto.
00:05:54Agora,
00:05:54antes de mergulharmos numa implementação,
00:05:57há outras coisas a considerar.
00:05:59Em primeiro lugar,
00:06:00como este é um código escrito por um agente,
00:06:03obviamente,
00:06:04não é testado e não é seguro.
00:06:06Então, a Docker planeou que isto corra num sandbox.
00:06:09E como eles já fornecem contentores Docker,
00:06:12isto foi bastante óbvio para eles.
00:06:14Esta abordagem acaba por oferecer três benefícios chave.
00:06:18Em primeiro lugar,
00:06:19é completamente seguro,
00:06:20porque esse é o principal benefício do sandboxing.
00:06:24Não causa nenhum dano real ao seu sistema.
00:06:27Depois,
00:06:27há toda a eficiência de tokens e ferramentas de que temos falado,
00:06:31onde a ferramenta que usa não precisa de ser enviada para o modelo em cada pedido,
00:06:37o modelo só precisa de saber sobre uma nova ferramenta de modo de código.
00:06:42Então,
00:06:42sem o modo de código,
00:06:43se estiver a usar,
00:06:45digamos,
00:06:45estas três ferramentas,
00:06:47e as estiver a executar repetidamente,
00:06:49o contexto das outras 47 ferramentas também está a ir junto com as três ferramentas que estamos realmente a usar.
00:06:57Mas com o modo de código,
00:06:58o que acontece é que o agente escreve a ferramenta personalizada
00:07:07A razão pela qual estava a pesquisar estes repositórios do GitHub é para descobrir novas ferramentas de código aberto para incluir nos meus vídeos.
00:07:14E o que normalmente faço é executar múltiplas chamadas usando a ferramenta 'find GitHub repo'.
00:07:18Apenas escrevo diferentes palavras-chave para procurar ferramentas.
00:07:21Então,
00:07:21apresentei isto ao código Claude e ele combinou todas essas diferentes chamadas de ferramentas numa única ferramenta que pesquisa repositórios com base nas palavras-chave que lhe dou.
00:07:30Podem ver que,
00:07:30mesmo aqui,
00:07:31sem o modo de código,
00:07:32o Docker executa várias consultas.
00:07:33E era isso que eu queria corrigir.
00:07:35A ferramenta que ele criou chamava-se 'multi search repos'..
00:07:37E depois de criar a ferramenta,
00:07:39usou a ferramenta MCP exec para a executar.
00:07:41Basicamente,
00:07:42deu-me 29 repositórios únicos ao pesquisar com seis palavras-chave diferentes,
00:07:45mas os resultados foram devolvidos diretamente na resposta e no terminal,
00:07:49o que significa que todos os resultados estavam a ser devolvidos dentro da janela de contexto.
00:07:53Para corrigir isto,
00:07:54disse-lhe que deveria escrever tudo para um ficheiro e que o modelo deveria apenas obter a descrição dos repositórios.
00:08:00Não era preciso dar estrelas ou qualquer outra coisa.
00:08:03E ele alterou a ferramenta e escreveu todos esses resultados para um ficheiro de texto no meu repositório,
00:08:08para que,
00:08:08se eu quisesse procurar algo específico sobre um repositório,
00:08:11pudesse fazê-lo consultando o ficheiro de texto.
00:08:13Agora,
00:08:14há uma coisa que gostaria de ver implementada: uma forma de guardar e reutilizar esta ferramenta neste momento.
00:08:19A única opção é guardá-la manualmente como um ficheiro.
00:08:22Depois disso, pedi-lhe para procurar o MCP do Notion.
00:08:24Uma vez conectado,
00:08:25perguntei se ele poderia criar uma ferramenta que enviasse os resultados da pesquisa do GitHub diretamente para o Notion em vez de usar um ficheiro de texto.
00:08:33E,
00:08:33novamente,
00:08:34usando o modo de código,
00:08:35ele realmente criou a ferramenta GitHub para Notion que me permitiria colar os resultados no Notion..
00:08:40E depois de o executar,
00:08:41houve basicamente alguns pequenos problemas que tive de corrigir.
00:08:44Mas,
00:08:45essencialmente,
00:08:45agora tenho esta base de dados no Notion.
00:08:47Está basicamente codificada.
00:08:49Então,
00:08:49qualquer consulta que eu forneça,
00:08:51ele irá simplesmente inserir os resultados nesta base de dados de acordo com os diferentes campos..
00:08:55E incluirá até a data para que eu possa filtrá-los facilmente e procurar apenas os resultados que realmente quero.
00:09:01O modelo só fica a saber o nome e a descrição do repositório GitHub que recebe de cada vez.
00:09:05Não recebe mais nada,
00:09:06mas o resto da informação está toda guardada aqui.
00:09:09Honestamente,
00:09:09se apenas explorarem este catálogo,
00:09:11terão pelo menos uma ideia dos MCPs que poderiam encadear para criar estes fluxos de trabalho incríveis.
00:09:16E,
00:09:17ao mesmo tempo,
00:09:17estão a poupar tokens e a preservar o desempenho do vosso próprio agente de IA.
00:09:21Começar a usá-los é, honestamente, bastante fácil.
00:09:24Precisam de atualizar a vossa versão do Docker.
00:09:26Mas se ainda não a tiverem,
00:09:27podem estar desativados nas funcionalidades beta.
00:09:30Por isso,
00:09:30certifiquem-se de que este kit de ferramentas Docker MCP está ativado..
00:09:34Fora isso,
00:09:35terão o vosso catálogo e estas novas funcionalidades estão ativadas por predefinição.
00:09:39Então,
00:09:39tudo o que têm de fazer é ligar o vosso cliente e podem praticamente começar a usá-los.
00:09:44Isso leva-nos ao fim deste vídeo.
00:09:45Se quiserem apoiar o canal e ajudar-nos a continuar a fazer vídeos como este,
00:09:49podem fazê-lo usando o botão 'Super Thanks' abaixo.
00:09:51Como sempre,
00:09:52obrigado por assistirem,
00:09:53e vemo-nos no próximo..

Key Takeaway

A Docker introduziu um modo dinâmico e um modo de código para o protocolo MCP, permitindo que agentes de IA usem ferramentas de forma mais eficiente, segura e com menor consumo de tokens, corrigindo um problema crítico na programação de IA.

Highlights

Docker lançou um "modo dinâmico" para o protocolo MCP, resolvendo problemas de escalabilidade e sobrecarga de contexto na programação de IA.

O catálogo MCP da Docker oferece servidores verificados, garantindo confiança e simplificando a conexão para agentes de IA.

O gateway MCP permite a seleção dinâmica de ferramentas, otimizando o uso de tokens ao carregar apenas as definições de ferramentas relevantes para o contexto.

O "modo de código" da Docker permite que agentes de IA escrevam e executem ferramentas personalizadas em JavaScript dentro de um ambiente sandbox, aumentando a eficiência e a segurança.

A nova abordagem reduz significativamente o uso de tokens ao evitar a sobrecarga do contexto com definições de ferramentas não utilizadas e resultados intermédios brutos.

Exemplos práticos demonstram a criação de ferramentas personalizadas para pesquisa multi-repositórios no GitHub e integração direta de resultados no Notion.

Timeline

O Problema da Escalabilidade do Protocolo MCP

O vídeo começa destacando a importância inicial do protocolo MCP na IA, que rapidamente se tornou um problema de escalabilidade. Inicialmente usado com poucos servidores locais, evoluiu para centenas de servidores e milhares de ferramentas, causando uma sobrecarga massiva. Empresas como Cloudflare e Claude já haviam notado e pesquisado sobre este desafio. Este contexto estabelece a urgência e a relevância da solução que a Docker irá apresentar.

A Solução da Docker e os Desafios da Programação de IA

A Docker surge com uma solução inovadora para os problemas do MCP, introduzindo um "modo dinâmico" que promete economizar tokens, acelerar agentes e criar novas automações. A empresa publicou um artigo instando a parar de codificar o ambiente dos agentes, levantando três questões cruciais: a confiança nos servidores MCP, como evitar a sobrecarga de contexto com definições de ferramentas não utilizadas e como os agentes podem descobrir e usar ferramentas de forma eficiente. O foco principal é a segunda questão, que aborda a ineficiência de carregar mil definições de ferramentas quando apenas duas ou três são usadas.

Catálogo MCP da Docker e Confiança nos Servidores

O orador reitera a importância de evitar a sobrecarga de contexto, um problema também abordado pela Anthropic. A Docker, no entanto, já havia construído a infraestrutura necessária para resolver isso, incluindo o seu catálogo MCP. Este catálogo lista servidores MCP verificados e confiáveis, facilitando a conexão e gestão. Ao conectar um cliente MCP (como o código Claude) ao Docker, este gerencia todos os servidores MCP, resolvendo o primeiro problema de confiança nos servidores.

Seleção Dinâmica de Ferramentas com o Gateway MCP

Para permitir que os agentes usem MCPs dinamicamente, a Docker implementou um gateway MCP com ferramentas pré-construídas. Este gateway conecta um único MCP que, por sua vez, possui o contexto das ferramentas ligadas no catálogo, trazendo apenas as definições de ferramentas necessárias para a janela de contexto. Novas ferramentas como MCP find, add e remove foram adicionadas para localizar e gerir servidores. Um exemplo é dado com a pesquisa de repositórios no GitHub, onde o LLM devolve todos os detalhes (link, estrelas, descrição), o que, embora informativo, pode sobrecarregar o contexto.

Otimização do Contexto e Resultados Intermédios

Esta seção é destacada como a mais importante, focando na seleção dinâmica de ferramentas e na nova forma de usar servidores MCP. Referenciando um artigo da Claude, explica-se que o uso excessivo de tokens ocorre devido às definições de ferramentas no contexto e aos resultados intermédios brutos. O problema é que todos os detalhes de uma pesquisa (como os repositórios do GitHub) são devolvidos, preenchendo rapidamente a janela de contexto. O projeto do gateway MCP da Docker melhora isso, fornecendo apenas as ferramentas e informações realmente úteis, como apenas a ferramenta de pesquisa de repositórios em vez de todas as 40 ferramentas de um MCP.

Introdução ao Modo de Código da Docker

A Cloudflare havia apontado o uso incorreto do MCP, e a Docker é a primeira a implementar uma nova solução: o "modo de código". Este modo permite que os agentes codifiquem diretamente usando ferramentas MCP, implementando-as em código JavaScript. Embora pareça simples, abre um leque de possibilidades. A segurança é uma preocupação, pois o código é escrito por um agente e não é testado, por isso a Docker planeia executá-lo num ambiente sandbox, aproveitando os seus contentores Docker. Os benefícios incluem segurança, eficiência de tokens e ferramentas, pois o modelo só precisa conhecer a nova ferramenta de modo de código, não todas as ferramentas subjacentes.

Aplicações Práticas do Modo de Código

O orador demonstra o modo de código com exemplos práticos. Primeiro, um agente combinou múltiplas chamadas de pesquisa de repositórios do GitHub numa única ferramenta "multi search repos", corrigindo o problema de múltiplas consultas. Inicialmente, os resultados eram devolvidos diretamente no terminal, sobrecarregando o contexto, mas o agente foi instruído a escrever os resultados num ficheiro, fornecendo apenas as descrições ao modelo. Em seguida, o agente criou uma ferramenta "GitHub para Notion" para enviar os resultados da pesquisa diretamente para uma base de dados no Notion, preenchendo campos específicos e incluindo a data. Isso ilustra como encadear MCPs para criar fluxos de trabalho complexos, economizando tokens e otimizando o desempenho do agente.

Como Começar a Usar a Solução da Docker

Para começar a usar as novas funcionalidades da Docker, é necessário atualizar a versão do Docker e garantir que o "Docker MCP toolkit" esteja ativado nas funcionalidades beta. O catálogo e as novas funcionalidades são ativados por padrão, bastando conectar o cliente para começar a utilizá-los. O vídeo conclui com um agradecimento e um convite para apoiar o canal, reforçando a facilidade de adoção desta nova abordagem para a programação de IA.

Community Posts

View all posts