image

Acesse bootcamps ilimitados e +650 cursos pra sempre

60
%OFF

FL

Francieli Luchetta21/08/2025 23:17
Compartilhe

Automatizando Tarefas do Dia a Dia com ChatGPT: Guia Prático para Devs com Python e Node.js

    Introdução

    A automação de tarefas repetitivas sempre foi um desafio para desenvolvedores que buscam produtividade e eficiência no dia a dia. Com o avanço das APIs baseadas em inteligência artificial, especialmente o ChatGPT da OpenAI, tornou-se possível simplificar fluxos de trabalho com poucas linhas de código. Neste artigo, compartilho soluções práticas que desenvolvi e testei usando Python e JavaScript (Node.js), voltadas a devs de todos os níveis, com foco em automatizar tarefas comuns como resumos, geração de e-mails e extração de dados estruturados.

    Resumo (Abstract)

    Neste artigo, exploro como a API do ChatGPT pode ser utilizada para automatizar tarefas comuns enfrentadas por desenvolvedores e equipes técnicas, como: resumir textos longos, padronizar registros, gerar rascunhos de e-mails e extrair dados estruturados em formato JSON a partir de texto livre. A abordagem é totalmente prática e baseada em exemplos reais com Python e JavaScript (Node.js), além de contemplar boas práticas como uso de streaming, outputs estruturados e function calling. O artigo culmina em um mini-projeto plug-and-play que demonstra o potencial da integração entre linguagem natural e automação de fluxos operacionais.

    Tecnologias: ChatGPT (OpenAI API), Python, Node.js
    Nível: Iniciante a Intermediário

    Índice

    1. Por que automatizar com ChatGPT
    2. Setup rápido (Python e Node.js)
    3. Exemplo 1: Sumarizar e padronizar texto (Python)
    4. Exemplo 2: Gerar e-mail a partir de tópicos (Node.js)
    5. Exemplo 3: Extrair dados estruturados em JSON (Python)
    6. Exemplo 4: Encadear tarefas com Function Calling (Node.js)
    7. Mini-projeto final: Inbox-to-Insights

    1. Por que automatizar com ChatGPT <a name="1"></a>

    Automatizar com ChatGPT permite transformar entradas não estruturadas em saídas úteis, organizadas e acionáveis. Alguns benefícios diretos:

    • Redução de tempo com tarefas repetitivas (resumos, rascunhos, padronizações).
    • Geração consistente de conteúdo (tom, estrutura e completude).
    • Integração fluida com CLIs, agendadores (CRON), webhooks e automações.
    • Facilidade para orquestrar fluxos com múltiplas etapas.

    2. Setup rápido <a name="2"></a>

    ✅ Ambiente Python

    
    pip install openai
    
    from openai import OpenAI
    client = OpenAI()  # Lê OPENAI_API_KEY do ambiente
    

    ✅ Ambiente Node.js (ESM)

    
    npm install openai
    
    import OpenAI from "openai";
    const client = new OpenAI(); // usa process.env.OPENAI_API_KEY
    
    Dica: Crie a variável de ambiente OPENAI_API_KEY em .env ou diretamente no sistema.

    3. Exemplo 1 — Sumarizar e padronizar texto (Python) <a name="3"></a>

    💼 Caso de uso: resumos executivos

    
    from openai import OpenAI
    client = OpenAI()
    
    TEMPLATE = """Você é um assistente que padroniza resumos executivos.
    Formate a saída assim:
    - Contexto:
    - 3 Principais achados:
    - Riscos:
    - Próximos passos (até 5 itens, numerados):
    """
    
    texto_longo = open("relatorio.txt", "r", encoding="utf-8").read()
    
    resp = client.responses.create(
      model="gpt-5.1-mini",
      input=f"{TEMPLATE}\n---\nConteúdo:\n{texto_longo}"
    )
    
    print(resp.output_text)
    

    4. Exemplo 2 — Gerar rascunho de e-mail a partir de tópicos (Node.js) <a name="4"></a>

    💼 Caso de uso: transformar bullets em e-mail

    
    import OpenAI from "openai";
    const client = new OpenAI();
    
    const bullets = [
    "Agradecer reunião de ontem sobre integração",
    "Anexar documentação da API",
    "Sugerir próxima call 26/08 às 10h",
    "Assinar como seunome, curso"
    ];
    
    const prompt = `Escreva um e-mail breve e profissional em PT-BR.
    Tom: cordial e direto.
    Bullets: ${bullets.map(b => "- " + b).join("\n")}
    Inclua assunto e corpo final.`;
    
    const resp = await client.responses.create({
    model: "gpt-5.1-mini",
    input: prompt
    });
    
    console.log(resp.output_text);
    

    5. Exemplo 3 — Structured Outputs (Python) <a name="5"></a>

    💼 Caso de uso: extrair dados estruturados para planilhas ou APIs

    
    from openai import OpenAI
    client = OpenAI()
    
    schema = {
    "type": "object",
    "properties": {
      "cliente": {"type": "string"},
      "prioridade": {"type": "string", "enum": ["baixa","média","alta"]},
      "itens": {"type": "array", "items": {"type": "string"}},
      "prazo_dias": {"type": "integer", "minimum": 0}
    },
    "required": ["cliente","prioridade","itens"]
    }
    
    texto = """
    Pedido da ACME LTDA: precisamos de 200 etiquetas térmicas e 3 leitores de código.
    Prioridade alta. Entregar ainda este mês, se possível.
    """
    
    resp = client.responses.create(
      model="gpt-5.1-mini",
      input=f"Extraia para o JSON no schema abaixo:\n{texto}",
      response_format={ "type": "json_schema", "json_schema": schema }
    )
    
    print(resp.output_parsed)
    

    6. Exemplo 4 — Encadeamento com Function Calling (Node.js) <a name="6"></a>

    
    import OpenAI from "openai";
    const client = new OpenAI();
    
    async function criarTarefa({ titulo, prazo }) {
    return { ok: true, id: "T-987" };
    }
    
    const tools = [{
    type: "function",
    function: {
      name: "criarTarefa",
      description: "Cria uma tarefa no sistema",
      parameters: {
        type: "object",
        properties: {
          titulo: { type: "string" },
          prazo: { type: "string", description: "YYYY-MM-DD" }
        },
        required: ["titulo"]
      }
    }
    }];
    
    const userInput = "Registrar tarefa: 'Enviar proposta para ACME' até 2025-08-26.";
    
    const first = await client.responses.create({
    model: "gpt-5.1-mini",
    input: userInput,
    tools
    });
    
    const call = first.output[0]?.content?.find(c => c.type === "tool_use");
    
    if (call?.name === "criarTarefa") {
    const result = await criarTarefa(call.input);
    const followup = await client.responses.create({
      model: "gpt-5.1-mini",
      input: [
        { role: "user", content: userInput },
        { role: "tool", tool_call_id: call.id, content: JSON.stringify(result) }
      ]
    });
    console.log(followup.output_text);
    } else {
    console.log(first.output_text);
    }
    

    7. Mini-projeto final: Inbox-to-Insights <a name="7"></a>

    🎯 Objetivo: transformar anotações soltas em três artefatos úteis

    Fluxo:

    1. Entrada: arquivo .txt com texto livre.
    2. Passo A (Python): gerar resumo.md.
    3. Passo B (Node.js): gerar e-mail a partir do resumo.
    4. Passo C (Python): extrair JSON {responsável, ação, prazo} e salvar em acoes.json.
    Resultado: um pipeline completo com três saídas reutilizáveis para produtividade real.

    Conclusão

    Os exemplos apresentados demonstram como o ChatGPT, aliado a linguagens populares como Python e JavaScript, pode se tornar uma ferramenta poderosa para automação inteligente. A proposta vai além do simples uso de IA: ela mostra como estruturar saídas, integrar com funções reais e criar pipelines reutilizáveis. Acreditando no potencial transformador dessa tecnologia, este artigo é uma forma de inspirar outros devs a explorarem soluções que unam código, criatividade e linguagem natural.
    Compartilhe
    Recomendados para você
    Ri Happy - Front-end do Zero #2
    Avanade - Back-end com .NET e IA
    Akad - Fullstack Developer
    Comentários (0)