Uncategorized

Seis Rodadas de Testes Independentes: Reforçando o Sensbench AI Builder

Na semana passada, um terceiro independente executou seis rodadas de testes adversariais profundos contra o Sensbench AI Builder e o servidor Sensbench MCP (Model Context Protocol). A tarefa deles era simples: tentar quebrá-lo. Eles geraram projetos, compilaram firmware, reexecutaram prompts idênticos, investigaram caches, conectaram brokers MQTT reais e auditaram nossa cobrança. Aqui está o que aconteceu, o que corrigimos e como estão os números agora.

Como os testes foram executados

Cada afirmação abaixo foi verificada em um ambiente real:

  • Compilação real — cada sketch gerado foi compilado em nossa toolchain real arduino-esp32 (build ESP-IDF), não um linter ou uma passada falsa.
  • MQTT real — sketches gerados para Home Assistant foram gravados no simulador, conectados a um broker MQTT público real e conduzidos de ponta a ponta: mosquitto_pub ON → callback do dispositivo → pulso do relé → estado publicado de volta. Mensagens de descoberta foram capturadas em homeassistant/switch/…/config.
  • Semântica de cache — prompts idênticos, prompts semanticamente diferentes, mudanças de placa e mudanças de restrições foram repetidos para verificar se as respostas em cache apenas correspondem exatamente à solicitação que as produziu.
  • Reconciliação de cobrança — cada geração e compilação foi reconciliada com o livro-razão de cotas: sucessos cobrados, acertos de cache gratuitos, compilações com falha gratuitas.

Rodada um: o número honesto era 20%

A primeira rodada foi humilhante. De cinco projetos gerados, quatro falharam ao compilar — incluindo um abridor de porta de garagem, um dos pedidos mais comuns no mundo real. As falhas eram erros clássicos de iniciante em C++: funções auxiliares usadas antes da declaração, pilhas de protocolo feitas à mão, inclusão de biblioteca ausente. O veredito foi justo: “a pipeline é real, mas o gerador não é confiável.”

O que mudamos

Em vez de discutir, construímos proteções na própria pipeline:

  • Injeção automática de protótipos — a toolchain de compilação não executa a etapa de protótipo automático do Arduino, então agora injetamos protótipos de função na posição correta automaticamente antes de cada compilação.
  • Compilação interna de autoverificação — todo projeto gerado é compilado internamente antes de ser mostrado ao usuário. Se falhar, o erro do compilador é realimentado e o modelo regenera, até duas vezes. Os usuários só veem resultados verificados.
  • Bibliotecas maduras em vez de pilhas feitas à mão — MQTT agora usa a biblioteca testada em batalha PubSubClient; o modelo é explicitamente proibido de reimplementar o protocolo MQTT do zero.
  • Verificações de completude de requisitos — compilar não é suficiente. Se o prompt pedir Home Assistant MQTT, o código deve realmente conter um cliente MQTT funcional com lógica de subscribe/publish/callback — uma demonstração apenas local disfarçada de coisa real é rejeitada e regenerada.
  • Cache somente verificado — o cache de respostas só armazena projetos que passaram nas verificações de compilação e requisitos. Repetir um prompt popular sempre retorna o build verificado.
  • Regras de realidade do simulador — sketches gerados agora usam por padrão o nome real do ponto de acesso do simulador, um broker MQTT padrão alcançável, tratamento bidirecional ON/OFF, estado inicial retido para Home Assistant e tipos de sensor exatos (um interruptor de palheta continua sendo um interruptor de palheta).

Os números agora

  • Taxa de aprovação inicial em solicitações do mundo real: 1 em 6.
  • Taxa de aprovação após as correções, em rodadas independentes repetidas: 6 de 6 compilações consecutivas + lógica MQTT real — incluindo respostas de cache-hit.
  • Teste semântico de cache: 6 solicitações, sem incompatibilidades. Prompts idênticos retornam código byte-idêntico; prompts alterados, placas ou restrições sempre geram novo.
  • MQTT de ponta a ponta: dispositivo → broker → assinatura estilo Home Assistant → comando → pulso do relé → publicação de estado, tudo confirmado em um broker real, incluindo brokers autenticados.
  • Servidor MCP: 8/8 ferramentas exercitadas de ponta a ponta; cobrança de cotas reconciliada exatamente (sucesso cobrado, cache hits e falhas gratuitos).

O que ainda estamos abertos sobre

Limitações honestas que documentamos durante os testes:

  • A integração com Home Assistant é MQTT manual por padrão (a configuração de descoberta é publicada, mas a configuração de autodescoberta do HA depende da sua configuração MQTT do HA).
  • A sandbox do simulador tem uma lista de permissões de saída — alguns brokers públicos são alcançáveis (por exemplo, broker.emqx.io), outros não. Verifique nossa documentação para o que funciona.
  • A seleção de hardware corresponde semanticamente à solicitação, nem sempre ao pé da letra — o modelo pode escolher uma classe de sensor equivalente; sinalizamos isso nas notas do plano gerado.

Por que publicar isso

Qualquer um pode publicar um vídeo de demonstração. Escolhemos publicar o arco completo: as rodadas com falhas, as correções e os retestes — com metodologia reproduzível. Se você quiser tentar quebrá-lo você mesmo, o AI Builder é gratuito para uma construção por dia, e o simulador roda inteiramente no seu navegador. O servidor MCP está disponível com contabilidade de cotas real. Traga seu próprio prompt, seu próprio broker, seu próprio ceticismo.

— A equipe Sensbench

Leave a Reply

Your email address will not be published. Required fields are marked *