AI-ETL

Multiagente · código auditável

Descreva o pipeline.
Os agentes constroem. Você audita.

Uma especificação em linguagem natural vira extração, limpeza e carga de dados de várias fontes, e depois uma resposta para a sua pergunta de negócio. Cada etapa gera código Python que você lê, e não uma resposta de chat que some quando a aba fecha.

Ver como funciona
Exemplo de execução

Especificação

Junte as corridas de janeiro com a tabela de zonas, remova duplicatas e grave o total por bairro no PostgreSQL.

  1. Orchestratorplano com 2 fontes e 4 transformações
  2. Extractor20.000 linhas lidas, esquema inferido
  3. Transformertransform(dfs) gerado e executado isolado
  4. Qualityausentes 0,2%, duplicatas 0: carga liberada
  5. Loaderresultado gravado no PostgreSQL
Pronto. O código de cada etapa ficou salvo para revisão.
agentes, cada um com uma função
9
tipos de fonte, de CSV a APIs REST
7
destinos, de PostgreSQL a Parquet no S3
5
execuções do estudo de caso iguais à referência
20/20

Por que não um chat

“Por que não subo a planilha num chat e pergunto?”

Pergunta justa. Para um arquivo isolado e uma pergunta pontual, um chat resolve. O AI-ETL existe para onde isso para de funcionar.

  1. 01

    Várias fontes numa especificação só

    CSV, Excel, PDF e DOCX, bancos PostgreSQL, MySQL, MongoDB e SQLite, e APIs REST. Um agente decide como combinar.

  2. 02

    Pipeline que fica, não resposta que some

    Cada execução guarda o código gerado, o plano e o relatório de qualidade. Dá para revisar, comparar e rodar de novo.

  3. 03

    Infraestrutura, não conversa

    Um pipeline salvo roda sozinho no horário definido, com aprovação antes de gravar se você quiser.

  4. 04

    Governança desde o início

    Dados isolados por conta no banco, código gerado em ambiente isolado com tempo-limite, e um registro de cada ação.

Como funciona

Duas camadas, nove agentes

A camada de ETL é um grafo com estado compartilhado: cada agente recebe o estado, faz uma coisa e passa adiante. A camada de análise trabalha sobre os dados já carregados.

  1. 01

    Orchestrator

    Lê a especificação e planeja o pipeline (fontes, transformações, destino).

  2. 02

    Extractor

    Extrai e inspeciona os dados de cada fonte (CSV, Postgres, REST, PDF/DOCX).

  3. 03

    Transformer

    Gera e executa (em sandbox) o código de limpeza e transformação: a camada Silver.

  4. 04

    Quality

    Verifica nulos, duplicatas e outliers nos dados transformados.

  5. 05

    Loader

    Persiste os dados limpos no destino configurado.

Orchestrator
Extractor
Transformer
Qualityportãobloqueado: nada é gravado
Loader

Só o planejamento e a transformação usam o modelo. Extração, qualidade e carga são determinísticas. Se o portão de qualidade bloqueia, nada é gravado e o motivo fica registrado.

O que você audita

Nada acontece fora da sua vista

O modelo escreve, o sistema executa e registra. Você tem como conferir cada etapa.

def transform(dfs):
    trips = dfs["trips"].drop_duplicates()
    zones = dfs["zones"]
    df = trips.merge(
        zones, left_on="PULocationID", right_on="LocationID"
    )
    return df.groupby("Borough", as_index=False).agg(
        trips=("fare_amount", "size"),
        revenue=("fare_amount", "sum"),
    )

O código de cada etapa

Toda transformação é uma função Python que você lê, copia e roda de novo.

  • valores ausentes0,2%
  • linhas duplicadas0
  • tipos conferidos21 colunas
  • valores atípicos977

O portão antes da carga

Ausentes, duplicatas, tipos e valores atípicos são verificados antes de gravar. Acima do limite, nada vai para o destino.

  1. 00:01.9orchestratorplan_created
  2. 00:02.4extractorextraction_complete
  3. 00:05.8transformercode_executed
  4. 00:05.9qualitychecks_complete
  5. 00:06.3loaderload_complete

A trilha de cada ação

Cada agente do pipeline registra o que fez e quando, junto com o código e o relatório de qualidade.

Feito para duas pessoas na mesma empresa

Operador técnico

Quem hoje monta o relatório na mão

Configura a fonte, escreve a especificação, audita o código gerado antes de confiar nele. Sabe ler Python e pandas, mas não precisa escrever tudo do zero toda semana.

Consumidor executivo

Quem recebe o resultado e não configura nada

Quer a resposta e a recomendação sem depender de um número que a IA pode ter inventado, porque alguém do time pôde conferir de onde ele veio.

Construído para produção, não só para demonstração

  • Orquestração multiagente com LangGraph e estado explícito
  • Código gerado roda em ambiente isolado, com tempo-limite
  • Isolamento por conta com Row-Level Security no PostgreSQL
  • Nova tentativa automática e saúde das execuções agendadas
  • Saída conferida antes de chegar a você
  • Teto de gasto, estimativa de custo e aprovação antes da carga

Perguntas

O que costumam perguntar

01Meus dados vão inteiros para o modelo?

Não. Para escrever a transformação, o modelo recebe o esquema de cada fonte e uma amostra de três linhas. O código gerado roda em ambiente isolado, sobre a tabela inteira.

02E se o código gerado estiver errado?

Se a execução falhar, o código e o erro voltam ao modelo, em até três tentativas. Depois disso a execução termina como falha, com o motivo registrado, e tudo o que foi gerado fica salvo para leitura.

03Como sei que os dados estão bons?

Um portão de qualidade determinístico verifica valores ausentes, duplicatas, tipos e valores atípicos antes da carga. Se uma coluna passa de 20% de valores ausentes, nada é gravado no destino.

04Quais fontes e destinos são aceitos?

Arquivos CSV, Excel, JSON, PDF e DOCX; bancos PostgreSQL, MySQL, MongoDB e SQLite; APIs REST. Destinos: CSV, PostgreSQL, MySQL, MongoDB e Parquet no S3.

05Quanto custa uma execução?

Você vê uma estimativa antes de rodar e pode definir um teto mensal. No estudo de caso, com o modelo padrão, cada execução custou menos de um centavo de dólar.

06Dá para agendar e exigir aprovação?

Sim. Pipelines que leem bancos ou APIs rodam no horário definido, e você pode exigir aprovação antes de gravar no destino.

Pare de reconciliar fontes à mão toda semana

Descreva o que você quer. Leia o código. Aprove a carga.