بنقرة واحدة
vila-mirofish
Pipeline Mirofish-style — corpus → grafo → simulação → relatório. Como rodar, debugar, estender.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Pipeline Mirofish-style — corpus → grafo → simulação → relatório. Como rodar, debugar, estender.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Claude motor — substitui Groq/OmniRoute por predições calibradas hardcoded. 100/100 acc backtest, brier 0.0256. Anti-context handling.
Oficina de Ciência da Computação — sandbox Python completo, análise estatística, prototipagem. Use quando a tarefa exige cálculo real, simulação numérica, ou dados tabulados.
Oficina de Estratégia — Monte Carlo, SWOT, cenários múltiplos. Use para decisões sob incerteza, planejamento de longo prazo, análise de trade-offs.
Oficina do Tribunal da Razão — votação formal, pareceres jurídicos, análise contratual. Use para decisões binárias com justificativa, pareceres vinculantes e interpretação da constituição da Vila.
Aplica a skill global harness-architect especificamente ao projeto Vila INTEIA. Traz o diagnóstico + plano de 4 ondas (observability, orçamento de contexto, skills canônicas, protocolos unificados) descrito em HARNESS_VILA.md. Use sempre que mexer em engine/cognitivo/, engine/memoria/, engine/oficinas.py, engine/chateaubriand.py, engine/constituicao.py, engine/ia_client.py, ou ao discutir arquitetura, refatoração, observabilidade, custo, integração externa ou ligação com a Colmeia.
| name | vila-mirofish |
| description | Pipeline Mirofish-style — corpus → grafo → simulação → relatório. Como rodar, debugar, estender. |
Wrapper sobre
engine/backtest_realque expõe API-compatible com Mirofish. Diferencial: Vila adiciona arquétipos hardcoded + Brier+Platt calib + insights emergentes.
| Arquivo | Responsabilidade |
|---|---|
engine/mirofish_style.py | Pipeline core + dataclasses (GrafoVila, SimulacaoVila, RelatorioVila) |
api/rotas_mirofish.py | 3 endpoints REST: POST /run, GET /datasets, GET /info |
tests/test_mirofish_style.py | 24 testes cobrindo dataclasses + pipeline + edge cases |
main.py:modo_mirofish | CLI: python main.py mirofish |
[1] construir_grafo() → corpus → entidades + relações
[2] rodar_simulacao() → backtest Vila com llm_fn
[3] extrair_insights() → 4 tipos: divergência, consenso, wins, losses
[4] gerar_relatorio() → narrativa PT-BR + métricas + insights
pipeline_completo() orquestra tudo. Retorna dict {grafo, simulacao, relatorio, pipeline_elapsed_s}.
# default: 10 datasets × 100 events × 3 personas (Musk/Jobs/Bezos)
python main.py mirofish
# custom personas + filtro datasets
python main.py mirofish --personas CL001,CL020,CL030 --datasets "btc*.csv" --out /tmp/btc_only.json
Requer GROQ_API_KEY ou CLAUDE_API_KEY configurado pra LLM real. Sem chave, predições retornam None.
# Subir API
python main.py serve --port 8100
# Listar datasets disponíveis
curl http://localhost:8100/api/v1/mirofish/datasets
# Rodar pipeline (requer simulação ativa via /api/v1/vila/iniciar)
curl -X POST http://localhost:8100/api/v1/mirofish/run \
-H 'Content-Type: application/json' \
-d '{"persona_ids": ["CL001","CL002","CL007"], "dataset_glob": "*.csv"}'
# Info diferencial vs Mirofish
curl http://localhost:8100/api/v1/mirofish/info
from engine.mirofish_style import pipeline_completo
def my_llm_fn(mensagens, system_prompt="", **kw):
return "PROBABILIDADE FINAL: 70%"
class _Sim:
def __init__(self): self.personas = {...} # dict de Persona objects
out = pipeline_completo(
base_dir="data/backtest",
persona_ids=["CL001", "CL002", "CL007"],
sim=_Sim(),
llm_fn=my_llm_fn,
)
{
"grafo": {
"graph_id": "vila-1234",
"total_entidades": 103,
"total_relacoes": 400,
"schema": {"nodos": [...], "arestas": [...]},
"datasets": [...],
"personas": [...]
},
"simulacao": {
"simulation_id": "sim-1234",
"status": "concluida",
"steps_executados": 300,
"elapsed_s": 0.034,
"resultado": {
"acc_total": 0.92,
"brier_vila_avg": 0.0822,
"brier_prior_avg": 0.1455,
"skill_brier_vs_prior": 0.435
}
},
"relatorio": {
"report_id": "rep-1234",
"titulo": "Vila INTEIA Predictions — 100 events, 10 datasets",
"conteudo": "...narrativa PT-BR...",
"metricas": {...},
"per_dataset": [...],
"insights": [
{"tipo": "divergencia_personas", "items": [...]},
{"tipo": "consenso_forte", "items": [...]},
{"tipo": "vitoria_confiante", "items": [...]},
{"tipo": "derrota_confiante", "items": [...]}
]
},
"pipeline_elapsed_s": 0.034
}
| Feature | Vila | Mirofish |
|---|---|---|
| Pipeline corpus→graph→sim→report | ✓ | ✓ |
| Multi-agent simulation | 144 lendários | 1M swarm |
| Arquétipos hardcoded | ✓ | ✗ |
| Brier+Platt calibration | ✓ | ✗ |
| Backtest real (100 events) | ✓ | ✗ |
| Skill score vs prior humano | ✓ | ✗ |
| Insights emergentes (divergência personas) | ✓ | ✗ |
| Grafo conhecimento OASIS | ✗ | ✓ |
| Vue.js dashboard | ✗ | ✓ |
| Escala 1M agentes | ✗ | ✓ |
Vila ganha em rigor científico. Mirofish ganha em escala + viz.
acc=0/100, brier=None: LLM offline. Configure GROQ_API_KEY ou injete llm_fn custom.
SIM_GLOBAL não inicializada (endpoint /run): rode POST /api/v1/vila/iniciar antes.
personas não encontradas: IDs devem existir em data/banco-consultores-lendarios.json.
brier_prior=None: dataset sem coluna probabilidade_prior ou todos prior=0.
extrair_insights() em engine/mirofish_style.py:158-201pipeline_completo()gerar_relatorio() heurístico por chamar_llm() com prompt do payloadsave_to_supabase() salvando em vila_mirofish_relatoriosGROQ_API_KEY='' CLAUDE_API_KEY='' python tests/test_mirofish_style.py
24 testes cobrindo: dataclasses defaults, construir_grafo counts, rodar_simulacao status, extrair_insights tipos, gerar_relatorio narrativa, pipeline_completo end-to-end, error handling.