Engenharia de dados em Databricks, com um agente de código no processo.
Os três repositórios abaixo são um pipeline, as regras que escrevi para o agente trabalhar nele e um experimento que mede se essas regras mudam o resultado.
Demonstrações financeiras anuais das companhias abertas, do ZIP que a CVM publica até tabelas Silver em Delta Lake. O layout da fonte muda entre anos e a companhia republica valores corrigidos sem aviso, por isso a Bronze guarda toda versão e a Silver resolve a vigente na leitura. Captura, histórico e tratamento já rodam; a Gold ainda não existe. Jobs e ambientes declarados em Asset Bundles, Ruff e pytest a cada push. Etapa por etapa, no portfólio.
14 skills para o que as nativas não cobrem: estratégia de gravação, nomenclatura, onde nasce um arquivo novo, como revisar um notebook. Cada uma saiu de um erro que o agente repetia no pipeline da CVM. No começo nenhuma era acionada. Testei três hipóteses sobre a causa, uma por vez, e as três caíram (protocolo). O projeto, no portfólio.
Um pipeline sobre dados de interrupção de energia da ANEEL, construído duas vezes no mesmo workspace: com as skills congeladas em 6c7933e e com elas desligadas. Os mesmos 12 pedidos, na mesma ordem, em 24 sessões com transcrição completa e o raciocínio do agente. Com o primeiro de dois temas fechado, as skills acertam onde o arquivo nasce e que nome ele recebe. Nenhum dos dois braços percebeu que escrevia num catálogo inexistente.
As 24 sessões.
Datas tiradas dos commits dos três repositórios.
evolucao_projeto.md: as decisões do pipeline com data, inclusive as que voltaram atrás, e o motivo de cada volta.6b104fc: o agente acrescentou 48 linhas ao próprio arquivo de instruções, que proíbe exatamente isso. O commit seguinte desfaz.lessons_learned.md: uma correlação que entrou na documentação como requisito e saiu depois de testada.
Databricks, PySpark, Delta Lake, Unity Catalog, Asset Bundles, GitHub Actions, pytest, Ruff.