O que polywave-go faz?
Coordenação paralela de agentes agnóstica em relação ao provedor para LLMs — Anthropic, OpenAI, Ollama ou qualquer endpoint compatível com OpenAI. Isolamento paralelo de worktree, contratos de interface e execução classificada por níveis em escala.
Visão Geral
polywave-go permite orquestrar múltiplos agentes LLM trabalhando em paralelo, cada um em seu próprio worktree isolado. A skill gerencia automaticamente:
- Isolamento: Cada agente opera em um diretório de trabalho separado, evitando conflitos de arquivos ou estado.
- Contratos de Interface: Defina esquemas de entrada/saída que os agentes devem seguir, garantindo interoperabilidade.
- Execução por Níveis: Atribua agentes a diferentes níveis (ex.: rápido, padrão, profundo) para controlar custos e latência.
Provedores Suportados
| Provedor | Tipo | Variáveis de Ambiente Necessárias |
|---|---|---|
| Anthropic | Claude | ANTHROPIC_API_KEY |
| OpenAI | GPT | OPENAI_API_KEY |
| Ollama | Local | OLLAMA_HOST (opcional, padrão: http://localhost:11434) |
| OpenAI-compatível | Genérico | OPENAI_BASE_URL, OPENAI_API_KEY |
Instalação
Adicione a skill ao seu projeto de agente (ex.: para Claude Code):
claude add skill blackwell-systems/polywave-go
Configuração via variáveis de ambiente:
export POLYWAVE_PROVIDER=anthropic
export ANTHROPIC_API_KEY=sk-ant-...
Uso Básico
Definir Contratos de Interface
Crie um arquivo contracts.yaml no diretório raiz:
contracts:
- name: "analisar-codigo"
input:
arquivo: string
contexto: string
output:
vulnerabilidades: list
metricas: object
- name: "gerar-testes"
input:
arquivos: list
cobertura: number
output:
codigo_teste: string
instrucoes: string
Executar Agentes em Paralelo
from polywave import orchestrator
# Configurar agente para análise de código
analise = orchestrator.create_agent(
nome="analise-codigo",
provider="anthropic",
modelo="claude-3-opus-20240229",
contrato="analisar-codigo",
worktree="./worktrees/analise"
)
# Configurar agente para geração de testes
testes = orchestrator.create_agent(
nome="gerar-testes",
provider="openai",
modelo="gpt-4",
contrato="gerar-testes",
worktree="./worktrees/testes"
)
# Executar ambos em paralelo
resultados = orchestrator.run_parallel([analise, testes])
Saída Esperada
O orquestrador retorna um dicionário com os resultados de cada agente:
{
"analise-codigo": {
"vulnerabilidades": ["SQL Injection em linha 42", "XSS em template"],
"metricas": {"complexidade": 15, "linhas": 200}
},
"gerar-testes": {
"codigo_teste": "def test_login(): ...",
"instrucoes": "Execute pip install pytest antes"
}
}
Execução por Níveis
Atribua um nível a cada agente para controlar custos e velocidade:
agentes:
- nome: "analise-rapida"
nivel: "rapido" # Modelo leve, baixo custo
- nome: "analise-profunda"
nivel: "profundo" # Modelo robusto, maior custo
Contribuição
Pull requests são bem-vindos. Siga o guia de contribuição em CONTRIBUTING.md.
Licença
MIT