Reversible Faces Benchmark The stylesheet failed to load. Please open this page in a browser with its neighboring assets/ and data/ folders intact.

Benchmark exploratório · 5 rodadas · 33 artefatos

Uma figura. Dois rostos. Uma única meia-volta.

Um modelo de linguagem consegue desenhar um único SVG que se lê como dois rostos diferentes quando a página é girada em 180°? Este site deixa você girar os artefatos reais do benchmark e ver a geometria que sustenta a ilusão.

Artefatos
33
Modelos
18
Rodadas
5
Baselines
15

Projeto de Claudio Drews · repositório no GitHub

Desenho reversível gerado por modelo, na leitura A

Em pé: leitura A

arraste para girar

GLM 5.3 Flash · prompt v5 · rodada 3 (leitura A em pé; leitura B girada 180°)

01

O laboratório

Escolha um artefato e gire-o. Arraste a imagem, use o controle deslizante, ou bata em A → B para ver as duas leituras lado a lado.

A
Desenho reversível na leitura A
0°

Em pé: leitura A

02

Galeria

Todos os artefatos públicos do benchmark: as 18 saídas das rodadas 0–4 e as 15 execuções de comparação. Passe o mouse (ou toque) para ver a leitura B.

03

A geometria

A ilusão não é mágica: ela sai de meia-volta, envelope de silhueta e traços de compromisso. Cada aba abaixo é um laboratório manipulável.

R é uma involução

R(p) = 2C − p  →  (x, y) ↦ (1000 − x, 1000 − y)

Na página de 1000 × 1000, com centro C = (500, 500), a meia-volta manda cada ponto para o ponto diametralmente oposto. Aplicá-la duas vezes devolve o ponto original: R∘R = id. Isso é o que a define como involução, e é a razão de ela ser tão barata de verificar — o modelo pode conferir a geometria escrevendo coordenadas, sem ver o desenho.

R é uma rotação de verdade (determinante +1), não um espelho. Espelhar (`scale(-1, 1)`) tem determinante −1 e produz outro tipo de ilusão — o "sorriso de ambiguidade", não o "reverso". Uma meia-volta inverte a ordem vertical: o que estava acima dos olhos de A fica abaixo dos olhos de B. Retas mantêm a direção: um copo ∪ vira uma cúpula ∩.

Um traço, duas leituras

Quando os olhos são compartilhados — a âncora do modelo de Whistler — um traço que é uma característica de A na altura yA (na página) é uma característica de B na altura −yB no referencial próprio de B. Em coordenadas de página: yA = 1000 − yB.

O que está abaixo dos olhos de A não pode continuar abaixo dos olhos de B. A boca de A (y = 680) tem de virar a aba do chapéu de B (y = 350): são 330 px de distância, muito além da tolerância de 30 px.

A — leitura em pé B — leitura girada
Em A (página)É, em B (referencial de B)Observação

A escada canônica

O prompt fixa uma escada de alturas para a cabeça (H = 600 px, olhos em y = 0, posição na página = 500 + 600·y). Cada degrau é a âncora geométrica de um par do dicionário. Ele é uma heurística de projeto, não uma lei — não foi medida, não é uma afirmação sobre Whistler e nunca foi validada contra reconhecimento humano.

Regra da soma. O reconhecimento perdoa desvios de cerca de 0,05·H ≈ 30 px. Toda exager em A precisa ser paga pela parceira em B: um nariz muito longo em A significa uma aba de chapéu mais baixa em B. Chapéus, cabelo, barbas, golas e rugas são as variáveis livres que absorvem o resto.

Traços de compromisso

Um traço compartilhado tem uma posição-alvo a em A e b no referencial de B. Na página, B quer o traço em R(b). Para caber nos dois ao mesmo tempo, o traço deve satisfazer ‖s − a‖ ≤ ε e ‖s − R(b)‖ ≤ ε. Duas bolas de mesmo raio se intersectam se e somente se ‖a − R(b)‖ ≤ 2ε.

s* = (wA·a + wB·R(b)) / (wA + wB)  →  com pesos iguais: s* = (a + R(b)) / 2

É a regra que o prompt traduz como “pegue a média de onde A quer o traço e de onde B quer, já girado”. Arraste os dois alvos abaixo: o ponto de compromisso se move, e o teste ‖a − R(b)‖ ≤ 2ε decide se o traço é possível.

04

Decomposição de simetria

Todo desenho I se decompõe em uma parte par e uma ímpar: I = I₊ + I₋, com I₊ = ½(I + R·I) e I₋ = ½(I − R·I). A parte par é o que a meia-volta preserva; a parte ímpar é o que troca de sinal. Aqui isso é computado no seu navegador, sobre o SVG real.

ρ é um alarme unilateral, não uma nota: ρ = 0 indica simetria rotacional (um modo de falha, não um sucesso). O benchmark nunca julga um desenho por ρ.

05

As rodadas

Cinco rodadas, seis versões de prompt. O padrão é a história do gargalo se deslocando: primeiro a geometria, depois a arte, depois o humor.

Evolução do prompt (v1 → v6)

Os prompts vão para o repositório exatamente como foram enviados.

VersãoUsada em O que éMudanças-chave Resultado

06

Execuções de comparação

15 execuções que não fazem parte das rodadas 0–4: quatro geradores de imagem raster e onze modelos de texto, para responder a duas perguntas — o que os geradores de imagem fazem com o pedido, e o que modelos de texto mais amplos fazem com o prompt v5.

Id Modelo Prompt Veredito Rubrica /8 David 1 David 2 Impressão

Concordância com o avaliador humano

