Saltar para o conteúdo
Orchestrator & Subagentes

Orchestrator & Subagentes

O agente do Vectora é construído sobre um motor nativo (backend/engine/conversation_loop.py::run_conversation) — um loop imperativo, não um grafo compilado. Isso dá acesso a HITL configurável, backends de filesystem plugáveis, e um supervisor que delega pra subagentes especializados via a tool nativa delegate_to_subagent.

Orchestrator

O supervisor decide, a cada turno: responde direto (perguntas simples, conversas gerais) ou delega pra um subagente com uma instrução explícita. Não há hop de roteamento desnecessário — se a pergunta não precisa de arquivo, terminal ou busca, o orchestrator responde na hora.

Os dois subagentes

SubagenteEspecialidadeTools principais
coderFilesystem, terminal, git — geração e revisão de códigofile_read, file_edit, file_write, grep, list_dir, terminal, tools de git
searchBusca web em tempo real + RAGweb_search, web_fetch, vector_search, embedding, ingest_docs

Não existe um terceiro subagente dedicado a RAG — a recuperação de contexto é uma responsabilidade do search, não um subagente separado.

HITL (Human-in-the-Loop)

Antes de qualquer ação destrutiva (escrever arquivo, rodar comando no terminal, git push), o grafo pausa e pede sua aprovação — via HumanInTheLoopMiddleware nativo do harness, não um interrupt() cru. O comportamento muda pelo modo de permissão ativo:

ModoComportamento
Perguntar sempretoda ação destrutiva pausa
Aceitar ediçõesedições de arquivo passam direto; terminal/git ainda pausam
Autônomonada pausa (uso avançado/confiável)
Planoo agente só planeja, nunca executa

Por que isso importa na prática

Você não precisa confiar cegamente no agente: toda tool call é rastreável, toda ação de risco passa por você antes de acontecer, e a decisão de “responder direto vs. delegar” é visível na UI (o bloco de “thinking” do chat mostra o raciocínio do orchestrator).

Veja também