Eu implementei:
- Perfil do usuário
- Regras de triagem
- Evento de e-mail simulado
- Modelo Pydantic para saída estruturada
- Prompt de sistema com placeholders
- Ferramentas agênticas com @tool
- Agente ReAct com create_react_agent
- Grafo de triagem com LangGraph
- Router condicional
- Fluxos de responder, notificar e ignorar
- Simulação de escrita de e-mail
- Simulação de agenda
- Simulação de consulta de calendário
e economizei os recursos da seguinte forma:
- A triagem usa uma única chamada estruturada ao Gemini.
- O agente ReAct só roda se a classificação for "responder".
- E-mails ignorados não chamam ferramentas.
- E-mails apenas notificados não chamam o agente ReAct.
- As ferramentas são simuladas, então não há custo externo.
Para trazer mais detalhes do que eu implementei nesta atividade, descrevo da seguinte maneira: criei um agente de e-mails utilizando LangGraph, Pydantic e ferramentas agênticas. O objetivo foi simular um fluxo de triagem automática, no qual um e-mail recebido funciona como evento gatilho para o grafo.
Inicialmente, defini um perfil de usuário e um conjunto de regras de triagem para orientar a classificação dos e-mails. Em seguida, implementei um modelo Pydantic com campos de raciocínio, classificação, prioridade e motivo, garantindo que a resposta do modelo fosse estruturada e mais fácil de utilizar no fluxo.
Também criei ferramentas agênticas com decoradores, como WriteMail, ScheduleMeeting e CheckCalendar, simulando ações que um assistente de e-mails poderia realizar em um ambiente real. Essas ferramentas foram integradas a um agente ReAct criado com create_react_agent, permitindo que o modelo decidisse quando criar rascunhos, consultar disponibilidade ou simular uma reunião.
Por fim, construí um grafo com um nó de triagem e uma função triagem_router, responsável por direcionar o fluxo para responder, notificar ou ignorar o e-mail. Dessa forma, foi possível validar uma arquitetura simples, mas próxima de um cenário real, onde agentes de IA podem auxiliar na organização de mensagens, priorização de demandas e automação controlada de respostas.
link do código: https://github.com/Moquiuti/LangGraph_Orquestrando_agentes_e_multiagentes/blob/main/Criar_agente_de_e_mails.ipynb