Instrumentar a reunião de calibração
Equipes de anotação já fazem sessões de norming e já queriam saber como seus anotadores pensam. As Salas multijogador medem a reunião de calibração com um medidor de concordância ao vivo; o Modo Think-Aloud grava o raciocínio falado, localmente e sem LLM.
Duas coisas que toda equipe de anotação faz mal, porque as ferramentas não ajudam: a reunião de calibração, que acontece por compartilhamento de tela e não deixa rastro, e entender por que um anotador escolheu um rótulo, o que normalmente se reduz a uma caixa de texto livre que ninguém preenche. O Potato 2.7 instrumenta as duas: uma sala de norming ao vivo com medidor de concordância em tempo real, e um gravador de pensar em voz alta com conversão de fala em texto rodando localmente. Nenhum dos dois precisa de LLM.
A reunião que não deixa prova
Se você já tocou um projeto de anotação com mais de duas pessoas, você já fez uma sessão de norming. Todo mundo rotula o mesmo punhado de itens, vocês entram numa chamada, discutem as discordâncias e em algum momento convergem sobre o que a diretriz de fato quer dizer.
Funciona. E também não tem instrumentação nenhuma. Os votos que as pessoas tinham antes da discussão sumiram. Quem mudou de ideia, e se mudou por convencimento ou porque um colega sênior falou primeiro, sumiu. E se a reunião melhorou a concordância em alguma medida é uma pergunta que ninguém consegue responder, porque ninguém mediu.
As Salas multijogador trazem essa sessão para dentro da ferramenta.
Uma sala de norming no meio da sessão
rooms:
enabled: true
who_can_create: any
persist_votes: true
schema: sarcasmAbra /rooms, crie uma sala, e ela recebe um código de seis letras que dá para ler em voz alta na chamada. O fluxo é deliberado:
- Todo mundo vota às cegas. Os membros veem quem votou, nunca o quê. Isso é imposto no servidor, então as primeiras impressões são de fato independentes.
- O anfitrião revela. Nesse momento os votos às cegas ficam imutáveis.
- O grupo discute, no chat lateral ou na chamada de vocês.
- Qualquer um pode mudar seu voto. Toda mudança posterior à revelação é registrada com o voto de origem, o voto de destino e qual era a maioria naquele momento.
O quarto passo é o interessante. Mudar de voto depois da revelação não é o mesmo evento que votar; é uma mudança na presença de uma maioria conhecida. Registrar isso te dá um histórico de conformidade por membro, que é como você percebe que um anotador vira para a maioria todas as vezes. Vale saber disso antes de tratar a concordância dessa pessoa como evidência independente.
O medidor de concordância responde "valeu a pena?"
O α de Krippendorff é calculado duas vezes, ao vivo, sobre os itens revelados: uma nos votos às cegas, outra nos votos atuais. A diferença entre os dois é o ganho de alinhamento da sessão, e ele fica na tela enquanto a sessão acontece.
É esse número que torna a reunião prestável de contas. Se uma hora de discussão levou o α de 0,61 para 0,78, você sabe que a hora comprou alguma coisa. Se levou de 0,61 para 0,62, você aprendeu que a discordância não é sobre interpretação. É sobre a diretriz, e nenhuma quantidade de conversa vai consertar isso. Vá reescrever a diretriz.
Vale conhecer duas variantes. As huddles abastecem uma sala exatamente com os itens em que sua equipe discorda no momento, calculados ao vivo a partir do estado de anotação, o que as torna uma versão síncrona da adjudicação. As salas shadow deixam quem está em treinamento assistir a um anotador sênior trabalhando em tempo real, inclusive qual trecho do texto ele está destacando. É a coisa mais próxima de sentar do lado de alguém enquanto essa pessoa anota.
As salas são baseadas em eventos gravados num log JSONL, então uma sala ativa sobrevive a uma reinicialização do servidor, e o log serve também como trilha de auditoria da sessão. Não há WebSockets envolvidos; os clientes consultam com um cursor, o que significa que as salas funcionam em qualquer implantação WSGI.
O raciocínio que você nunca capturou
A outra falha silenciosa são as justificativas. A maioria das ferramentas oferece uma caixa de texto livre, e a maioria dos anotadores digita "óbvio" nela, ou nada.
Isso não é preguiça. Escrever o próprio raciocínio é genuinamente mais lento do que tê-lo, e se a tarefa tem 400 itens, a caixa de justificativa é a primeira coisa a cair.
O Modo Think-Aloud tira esse atrito mudando a modalidade: os anotadores simplesmente falam enquanto trabalham.
Think-Aloud, com um rótulo detectado
thinkaloud:
enabled: true
schema: politeness
model: tiny.enA conversão de fala em texto roda localmente pelo faster-whisper, que é tempo real em CPU no modelo tiny.en, de 39 MB. O áudio nunca sai da máquina, e não há API na nuvem para chamar nem conta por token para pagar. Para muitos dados sensíveis, essa é a diferença entre "dá para usar" e "o jurídico disse não".
O protocolo de pensar em voz alta era o padrão-ouro para estudar como as pessoas decidem muito antes de qualquer coisa disso ser computacional. Ele nunca chegou às ferramentas de anotação, porque pedir para alguém narrar num gravador e depois transcrever à mão não é um fluxo que ninguém sustenta.
Literal, de propósito
A transcrição é guardada exatamente como foi falada e deliberadamente não é resumida. É uma decisão de projeto de verdade, não preguiça: parafrasear um protocolo de pensar em voz alta contamina o artefato. As hesitações, as autocorreções, o "bom, poderia ser sarcástico, mas…": isso é o dado. Um resumo arrumadinho disso é outro objeto, e bem menos útil.
Os anotadores também podem confirmar um rótulo por voz, usando frases fixas que um analisador baseado em regras detecta:
- "I label this Polite"
- "My answer is impolite"
- "Final answer: neutral"
Só essas frases confirmam. Tudo o que é dito enquanto a pessoa pensa é ignorado, e é isso que faz um analisador baseado em regras ser suficiente. Não há LLM em nenhuma parte do caminho, e nenhum modelo decidindo o que você quis dizer. Diga uma frase nova depois e vale a última confirmação.
Você também ganha sinais determinísticos de hesitação (contagem de blocos em silêncio, contagem de palavras de preenchimento) calculados por aritmética e não por um modelo. Pausas longas num item são um proxy razoável de dificuldade, e coletá-las não custa nada.
Por que isso importa além das justificativas
Aqui está a parte que se conecta com o resto do Potato 2.7.
O Think-Aloud é um gravador de cadeia de raciocínio humana. Ele captura como uma pessoa de fato raciocina até um rótulo: não uma justificativa limpa escrita depois, mas o raciocínio enquanto acontece, falsas partidas incluídas.
A anotação de recompensa de processo do Potato faz o mesmo trabalho para um modelo: segmenta a cadeia de raciocínio do modelo e a pontua passo a passo.
Mesmo item, duas cadeias de raciocínio, uma humana e uma de modelo. Dá para colocá-las lado a lado e olhar onde o raciocínio diverge. Isso é uma coisa genuinamente nova de se ter, e é a matéria-prima de dados de recompensa de processo melhores, porque "o modelo acertou a resposta pelo motivo errado" é exatamente a falha que a pontuação da resposta final não enxerga.
O Potato te dá as duas superfícies de captura. Ele não calcula um diff entre elas por você. Isso é uma pergunta de pesquisa, não um recurso, e preferimos te entregar o artefato a uma métrica que inventamos.
Leitura adicional
- Salas multijogador e Modo Think-Aloud — configuração completa
- Concordância entre anotadores — o que o α está medindo de fato
- Adjudicação e discordância
- Rótulos com barras de erro — a psicometria sinaliza os bugs no livro de códigos; as salas são onde você os conserta
- Process reward models — a cadeia de raciocínio do lado do modelo