A rubrica 0–2 é a operacionalização do próprio assistente, pontuada sem cegueira (ele conhecia os vereditos). Sua concordância de 15/15 não é um resultado independente.

07

Método, limites e leitura honesta

O benchmark é exploratório. Esta seção existe para que ninguém leia os números acima como um ranking.

O que a tarefa exige

A tarefa conecta capacidades que costumam ser avaliadas separadamente.

  • Raciocínio geométricoManter as coordenadas consistentes ao longo de uma transformação global.
  • Satisfação de restriçõesMudanças locais precisam preservar a reconhecibilidade das duas interpretações.
  • Síntese de programasA saída é gráficos vetoriais executáveis (código SVG), não uma descrição de imagem.
  • Modelagem perceptualAntecipar como um observador humano agrupa linhas em traços faciais.
  • Composição semânticaUsar a relação entre os dois rostos para comunicar uma ideia.

Esses requisitos competem entre si.

Não é um ranking

Um avaliador humano, que é também o autor do benchmark. Uma saída avaliada por modelo e prompt. Sem escala de pontuação validada e sem inferência estatística. Os resultados são observações que motivam experimentos controlados, não medidas de capacidade.

Capacidade ≠ confiabilidade ≠ eficiência

Um veredito sobre uma saída responde a apenas uma de três perguntas. A capacidade aparece quando o modelo entrega. A confiabilidade (com que frequência?) não foi medida: uma execução por modelo. A eficiência (tokens, chamadas, renders, dólares) está registrada, mas as condições mudam entre rodadas.

Regra do orçamento de tokens

Um modelo que esgota o orçamento de tokens conferindo a própria geometria é uma falha de conclusão de tarefa sob aquele regime de inferência, não evidência de incapacidade geométrica. O mesmo modelo entregou um resultado identificável com o raciocínio desligado.

O piloto e a rodada 4

O piloto (rodada 0) não foi avaliado por humano. A rodada 4 usou ferramentas, mas mudou várias coisas ao mesmo tempo: o efeito das ferramentas não está isolado. O MiniMax foi executado duas vezes e só uma entrou no conjunto avaliado — uma seleção entre duas execuções, descrita como tal.

As ressalvas que viajam com qualquer número

    O contrato do arquivo SVG

    • SVG autônomo, `xmlns`, `viewBox="0 0 1000 1000"`, `width`/`height` = 1000, XML válido, no máximo 300 KB.
    • Proibido: texto de qualquer tipo, `<image>`, `<foreignObject>`, `<script>`, gradientes, blur/filtros, sombras e qualquer iluminação direcional.
    • Permitido: linha, hachura, preenchimento chapado, paleta pequena e chapada, espaço em branco.
    • A partir da rodada 3, `<title>`, `<desc>` e `<metadata>` são removidos do SVG entregue.

    Licenças e créditos

    Código (`scripts/`, `tests/`): MIT. Conteúdo de pesquisa (paper, docs, prompts, avaliações, logs, SVGs, saídas brutas, previews): CC BY 4.0.

    Os SVGs foram gerados por modelos de linguagem via OpenRouter e são publicados sob CC BY 4.0 na medida em que o autor detém direitos sobre eles. Verifique os termos de cada provedor antes do uso comercial.

    Este site é uma visualização não-oficial dos artefatos do benchmark. A obra de referência é de Claudio Drews — repositório, paper, geometria.

    08

    Perguntas de pesquisa em aberto

    Os experimentos atuais motivam várias perguntas.

    1. Interferência de restrições

      Como a complexidade estética ou semântica adicionada muda a probabilidade de satisfazer uma restrição geométrica primária?

    2. Planejamento e decomposição

      A priorização geométrica explícita ajuda independentemente do tamanho do prompt e das demais instruções?

    3. Retorno visual

      Qual é o efeito de renderizar e inspecionar sobre as taxas de sucesso, o número de iterações e o custo, mantendo todo o resto constante?

    4. Avaliação perceptual

      Observadores independentes, e avaliadores multimodais, conseguem identificar figuras reversíveis integradas sem inventar os traços esperados?

    5. Composição semântica

      Um modelo consegue produzir duas interpretações individualmente reconhecíveis cuja relação comunique uma ideia, uma sátira ou uma piada?

    6. Generalização

      As mesmas estratégias se estendem a ambigramas rotacionais, imagens multivista e outros significados visuais dependentes de transformação?

    Essas perguntas exigem repetições, variantes controladas de prompt e avaliação independente.

    09

    Rode você mesmo

    Os testes offline não precisam de chave de API e não custam nada.

    Testes offline

    git clone https://github.com/ClaudioDrews/reversible-faces-benchmark.git
    cd reversible-faces-benchmark
    python3 -m venv .venv && . .venv/bin/activate
    pip install -r requirements.txt
    python -m unittest discover -s tests

    Execuções simuladas (sem chave)

    python scripts/run_models.py --mock /tmp/rfb-smoke-oneshot \
      prompts/prompt-v5.md z-ai/glm-5.3-flash
    python scripts/run_models_v6.py --mock /tmp/rfb-smoke \
      prompts/prompt-v6.md z-ai/glm-5.3-flash

    Execuções de modelo

    export OPENROUTER_API_KEY="your-api-key"
    python scripts/run_models.py runs/experiment-01 \
      prompts/prompt-v5.md z-ai/glm-5.3-flash
    python scripts/validate_svg.py runs/experiment-01/*.svg
    python scripts/render_preview.py \
      runs/experiment-01/glm-5.3-flash.svg preview.png

    O julgamento final é seu.