Deploy Polaris: Agente de Pesquisa com IA Open-Source para o Seu Laboratório

Deploy Polaris: Agente de Pesquisa com IA Open-Source para o Seu Laboratório

A maioria dos “assistentes de pesquisa com IA” são wrappers de chatbot: leem um artigo, respondem perguntas e, no máximo, rascunham um parágrafo. O Polaris, open-sourced esta semana pelo laboratório ZJU-REAL da Universidade de Zhejiang, é o oposto. Ele executa todo o ciclo de vida da pesquisa como um único sistema — levantamento bibliográfico, geração de ideias, revisão de ideias, experimentos em GPU, escrita do artigo em LaTeX e revisão do artigo — e cada estágio produz artefatos que o estágio seguinte consome, com toda passagem de bastão podendo pausar em um portão de aprovação humana.

A decisão de engenharia que vale a pena copiar: o trabalho pesado (crawling, parsing, deduplicação, extração de métricas, correspondência de citações) é código determinístico. Os LLMs ficam reservados para decisões que exigem julgamento — pontuação, síntese, redação, revisão. Essa divisão mantém as execuções baratas, reproduzíveis e auditáveis, que é exatamente o padrão que você quer em qualquer projeto sério de agente.

Seis estágios, um pipeline, além de um núcleo de agente Voyage

  • Literatura: ingere artigos do OpenAlex, Semantic Scholar e arXiv. O cold start faz snowball de citações a partir de artigos-âncora e depois compila uma página wiki interligada por artigo (TL;DR, método, ideias reaproveitáveis, backlinks de conceitos) — um wiki por artigo, compartilhado em toda a plataforma, para que um artigo nunca seja lido de forma diferente dependendo de onde você o abriu.
  • Ideia: análise de lacunas com múltiplos sinais sobre a base de conhecimento (buracos de coocorrência de conceitos, limitações extraídas, velocidade das tendências) orienta a geração de ideias com recuperação planejada. As ideias são pontuadas em novidade, viabilidade, operacionalidade e impacto.
  • Revisão de ideias: agentes revisores com personas configuráveis debatem em pares; um juiz produz um ranking de torneio via Elo. Membros do laboratório entram ao vivo via WebSocket e seus comentários entram no contexto dos agentes como input de primeira classe.
  • Experimento: credenciais SSH criptografadas com Fernet chegam aos servidores de GPU do laboratório. Um Voyage de experimento faz perguntas de intake, planeja o estudo, passa por uma verificação de orçamento computacional, escreve código, roda um smoke test, lança as execuções com logs em streaming e curvas de métricas ao vivo e depois itera automaticamente — parseia métricas, reflete, melhora ou para — reparando falhas sob um orçamento de tempo em vez de uma contagem fixa de tentativas. Quando está genuinamente travado, pede ajuda ao usuário em vez de falhar.
  • Escrita do artigo: projeto LaTeX multiarquivo (templates NeurIPS/ICLR/ACL) com editor CodeMirror 6, edição colaborativa CRDT em tempo real e compilação server-side com tectonic para um PDF ao vivo. Números de experimento só podem vir de métricas reais das execuções; citações precisam mapear para entradas reais da base de conhecimento.
  • Revisão do artigo: verificação de citações antes do portão de submissão.

Toda tarefa longa roda como um Voyage: uma execução de agente persistida, retomável e com portões humanos, que pode durar horas ou dias sem perder estado. Esta é a arquitetura a copiar — trabalho de agentes de longa duração como execuções auditáveis e reiniciáveis, não chamadas fire-and-forget.

Coloque para rodar em dois comandos

Docker Compose é o caminho recomendado, em desenvolvimento e produção — sem Python, Node ou banco de dados locais:

cp .env.example .env        # defina chaves dos provedores e secrets
make dev                    # stack completa via docker compose, hot reload

Frontend em http://localhost:5173, documentação da API em http://localhost:8000/docs. Para produção, use as imagens pré-compiladas do Docker Hub — sem build local:

cp .env.example .env        # POLARIS_ENV=prod, POLARIS_IMAGE_TAG, secrets, chave LLM
docker compose --env-file .env -f docker/docker-compose.yml pull
docker compose --env-file .env -f docker/docker-compose.yml up -d
docker compose -f docker/docker-compose.yml exec api alembic upgrade head   # obrigatório na primeira execução

Três pegadinhas: o container worker é obrigatório (ele executa todas as tarefas longas); a migração da primeira execução é necessária porque as tabelas do Postgres não são criadas automaticamente; e o .env na raiz do repositório controla POLARIS_ENV, POLARIS_IMAGE_TAG e as chaves do seu provedor de modelos.

Roteamento de modelos: uma única fronteira de LLM, orientada a banco de dados

Todas as chamadas de modelo passam por uma única camada de abstração. Uma tabela de roteamento no banco mapeia cada estágio da pesquisa para um provedor, um modelo e um nível de esforço de raciocínio — modelos baratos para pontuação, modelos fortes para debate e redação. Admins definem rotas globais; usuários individuais podem sobrescrever as suas. A escolha do modelo é configuração, não código fixo, e o provedor fake embutido é estruturalmente desabilitado em produção. Copie isso para qualquer sistema de agente multiestágio.

Exponha sua stack de pesquisa ao Claude Code via MCP

O Polaris vem com um servidor MCP somente leitura (Streamable HTTP e stdio) que expõe literatura, conhecimento, estado de projetos, manuscritos e busca externa. Aponte o Claude Code, Codex ou Cursor para ele e as ferramentas do seu agente poderão consultar o wiki de pesquisa diretamente. Cada ferramenta tem um self-check e um playground para experimentar, então você pode testar antes de integrar. É um padrão limpo para dar a agentes de código externos acesso somente leitura a uma base de conhecimento de domínio — a mesma direção para a qual o tráfego de agentes caminha em geral.

Dicas práticas

  • Faça antes um tour na demo ao vivo: entre em http://101.37.174.109:8080 com guest / zjuguest123 — somente leitura, sem chamadas de modelo, mas com todas as telas, incluindo as visões de admin.
  • Copie a divisão determinístico-vs-julgamento. É por isso que as execuções são baratas o suficiente para rodarem por horas.
  • Trate toda tarefa longa como uma execução retomável, com portões humanos e memória baseada em arquivos entre os passos.
  • Clientes desktop (macOS/Windows/Linux) estão na página de Releases. Os builds não são assinados: no macOS é preciso rodar xattr -dr com.apple.quarantine uma vez, e no Ubuntu 24.04 pode ser necessário --no-sandbox.

Recursos

Notícias Relacionadas