image

Access unlimited bootcamps and 650+ courses forever

70
%OFF
Article image
Vinicius Hoffmann
Vinicius Hoffmann16/05/2026 08:54
Share

A Arquitetura: Engenharia de Prompt e o Segredo do Contexto

    image

    Para que um Large Language Model (LLM) consiga analisar dados com precisão, ele não precisa ler o seu arquivo de dados inteiro, o que consumiria milhares de tokens desnecessariamente. Ele só precisa entender os metadados, ou seja, a estrutura das colunas.

    O coração do nosso arquivo agente_looqbox.py reside em passar dinamicamente a lista de colunas para o system_prompt:

    colunas = base_marketing.columns.tolist()
    
    
    system_prompt = f"""
    Você é um Engenheiro de Dados sênior. 
    O usuário tem um DataFrame chamado 'base_marketing' com estas colunas: {colunas}.
    
    
    Sua tarefa:
    1. Escreva o código Python para responder à pergunta.
    2. Se envolver comparação ou tendência, gere um gráfico usando matplotlib ou seaborn.
    3. Para gráficos: use 'fig, ax = plt.subplots()', configure o gráfico e finalize com 'st.pyplot(fig)'.
    4. Para insights em texto: use 'st.write()' ou 'st.info()'.
    5. NÃO use blocos de código (```python). Retorne apenas o código puro.
    6. O DataFrame 'base_marketing' já está carregado, não tente ler o CSV novamente.
    """
    
    

    O Truque de Mestre no Prompt:

    Restrição de Entrada: Ao injetar {colunas}, o modelo sabe exatamente se o usuário está perguntando sobre "Google Ads" ou "TikTok Ads" e usa o nome exato da variável contida no banco.csv.

    Saída "Clean": O comando para não usar blocos de código python garante que a resposta retorne como uma string limpa de script Python puro.

    O Canvas Dinâmico: Trazendo Código à Vida com exec()

    Uma vez que o gpt-4o-mini processa a pergunta e retorna o código correto baseado nas nossas instruções, como fazemos para esse código rodar e renderizar um gráfico na tela do usuário?

    A mágica acontece utilizando a função nativa exec() do Python encapsulada dentro de um container do Streamlit:

    # O Canvas Dinâmico: Aqui o código da IA toma vida
    try:
      with st.container(border=True):
          exec(codigo_gerado)
    except Exception as e:
      st.error(f"Erro ao processar os dados: {e}")
      with st.expander("Ver código gerado"):
          st.code(codigo_gerado)
    
    

    O que acontece aqui sob a ótica de Engenharia de Software:

    • Isolamento Visual: O st.container(border=True) delimita o espaço da resposta criando um aspecto de "widget vivo" ou "canvas".
    • Tratamento de Erros Resiliente: Se a IA cometer um erro de sintaxe ou tentar usar uma coluna inexistente, o sistema não quebra (crash). Ele exibe um erro amigável e abre um st.expander para que o desenvolvedor inspecione o código gerado, facilitando o debug.

    Casos de Uso Avançados na Prática

    Com essa estrutura, nossa aplicação ganha uma flexibilidade infinita. O usuário pode rodar cenários complexos de E-commerce apenas digitando no chat:

    • Análise de ROI tradicional: "Compare o investimento de Google Ads vs TikTok Ads em barras." -> O agente gera o agrupamento por colunas e monta o gráfico de matplotlib.
    • Estatística e Correlação: "Crie um heatmap de correlação para entender o impacto dos influenciadores nas vendas." -> O agente invoca o seaborn.heatmap() combinando variáveis numéricas e categóricas.
    • Modelagem Preditiva: O backend está preparado com scikit-learn permitindo estender o agente para prever vendas futuras via Regressão Linear com prompts como: "Trace uma linha de tendência para os próximos dias".

    Conclusão e Próximos Passos

    Desenvolver soluções focadas em IA generativa vai muito além de criar simples wrappers de API de Chat. Trata-se de entender como integrar o poder cognitivo dos LLMs com o ecossistema de dados tradicional do Python (Pandas, Numpy, Matplotlib).

    O Marketing Intelligence Engine demonstra que, com menos de 80 linhas de código estruturado, podemos criar uma ferramenta com poder analítico sênior, pronta para rodar em produção na nuvem através do Streamlit Community Cloud.

    E você, já pensou em substituir seus relatórios mensais por um agente conversacional autônomo?

    Gostou do projeto? Conecte-se comigo aqui na DIO e confira o repositório completo com demonstrações em vídeo no meu GitHub!

    https://github.com/viniciushoffmanndev/marketing-intelligence-engine

    Share
    Recommended for you
    GFT - Fundamentos de Cloud com AWS
    Bootcamp Afya - Automação de Dados com IA
    Bootcamp NTT DATA: Backend Java com Spring AI
    Comments (0)