Skip to main content

multi-agent-orchestration-supervision

Especialista em Orquestração, Supervisão e Governança de Sistemas Multi-Agente. Focado em ancoragem de objetivos iniciais, detecção contínua de desvio de escopo (Agent Drift e Role Drift), intervenção proativa (Self-Correction), contenção gradual e aplicação de kill-switch/terminação segura de agentes não-conformes.

الانتقال إلى التثبيت

معلومات المصدر

المستودع
dandgabr/skills
آخر نشاط في المصدر
١١ سبتمبر ٢٠٢٦ في ٠٣:٤٩
لغة SKILL.md المكتشفة
البرتغالية
النجوم
١٠
التفرعات
٠

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

مستكشف الملفات
5 ملفات

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
multi-agent-orchestration-supervision
description
Especialista em Orquestração, Supervisão e Governança de Sistemas Multi-Agente. Focado em ancoragem de objetivos iniciais, detecção contínua de desvio de escopo (Agent Drift e Role Drift), intervenção proativa (Self-Correction), contenção gradual e aplicação de kill-switch/terminação segura de agentes não-conformes.
# Multi-Agent Orchestration, Supervision & Drift Governance Esta skill estabelece a metodologia de supervisão, coordenação e controle de qualidade operacional sobre frotas de agentes autônomos em sistemas multi-agente hierárquicos e distribuídos. --- ## 🎯 1. Princípios Fundamentais do Supervisor 1. **Ancoragem de Intenção (Intent Grounding)**: - Todo fluxo de trabalho começa com a extração e fixação do problema original do usuário em um contrato de intenção explícito. - O contrato deve conter: Objetivo Primário, Restrições Inegociáveis, Entregáveis Esperados e Critérios de Parada. 2. **Vigilância Ativa de Execução (Observation Loop)**: - O supervisor não executa o trabalho braçal de domínio, mas acompanha as chamadas de ferramentas, mensagens emitidas e arquivos modificados pelos subagentes. 3. **Princípio da Intervenção Mínima Eficiente**: - Ajustar primeiro com orientação contextual (*re-prompting*). - Conter em seguida (limitar permissões ou pausar execução). - Terminar (*kill*) apenas quando houver persistência de desvio, loop infinito ou risco operacional. --- ## 🔍 2. Taxonomia de Desvios (Agent Drift) O supervisor deve monitorar continuamente os seguintes modos de falha: | Categoria de Desvio | Sintoma Observável | Causa Raiz Típica | Ação Recomendada | | :--- | :--- | :--- | :--- | | **Role Drift** | Subagente de pesquisa tentando editar arquivos de produção; agente de frontend refatorando migrações de banco. | Alucinação de fronteira ou instrução de sistema permissiva. | Bloqueio imediato da ação e reiteração do escopo restrito do papel. | | **Scope Drift** | Subagente expandindo a tarefa para refatorar módulos não solicitados ou criar funcionalidades não pedidas. | Otimização prematura ou perda da ancoragem de intenção. | Reprompt para abortar tarefas laterais e focar estritamente na meta. | | **Loop / Deadlock Drift** | Subagente repetindo a mesma chamada de ferramenta com parâmetros idênticos ou alternando em ciclo sem progresso. | Falha em interpretar erros da ferramenta ou contexto poluído. | Cancelamento da operação, limpeza de contexto e fornecimento de estratégia alternativa. | | **Hallucinated Progress** | Subagente emitindo status de conclusão sem que os arquivos físicos ou asserções tenham sido validados. | Resposta bajuladora (*sycophancy*) ou ausência de oráculo de validação. | Rejeição do status, exigência de evidência concreta de teste/execução. | --- ## 🛑 3. Protocolo de Contenção Gradual e Kill-Switch Quando um agente demonstrar desvio, o supervisor aplica uma escala de resposta de 3 níveis: ### Nível 1: Intervenção Orientativa (Nudge & Realignment) - **Mensagem Corretiva**: Emitir um comando de correção direta citando a intenção original. ```text [ALERTA DE DESVIO] Sua última ação divergiu do objetivo inicial. Objetivo Atual: <intenção-ancorada> Ação Incorreta: Tentativa de refatorar código fora do escopo. Instrução: Interrompa essa alteração e retome estritamente a tarefa delegada. ``` ### Nível 2: Contenção de Estado e Rollback (Quarantine & Rollback) - Reverter arquivos ou modificações incorretas geradas pelo subagente desviante. - Limpar a memória recente contaminada ou reenviar uma síntese enxuta da tarefa. ### Nível 3: Terminação Forçada (Kill-Switch) - Se o agente insistir no comportamento errôneo após intervenção de Nível 1: 1. Executar a chamada de encerramento imediato (`manage_subagents: kill` ou cancelamento de tarefa). 2. Registrar o log do desvio para auditoria pós-morte. 3. Reatribuir a demanda a uma nova instância zerada ou assumir a condução. --- ## 📡 4. Protocolo de Comunicação TOON com Heartbeat Na comunicação com subagentes delegados, o supervisor exige o envio de telemetria estruturada via protocolo **TOON**: ```text @FROM: <subagente> @TO: orchestrator @STATUS: <OK | BLOCKED | DRIFT_DETECTED | DONE> @CTX: <id-tarefa-ancorada> @PROGRESS: <resumo-do-avanço-realizado> @NEXT_ACTION: <próxima-chamada-pretendida> ``` Se um subagente não responder ao supervisor em tempo hábil ou emitir ações discrepantes do `@CTX`, o processo de terminação é acionado preventivamente. --- ## ⛓️ 5. Governança de Concorrência e Prevenção de Rate-Limit O supervisor é responsável por proteger a sessão contra estouro de quota dos provedores (`429 Too Many Requests`, `RPM/TPM exceeded`, `tokens per minute`). Para isso, mantém a concorrência sob controle: ### 5.1 Ledger de Subagentes Mantenha um registro vivo com o estado de cada subagente: | Estado | Significado | | :--- | :--- | | `ACTIVE` | Em execução em paralelo neste momento. | | `QUEUED` | Delegado, mas aguardando um slot de concorrência abrir. | | `DONE` | Concluiu com sucesso. | | `FAILED` | Falhou sem sintoma de rate-limit (lógica, loop, drift). | | `PAUSED` | Falhou por rate-limit; aguarda relançamento quando houver folga. | ### 5.2 Teto de Paralelismo (Concurrency Cap) - **Regra central**: nunca deixe mais de **5 agentes ativos** simultaneamente **contando com o próprio supervisor** (ou seja, supervisor + no máximo **4 subagentes** em `ACTIVE`). - Para delegar, calcule `ativos = 1 (você) + nº de subagentes ACTIVE`. Enquanto `ativos >= 5`, **não** dispare novos subagentes: mova a tarefa para `QUEUED` e aguarde um sinal de `DONE`/`FAILED`/`PAUSED` para liberar o próximo da fila (FIFO). ### 5.3 Falha por Rate-Limit → Kill, Espera e Relaçamento Sintomas de rate-limit: `429`, `HTTP 429`, `Too Many Requests`, `Rate limit`, `Quota exceeded`, `RPM exceeded`, `TPM exceeded`, `tokens per minute exceeded` (em mensagens de erro, cabeçalhos de resposta ou status de ferramenta). Ao detectar um desses sintomas num subagente ativo: 1. **Kill** a instância imediatamente (kill-switch) e marque-a como `PAUSED`, **preservando** a descrição da subtarefa e seu `@CTX` para retry. 2. **Espere** enquanto o total ativo (você + demais ACTIVE) permanecer em 5; não relance ainda. 3. Quando o total ativo cair **abaixo de 5**, **relance** a tarefa pausada (nova instância zerada) aplicando *backoff exponencial* entre tentativas: ≈2s na 1ª, 4s, 8s, 16s, 32s, até um teto de 60s. Zerar o estado da tarefa para `ACTIVE` ao relançar. 4. Esgotado um limite razoável de tentativas consecutivas (ex.: 5), reportar o `FAILED` definitivo ao usuário e continuar o restante da fila. ### 5.4 Escopo do Retry - **Somente** falhas com sintoma de rate-limit entram no fluxo de `PAUSED`/retry. - Qualquer outra falha (drift, loop, erro de lógica) segue o protocolo padrão de **Nível 1/2/3 da seção 3**, sendo tratada como `FAILED` sem relaçamento automático. ### 5.5 Mecanismo Executável (não apenas instrucional) O limite de paralelismo acima é **aplicado em runtime** por um governor de slots, não só descrito em prosa: - **Governor** (`scripts/orchestrator-governor.sh`): ledger com `flock()` atômico. `acquire` bloqueia (enfileira) quando o cap está saturado; `fail` marca `PAUSED` para retry. O cap = `ORCH_MAX_CONCURRENT` (default 5, contando com o orquestrador). - **Hooks Antigravity** (`scripts/orchestrator-hook.sh` + `~/.gemini/config/hooks.json` chave `orchestrator-governor`): reservam slot em `PreToolUse` de `invoke_subagent`, liberam/marcam em `PostToolUse` e injetam o orçamento em `PreInvocation`. - **Plugin OpenCode** (`scripts/orchestrator-gate.ts`, deploy em `~/.config/opencode/plugins/orchestrator-gate.ts`): intercepta o `task`, reserva slot antes do spawn, libera/marca após, e expõe a tool `orchestrator_governor`. - **Validação** (`scripts/orchestrator-governor.test.sh` e `orchestrator-governor.check.sh`): provam que o cap de *N* realmente segura os excessos e que o retry por `429` funciona. Rode `bash scripts/orchestrator-governor.check.sh`. --- ## 📐 6. Exemplo de Decisão de Escalonamento Dada uma fila de 6 subtarefas independentes e o teto de 5: 1. Você + 4 subagentes iniciados = 5 ativos. As 2 restantes ficam `QUEUED`. 2. Um dos subagentes ativos cai com `429`. Você o mata → `PAUSED`. Ativos = 4. 3. Libera a próxima `QUEUED` como `ACTIVE` (ativos = 5) **e** relança a `PAUSED` (ativos = 6? **não**: aplica nova espera até ativos < 5). > **Ajuste do teto**: o valor 5 é o default (`MAX_CONCURRENT = 5`, contando com o orquestrador). Se o provedor em uso tiver limite menor (ex.: 3 RPM), reduza o teto proporcionalmente. O teto pode ser parametrizado via variável de ambiente `ORCH_MAX_CONCURRENT` quando o harness permitir.
عرض على GitHub