Lição 5 · Comportamento funcionalÍndiceEN
Benchmark CLIProxyAPI · Comportamento funcional

Teste tools e thinking por contrato

Uma tool call válida e um bloco de reasoning visível respondem perguntas diferentes.

Fontes locais primárias: BENCHMARK-MEASUREMENT-PLAN.md, model-context-matrix.csv e planned-run-manifest.json.
BENCHMARK-MEASUREMENT-PLAN.md · model-context-matrix.csv · planned-run-manifest.json

A ideia em linguagem simples

O perfil canônico oferece somente get_benchmark_nonce; o perfil real preserva o envelope do harness. Nada executa shell, rede ou escrita. Thinking recebe uma classe observável, e modelos só são comparados quando a classe e o esforço são iguais.

Exemplo recorrente: envie o mesmo pacote lacrado — nonce, checksum e três needles — pelas seis lanes. Se o embrulho muda no harness, você mede a lane também. A analogia quebra porque contexto, tools e thinking têm semântica, não apenas tamanho.

Tools exigem nome, JSON válido, execução local inerte, chamada 2 e uso correto do resultado. Thinking pode ser NOT_EXPOSED, HIDDEN_BUT_USAGE_REPORTED, SEPARATE_STREAM, VISIBLE_IN_CONTENT, SUMMARY_ONLY ou NORMALIZED_BY_COMPAT_LAYER. Ausência visível não prova ausência interna.

Trecho verificável

tool = get_benchmark_nonce · side_effects = none\nthinking_class ∈ {NOT_EXPOSED, SEPARATE_STREAM, SUMMARY_ONLY, ...}\ncompare_only(equal_class && equal_effort)

outputs/BENCHMARK-MEASUREMENT-PLAN.md · outputs/model-context-matrix.csv · outputs/planned-run-manifest.json

O caminho em uma imagem

UI / CLIobserved outputharnessWarp · Codex · Claudecompatibilitysidecar / envelopeCLIProxyAPI127.0.0.1:8317providerdirect Chat · Responses · MessagesPRIMARY BOUNDARY
Exemplo recorrente: o mesmo nonce + checksum percorre cada lane; a falha pertence ao menor boundary onde reaparece.

Teste de recuperação

Quando dois modelos podem comparar thinking?