Skip to content
Guides7 min read

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.

Potato Team

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 ao vivo: votos às cegas revelados, um medidor de concordância em tempo real e uma troca de voto por conformidade registradaUma sala de norming no meio da sessão

yaml
rooms:
  enabled: true
  who_can_create: any
  persist_votes: true
  schema: sarcasm

Abra /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:

  1. 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.
  2. O anfitrião revela. Nesse momento os votos às cegas ficam imutáveis.
  3. O grupo discute, no chat lateral ou na chamada de vocês.
  4. 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.

Uma transcrição literal de raciocínio falado com um rótulo detectado por vozThink-Aloud, com um rótulo detectado

yaml
thinkaloud:
  enabled: true
  schema: politeness
  model: tiny.en

A 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