Pular para o conteúdo principal
Versão: Atual

Orquestração automática

ivoai codex e ivoai opencode compartilham o mesmo core. O primeiro usa admissão via App Server IVOAI e TUI nativa Codex; o segundo usa OpenCode. Veja Frontends orquestrados. ivoai auto é alias deprecated. Para a TUI oficial sem orquestração, escolha --direct explicitamente.

ivoai opencode usa o OpenCode pinado como frontend gerenciado. O IVOAI é a autoridade de prompt, sources, DAG, quota, modelos, workers e integração. Codex, Claude opcional e Native OpenCode elegível mantêm autenticação oficial própria. O IVOAI não copia credentials de providers para o OpenCode.

ivoai codex
ivoai opencode
ivoai opencode --planner codex
ivoai opencode --planner claude

Prompt e plano​

AUTO exige objetivo, entregável e critérios de aceite observáveis. Markdown e headings específicos não são obrigatórios. Exemplo:

Leia VERSION neste repositório e informe seu valor sem alterar arquivos. Aceite: retornar somente a versão encontrada.

Um prompt como “corrija o projeto” retorna Prompt readiness: insufficient, os campos faltantes e waiting_for_refinement. Não há Guided Prompt Builder, execução parcial ou workers antes do gate. O gate usa análise estrutural conservadora; reformule ambiguidades com alvos e resultados verificáveis.

Após readiness, purpose-auto seleciona sources antes de Memory/Context. O primary gera o menor DAG útil. A UI apresenta plano e pede aprovação por padrão; cancelar não inicia workers. plan_execution=immediate permite início sem essa etapa de confirmação, mas não remove o gate, o Skill Gate nem a aprovação de mudança material de routing.

O primary usa modelo STRONG ou MAX comprovado pelo catálogo runtime. Workers usam o menor tier suficiente para cada papel e risco. Modelo e reasoning explícitos incompatíveis falham fechados, sem substituição silenciosa.

Configuração TUI-first​

O monitor de uma sessão pode ser consultado em outro terminal:

ivoai monitor --watch
ivoai monitor --session <session-id> --json

Abra ivoai e o menu de orquestração. As mesmas escolhas persistentes estão disponíveis por ivoai config set / ivoai config get:

Chave (prefixo orchestration.auto.)PadrãoEscolhas
plan_executionapproveapprove, immediate
knowledge_routingpurpose-autopurpose-auto, all-enabled, explicit-only
concurrencyautoauto, sequential
worker_cap0 (auto)0..12
parallel_writestruetrue, false
provider_preferenceautoauto, codex, claude
low_quota_threshold10percentual validado pela configuração
ivoai config set orchestration.auto.plan_execution approve
ivoai config set orchestration.auto.knowledge_routing purpose-auto
ivoai config set orchestration.auto.concurrency auto
ivoai config set orchestration.auto.worker_cap 2
ivoai config set orchestration.auto.parallel_writes true
ivoai config set orchestration.auto.provider_preference auto
ivoai config set orchestration.auto.low_quota_threshold 10

Configuração alterada vale para a próxima sessão gerenciada. Aceite obrigatório, primary forte e MCP deny-by-default são invariantes, não opções para desligar silenciosamente. O modelo/variant picker do OpenCode continua disponível e mostra requested/effective.

Sources e isolamento​

Em purpose-auto, a seleção inicial é conservadora e local, por alias/purpose mencionado. Não é um classificador semântico institucional completo. Ambiguidade não consulta todos os servidores. Uma instrução negativa de source exclui o purpose. Use override explícito para desambiguar:

Use ivoai opencode --knowledge-source company-a; repita --knowledge-source para selecionar um subset explícito com mais de uma source.

all-enabled preserva a federação compatível; explicit-only não seleciona sources implicitamente. Sem necessidade institucional, nenhuma source é consultada. Seleção por sessão é o teto da seleção por worker. Não há fan-out de writes. Profiles, identidade estável e secrets continuam no domínio Connections existente.

Workers recebem contexto local e ResultRefs relevantes, não cópia integral do prompt/brief. MCPs são negados por padrão; acesso selecionado é projetado process-local com ferramentas permitidas. MCP pessoal arbitrário não é herdado.

Escrita paralela e falhas​

Writers aprovados recebem worktree e branch próprias. Paths permitidos, dependências e mudanças coletadas são verificados. O primary coordena em read-only; a integração é feita pelo IVOAI após validação. Nenhum conflito é resolvido automaticamente. Evidência de worktree com falha fica na área privada de recuperação.

Se a criação inicial de worktrees não for possível, inclusive fora de Git, a execução degrada explicitamente para patches sequenciais: o worker continua read-only e o IVOAI verifica/aplica o diff sob lease exclusivo. Paths sensíveis, symlinks, modos especiais, diffs binários e mudanças fora do escopo são rejeitados. Nenhum git init silencioso é executado.

A concorrência usa DAG, CPU, RAM, load, I/O observável e limite do usuário. Falha não vira sucesso por causa de encerramento normal da TUI. DAG incompleto não produz resposta final certificada.

Quota e frontend​

Com quota de 10% ou menos, a UI propõe conservação e pede confirmação. Rejeitar mantém a rota existente enquanto elegível. Uma mudança material posterior exige aprovação própria. O primary permanece forte por padrão.

OpenCode mostra readiness, plano/aprovação, contagens de tarefas/workers, concorrência, executor/model/reasoning, purposes, MCPs e quota. Não mostra transcripts privados ou chain of thought dos workers.

opencode.permission_mode=interactive|full permanece independente: interactive é o default público; full é opt-in persistente. Full elimina aprovações de ferramentas configuráveis, não aprova planos nem desativa sandbox/Skill Gate/policy.

Falha do frontend gerenciado é mostrada como degradação explícita. Uma TUI direta não é anunciada como se ainda oferecesse o mesmo frontend/plano gerenciado. Claude não autenticado é capability indisponível, não erro global; não é necessário fazer login para usar um executor elegível.

Compatibilidade e limites​

Upgrade mantém ServerProfiles, secret refs, MCP registry, autenticação oficial e permission mode. Não exige novo enrollment/login. Novos defaults de orquestração não alteram configurações pessoais dos executores.

Prompts expandidos de workers permanecem transitórios. O checkpoint privado preserva um DAG aprovado e limitado para recuperação segura, sem transcript. Conversation Continuity usa mappings nativos e identidade comprovada. Skills/Ponytail continuam disponíveis. A UI é operacional mínima; Full Console e OpenViking permanecem fora desta release.

Veja Scheduler automático, Connections e WorkingContext.