Criadores de gerente de IA para marketplaces removem o agente e cortam 461 linhas de código

Quatro dias após o lançamento, a equipe por trás de um gerente de IA para marketplaces removeu o próprio agente e reescreveu o núcleo dele com Pydantic AI: 582 linhas apagadas, 121 adicionadas, saldo de menos 461. O agente superou a antiga interpretação de frases em sete de nove funções, mas nas conversas respondia de forma superficial: analisava só um décimo da loja, por causa do corte de dados e de wrappers estreitos demais. Agora ele tem uma única ferramenta para os 307 métodos da API do Wildberries, além de uma ferramenta de documentação e de busca na internet. • O juiz dava notas de 1 a 5: o gerente de marketplaces tirou 4,28, mas o juiz não pegava tudo • O limite por turno subiu de 8 para 50 passos e 15 minutos, mas isso quase não ajudou • Toda escrita no painel vai em um único lote e só depois do «sim» do dono da loja

Processado por IA de Хабр: Машинное обучение; editado por Hamidun News
Criadores de gerente de IA para marketplaces removem o agente e cortam 461 linhas de código
Fonte: Хабр: Машинное обучение. Colagem: Hamidun News.
Ouvir artigo
Ficha técnica e números-chave
ParâmetroDados
Fonte originalХабр: Машинное обучение ↗
Editor-chefe
O juiz dava notas de 1 a 5o gerente de marketplaces tirou 4,28, mas o juiz não pegava tudo
Dado-chave #2O limite por turno subiu de 8 para 50 passos e 15 minutos, mas isso quase não ajudou
Dado-chave #3Toda escrita no painel vai em um único lote e só depois do «sim» do dono da loja

Quatro dias após o lançamento, a equipe que desenvolve um gerente de IA para vendedores de marketplaces removeu o próprio agente por completo. Nos testes internos, ele parecia bem-sucedido, mas as conversas reais mostraram outra coisa: as respostas soavam confiantes, porém se baseavam em uma pequena parte dos dados. Em vez de consertar, os desenvolvedores descartaram o núcleo próprio e passaram o turno do agente para o Pydantic AI. O commit ficou emblemático: 582 linhas removidas, 121 adicionadas.

Os testes diziam uma coisa, as conversas outra

Para a avaliação, a equipe montou um conjunto de referência: oito tarefas típicas para cada função e um modelo-juiz que dá ao resposta uma nota de 1 a 5 e enxerga os dados nos quais o agente se baseou. Nesse conjunto, o agente superou a antiga interpretação de frases em sete de nove funções, e o gerente de marketplaces tirou 4,28.

Depois, os autores leram as conversas em si. O dono da loja pergunta por que as vendas caíram, e o agente olha dez produtos de um total de cem: a ferramenta retorna «até 15 resultados», e a tabela entregue ao modelo ainda é cortada. A conclusão é fluida, mas foi tirada de um décimo da loja. O juiz não pega esse erro, porque os dados que o agente viu são coerentes com a conclusão. É um ponto cego típico da avaliação com LLM: o juiz verifica se a resposta é consistente com o contexto, não se o contexto está completo.

Os outros problemas tinham a mesma origem:

  • O wrapper de avaliações devolvia as avaliações mais recentes, não todas. O pedido «analise tudo dos últimos seis meses» esbarrava na falta de um método, e o agente respondia «ainda não sei fazer isso». A lista desses pedidos no painel administrativo crescia mais rápido do que a equipe conseguia escrever novos wrappers.
  • As descrições das ferramentas traziam instruções como «uma ou duas chamadas com termos amplos» e «até 15». O modelo as seguia até onde a tarefa exigia vinte chamadas.
  • O limite de oito passos por turno não bastava para tarefas do tipo «descubra por que um nicho está caindo». Ele foi elevado para 50 passos e 15 minutos, mas o efeito foi pequeno: o agente não esbarrava no número de passos, e sim no fato de que cada passo trazia apenas um pedaço dos dados.

A conclusão dos autores: eles tinham medo da liberdade do agente e decidiam por ele quanto olhar, o que mostrar e como usar a ferramenta. Cada decisão parecia razoável, mas, somadas, transformaram o agente num executor que faz exatamente o que está escrito na instrução.

Por que o núcleo foi descartado em vez de consertado

O núcleo próprio incluía o loop, as chamadas de ferramentas, as novas tentativas após interrupções, a compressão de passos antigos e os grupos de ferramentas. Tudo isso exigia manutenção e não tinha nada de único: os leitores do artigo anterior notaram, com razão, que era um ReAct comum. O valor do produto está em outros lugares: nas ferramentas para as plataformas, nas regras de escrita no painel e na forma como a resposta é apresentada ao dono da loja.

Por isso, o loop foi substituído pelo Pydantic AI. As ferramentas raras são carregadas pelo DeferredLoadingToolset apenas mediante busca, em vez de ficarem no contexto de cada passo. Do conjunto pronto, a equipe adotou a busca do DuckDuckGo com oito resultados e o carregamento de páginas por link. O limite de requisições foi desativado: usage_limits.request_limit é igual a None. As ferramentas próprias continuam as mesmas e são chamadas pelas mesmas funções, então as tabelas para o dono da loja, o registro de ações e as regras de escrita não mudaram.

