Voltar as noticias
Construímos operações de dados colunares para agentes de IA — aqui está o porquê e como
MCP ProtocolAltaEN

Construímos operações de dados colunares para agentes de IA — aqui está o porquê e como

Dev.to - MCP·4 de junho de 2026

Se você construiu um agente de IA que lida com dados reais de empresas, provavelmente já se deparou com esse obstáculo.

Seu agente puxa 2.000 registros do Salesforce. E agora? O modelo não consegue filtrar, classificar ou agrupar 2.000 linhas de forma confiável dentro de sua janela de contexto. Você não quer despejar tudo como JSON bruto. E iniciar um ambiente Python apenas para executar um filtro pandas parece exagero para o que deveria ser uma operação simples.

Esse é o problema que continuamos enfrentando na DataGrout. Então, construímos o Frame.

O que é o Frame?

Frame é um conjunto de operações de dados colunares expostas como ferramentas MCP — chamáveis diretamente por qualquer agente de IA sem um ambiente Python, infraestrutura extra ou chamadas para uma API de análise.

Veja como isso funciona na prática. Um agente que recebe registros tabulares de um CRM pode fazer isso em um único passo de fluxo de trabalho:

frame.filter({ payload, where: [{ field: "status", op: "eq", value: "active" }] })
→ frame.sort({ payload: "$filter.records", by: [{ field: "revenue", dir: "desc" }] })
→ frame.slice({ payload: "$sort.records", offset: 0, limit: 50 })

Sem Python. Sem pandas. Sem chamada externa. Saída puramente determinística que o agente pode agir imediatamente.

O conjunto completo de operações

frame.filter — filtragem de linhas declarativa com mais de 10 operadores (eq, neq, gte, lte, contains, starts_with, is_null...)
frame.sort — ordenação de múltiplas colunas com controle de direção por campo
frame.group — agregação por chave, computação de contagens, somas, médias
frame.pivot — reformular linhas em colunas para análise cruzada
frame.join — mesclar dois conjuntos de dados em um campo de chave compartilhado
frame.slice — paginação ou janela sobre grandes registros
frame.select — manter, descartar ou renomear colunas em uma única passagem
Frame.pluck — extrair uma coluna em um array plano, notação de ponto suportada

Por que o determinístico é importante

Uma das decisões de design fundamentais do Frame foi tornar cada operação pura e determinística. Nenhuma geração de IA toca na camada de transformação de dados. O agente decide o que fazer, o Frame executa exatamente isso. Isso elimina uma classe inteira de risco de alucinação que vem ao pedir a um LLM para reformular dados diretamente.

Manipulando grandes conjuntos de dados

O Frame aceita saídas de cache_ref de chamadas de ferramentas anteriores, para que os agentes possam operar em grandes conjuntos de dados paginados sem retransmitir a carga útil completa a cada vez. Isso foi crítico para fluxos de trabalho de produção onde os conjuntos de dados chegam a dezenas de milhares de linhas.

Como ele se compõe

As ferramentas do Frame se encadeiam nativamente via flow.into dentro dos fluxos de trabalho da DataGrout. A saída de frame.filter alimenta diretamente frame.sort sem qualquer fiação manual. Essa composabilidade é o que o torna genuinamente útil em fluxos de trabalho de agentes de múltiplos passos, em vez de apenas como uma utilidade independente.

Onde estamos hoje

O Frame está ao vivo em datagrout.ai/tools/frame e lançamos no Product Hunt hoje — apreciaríamos seu apoio se isso for útil para você!
Estamos ativamente expandindo o conjunto de operações. Quais operações de dados estão faltando em seus fluxos de trabalho de agentes? Deixe-as nos comentários — estamos lendo tudo.

Contexto Triplo Up

A implementação do Frame pode otimizar a manipulação de dados em empresas brasileiras, permitindo que agentes de IA operem de maneira mais eficiente e segura. Isso pode resultar em decisões mais rápidas e precisas, melhorando a produtividade. A adoção de ferramentas como essa é crucial para se manter competitivo na era da IA.

Noticias relacionadas

Gostou do conteudo?

Receba toda semana as principais novidades sobre WebMCP.