O fascínio da Microsoft pelos agentes da IA como uma ferramenta para os desenvolvedores continua com a Wassette, um novo lançamento de código aberto da equipe de tempo de uptime do Azure Core. Construído em ferrugem e projetado para hospedar peças de funcionalidade escritas como componentes WebAssembly, é um primeiro passo para fornecer funcionalidade personalizável e composável que pode ser implantada como uma ferramenta para um agente local-nesse caso, o agente do copiloto do GitHub em execução no código do Visual Studio ou em qualquer outro modelo de protocolo de contexto de contexto.
Wassette é, no coração, relativamente simples. Ele carrega e executa componentes, sandando -os usando o Familiar Wasmtime RunTime e fornece uma interface MCP conversando suas interfaces para a funcionalidade MCP. Usando o WASSETTE e uma mistura de seus próprios e componentes públicos de WebAssembly, você pode montar rapidamente uma biblioteca de ferramentas seguras adaptadas a um projeto específico.
Trabalhando com Wassette em Código VS
Introdução é simples o suficiente. Embora eu tenha tido problemas para executar a versão do braço do Wassette no Windows e no Linux, a versão X64 funcionou pela primeira vez. Os usuários do Windows podem instalar usando Winget. Os usuários do Linux podem usar o CURL e um script de instalação. Outras opções incluem suporte homebrew ou uso do NIX para configurar um shell de desenvolvimento com a Wassette.
Uma questão menor surgiu: uma detecção de vírus falsos positivos no Windows Defender significava que eu tinha que desativar temporariamente minhas ferramentas antivírus para concluir a instalação baseada em Winget. Há um problema relacionado ao Github observando que a equipe de desenvolvimento está trabalhando para registrar a assinatura de Wassette para evitar isso no futuro.
Depois de instalado, você precisa registrar o servidor Wassette MCP na sua ferramenta de desenvolvedor. A Microsoft fornece instruções para o código do Visual Studio, cursor, Claude Code e Gemini CLI. Eu achei que o script que a documentação sugeriu para o código VS falhou e tive que instalar o MCP manualmente usando a ferramenta incorporada no interface do agente do Github Copilot Agent do vs Código. Isso exigia que tivesse que reinstalar cada vez que reiniciava o código vs. Esperançosamente, uma versão atualizada da ferramenta Wassette corrige isso. Não é um desacelero, mas é um pouco estranho recarregá -lo repetidamente.
Quando o servidor MCP Wastette é executado dentro do agente do GitHub Copilot, você pode começar a usá -lo. Ele aparecerá como outra ferramenta ao lado de outros servidores registrados. Você deve observar que, se você tiver mais de 128 ferramentas registradas no GitHub Copilot, pode demorar a selecionar a ferramenta correta para o seu prompt.
A documentação fornece um link para um cliente básico que estende a funcionalidade básica do copiloto do GitHub. Na interface do bate -papo do GitHub Copilot, pude carregar isso de um registro remoto da OCI. O agente selecionou o servidor Wassette MCP e carregou o componente WebAssembly. Eu poderia usá -lo para obter o horário atual, um recurso que o agente base não conseguiu oferecer.
Um servidor MCP seguro e extensível
Obter o tempo pode parecer um recurso relativamente trivial para adicionar ao agente do GitHub Copilot, mas é apenas um exemplo do que você pode fazer com o Wassette. Esta é uma plataforma extensível; Se um recurso não estiver disponível, você pode escrever rapidamente o seu próprio e adicioná -lo. O bônus adicional de execução em uma caixa de areia WebAssembly reduz o risco, isolando módulos um do outro e do sistema operacional e do IDE.
Grande parte do modelo de segurança vem do Wasmtime, pois se baseia em um modelo de menor privilégio. Um componente carregado no Wassette deve ter permissões explícitas para os serviços de que precisa e usa a interface de bate -papo do agente para solicitá -las conforme necessário. Por exemplo, um componente que precisa de acesso à rede solicitará permissão para cada domínio específico ao qual se conecta. Isso garante que um módulo que receba o tempo do bloqueio do seu PC não enviará as chaves do seu aplicativo para um domínio nefasto. Se solicitar permissões de rede quando você não estiver esperando ou para um domínio que você não solicitou, você pode usar o agente para bloqueá -lo.
A Microsoft forneceu um conjunto de ferramentas de amostra para mostrar o que pode ser feito com o WASSETTE. Eles são todos componentes da WebAssembly, escritos em uma seleção de diferentes idiomas. Isso inclui Python, JavaScript, Rust e Go. Se houver suporte a Wasmtime para um idioma, você poderá construir um componente com ele, pronto para uso em Wassette.
Adicionando recursos com componentes WebAssembly
É importante entender que você não precisa fazer nada com um componente WebAssembly para usá -lo com Wassette. Eu descrevi anteriormente o protocolo de contexto do modelo como um equivalente moderno de ferramentas como a linguagem de definição de interface da Corba, pois ele recebe APIs e outras interfaces e as envolve em uma descrição pronta para agente com uma maneira comum de enviar e receber informações.
O WASSETTE faz isso aproveitando um dos principais recursos dos componentes do WebAssembly: o fato de eles expor as funções como interfaces de biblioteca fortemente digitadas. O WASSETTE pode usar qualquer componente (e futuro) existente, oferecendo acesso eventual a um ecossistema mais amplo que adicionará flexibilidade aos seus agentes.
A chave para essa abordagem é como os componentes do WebAssembly interagem com a estrutura WASMTIME, usando os tipos de interface do WebAssembly. Isso expõe funções e interfaces digitadas, oferecendo acesso limitado e controlado ao componente. Se um componente exigir uma string, ele aceitará apenas uma string. Você também pode ter vários componentes escritos em diferentes idiomas, todos compilados ao WASM e executando o mesmo host Wassette.
Você não precisa aprender nada de novo para criar uma interface de componente. Eles são implementados usando o modelo de interface padrão no idioma que você escolher antes de compilar no WASM e armazenar em um registro da OCI. As interfaces podem suportar várias operações, e a ByteCode Alliance fornece ferramentas para ajudar a criar componentes em seu repositório do GitHub.
Não é difícil escrever componentes WebAssembly e, quando você começa a aproveitar o WASI, você pode criar recursos locais de sistema de arquivos e rede, que podem ser controlados usando a estrutura de permissões do WASMTIME por meio da Wassette. Se você precisar adicionar um recurso a um agente para fornecer um aterramento mais profundo nos dados reais, esta é uma das maneiras mais eficientes e simples de expô -lo via MCP com segurança.
O que vem a seguir para o WASSETTE?
Esta é uma versão inicial e os recursos estão obviamente ausentes. Talvez o mais importante seja a falta de um recurso de descoberta, tanto para os registros da OCI quanto para os componentes da WebAssembly armazenados neles. Por enquanto, se você precisar de um componente específico, precisará do OCI URI certo. Como o WASSETTE é um projeto de código aberto, você pode se envolver em seu desenvolvimento no GitHub.
Com o WASSETTE inicialmente visando agentes focados em desenvolvedores, não há como não fazer parte de nenhuma plataforma de agente que use o MCP. Você pode usá -lo em uma plataforma de atendimento ao cliente, com componentes que estendem sua plataforma CRM em outros aplicativos ou em qualquer lugar que precise de funcionalidade que não seja fornecida pelos servidores MCP do núcleo que você está usando. É especialmente útil quando as funções necessárias são pequenas e não requerem muito código, mas ainda precisam ser seguras com acesso rigidamente controlado aos recursos.
É interessante ver uma ferramenta como essa no início da vida dos agentes modernos de IA. A combinação de código modular descoberta que é executado no seu contexto local, juntamente com a capacidade de adicionar rapidamente novas extensões, me lembra o trabalho que foi realizado em estruturas de agentes em desenvolvimento como Kaleida nos anos 90. Hoje, podemos construí -los em uma plataforma com uma caixa de areia local e não precisamos aprender um idioma totalmente novo. Com o WASSETTE, podemos desenvolver e implantar os recursos que precisamos ver em um servidor MCP, instalando -os apenas quando necessário.
