- O DeepResearch anunciado pela OpenAI resume conteúdo e realiza perguntas e respostas por meio de buscas na web
- Ganhou atenção por alcançar uma pontuação alta no benchmark GAIA
- Combina um LLM poderoso com um framework interno de agentes para usar gradualmente várias ferramentas, como navegação na web
- Como a OpenAI não revelou os detalhes do framework de agentes, foi realizado um experimento de 24 horas para recriá-lo em open source
O que é um framework de agentes e por que ele é importante?
- Um framework de agentes é uma estrutura que adiciona uma camada extra sobre o LLM para permitir a execução de várias ações, como navegar e ler PDFs
- Em vez de usar o LLM apenas como chat simples, combiná-lo com um sistema de agentes o torna muito mais poderoso
- Mesmo aplicando um framework de agentes simples por meio de bibliotecas como
smolagents, o desempenho melhora bastante
- O DeepResearch da OpenAI também obtém desempenho excelente usando essa abordagem
Benchmark GAIA
- O GAIA é um benchmark muito difícil para avaliar o desempenho de agentes
- Como exemplo, é apresentada uma pergunta complexa pedindo para identificar as frutas que aparecem em “Embroidery from Uzbekistan”, conectá-las ao antigo cardápio de café da manhã de uma determinada embarcação e listá-las em ordem
- Com apenas um único LLM, o resultado fica em torno de 7%, mas o DeepResearch ultrapassa 67%, mostrando uma grande diferença
- Como as perguntas do GAIA exigem raciocínio em múltiplas etapas, busca de informação e processamento multimodal, ele é ideal para testar o valor real da abordagem com agentes
Construindo o Open Deep Research
- Foi feito um experimento combinando um LLM open source com um framework de agentes para reproduzir a abordagem do DeepResearch
- O objetivo é elevar o desempenho no GAIA com um navegador web simples baseado em texto e ferramentas para abrir arquivos
- Uso do CodeAgent
- A abordagem CodeAgent expressa ações em forma de código em vez de JSON
- Segundo o estudo de Wang et al. (2024), a representação em código tem a vantagem de ser compacta, intuitiva e otimizada para LLMs
- Ela reduz o número de etapas, diminuindo custos, e também é vantajosa para o gerenciamento de estado multimodal
- Criando ferramentas adequadas
- Primeira ferramenta: navegador web baseado em texto
- Recursos avançados como os do Operator ainda não foram implementados, mas nesta etapa inicial é oferecida apenas navegação simples
- Segunda ferramenta: inspetor para visualizar formatos de arquivo de texto
- Uma ferramenta simples de processamento de documentos oferece suporte para leitura de conteúdo
- No futuro, estão planejados suporte mais detalhado a formatos de arquivo, integração com modelos de visão durante a navegação na web e adoção de agentes GUI
Resultados
- O experimento de reprodução realizado em 24 horas alcançou cerca de 54% no benchmark GAIA
- Ao usar representação em código em vez de JSON, a pontuação subiu de 33% para 54%
- Qualquer pessoa pode reproduzir isso usando o framework aberto
smolagents e as ferramentas disponibilizadas
- Ainda há bastante espaço para melhorar ao combinar um navegador no nível do Operator ou modelos locais mais poderosos
Reimplementações da comunidade
- Várias implementações surgiram na comunidade, incluindo dzhng, assafelovic, nickscamara, jina-ai e mshumer
- Cada uma utiliza bibliotecas diferentes ou testa abordagens distintas de busca/indexação
- A ideia é continuar evoluindo ao compartilhar resultados de reprodução com open LLMs, modelos de visão e representação de ações baseada em código
O próximo passo mais importante
- É importante criar um agente GUI para oferecer recursos avançados de navegação na web, como no Operator da OpenAI
- A intenção é disponibilizar em open source a capacidade de ver a tela e operar com mouse e teclado
- Há planos de aumentar a maturidade integrando com
smolagents, OpenAI Operator e outros
- Melhorar a pontuação no GAIA, utilizar open LLMs e implementar navegação visual na web são os principais desafios
Ainda não há comentários.