Uma ferramenta no lugar de dezenas de wrappers

A principal mudança é de princípio. Antes, o agente recebia ferramentas e instruções de como usá-las. Agora ele recebe acesso, uma ferramenta e a documentação, e escolhe sozinho como usá-las.

Toda a API do Wildberries virou uma única ferramenta, que dá acesso a 307 métodos, mais uma ferramenta separada com a documentação oficial. Cartões de produto, preços, estoques, pedidos, remessas, publicidade, avaliações, chats e finanças ficam disponíveis ao agente na mesma extensão que a própria API. Se o método não consta na documentação, a ferramenta devolve uma dica para conferir por meio de uma chamada à documentação. Os métodos de leitura são executados de imediato e por inteiro, sem corte. A API do serviço de análise MPStats foi conectada da mesma forma. A biblioteca de conhecimento foi removida do prompt: a documentação fica ao lado da API, e o agente busca o restante na internet por conta própria.

Uma regra sobreviveu à reescrita: qualquer escrita no painel só acontece depois do «sim» do dono da loja. O que mudou foi a mecânica. As escritas de cada turno se acumulam em um único lote, por exemplo: «alterar o preço de três produtos, aumentar o lance em duas campanhas, responder a quatro avaliações». O dono vê a lista no formato «era → ficará» e responde uma só vez. O lote é executado em ordem e para no primeiro erro.

Entre as melhorias menores estão: leitura paralela (enquanto o agente olha os pedidos, ele já verifica estoques e publicidade), edições estritamente uma por vez, saída de texto em streaming com status como «lendo as avaliações de março», memorização de chamadas de API bem-sucedidas no projeto e retomada do turno do ponto em que parou após uma falha do modelo ou da busca.

Por enquanto, os autores não divulgam resultados da nova versão. Eles apenas escrevem que o agente passou a investigar mais a fundo, o que os fez questionar se o modelo usado é o certo. O material não traz números de qualidade nem de custo de tokens com os limites removidos. Para equipes que constroem agentes sobre APIs fechadas, a lição é prática: vale primeiro verificar se os wrappers próprios não estão cortando o que o modelo deveria ver por inteiro.

Perguntas frequentes sobre a notícia

O que se sabe sobre Os testes diziam uma coisa, as conversas outra?

Para a avaliação, a equipe montou um conjunto de referência: oito tarefas típicas para cada função e um modelo-juiz que dá ao resposta uma nota de 1 a 5 e enxerga os dados nos quais o agente se baseou. Nesse conjunto, o agente superou a antiga interpretação de frases em sete de nove funções, e o gerente de marketplaces tirou 4,28. Depois, os autores leram as conversas em si. O dono da loja pergunta por que as vendas caíram, e o agente olha dez produtos de um total de cem: a ferramenta retorna «até 15 resultados», e a tabela entregue ao modelo ainda é cortada. A conclusão é

Por que o núcleo foi descartado em vez de consertado?

O núcleo próprio incluía o loop, as chamadas de ferramentas, as novas tentativas após interrupções, a compressão de passos antigos e os grupos de ferramentas. Tudo isso exigia manutenção e não tinha nada de único: os leitores do artigo anterior notaram, com razão, que era um ReAct comum. O valor do produto está em outros lugares: nas ferramentas para as plataformas, nas regras de escrita no painel e na forma como a resposta é apresentada ao dono da loja. Por isso, o loop foi substituído pelo Pydantic AI. As ferramentas raras são carregadas pelo DeferredLoadingToolset apenas

O que se sabe sobre Uma ferramenta no lugar de dezenas de wrappers?

A principal mudança é de princípio. Antes, o agente recebia ferramentas e instruções de como usá-las. Agora ele recebe acesso, uma ferramenta e a documentação, e escolhe sozinho como usá-las. Toda a API do Wildberries virou uma única ferramenta, que dá acesso a 307 métodos, mais uma ferramenta separada com a documentação oficial. Cartões de produto, preços, estoques, pedidos, remessas, publicidade, avaliações, chats e finanças ficam disponíveis ao agente na mesma extensão que a própria API. Se o método não consta na documentação, a ferramenta devolve uma dica para conferir

ZK
Zhemal Khamidun — CPO da Alpina Digital, gerente de produto do AlpinaGPT. Cria produtos de IA desde 2019. O Hamidun News é um projeto pessoal que virou um agregador em produção com mais de 6.000 leitores.
✦ Unified AI Workspace · Nomad

Test Frontier LLMs & Autonomous Agents in One Workspace

Run Claude Opus 5.5, GPT-6, Gemini 3.1, and DeepSeek side-by-side in Nomad AI (nomadnet.ai) — unified model routing, deep research, and multimodal workflows under one subscription.

Try Nomad AI →Launch Nomad Agent
O que você acha?
Carregando comentários…