Agentes autônomos de inteligência artificial destacam-se pela capacidade de decompor metas complexas em subtarefas iterativas e executá-las de modo independente. No entanto, quando restritos aos pesos estáticos de treinamento do modelo de linguagem subjacente, esses agentes tornam-se incapazes de consultar tabelas de preços vigentes, documentações técnicas recentes ou notícias em tempo real. No AgentGPT—plataforma de código aberto voltada para a criação e implantação de agentes inteligentes diretamente no navegador—, habilitar a pesquisa autônoma na internet requer conectar o sistema a APIs de busca estruturadas e plugins de leitura de páginas web.
Sem ferramentas de rede ativas, o AgentGPT limita-se a deduções de sua memória interna, gerando respostas com alucinações e defasagem temporal. Uma vez configurada uma chave de busca e ferramentas adequadas de navegação, o agente passa a formular consultas no Google, analisar resultados em formato JSON, inspecionar links externos e sintetizar relatórios objetivos. Este guia orienta desenvolvedores e pesquisadores na integração da API do Serper em ambientes na nuvem e com Docker, na extensão do backend para raspagem detalhada de páginas e na redação de instruções que impedem o desvio de tarefas e o consumo desnecessário de tokens.
1. Funcionamento da conexão web no AgentGPT
O AgentGPT opera sobre um ciclo contínuo de "pensar (think), planejar (plan), executar (act) e avaliar (evaluate)". Ao receber um objetivo de pesquisa complexo (por exemplo, "mapear os modelos de cobrança dos principais bancos de dados vetoriais em 2026"), o agente divide o problema em uma fila sequencial de tarefas.
Para as etapas que demandam informações externas em tempo real, o backend em Python do AgentGPT (platform/reworkd_platform/web/api/agent/tools/) aciona uma camada de ferramentas baseada nas abstrações da biblioteca LangChain.
Por que o Serper é o padrão nativo
Em vez de recorrer a técnicas frágeis de web scraping com navegadores headless—que frequentemente esbarram em bloqueios por CAPTCHA—, o AgentGPT integra por padrão a API do Serper (serper.dev). O Serper é um serviço de alta velocidade que consulta o Google e devolve dados estruturados em JSON contendo:
- Snippets orgânicos com títulos e resumos das páginas.
- URLs de fontes confiáveis.
- Paineis de conhecimento e caixas de perguntas frequentes.
Ao trabalhar diretamente com JSON pré-processado, o modelo evita o processamento de árvores DOM extensas, poupa a janela de contexto de tokens e minimiza falhas causadas por barreiras anti-raspagem.
2. Passo a passo de configuração: Nuvem versus Docker local
A configuração das ferramentas de busca varia conforme o ambiente escolhido: a interface hospedada na nuvem ou a instalação local via Docker.
Método A: Interface web na nuvem (agentgpt.reworkd.ai)
- Obtenção das credenciais:
- Cadastre-se no Serper para obter sua chave de API gratuita (o plano inicial disponibiliza 2.500 consultas de cortesia).
- Tenha em mãos sua chave da API da OpenAI.
- Acesso às configurações: Clique no ícone de Settings (Configurações) localizado na barra lateral esquerda.
- Preenchimento dos parâmetros:
- Em Model, dê preferência ao
GPT-4ougpt-4o. Modelos mais avançados identificam com maior precisão o momento ideal de acionar buscas e filtram com rigor as informações obtidas. - Insira sua OpenAI API Key.
- Cole a chave obtida no campo Serper API Key.
- Em Model, dê preferência ao
- Definição de limite de iterações (Loop Limit): Estabeleça um teto de 5 a 15 passos para viabilizar pesquisas com múltiplas fontes sem correr o risco de execuções em loop infinito.
Método B: Instalação local com Docker
Para equipes que desejam rodar o repositório em servidores próprios ou ambiente de desenvolvimento:
- Clonagem do repositório:
git clone https://github.com/reworkd/AgentGPT.git cd AgentGPT - Criação do arquivo de ambiente:
Copie o modelo de variáveis de ambiente na raiz do projeto:
cp .env.example .env - Configuração das chaves:
Abra o arquivo
.enve certifique-se de preencher as seguintes variáveis:# Chave do modelo de linguagem OPENAI_API_KEY=sk-your-openai-api-key-here # Chave da API de busca SERPER_API_KEY=your-serper-api-key-here # Limites de execução do agente NEXT_PUBLIC_MAX_LOOPS=15 REWORKD_PLATFORM_MAX_LOOPS=15 - Execução dos contêineres:
Execute o script de automação ou inicie via Docker Compose:
Com os contêineres ativos, acesse./setup.sh # Ou manualmente: docker compose up --buildhttp://localhost:3000pelo navegador. O backend FastAPI (na porta8000) carregará automaticamente a variávelSERPER_API_KEY, injetando-a no módulo de busca (search.py).
3. Extensão prática: Adicionando plugins de leitura de páginas completas
Os resumos retornados pelo Serper possuem entre 150 e 200 caracteres. Para estudos aprofundados que exigem comparar exemplos de código, ler termos de licenciamento ou examinar tabelas complexas, os snippets de busca podem se mostrar limitados.
Diferença entre busca e navegação profunda
- Busca (Search): Mapeia de forma ampla as URLs candidatas que contêm a resposta desejada.
- Navegação (Browsing / Scraping): Acessa o link de destino e extrai o corpo do texto na íntegra.
Criando uma ferramenta personalizada de navegação
Os desenvolvedores podem implementar novas ferramentas no diretório platform/reworkd_platform/web/api/agent/tools/. Uma ferramenta eficiente de navegação deve contemplar:
- Limpeza e extração de texto: Remover elementos não informativos como cabeçalhos, rodapés, anúncios e tags JavaScript com o auxílio de bibliotecas como
BeautifulSoupoutrafilatura. - Conversão para Markdown: Estruturar o conteúdo legível em Markdown, preservando listas e tabelas.
- Controle de tamanho de contexto: Truncar o texto extraído (por exemplo, em até 4.000 caracteres) para não estourar a janela de contexto nem onerar a fatura da API.
Estrutura de código em Python para um plugin de leitura:
from pydantic import BaseModel, Field
import httpx
from bs4 import BeautifulSoup
class BrowseInput(BaseModel):
url: str = Field(..., description="URL HTTPS da página a ser lida e inspecionada")
async def browse_page(url: str) -> str:
headers = {"User-Agent": "AgentGPT-ResearchBot/1.0"}
async with httpx.AsyncClient(timeout=10.0, follow_redirects=True) as client:
response = await client.get(url, headers=headers)
if response.status_code != 200:
return f"Erro: O servidor retornou status HTTP {response.status_code}."
soup = BeautifulSoup(response.text, "html.parser")
# Remoção de tags irrelevantes
for tag in soup(["script", "style", "nav", "footer", "header", "aside"]):
tag.decompose()
texto_limpo = soup.get_text(separator="\n", strip=True)
# Limite para otimizar consumo de tokens
return texto_limpo[:4000]
Integrado ao lado de search.py, o fluxo permite que o AgentGPT localize endereços relevantes com o Serper e use a ferramenta de leitura para dissecar as páginas prioritárias.
4. Prompts estruturados: Como evitar o desvio de tarefas (Task Drift)
Um comportamento indesejado frequente em agentes autônomos é o desvio de tarefas (Task Drift), no qual o agente gera pesquisas periféricas sem relevância ou fica preso em checagens repetitivas. A definição de metas claras e delimitadas elimina esse problema.
Critérios para elaboração do prompt de pesquisa
- Definição precisa do objeto: Especificar claramente as ferramentas, bibliotecas e parâmetros a pesquisar.
- Marco temporal: Exigir dados condizentes com um período específico (ex.: "informações vigentes em 2026").
- Fontes prioritárias: Orientar o agente a consultar documentações oficiais e repositórios verificados.
- Formato de entrega: Solicitar uma síntese estruturada em tabela Markdown.
Exemplo de prompt para pesquisa
Nome do Agente: PesquisadorDeInfraestrutura
Objetivo: Conduzir análise comparativa de preços entre Pinecone, Qdrant Cloud e Weaviate Cloud.
1. Use a busca na web para coletar limites gratuitos, custo por unidade de leitura/escrita Serverless e planos mínimos de cluster em 2026.
2. Identifique os critérios de cobrança de armazenamento e de unidades de consulta de cada solução.
3. Concluída a coleta dos três serviços, encerre a geração de novas tarefas e consolide os dados em uma tabela comparativa em Markdown acompanhada dos links oficiais.
Sob esse comando, o AgentGPT executa de forma metódica:
Tarefa 1: Buscar preços do Pinecone Serverless e unidades de consulta para 2026.Tarefa 2: Pesquisar custos de nós gerenciados e armazenamento no Qdrant Cloud.Tarefa 3: Levantar planos de instâncias e suporte no Weaviate Cloud.Tarefa 4: Confrontar os dados e gerar a tabela consolidada em Markdown.
5. Resolução de problemas comuns e ciclo de vida do projeto
| Sintoma | Causa provável | Ação corretiva |
|---|---|---|
Erro 403 Forbidden na busca | SERPER_API_KEY ausente, incorreta ou cota gratuita esgotada. | Revise o .env retirando aspas extras; verifique o saldo de consultas em serper.dev. |
| Buscas contínuas em loop infinito | Falta de condição de parada no prompt ou limite de passos não definido. | Ajuste MAX_LOOPS para 10 ou 15; determine no prompt para resumir após consultar 3 fontes. |
| Interpretação incorreta de dados ou alucinação | Uso de modelos menores (como GPT-3.5) que falham ao interpretar o retorno em JSON. | Altere o modelo do agente para o GPT-4 ou equivalente de alta capacidade. |
Modificações no .env não afetam o Docker | Os contêineres reiniciaram utilizando camadas em cache. | Execute docker compose down && docker compose up --build para recompilar os serviços. |
Panorama atual do projeto
Em janeiro de 2026, o repositório reworkd/AgentGPT foi arquivado e colocado em modo somente leitura por seus mantenedores, refletindo o reposicionamento da startup para soluções corporativas de raspagem e extração de dados. Ainda que não receba novas atualizações de funcionalidades, sua arquitetura continua sendo um dos pilares de referência para agentes no navegador. Para implementações em produção, as equipes costumam migrar esses princípios operacionais para ecossistemas como LangGraph ou CrewAI, acoplando ferramentas como o Firecrawl para extração web em larga escala.