Agentes de IA e Automação de Pesquisa: Integrando PydanticAI com Notion e YouTube
Introdução: A Era da Automação Inteligente
A pesquisa e a organização de informações tornaram-se tarefas cada vez mais complexas no cenário digital atual. Com a proliferação de conteúdo, especialmente em plataformas como o YouTube, surge a necessidade de ferramentas inteligentes capazes de automatizar a coleta e o gerenciamento de dados. Recentemente, a exploração de agentes de Inteligência Artificial para este fim tem ganhado destaque.
Neste artigo, vamos mergulhar no processo de construção de um agente de IA projetado para pesquisar vídeos no YouTube e organizar os resultados de forma estruturada no Notion, uma plataforma versátil para notas e gestão de projetos. O coração desta automação reside na biblioteca PydanticAI, com o apoio inestimável da ferramenta de codificação assistida por IA, Cursor, que realizou a maior parte do trabalho de programação, como demonstrado por Greg Bogus em seu vídeo.
PydanticAI: Simplificando a Construção de Agentes Inteligentes
O PydanticAI é um framework Python robusto, concebido para facilitar a criação de agentes de IA baseados em Modelos de Linguagem Grandes (LLMs). Desenvolvido pela mesma equipe por trás da popular biblioteca Pydantic, ele se destaca por tornar o desenvolvimento de aplicações de IA de nível de produção menos oneroso. A principal inovação do PydanticAI é a sua capacidade de abstrair a complexidade na definição de ferramentas, que são essenciais para que os LLMs interajam com sistemas externos.
Em vez de criar manualmente esquemas JSON verbosos para descrever as funções (ferramentas) que um LLM pode utilizar, o PydanticAI permite que os desenvolvedores definam funções Python padrão com docstrings informativas. O framework, então, converte automaticamente essas funções em definições de ferramentas compreensíveis pelos LLMs, otimizando o processo de desenvolvimento e tornando os agentes mais confiáveis. Isso é particularmente útil para modelos como o Claude 3.5 Sonnet da Anthropic, que foi o LLM utilizado no agente construído.
Integrando o Notion à sua Automação com a API do Notion
Para que nosso agente de IA pudesse interagir com o Notion, foi fundamental configurar uma integração interna através da API do Notion. Este processo envolveu:
- Criação de uma nova integração interna (nomeada "Scribe" no exemplo).
- Definição das permissões de conteúdo necessárias: ler, atualizar e inserir conteúdo.
- Configuração do token de integração do Notion como uma variável de ambiente (`NOTION_TOKEN`), garantindo a segurança e o acesso programático.
- Conexão explícita da integração a uma página específica do Notion, o que permite que o agente acesse e manipule apenas o conteúdo autorizado.
A biblioteca notion-sdk-py
foi utilizada para facilitar essa interação. Com a ajuda do Cursor e sua funcionalidade de contextualização via `@docs` (que permite que o Cursor acesse e utilize documentação externa para gerar código), o agente foi capaz de gerar funções Python para:
- **`get_page_by_title`**: Para recuperar páginas do Notion pelo título.
- **`add_block_to_page`**: Para adicionar blocos de texto a uma página existente.
- **`create_subpage`**: Para criar novas subpáginas dentro de uma página pai.
Essas funções serviram como as "mãos" do nosso agente para manipular o ambiente do Notion.
Expandindo Horizontes: A API de Dados do YouTube como Ferramenta de Pesquisa
Um agente de pesquisa eficaz precisa ir além dos dados internos de uma plataforma de notas. Para acessar informações externas, integramos a API de Dados do YouTube. Este passo permitiu que o agente realizasse buscas de vídeos e coletasse informações detalhadas diretamente da plataforma de vídeo. Similarmente à integração com o Notion, o Cursor foi empregado para desenvolver as funções necessárias, incluindo:
- **`search_youtube_videos`**: Para pesquisar vídeos no YouTube com base em uma consulta específica.
- **`get_video_details`**: Para obter informações detalhadas sobre um vídeo, dado seu ID.
A beleza do PydanticAI se manifesta novamente aqui. Ao decorar essas funções com `@agent.tool_plain`, o framework automaticamente as registra como ferramentas disponíveis para o LLM. Isso significa que o LLM, em vez de "saber" como pesquisar no YouTube ou interagir com o Notion, é instruído sobre a existência dessas ferramentas e como seus parâmetros e descrições podem ser usados para atingir objetivos específicos.
O Agente em Ação: Orquestrando Tarefas Complexas
Com as integrações do Notion e do YouTube configuradas e as funções expostas ao LLM via PydanticAI, o agente demonstrou sua capacidade de realizar operações complexas de forma autônoma. O exemplo no vídeo ilustra tarefas impressionantes:
- **Gerando Ideias de Títulos para o YouTube no Notion**: O agente foi solicitado a "recuperar a página chamada Scribe. Adicionar a ela uma subpágina chamada YouTube Title Ideas. Nesta página, criar 10 novas ideias de títulos para um vídeo do YouTube sobre PydanticAI e Notion API." O agente, de forma inteligente, identificou as ferramentas necessárias (buscar página, criar subpágina, adicionar blocos), as utilizou na ordem correta e gerou uma lista de 10 ideias de títulos diretamente no Notion.
- **Pesquisando no YouTube e Registrando Dados de Visualizações**: Em um desafio ainda mais complexo, o agente recebeu a instrução: "pesquisar no YouTube por PydanticAI. Obter a contagem de visualizações para dez vídeos. Escrever os dados em uma nova página sob a página chamada Scribe no Notion." O agente não só pesquisou o YouTube e obteve os dados de visualização, mas também criou uma nova página no Notion ("PydanticAI YouTube Data") sob a página "Scribe" e preencheu-a com as informações coletadas, demonstrando a capacidade de encadeamento de ferramentas e tomada de decisões.
Esse processo, que antes exigiria intervenção manual e a escrita de código complexo para cada passo, é agora orquestrado pelo agente de IA. O LLM, por meio das descrições das funções e do contexto da conversa, consegue determinar qual ferramenta usar e como usá-la para alcançar o objetivo final. Isso ilustra um nível de automação que transcende simples respostas textuais.
Conclusão: O Futuro da Automação com Agentes de IA
O projeto demonstra o poder transformador dos agentes de IA, especialmente quando combinados com frameworks como o PydanticAI. A capacidade de abstrair as complexidades das chamadas de API e da definição de ferramentas permite que os desenvolvedores se concentrem na lógica de negócios e nos objetivos do agente, em vez de nos detalhes técnicos da integração. Cursor, como assistente de codificação, acelerou significativamente o desenvolvimento, escrevendo grande parte do código funcional.
Este é apenas o começo. O potencial para automatizar tarefas ainda mais complexas, como a análise de dados e a geração de relatórios detalhados, é imenso. Com a evolução contínua dos LLMs e dos frameworks de agentes, a fronteira entre o que é possível e o que é futurista está em constante mudança. A automação impulsionada por IA não é mais uma visão distante, mas uma realidade tangível, capaz de otimizar fluxos de trabalho e liberar o potencial humano para tarefas mais estratégicas.