SIMULAÇÃO SINTÉTICA. Material didático do curso ABEP "Dados e Personas Sintéticas para Pesquisa de Mercado", 20 a 22/10/2026. Os exemplos vêm de um caso fictício de ensino. Nada aqui representa mercado, marca ou pessoa real.
Kit 2 · Grupo focal sintético · Guia de apoioUm grupo focal sintético ancorado nas suas entrevistas ensaia a conversa antes do campo e mostra onde ela merece confiança
O kit pega entrevistas que você já tem, monta participantes sintéticos que só falam do que essas entrevistas sustentam, roda o grupo duas vezes com a ordem de fala trocada, mede o grupo contra o corpus e contra um grupo humano de validação, e entrega hipóteses para o quantitativo com um relatório auditável.
O kit serve a qualquer estudo que usaria um grupo focal
Teste de conceito de comunicação, leitura de embalagem, reação a um serviço novo, exploração de uma categoria, preparação de roteiro. Em todos esses estudos aparece a mesma pergunta antes do campo: o que este público vai entender, em que vai acreditar, do que vai duvidar e como a conversa entre eles muda a opinião de cada um. O grupo sintético responde a essa pergunta como ensaio. Ele chega a temas, objeções e hipóteses. Ele não chega a percentual nem a preferência medida.
Que hipóteses levar ao quantitativo
Cada tema que passa pela calibração e pela validação vira hipótese com a variável do questionário e o resultado que a refutaria.
Se o roteiro está pronto para o campo
As rodadas mostram pergunta que induz, bloco longo demais e probe que falta, antes de pagar a sala.
O que a sua base de entrevistas ainda não cobre
O mapa de cobertura e a comparação com o grupo humano apontam os assuntos que o corpus não tinha e pedem coleta.
Até onde o material pode ir na conversa com o cliente
A régua de uso diz o que fica Liberado, Controlado, Validar antes ou Bloqueado, com o motivo.
Tudo do seu estudo mora numa pasta só, dentro de projetos/
O kit é o ambiente. Cada estudo é uma pasta projetos/NOME_DO_ESTUDO/, com as nove etapas, os dados, a curadoria, o grupo de validação, as saídas e o arquivo de estado. Um estudo por pasta. Nome sem espaço e sem acento, que o script de projeto novo normaliza para você. O diretor e todos os scripts recebem sempre --projeto projetos/NOME_DO_ESTUDO e nunca misturam dois estudos. A pasta projetos/nuvem_casa/ é só o estudo de treino que vem pronto no kit.
O que você leva no fim
- O relatório do grupo em PDF, Word e HTML: pergunta e decisão, elenco, temas com trilha de citações, hipóteses, régua de uso, disclosure e a leitura assinada pela equipe.
- O relatório de calibração e validação, com três perguntas, três gráficos e o anexo dos números.
- O documento Grupos do estudo em PDF, Word e TXT: perfis completos, moderador, roteiro, as duas rodadas na íntegra e a leitura.
- Um projeto inteiro em pasta, com
estado_do_projeto.md, que você reabre outro dia e reaproveita no próximo estudo.
O caso de treino é uma marca fictícia de pastilhas concentradas que viram limpador multiuso. A decisão é qual de três conceitos de comunicação (A ambiental, B simplicidade, C desempenho) sustenta o lançamento. Quatro participantes sintéticos, construídos a partir de doze entrevistas, reagem aos conceitos. Ninguém das doze entrevistas viu os conceitos, então toda reação a conceito sai marcada como inferência. Fonte: projetos/nuvem_casa/01_pergunta/pergunta_e_decisao.md.
Quatro vozes ancoradas falam duas vezes em volta de um moderador, e um cofre decide se o grupo merece confiança
A forma do método em um desenho. Cada nó abre o que entra, o que o agente faz e o que sai.Clique num nó, use as setas do teclado ou aperte Percorrer o fluxo.
Uma frase na conversa cria a pasta do seu estudo e abre o briefing com o diretor
Simulação do começo de um projeto novo, com a base fictícia de teste do kit (refil de sabonete líquido).Aperte Iniciar e responda clicando. A árvore de pastas cresce à direita.
O que você digita de verdade na IDE, com o kit aberto:
começar um projeto novo de [tema do seu estudo]
A conversa aparece aqui.
Falas do diretor resumidas da skill diretor-de-grupo-focal e do teste em professor/dialogo_diretor_exemplo.md. Arquivos da base de teste em testes/dados_aluno/. As mensagens do script são as reais de conferir_curadoria.py e novo_projeto.py.
O método separa o que o grupo pode dizer do que ele pode provar
Antes do passo a passo, a lógica. Cada escolha do kit responde a um defeito conhecido de modelo de linguagem em conversa de grupo.
O problema de pesquisa: um grupo focal caro, raro e difícil de ensaiar
Num projeto típico existe um único campo humano. O roteiro chega à sala sem ensaio, os conceitos chegam sem que ninguém saiba que objeção vão acordar, e a análise depende de poucas horas de conversa. O grupo focal sintético oferece um ensaio barato e repetível dessa conversa. O risco é conhecido: um modelo de linguagem tende a concordar com quem fala com ele (Sharma e colegas, 2023, mostram que cinco assistentes de IA de ponta exibem esse comportamento, chamado de sycophancy), a seguir a maioria (Zhu e colegas, 2024, encontram conformidade em todos os modelos testados) e a achatar a diferença entre grupos sociais (Wang, Morgenstern e Dickerson, 2025). Um grupo sintético sem controle produz consenso bonito e falso. O método do kit existe para controlar esses três defeitos e medir o que sobra.
A lógica inteira cabe em oito peças encadeadas
Entrevistas reais do seu público, com cada parágrafo identificado, como [E01-P1].
Um card de evidência por participante, com as entrevistas que ele pode usar e mais nenhuma.
Instâncias separadas, cada uma com o próprio card e o próprio índice de busca. Toda fala cita um id ou se declara inferência.
Outra instância, que enxerga o roteiro e os estímulos e nenhum card.
Sete blocos, com posição privada antes, exposição de um conceito por vez e dissenso dirigido.
Duas rodadas em conversas novas, com a ordem de fala trocada. O que muda entre elas é efeito de ordem.
Medidas contra o corpus (dado de ajuste) e, uma vez só, contra um grupo humano de validação que ninguém tocou.
Trilha de cada tema até a fonte, hipóteses com variável e refutação, auditoria e disclosure.
Rodada é uma sessão completa do grupo, do bloco 0 ao bloco 6, gravada como transcrição. Agente, neste guia, é o programa da IDE que conversa com você, lê os arquivos da pasta e roda os scripts. A outra acepção, o agente como objeto de pesquisa (um sistema simulado que fala e age num cenário, como os agentes generativos de Park e colegas, 2023), aparece só quando dito.
Cada escolha descarta uma alternativa mais fácil e mais frágil
| Escolha do kit | Por quê | Alternativa descartada |
|---|---|---|
| Participante ancorado num card de entrevistas reais | Sem âncora, o modelo responde pelo estereótipo do perfil, o defeito que Wang e colegas (2025) chamam de achatar e retratar mal grupos de identidade. | Persona escrita só com dados demográficos ("mulher, 62 anos, classe B"). |
| Um índice de busca por participante, isolado | Isola a experiência de cada voz. Se P2 não tem nada sobre um tema, a busca dele não acha, e ele responde NÃO SEI ou marca inferência. | Um índice único com o corpus inteiro, em que qualquer voz pega a fala de qualquer entrevistado. |
| Quatro marcas obrigatórias em toda fala | Separa o que o corpus sustenta do que o modelo estica. A etapa 7 conta as marcas. | Fala livre, revisada depois "no olho". |
| Moderador como instância separada, sem card | O moderador que conhece as respostas conduz para elas. | Uma conversa só, em que o mesmo modelo pergunta e responde. |
| Duas rodadas com ordem de fala trocada | Modelos de linguagem mudam de julgamento conforme a ordem em que as coisas aparecem no contexto (Wang P. e colegas, 2023). Trocar a ordem separa tema estável de efeito de ordem. | Uma rodada só, lida como se fosse o resultado. |
| Calibração contra o corpus, validação contra um grupo humano aberto uma vez | Quem ajusta olhando a resposta passa a acertar a prova. O grupo de validação só vale como teste enquanto ninguém o leu. | Comparar e ajustar várias vezes com o mesmo grupo humano. |
| Busca TF-IDF local, sem chave | Roda em qualquer computador, dá o mesmo resultado sempre e devolve o id pronto para citar. | Embeddings por API como requisito. Eles ficam como opção na etapa 4. |
| Nada de número sobre o público | Quatro participantes simulados não medem nada. Medidas descrevem só o processo de simulação. | Placar de conceito, "três de quatro preferiram". |
O método promete ensaio e hipótese, e não promete medida
- Temas, objeções e vocabulário que o corpus sustenta, com trilha até o id.
- Um ensaio do roteiro, com as perguntas que induzem e os blocos que pedem probe.
- Hipóteses com direção, variável e resultado que as refuta.
- Medidas do processo: diversidade das vozes, efeito de ordem, dominância, concordância, aderência ao roteiro, acordo de codificação.
- A lista do que o corpus não tem.
- Percentual, proporção, ranking ou preferência medida.
- Explicação de causa.
- Assunto que nenhuma entrevista do corpus menciona.
- Reação verdadeira a um estímulo que ninguém do corpus viu. Ela é sempre inferência.
- Dinâmica real de sala: silêncio, constrangimento, linguagem não verbal.
O grupo sintético fica antes do campo humano e ao lado do quantitativo
A força-tarefa da AAPOR (2026) ordena três usos de IA como respondente por risco crescente: diagnóstico antes do campo, complemento depois do campo e substituição de respondentes humanos, que é o uso mais arriscado. O kit trabalha no primeiro uso. A posição de Anthis e colegas (2025) é a mesma: simulações sociais com modelos de linguagem já servem para estudos piloto e exploratórios. A orientação do conselho de analytics da MRS (2025) pede que dado sintético seja tratado como ferramenta complementar e validado contra achados reais.
| Situação | Use o kit? | Por quê |
|---|---|---|
| Ensaiar roteiro e estímulos antes do único grupo humano | Sim | Uso Liberado na régua de uso do kit. |
| Gerar hipóteses para o questionário quantitativo | Sim, controlado | Só hipótese que passou na auditoria, com variável e refutação. |
| Explorar um público com entrevistas já feitas e sem verba para grupo | Com ressalva | Sem grupo de validação, a etapa 8 fica sem teste e o uso máximo é explorar linguagem e testar roteiro. |
| Escolher o conceito vencedor ou medir preferência | Não | Bloqueado. Preferência se mede no quantitativo ou no campo humano. |
| Substituir o grupo humano no relatório ao cliente | Não | Bloqueado na régua de uso e contra o Código ICC/ESOMAR, que exige informar o uso de personas sintéticas. |
Você conduz o estudo conversando com o diretor dentro da IDE
Ninguém digita comando nem escreve código. O agente da IDE roda os scripts e você confere cada saída.
Abrir a pasta do kit na IDE é o único passo técnico
- Abra a pasta
Kit_2_Grupo_Focalpelo menu de abrir pasta da sua IDE: Claude Code, Codex, Cursor ou Antigravity. - Na conversa, escreva começar. O agente aciona a skill
diretor-de-grupo-focal, que se apresenta e oferece o exemplo guiado ou um projeto novo. - Para voltar a um estudo noutro dia, escreva "abrir" e o nome do estudo. O diretor lê o
estado_do_projeto.mde continua de onde parou.
As regras permanentes ficam em AGENTS.md e CLAUDE.md, com o mesmo texto. As skills ficam em duas pastas com o mesmo conteúdo, porque cada IDE procura num lugar: .agents/skills/ para Codex, Antigravity e Cursor, .claude/skills/ para o Claude Code. Pastas que começam com ponto ficam ocultas no Finder e no Explorador do Windows. O agente encontra as duas.
O diretor orquestra seis skills e para em cinco portões
| Skill | Etapa | Script que ela chama |
|---|---|---|
diretor-de-grupo-focal | Entrada, briefing e condução | Os scripts de cada etapa e scripts/novo_projeto.py |
montar-elenco | 5 | scripts/montar_elenco.py |
moderar-rodada | 6, uma vez por rodada | scripts/buscar.py e scripts/conferir_rodada.py |
calibrar-vozes | 7 | scripts/calibrar.py e scripts/dinamica.py |
abrir-amostra-validacao | 8, só nela | scripts/validar.py e scripts/validar_complementar.py |
gerar-relatorio | 9, no fechamento | scripts/relatorio_validacao.py e scripts/exportar_grupos.py |
Portões são paradas em que você confirma por escrito antes de seguir: curadoria aprovada (fim da etapa 2), elenco aprovado (fim da 5, e daí em diante roteiro e estímulos congelam), calibração aceita (fim da 7), abertura do grupo de validação (começo da 8, irreversível) e entrega (fim da 9). O diretor recomenda e você decide.
Um estudo novo nasce de um script e ganha a mesma árvore de nove etapas
Escreva novo projeto. O diretor pergunta o nome, mostra a versão normalizada e roda scripts/novo_projeto.py com o nome entre aspas. A árvore abaixo é a que o script cria de verdade (conferida rodando o script numa cópia do kit em 19/10/2026), ao lado do estudo de treino já preenchido.
projetos/meu_estudo/
estado_do_projeto.md
01_pergunta/ PEDIDO.md CONFERIR.md
02_curadoria/ PEDIDO.md CONFERIR.md
ficha_de_origem.md (16 campos PREENCHER)
corpus/ LEIA.txt ← suas entrevistas
participantes/ LEIA.txt ← seus cards
estimulos/ LEIA.txt ← conceitos.md
saida/
03_analise/ PEDIDO.md CONFERIR.md saida/
04_vetores_e_rag/ PEDIDO.md CONFERIR.md saida/
05_construcao/ PEDIDO.md CONFERIR.md saida/
06_execucao/ PEDIDO.md CONFERIR.md saida/
07_calibracao/ PEDIDO.md CONFERIR.md saida/
08_validacao/ PEDIDO.md CONFERIR.md saida/
amostra_validacao/ LEIA.txt ← grupo humano
codificacao_de_referencia/ LEIA.txt
09_decisao/ PEDIDO.md CONFERIR.md saida/
modelos/ hipoteses.md leitura_do_grupo.md
relatorio_tematico.mdprojetos/nuvem_casa/
estado_do_projeto.md
01_pergunta/
briefing_do_caso.md
pergunta_e_decisao.md
02_curadoria/
ficha_de_origem.md
corpus/ E01.md ... E12.md
participantes/ P1_consumidora_60mais.md
P2_jovem_urbano_18a29.md
P3_lar_com_criancas_30a44.md
P4_fiel_a_marca_45a59.md
estimulos/ conceitos.md
03_analise/ temas.json
04_vetores_e_rag/ perguntas_de_teste.md
05_construcao/ roteiro_de_moderacao.md
06_execucao/ 07_calibracao/
08_validacao/
amostra_validacao/G01_grupo_humano_validacao.md
codificacao_de_referencia/referencia.csv
09_decisao/modelos/Três arquivos de configuração não vêm no esqueleto e nascem do briefing, escritos pelo diretor no mesmo formato do estudo de treino e mostrados a você antes de gravar: 01_pergunta/pergunta_e_decisao.md, 03_analise/temas.json e 05_construcao/roteiro_de_moderacao.md.
A qualidade da sua base decide até onde o grupo sintético pode ir
Este é o caminho principal do kit: o seu estudo, com as suas entrevistas, na pasta projetos/NOME_DO_ESTUDO/.
Toda a curadoria do seu estudo fica dentro de projetos/NOME_DO_ESTUDO/. Os dados entram em 02_curadoria/ e 08_validacao/ dessa pasta e de mais nenhum lugar. O diretor e os scripts sempre recebem --projeto projetos/NOME_DO_ESTUDO. Um estudo por pasta, nome sem espaço e sem acento.
Cada arquivo tem um formato que os scripts leem literalmente
| Arquivo, dentro do seu projeto | Obrigatório? | Formato que o script exige |
|---|---|---|
02_curadoria/corpus/E01.md e seguintes | Sim | Um arquivo por entrevista, nome começando pelo id. Cada parágrafo de fala começa com o id entre colchetes, [E01-P1] texto, numerado em sequência sem buraco. |
02_curadoria/participantes/P1_nome.md e seguintes | Sim, pelo menos três | Um card por participante, nome começando pelo id, com a linha Fontes autorizadas: E10, E12, e E11 em pontos nomeados abaixo. Antes de "e Exx em pontos" vêm as fontes completas. Depois, as parciais, das quais só valem os parágrafos que o card cita, como E11-P4. |
02_curadoria/estimulos/conceitos.md | Sim, pelo menos dois | Um título por estímulo, ## Conceito A. Nome, seguido do texto. Imagem entra como descrição em texto. |
02_curadoria/ficha_de_origem.md | Sim | Dezesseis campos sem PREENCHER, e "Permissão para uso em simulação" igual a sim. Sem isso a etapa 2 recusa seguir. |
03_analise/temas.json | Sim | Lista temas, cada tema com id, nome e as palavras que o denunciam no texto. O diretor rascunha no briefing. |
05_construcao/roteiro_de_moderacao.md | Sim | Blocos 0 a 6 com títulos ## Bloco N e a tabela de rotação dos conceitos em linhas | P1 | A, B, C |. |
04_vetores_e_rag/perguntas_de_teste.md | Não | Uma pergunta por linha: - Bloco 1: pergunta, - Lacuna: pergunta, - Exemplo: busca. Sem ele valem as perguntas dos blocos 1 e 2 do roteiro. |
08_validacao/amostra_validacao/G01_*.md | Para validar | Tabela com Id, Perfil e Recorte equivalente (H1 equivale a P1), títulos ### Bloco N e falas [G01-T05] H4: texto. |
08_validacao/codificacao_de_referencia/referencia.csv | Não | A planilha da etapa 7 preenchida à mão por alguém da equipe, coluna temas com os ids separados por vírgula. Sem ela, o kappa sai como não medido. |
Um arquivo mínimo de cada tipo já basta para o script ler
Os exemplos abaixo vêm da base de teste testes/dados_aluno/, um estudo fictício de refil de sabonete líquido com seis entrevistas e três participantes, usado pelos testes do kit para levar uma base de aluno pelas nove etapas.
corpus/E01.md # E01 | Campo | Valor | |---|---| | Id | E01 | | Perfil | Mulher, 34 anos, dois filhos de 3 e 6 anos | ## Transcrição [E01-P1] Aqui em casa o sabonete líquido acaba toda semana. ... [E01-P2] ...
participantes/P3_pele_sensivel.md # P3. Pessoa de pele sensível, fiel ao produto sem perfume Id do participante: P3 Fontes autorizadas: E05, E06, e E01 em pontos nomeados abaixo ## Atributos | Atributo | Classificação | Ids | |---|---|---| | Perfume dá coceira na hora | EVIDÊNCIA | E05-P1 | | Pele ressecada com sabonete forte | EVIDÊNCIA | E06-P1, E01-P4 | ## Limites - Recusa: valor de preço, percentual, marcas fora do corpus. - Reação aos conceitos A, B e C: sempre inferência.
08_validacao/amostra_validacao/G01_grupo_humano_validacao.md | Id | Perfil | Recorte equivalente | |---|---|---| | H1 | Mulher, 36, dois filhos pequenos | P1 | ### Bloco 1 [G01-T01] MODERADORA: Conte como você escolhe o sabonete líquido da sua casa. [G01-T02] H1: Pelo que as crianças aceitam. ...
Anonimizar e registrar a permissão vem antes de qualquer conta
Retire nome, endereço, telefone, empresa e qualquer detalhe que identifique a pessoa antes de colocar o arquivo na pasta. A ficha de origem registra quem coletou, quando, com que método, o consentimento, a base legal LGPD, a anonimização, o uso permitido e o proibido. O consentimento precisa cobrir uso com modelo de linguagem. Se não cobre, o estudo para aqui e o caminho é pedir novo consentimento ou coletar de novo.
O diretor faz nove perguntas, uma de cada vez, e grava o briefing
- O que vocês querem testar no grupo, e que decisão depende disso?
- Qual é o negócio e a categoria?
- Qual é o público e que perfis vão à mesa? Quantos participantes?
- Quais são os estímulos, em que formato, e se há imagem, existe descrição em texto?
- Já existe roteiro de moderação? Com que blocos?
- Que dados sustentam cada perfil, de quando, e dá para escrever um card com ids?
- Com que permissão? O consentimento cobre modelo de linguagem? O dado pessoal já saiu?
- Existe um grupo humano, ou a transcrição de um grupo anterior com o mesmo roteiro, que possa ficar separado até a etapa 8?
- Qual é o prazo e que nível de evidência a decisão exige?
No fim ele pergunta quem coletou o material e quando, e quem responde pela curadoria. Grava 01_pergunta/briefing.md com uma tabela Pergunta, Resposta e De onde veio, preenche a ficha de origem com a sua confirmação e escreve os arquivos de configuração. Se faltar dado, ele faz uma análise do que existe e propõe um plano em três partes: o que coletar, que lacuna declarar e se o método cabe. Nenhuma etapa roda sem a sua aprovação escrita desse plano.
A base está pronta quando passa nesta lista
- Pelo menos três participantes, cada um com card, a linha
Fontes autorizadase pelo menos uma entrevista completa como fonte. - Nenhuma entrevista é fonte completa de dois participantes.
- Todo parágrafo do corpus começa com o id entre colchetes, em sequência.
- Todo id citado num card existe no corpus e pertence às fontes daquele participante.
- Pelo menos dois estímulos com título
## Conceito A. Nome. - Ficha de origem completa, com permissão para simulação igual a sim.
- Dicionário de temas com as palavras que o seu público usa, e não as do seu cliente.
- Roteiro com blocos 0 a 6 e tabela de rotação.
- Um grupo humano de validação separado, que ninguém da equipe de análise leu. Sem ele, a etapa 8 fica sem teste.
- Dado pessoal retirado.
Os erros de base própria aparecem como pendência na etapa 2
| Erro típico | O que o kit mostra | Como corrigir |
|---|---|---|
| Poucos perfis | "Um grupo focal precisa de pelo menos três participantes." | Escrever um terceiro card a partir de entrevistas que o sustentem, ou usar o kit de persona. |
| Transcrição sem falante identificado ou sem id | "Nenhum parágrafo no formato [E01-P1] foi encontrado em 02_curadoria/corpus/." | Separar só as falas da pessoa entrevistada, uma por parágrafo, cada uma com [Exx-Pn]. Pergunta do entrevistador não entra como parágrafo de fala. |
| Parágrafo pulado na numeração | "E03 tem parágrafos fora de sequência." | Renumerar em sequência e corrigir os cards que citam os ids antigos. |
| Card sem a linha de fontes | "P2: a linha 'Fontes autorizadas:' não foi encontrada ou não traz entrevista." | Acrescentar a linha no formato exato. |
| Card citando fala de outro entrevistado | "o card cita ids de entrevistas que não são fontes dele" | Tirar o id ou acrescentar a entrevista como fonte parcial, com o ponto nomeado. |
| Mesma entrevista sustentando dois perfis | "A entrevista E05 é fonte completa de mais de um participante. As vozes vão se confundir." | Deixar a entrevista completa num card e parcial no outro. |
| Campo da ficha vazio | "Campo da ficha sem preencher: Base legal LGPD." | Responder ao diretor e confirmar a ficha. |
| Dicionário de temas ausente | "O dicionário 03_analise/temas.json está vazio ou não existe." | Pedir ao diretor o rascunho do dicionário a partir do briefing e revisar as palavras. |
No teste de um projeto novo com só dois perfis, a conferência terminou com "Pendências: 1" e a frase "Um grupo focal precisa de pelo menos três participantes." O diretor fez a análise do que existia, propôs coletar o terceiro perfil e parou até a decisão do aluno. Fonte: professor/dialogo_diretor_exemplo.md, cenário B.
Nove etapas separam o dado de ajuste do dado de validação
Clique numa etapa para ir ao passo a passo. As etiquetas âmbar marcam os portões.
- 1Pergunta e decisãosem script · 3 min
- 2Curadoriaconferir_curadoria.py · 4 minportão: curadoria aprovada
- 3Análise da basemapa_de_cobertura.py · 5 min
- 4Vetores e RAGindexar.py, buscar.py · 5 min
- 5Construçãomontar_elenco.py · 4 minportão: elenco aprovado
- 6Execuçãobuscar.py, conferir_rodada.py · 12 min
- 7Calibraçãocalibrar.py, dinamica.py · 6 minportão: calibração aceita
- 8Validaçãovalidar.py, validar_complementar.py · 5 minportão: abertura única
- 9Decisão e disclosuretrilha, auditoria, exportações · 6 minportão: entrega
Se a calibração pede ajuste, o caminho volta à etapa 5 e as duas rodadas são refeitas. Depois da abertura do grupo de validação, nada da construção, das rodadas nem da calibração muda. Os minutos são os do roteiro da aula (total de 50), com o estudo de treino já carregado. No seu estudo, a curadoria e o briefing levam mais tempo.
A decisão escrita antes de tudo impede o grupo de responder a outra pergunta
O formulário de pergunta e decisão orienta o roteiro, as hipóteses e a régua de uso.
01_pergunta/pergunta_e_decisao.md e o briefing do diretorProjeto: projetos/[nome_do_estudo]. Os caminhos deste pedido ficam dentro dessa pasta. Os scripts ficam em scripts/, na raiz do kit. Leia o 00_LEIA.md, o AGENTS.md e o 01_pergunta/pergunta_e_decisao.md do projeto. Me responda em no máximo dez linhas: 1. qual é a decisão que este grupo focal vai alimentar; 2. quais são os estímulos e os perfis à mesa; 3. o que o grupo sintético pode entregar e o que ele não pode entregar; 4. se algum campo está vago demais para orientar o roteiro. Se estiver, proponha a reescrita e espere a minha aprovação antes de gravar. Não rode nenhum script nesta etapa.
Aprofunde dado · armadilha · passo prático
- Dado: a AAPOR (2026) pede um teste específico para cada aplicação de IA como respondente. Sem decisão escrita, não há o que testar.
- Armadilha: a decisão escrita como "qual conceito a maioria prefere" pede número que o grupo não entrega.
- Passo prático: confira se a linha "O que ele não pode entregar" continua no formulário.
Por que, exemplo do exercício e o que conferir
O que acontece
O agente lê o formulário do seu projeto e repete em poucas linhas a decisão, os estímulos, os perfis, o que o grupo sintético pode entregar e o que não pode. Se um campo estiver vago demais, ele propõe a reescrita e espera a sua aprovação.
Por quê
Grupo focal sem decisão vira coleta de opinião. A linha "O que ele não pode entregar" protege o estudo do pedido de percentual que aparece na reunião de resultado. A AAPOR (2026) pede que cada aplicação de IA como respondente seja avaliada para a tarefa específica: sem tarefa escrita, não há como avaliar nada.
O que sai e o que conferir
Uma resposta curta na conversa e, se houver reescrita aprovada, o formulário atualizado. Confira (do 01_pergunta/CONFERIR.md): o agente repetiu a decisão com as palavras do formulário, sem objetivo novo; disse que o grupo entrega hipótese e tema e que número sai só do quantitativo; lembrou que ninguém do corpus viu os estímulos; a linha "O que ele não pode entregar" continua no formulário.
"O grupo sintético entrega temas, objeções e hipóteses para o questionário do campo humano. Não entrega percentual, preferência medida, ranking de conceito nem explicação de causa." Fonte: professor/saida_completa/01_pergunta/saida/resposta_do_agente.md.
Erros comuns e como corrigir
- Decisão que pede número ("qual conceito a maioria prefere"). Reescreva como pergunta de entendimento e credibilidade, e mande a preferência para o quantitativo.
- Agente acrescenta objetivo que o formulário não tem. Peça para repetir só com as palavras do formulário.
- Perfis à mesa sem entrevista que os sustente. Anote agora. Na etapa 2 eles viram pendência.
Cada voz só pode usar a experiência das próprias entrevistas
A conferência da curadoria garante que nenhum participante empresta a fala de outro.
02_curadoria/corpus/E01.md e seguintes, os cards de 02_curadoria/participantes/, 02_curadoria/estimulos/conceitos.md, 02_curadoria/ficha_de_origem.mdconferir_curadoria.py confere ids, fontes completas e parciais de cada voz, estímulos e permissão.02_curadoria/saida/conferencia_curadoria.md, com CURADORIA CONFERIDA ou a lista de pendências.Projeto: projetos/[nome_do_estudo]. Rode scripts/conferir_curadoria.py --projeto projetos/[nome_do_estudo] e me mostre o resultado gravado em 02_curadoria/saida/conferencia_curadoria.md. Depois me diga, em frases curtas: 1. quantas entrevistas e parágrafos o corpus tem; 2. quais entrevistas sustentam cada participante, separando fonte completa de parcial; 3. se algum card cita id que não existe ou id de entrevista que não é fonte dele; 4. se a ficha de origem está completa e com permissão para simulação; 5. se a conferência terminou com pendência. Se terminou, pare e me explique o que corrigir. Não altere nenhum arquivo de 02_curadoria.
Aprofunde dado · armadilha · passo prático
- Dado: Wang, Morgenstern e Dickerson (2025) mostram que modelos achatam e retratam mal grupos de identidade quando substituem participantes.
- Armadilha: a mesma entrevista como fonte completa de dois cards faz duas vozes contarem a mesma história.
- Passo prático: a coluna "Ids de fora das fontes dele" precisa estar vazia em todos.
Por que, exemplo do exercício e o que conferir
O que acontece
O script lê a ficha de origem, o corpus, os cards e os estímulos, sem alterar nada, e grava 02_curadoria/saida/conferencia_curadoria.md. Ele conta entrevistas e parágrafos, lista as fontes completas e parciais de cada participante, aponta id inexistente ou de fora das fontes e confere a permissão.
Por quê
Um card que mistura entrevistas de perfis diferentes produz uma voz média, exatamente o achatamento que Wang, Morgenstern e Dickerson (2025) descrevem quando modelos substituem participantes humanos. Fonte completa compartilhada entre dois cards faz duas vozes contarem a mesma história.
Script por baixo
python scripts/conferir_curadoria.py --projeto projetos/NOME_DO_ESTUDO. Único argumento: o projeto. Termina com CURADORIA CONFERIDA ou com a lista de pendências.
| Participante | Fontes completas | Fontes parciais | Parágrafos que ele pode usar | Ids de fora das fontes dele | | P1 | E10, E12 | E11 | 18 | nenhum | | P2 | E01, E03 | E02 | 18 | nenhum | | P3 | E04, E06 | E05 | 16 | nenhum | | P4 | E07, E08 | E09 | 19 | nenhum |
74 parágrafos em 12 entrevistas, quatro participantes, ficha com 16 de 16 campos e permissão sim. Fonte: professor/saida_completa/02_curadoria/saida/conferencia_curadoria.md.
O que conferir
- A conferência termina com CURADORIA CONFERIDA.
- Da fonte parcial o participante só usa os parágrafos que o card cita.
- A coluna "Ids de fora das fontes dele" está vazia em todos.
- Nenhuma entrevista é fonte completa de dois participantes.
- A ficha diz de onde veio o material e tem permissão sim.
- Os estímulos aparecem com o nome certo. O texto deles congela até o fim.
Erros comuns e como corrigir
Os erros desta etapa são os da sua base. Veja a tabela completa em Sua base de dados. O mais frequente com transcrição real: parágrafo que mistura a pergunta do entrevistador e a resposta. Separe e deixe só a fala da pessoa.
O mapa de cobertura mostra antes da conversa onde cada voz vai ter de dizer não sei
Quem tem evidência sobre o quê, e onde cada participante tem um parágrafo só.
03_analise/temas.jsonmapa_de_cobertura.py marca cada tema como Alta, Média, Baixa ou Nenhuma para cada voz e lista o vocabulário que a distingue.03_analise/saida/mapa_de_cobertura.md e 03_analise/saida/cobertura.json.Projeto: projetos/[nome_do_estudo]. Rode scripts/mapa_de_cobertura.py --projeto projetos/[nome_do_estudo] e abra 03_analise/saida/mapa_de_cobertura.md. Me explique, em frases curtas: 1. o vocabulário que mais distingue cada participante, e se dois deles estão parecidos demais; 2. em que tema cada participante tem evidência alta, e onde tem um parágrafo só; 3. as lacunas de cada participante e as do grupo inteiro; 4. o que acontece no grupo quando alguém for perguntado sobre uma lacuna. Escolha um tema com cobertura Baixa, abra o parágrafo citado e me diga se ele trata mesmo daquele tema ou se a palavra apareceu por acaso. Não altere o dicionário de temas sem me mostrar antes a mudança.
Aprofunde dado · armadilha · passo prático
- Dado: a MRS (2025) lembra que dado sintético deriva de padrões passados e não capta o que é novo. O mapa mostra esse limite tema a tema.
- Armadilha: tema com cobertura alta por acaso de palavra ("pesa" como peso ou como dúvida).
- Passo prático: escolha um tema Baixa, abra o parágrafo e confirme o sentido.
Por que, exemplo do exercício e o que conferir
O que acontece
Para cada participante, o script olha só os parágrafos que ele pode usar e marca cada tema do dicionário como Alta (evidência em duas ou mais entrevistas), Média (uma entrevista, dois ou mais parágrafos), Baixa (um parágrafo só) ou Nenhuma. Grava 03_analise/saida/mapa_de_cobertura.md e 03_analise/saida/cobertura.json, que as etapas 5, 7 e 9 usam. Também lista o vocabulário que mais distingue cada participante, pelo peso TF-IDF: palavra frequente naquele trecho e rara no resto do corpus pesa mais.
Por quê
Lacuna conhecida antes da rodada vira regra na instrução do participante: ali ele responde NÃO SEI ou marca inferência. O conselho de analytics da MRS (2025) lembra que dado sintético é retrospectivo e não capta o que é novo. O mapa é o lugar onde essa limitação aparece por escrito, tema a tema.
| P1 | cheiro, comprimido, sabao, limp, merc, agua, mulh, passo | | P2 | mae, marca, espaco, preco, pastilha, apartamento, entra, esper | | P3 | galao, cheiro, crianca, mancha, concentr, cachorro, aparece, mofo | | P4 | cheiro, pesa, proporcao, frasco, depoi, agua, preciso, volume |
As palavras aparecem cortadas porque o script reduz cada uma ao radical. Lacuna que organiza o resto do estudo: P2 não tem nada sobre segurança com criança e pet, e a linha "Reação aos estímulos" está Nenhuma para todos. Fonte: professor/saida_completa/03_analise/saida/mapa_de_cobertura.md e projetos/nuvem_casa/03_analise/CONFERIR.md.
O que conferir
- Cada participante tem vocabulário distintivo próprio.
- Alta quer dizer duas entrevistas diferentes.
- A linha de reação aos estímulos está Nenhuma para todos, e isso organiza o bloco 3.
- O mapa conta palavras. Quem confirma o sentido é você, lendo o parágrafo.
- No seu estudo, as palavras de cada tema são as que o seu público usa.
Erros comuns e como corrigir
- Tema com cobertura alta por acaso. A palavra "pesa" pode ser peso da compra ou dúvida que pesa. Leia o parágrafo e, se preciso, troque a palavra no dicionário.
- Dicionário escrito com palavras do cliente ("praticidade", "sustentabilidade"). O mapa fica vazio porque o público diz "dá trabalho" e "plástico". Use as palavras do corpus.
- Dois participantes com o mesmo vocabulário. Revise os cards antes da etapa 5. Vozes parecidas aqui se fundem nas rodadas.
Um índice por participante faz cada fala citar a própria fonte
Cosseno alto quer dizer palavra em comum. O sentido, quem confere é a leitura.
indexar.py cria um índice TF-IDF por voz. buscar.py devolve os três trechos mais próximos, cada um com o id para citar.04_vetores_e_rag/saida/buscas_de_teste.md e um índice por participante.Projeto: projetos/[nome_do_estudo]. Rode scripts/indexar.py --projeto projetos/[nome_do_estudo]. Ele cria um índice de busca por participante, só com os parágrafos que aquele participante pode usar. Abra 04_vetores_e_rag/saida/buscas_de_teste.md e me explique: 1. quantos trechos tem o índice de cada participante e se algum índice tem parágrafo de fora das fontes dele; 2. o que é o cosseno ao lado de cada id, em uma linha; 3. nas linhas de lacuna, se o trecho encontrado trata mesmo do assunto. Abra os trechos. Depois faça duas buscas com scripts/buscar.py --projeto projetos/[nome_do_estudo]: no índice de [participante com cobertura alta no tema]: [pergunta do roteiro]; no índice de [participante com lacuna no tema]: [a mesma pergunta]. Compare e me diga o que isso ensina sobre o card do segundo.
Aprofunde dado · armadilha · passo prático
- Dado: no exercício, a busca de P1 por "como você sabe que a limpeza ficou pronta" devolveu, com cosseno 0,28, um trecho sobre quem manda na limpeza.
- Armadilha: cosseno alto quer dizer palavra em comum, e não resposta certa.
- Passo prático: rode a mesma pergunta no índice de quem tem e de quem não tem o tema, e compare.
Por que, exemplo do exercício e o que conferir
O que acontece
RAG (geração aumentada por recuperação) quer dizer que, antes de falar, o participante busca trechos no próprio material e responde a partir deles. O script indexar.py cria um índice TF-IDF por participante, só com os parágrafos que ele pode usar, e grava as buscas de teste em 04_vetores_e_rag/saida/buscas_de_teste.md. Cada trecho vira um vetor com o peso de cada palavra. A busca mede o cosseno entre a pergunta e o trecho: 0 é nenhuma palavra em comum, 1 é vocabulário idêntico. O buscar.py devolve os três trechos mais próximos com o id pronto para citar.
Embedding é um vetor que representa o sentido do trecho e acha "medo de criança pegar" num parágrafo que diz "ao alcance do pequeno". Precisa de chave de API ou modelo local. O kit roda inteiro sem embeddings. O PEDIDO.md da etapa 4 explica como pedir a troca, mantendo o mesmo formato de saída.
Por quê
O isolamento dos índices é o que impede P2 de citar a experiência de P3 no grupo. Busca com citação torna cada fala conferível: o id da fala é o id que a busca devolveu.
Script por baixo
python scripts/indexar.py --projeto projetos/NOME_DO_ESTUDO e python scripts/buscar.py --projeto projetos/NOME_DO_ESTUDO P2 "pergunta". O buscar.py recebe o id do participante e a pergunta entre aspas.
Busca no índice de P1: como você sabe que a limpeza ficou pronta [E11-P1] cosseno 0,28 Quem manda na limpeza aqui é a minha mulher, isso eu digo logo. ...
Armadilha real: a busca devolveu, com cosseno 0,28, um parágrafo sobre quem manda na limpeza, e não sobre como se sabe que ela terminou. A palavra "limpeza" em comum puxou o trecho. A busca de P3 sobre medo de criança pegar o produto volta com [E04-P3], cosseno 0,28, o pai que guarda tudo no armário alto. Índices de 18, 18, 16 e 19 trechos. Fonte: professor/saida_completa/04_vetores_e_rag/saida/buscas_do_pedido.md.
O que conferir
- Um índice por participante, e a linha de isolamento diz que cada um contém só as próprias fontes.
- Toda busca devolve o id entre colchetes.
- Nas linhas de lacuna, a busca acha alguma coisa por palavra em comum. Lendo, você vê que não responde.
- Participante com lacuna no tema responde NÃO SEI ou INFERÊNCIA FORA DA BASE.
Erros comuns e como corrigir
- Tratar cosseno alto como resposta certa. Abra o trecho sempre.
- Pedir ao agente que edite o indexar.py fora da troca por embeddings. As regras do kit proíbem editar scripts. A única exceção é a troca descrita no pedido.
- Busca vazia para pergunta com palavras que o corpus não usa. Reescreva a pergunta com o vocabulário do público.
Instâncias separadas e ordem de fala trocada são o desenho experimental do grupo
Cinco instruções de sistema, duas ordens de fala e uma rotação de conceitos. Depois do portão, roteiro e estímulos congelam.
03_analise/saida/cobertura.json e 05_construcao/roteiro_de_moderacao.mdmontar_elenco.py escreve uma instrução por participante, a do moderador e as duas ordens de fala.05_construcao/saida/elenco/ com P1 a P4 e MODERADOR.md, e 05_construcao/saida/ordem_de_fala.md.Projeto: projetos/[nome_do_estudo]. Rode scripts/montar_elenco.py --projeto projetos/[nome_do_estudo] e abra 05_construcao/saida/ordem_de_fala.md. Me mostre: 1. a instrução de sistema de [o participante com mais lacunas] e, em três linhas, o que ela permite e o que proíbe; 2. a instrução do moderador: o que ele enxerga e o que não enxerga; 3. a ordem de fala das duas rodadas e por que ela muda; 4. a rotação dos conceitos no bloco 3. Depois explique, em uma frase cada, as quatro marcas de fala: EVIDÊNCIA, INFERÊNCIA a partir de um id, INFERÊNCIA fora da base e NÃO SEI. Não altere o roteiro nem os estímulos. Siga a skill montar-elenco.
Aprofunde dado · armadilha · passo prático
- Dado: Wang P. e colegas (2023) mostram que a ordem das respostas no contexto muda qual delas o modelo julga melhor.
- Armadilha: mudar o roteiro depois do portão obriga a refazer as duas rodadas.
- Passo prático: confira que a rotação dos conceitos é igual nas duas rodadas e só a ordem das pessoas muda.
Por que, exemplo do exercício e o que conferir
O que acontece
O script lê os cards, a cobertura e o roteiro e grava uma instrução de sistema por participante em 05_construcao/saida/elenco/, a instrução do moderador e a ordem de fala em 05_construcao/saida/ordem_de_fala.md. Instrução de sistema é o texto que abre a conversa de uma instância e diz quem ela é, o que enxerga e o que nunca faz. A rodada 2 começa pela segunda metade da lista: P1, P2, P3, P4 vira P3, P4, P1, P2. A rotação dos conceitos no bloco 3 muda por participante e fica igual nas duas rodadas.
Por quê
Modelos de linguagem mudam de julgamento conforme a ordem em que as respostas aparecem no contexto: Wang P. e colegas (2023) mostram que basta trocar a ordem das respostas para alterar qual delas um modelo julga melhor. Trocar só a ordem de fala entre as rodadas transforma esse defeito numa medida. Weng, Chen e Wang (2025) testam conformidade em sistemas multiagentes e apontam personas mais fortes como mitigação, o que o kit faz com o card e as marcas.
Você é o moderador de um grupo focal sintético. Você é uma instância separada dos participantes. O que você enxerga: o roteiro, os estímulos, o que os participantes disseram em voz alta. Você não enxerga nenhum card e não sugere id. Rodada 1: P1, P2, P3, P4. Rodada 2: P3, P4, P1, P2.
A instrução de P2 lista segurança com criança e pet como lugar sem evidência, porque a etapa 3 mostrou essa lacuna. Fonte: professor/saida_completa/05_construcao/saida/elenco/MODERADOR.md.
O que conferir
- Cinco instruções: P1 a P4 e o moderador.
- Cada participante aponta só para o próprio card e o próprio índice. O moderador não aponta para card nenhum.
- A expansão controlada está escrita: fora do card, INFERÊNCIA FORA DA BASE; pergunta de valor de preço recebe NÃO SEI.
- Ordem trocada entre as rodadas, rotação de conceitos igual.
Erros comuns e como corrigir
- Mudar o roteiro depois do portão. Obriga a refazer as duas rodadas. Ajuste o roteiro antes de aprovar o elenco.
- Pergunta proibida no roteiro do seu estudo ("numa escala de 1 a 5", "vocês concordam com a P1?"). Tire antes do portão. O roteiro de treino traz a lista de proibidas com o motivo.
- Esquecer o bloco 0, a posição privada escrita antes da conversa. Sem ele, não há como ver quem mudou de posição pela pressão do grupo.
A rodada 2 roda como se a rodada 1 nunca tivesse acontecido
Duas conversas novas, a mesma construção, só a ordem de fala muda.
conferir_rodada.py confere cada transcrição.06_execucao/saida/rodada_1.md, rodada_2.md e as duas conferências.Projeto: projetos/[nome_do_estudo]. Rode a rodada 1 do grupo focal sintético. Use as instruções de 05_construcao/saida/elenco/: MODERADOR.md para o moderador e uma instrução por participante. Cada papel é uma instância separada. Se o seu ambiente não abre instâncias separadas, simule a separação nesta conversa e declare a limitação no cabeçalho. Ordem de fala: a da rodada 1 em 05_construcao/saida/ordem_de_fala.md, em todos os blocos. Roteiro: 05_construcao/roteiro_de_moderacao.md, blocos 0 a 6, no formato de transcrição dele. Antes de cada fala, o participante consulta o próprio índice com scripts/buscar.py e cita só os ids que voltarem. Grave o cabeçalho de registro no topo e a Observação de processo no fim. Grave em 06_execucao/saida/rodada_1.md e rode scripts/conferir_rodada.py --projeto projetos/[nome_do_estudo] 1. Me mostre o resultado. Siga a skill moderar-rodada.
Projeto: projetos/[nome_do_estudo]. Rode a rodada 2 do grupo focal sintético. Não abra 06_execucao/saida/rodada_1.md nem a conferência da rodada 1. Use as mesmas instruções e o mesmo roteiro. Só muda a ordem de fala: a da rodada 2 em 05_construcao/saida/ordem_de_fala.md. A rotação dos conceitos fica igual. Grave em 06_execucao/saida/rodada_2.md, com o mesmo cabeçalho e a mesma Observação de processo, e rode scripts/conferir_rodada.py --projeto projetos/[nome_do_estudo] 2. Siga a skill moderar-rodada.
Aprofunde dado · armadilha · passo prático
- Dado: Sharma e colegas (2023) mostram cinco assistentes de IA concordando com o interlocutor. No grupo, isso vira seguir quem abriu.
- Armadilha: as duas rodadas na mesma conversa contaminam a segunda com a primeira.
- Passo prático: abra a rodada 2 numa conversa nova e confira que ela não leu a rodada 1.
Por que, exemplo do exercício e o que conferir
O que acontece
Em cada rodada, o moderador conduz os blocos 0 a 6 do roteiro. Antes de cada fala, o participante consulta o próprio índice com buscar.py e cita só os ids que voltaram. Toda fala termina com uma marca. O agente grava a transcrição com o cabeçalho de registro (modelo e versão, data, ordem de fala, papéis, identificador da conversa) e a Observação de processo, e roda a conferência, que grava 06_execucao/saida/conferencia_rodada_1.md e a da rodada 2.
Por quê
Ler a rodada 1 antes de gerar a rodada 2 contamina a segunda com a primeira, e o efeito de ordem some da medida. Modelos de linguagem também variam com mudanças pequenas de formulação (Bisbee e colegas, 2024), e duas execuções independentes mostram quanto do resultado é estável.
Script por baixo
python scripts/conferir_rodada.py --projeto projetos/NOME_DO_ESTUDO 1 (ou 2). O número da rodada é obrigatório e só aceita 1 ou 2. Dois níveis de achado: ERRO (falta bloco, participante calado, ordem trocada ou cabeçalho faltando: refazer a rodada) e ALERTA (fala sem marca, id inexistente, id de fonte de outro participante, EVIDÊNCIA no bloco 3, escolha ausente no bloco 4, pergunta dupla, expressão de prevalência: segue para a auditoria).
P3: ESCOLHA: C. Com a sujeira daqui, o que importa é limpar. [INFERÊNCIA, a partir de E04-P1: a sujeira diária como critério] P4: ESCOLHA: C. Ouvindo o P3, fiquei pensando que rendimento só vale se limpar de verdade. Troco o peso pela limpeza. [INFERÊNCIA, a partir de E07-P3: ...] P1: ESCOLHA: C. Limpeza em primeiro lugar. [INFERÊNCIA, a partir de E10-P3: ...] P2: ESCOLHA: B. Eu discordo de vocês três. O que me faz trocar é o peso e o espaço. [INFERÊNCIA, a partir de E01-P6: ...]
P4 tinha escolhido B na rodada 1 e trocou por C logo depois de ouvir P3. Conferência: 0 erros e 0 alertas nas duas rodadas. Fonte: professor/saida_completa/06_execucao/saida/rodada_2.md e professor/saida_completa/INDICE.md.
O que conferir
- As duas conferências sem ERRO.
- A ordem de cada bloco bate com a da etapa 5. O bloco 5 fica de fora, porque ali o moderador chama por nome.
- No bloco 3 toda fala é INFERÊNCIA.
- Cada participante registrou uma ESCOLHA no bloco 4, nas duas rodadas.
- Leia os alertas um a um. Id de fora das fontes é o mais grave.
Erros comuns e como corrigir
- As duas rodadas na mesma conversa. O agente deve avisar e oferecer conversa nova. Se aconteceu, refaça a rodada 2.
- EVIDÊNCIA no bloco 3. Ninguém do corpus viu os estímulos. O moderador pede a correção da marca com a fórmula neutra do roteiro.
- Id de outro participante. Na execução de referência do professor (
professor/exemplo_de_saida/), P4 citouE04-P3, fonte de P3: uma voz usando a experiência de outra. Peça a busca no próprio índice antes de cada fala.
Calibrar é medir o grupo contra o corpus que o alimentou e contra a própria dinâmica
O grupo de validação continua fechado. Toda medida descreve o processo, nunca o público.
calibrar.py mede contra o corpus, dinamica.py mede a conversa. Você decide ajustar ou seguir.relatorio_calibracao.md, dinamica_do_grupo.md, decisao_de_calibracao.md e planilha_para_codificar.csv.Projeto: projetos/[nome_do_estudo]. Rode scripts/calibrar.py --projeto projetos/[nome_do_estudo] e abra 07_calibracao/saida/relatorio_calibracao.md. Depois rode scripts/dinamica.py --projeto projetos/[nome_do_estudo] e abra 07_calibracao/saida/dinamica_do_grupo.md. Não abra nada em 08_validacao/amostra_validacao/. Me explique, uma medida por vez: diversidade entre vozes, identificação, temas estáveis (e o tema que mudou de dono), lastro, taxa de inferência. Para o tema que mudou de dono, abra as falas das duas rodadas e diga se o tema é o mesmo ou se a palavra apareceu em outro sentido. Depois a dinâmica: dominância, concordância precoce (abra as falas e diga se o marcador acertou), dissenso protegido e aderência ao roteiro. Diga quais medidas pedem ajuste, onde mexer, e as duas opções: ajustar e rodar de novo, ou seguir com o achado registrado. Espere a minha decisão e grave em 07_calibracao/saida/decisao_de_calibracao.md. Mostre a planilha 07_calibracao/saida/planilha_para_codificar.csv e diga quem a preenche. Siga a skill calibrar-vozes.
Aprofunde dado · armadilha · passo prático
- Dado: Bisbee e colegas (2024) mostram que respostas sintéticas variam menos do que as reais. A diversidade entre vozes mede isso.
- Armadilha: ler a concordância precoce sem abrir as falas. O marcador acha palavra.
- Passo prático: abra as falas marcadas como CONCORDA e diga se o marcador acertou.
Por que, exemplo do exercício e o que conferir
O que acontece
Duas partes. calibrar.py mede o que foi dito: diversidade entre vozes, identificação de cada voz com as próprias fontes, temas estáveis, lastro, taxa de inferência e contágio. dinamica.py mede como a conversa aconteceu: dominância, concordância precoce, dissenso protegido e aderência do moderador ao roteiro, e grava a planilha para a codificação de referência. Você lê, decide ajustar ou seguir, e o agente grava a decisão em 07_calibracao/saida/decisao_de_calibracao.md. Cada métrica está detalhada em Calibração em detalhe.
Lastro é a proximidade de vocabulário entre a fala e o parágrafo que ela cita. Lastro baixo pede leitura. Ele sozinho nunca prova invenção, e uma paráfrase legítima pode sair com lastro fraco.
Por quê
Bisbee e colegas (2024) mostram que respostas sintéticas têm menos variação do que as reais. No grupo, isso aparece como vozes parecidas demais. Zhu e colegas (2024) mostram conformidade com a maioria em todos os modelos testados, maior quando o modelo está incerto. As medidas da etapa 7 procuram esses dois sinais antes de qualquer leitura de conteúdo.
Diversidade: fontes 0,35, rodada 1 0,26, rodada 2 0,28. Identificação 8 de 8. Jaccard médio 0,80, onze temas nas duas rodadas, "Preparo, diluição e garrafa" com outro dono. Lastro médio 0,26, nenhum id de fora. Concentração 0,00, concordância precoce 2 de 12 em cada rodada, dissenso 2 de 2. Decisão da turma: seguir, registrando o efeito de ordem de P4. Fonte: professor/saida_completa/07_calibracao/saida/relatorio_calibracao.md, dinamica_do_grupo.md e decisao_de_calibracao.md.
Os números do 07_calibracao/CONFERIR.md do estudo de treino (0,23 e 0,26, Jaccard 0,81, P2 trocando B por A) vêm de outra execução, a de professor/exemplo_de_saida/. Cada execução dá números próprios. É isso que a calibração mede.
O que conferir
- O grupo falou menos parecido do que as fontes. Se falou mais, as vozes se fundiram.
- Cada voz ficou mais perto das próprias fontes.
- A escolha que mudou com a ordem de fala está nomeada, com o participante.
- A concordância precoce de cada rodada está lida ao lado da escolha que mudou.
- A decisão de ajustar ou seguir ficou escrita, com o motivo.
- A planilha para codificar existe, com a coluna temas vazia.
Erros comuns e como corrigir
- Ler concordância precoce sem abrir as falas. O marcador acha "também" e "igual". Uma fala com "também" pode concordar com outra coisa.
- Deixar o agente decidir ajustar ou seguir. A skill proíbe. Você decide.
- O agente preencher a planilha de codificação. Quem preenche é alguém da equipe, à mão, sem olhar a codificação da IA.
- Transformar medida de processo em frase sobre o público ("o público é diverso porque a diversidade deu 0,26"). A medida fala das vozes simuladas.
O grupo de validação só vale como teste se for aberto uma vez, depois de tudo gravado
Um grupo humano que ninguém tocou, comparado com o sintético em temas, escolhas, vocabulário, dinâmica, intensidade e codificação.
referencia.csvvalidar.py com --confirmar abre o grupo uma vez e compara. validar_complementar.py mede dinâmica, intensidade e kappa.registro_de_abertura.json, relatorio_validacao.md e validacao_complementar.md.Projeto: projetos/[nome_do_estudo]. Confira se existem 06_execucao/saida/rodada_1.md, 06_execucao/saida/rodada_2.md e 07_calibracao/saida/calibracao.json. Se faltar algum, pare e me avise. Se existirem, me peça a confirmação da abertura e espere o meu sim. Abrir o grupo de validação é definitivo e acontece uma vez só. Com o meu sim, rode scripts/validar.py --projeto projetos/[nome_do_estudo] --confirmar e abra 08_validacao/saida/relatorio_validacao.md. Me explique: quando foi aberto e se houve contaminação; quais temas humanos o sintético antecipou; a tabela de escolhas; as palavras que o humano trouxe e o corpus não tinha, separando assunto novo de palavra nova. Depois rode scripts/validar_complementar.py --projeto projetos/[nome_do_estudo] e abra 08_validacao/saida/validacao_complementar.md. Me explique a dinâmica lado a lado, a aderência ao roteiro, a intensidade por tema com o Spearman e o kappa por tema. Não altere as rodadas nem a calibração depois de abrir. Siga a skill abrir-amostra-validacao.
Aprofunde dado · armadilha · passo prático
- Dado: o Focus Agent (Zhang e colegas, 2024) comparou cinco grupos simulados com 23 participantes humanos. O humano é a régua.
- Armadilha: mexer nas rodadas depois de abrir dispara ALERTA DE CONTAMINAÇÃO.
- Passo prático: confira que o relatório começa pelo registro de abertura, execução 1.
Por que, exemplo do exercício e o que conferir
O que acontece
O agente confere se as duas rodadas e a calibração estão gravadas, pede a sua confirmação por escrito e só então roda validar.py com a opção de confirmação. O script grava 08_validacao/saida/registro_de_abertura.json com a data e uma impressão digital (hash) das rodadas, da calibração e do grupo de validação, e compara temas, escolhas, vocabulário por conceito e palavras que o humano trouxe e o corpus não tinha. Depois, validar_complementar.py compara dinâmica, aderência ao roteiro, intensidade por tema e o kappa da codificação.
Por quê
Quem lê o grupo humano antes passa a rodar e a conferir o sintético com a resposta na cabeça, e o teste deixa de testar. A AAPOR (2026) pede um conjunto de teste específico para cada nova aplicação. O grupo de validação é esse conjunto no seu estudo. O estudo do Focus Agent (Zhang e colegas, 2024) fez a mesma comparação com cinco sessões e 23 participantes humanos: o desenho padrão da área é sintético ao lado de humano, com o humano como régua.
Script por baixo
python scripts/validar.py --projeto projetos/NOME_DO_ESTUDO --confirmar na primeira abertura. Sem --confirmar, o script explica a regra e para sem ler o grupo de validação. Depois da abertura, roda sem a opção e repete a comparação, contando a execução. python scripts/validar_complementar.py --projeto projetos/NOME_DO_ESTUDO só roda depois, porque precisa do registro de abertura.
Resultado do exercício na etapa 8. Abra depois de rodar a sua
Aberto em 19/10/2026 às 00:55, execução 1, sem contaminação. Cobertura de 11 de 11 temas humanos entre os temas estáveis do sintético. Escolhas: o sintético antecipou H1, H2 e H3; oscilou em P4 (B, depois C) contra B no humano. Vocabulário por conceito no bloco 3: cosseno 0,69 (A), 0,71 (B) e 0,71 (C). Cinco radicais novos no humano, entre eles "validade" e "letra": quanto tempo o produto dura depois de misturado e a letra miúda da instrução. Nenhuma entrevista do corpus menciona esses assuntos. Fonte: professor/saida_completa/08_validacao/saida/relatorio_validacao.md.
Complementar: concentração 0,00 nos três grupos; concordância precoce 2 de 12 em cada rodada contra 1 de 10 no humano; moderadora humana com 5 de 24 perguntas em 5 de 7 blocos, roteiro reduzido de propósito; Spearman 0,00; "Preparo, diluição e garrafa" atenuado no sintético (0,03 contra 0,32), "Espaço para guardar" exagerado (0,20 contra 0,04); kappa não medido, porque a referência foi feita sobre outras rodadas. Fonte: professor/saida_completa/08_validacao/saida/validacao_complementar.md.
O que conferir
- O relatório começa pelo registro de abertura, com data e número da execução.
- O agente pediu a sua confirmação antes de abrir.
- Sem ALERTA DE CONTAMINAÇÃO.
- A cobertura de temas só enxerga o que o corpus já tinha. O que ele não tinha aparece em palavras novas.
- Escolha que oscila com a ordem de fala não sustenta leitura.
- Palavra nova para assunto conhecido é diferente de assunto novo.
- Acordo observado alto engana: o kappa desconta o acordo do acaso.
Erros comuns e como corrigir
- Usar
--confirmarsem o seu sim. A skill proíbe. Se aconteceu, registre na auditoria. - Mexer nas rodadas depois de abrir. O relatório passa a mostrar ALERTA DE CONTAMINAÇÃO e a validação deixa de valer como teste.
- Kappa "não medido". A codificação de referência não bate com as rodadas gravadas. Codifique de novo a planilha da etapa 7 sobre as suas rodadas.
- Sem grupo humano no seu estudo. A etapa 8 fica sem teste. Declare a lacuna e limite o uso a explorar linguagem e testar roteiro.
Só vira hipótese com direção o tema que tem trilha até a fonte
Trilha, análise temática, hipóteses, auditoria, leitura assinada e três documentos para levar.
relatorio_do_grupo.pdf e .docx, relatorio_de_validacao.pdf e grupos_do_estudo.pdf.Projeto: projetos/[nome_do_estudo]. Rode scripts/trilha_tematica.py --projeto projetos/[nome_do_estudo] e abra 09_decisao/saida/trilha_tematica.md. Explique a situação de cada tema e o que cada situação permite. Depois escreva 09_decisao/saida/relatorio_tematico.md pelo modelo, só com temas SUSTENTADO e SÓ SINTÉTICO, citando rodada, turno, id do corpus e id da fala humana, sem falas com alerta e preservando as divergências. Escreva 09_decisao/saida/hipoteses.md pelo modelo. SUSTENTADO ou SÓ SINTÉTICO pode virar hipótese com direção. INFERÊNCIA ou NOVO NO HUMANO só vira pergunta aberta. Nenhum número. Cada hipótese traz a variável do questionário e o resultado que a refuta. Me mostre antes de seguir. Depois rode scripts/auditar.py --projeto projetos/[nome_do_estudo], explique a régua de uso e me ajude a escrever 09_decisao/saida/leitura_do_grupo.md. Quem assina somos nós.
Projeto: projetos/[nome_do_estudo]. Rode scripts/exportar_relatorio.py --projeto projetos/[nome_do_estudo] e me diga quais arquivos foram gravados. Confira comigo se a leitura entrou assinada no fim. Depois rode scripts/relatorio_validacao.py --projeto projetos/[nome_do_estudo], abra 09_decisao/saida/relatorio_de_validacao.html e me explique as três perguntas, os três gráficos e as recomendações. Por fim rode scripts/exportar_grupos.py --projeto projetos/[nome_do_estudo] e me diga quantas páginas tem o PDF e quantos turnos entraram de cada rodada. Siga a skill gerar-relatorio.
Aprofunde dado · armadilha · passo prático
- Dado: o Código ICC/ESOMAR (2025) exige informar o cliente quando persona sintética entra na análise, com o grau de supervisão humana.
- Armadilha: hipótese com "a maioria" ou percentual. A auditoria aponta.
- Passo prático: confira que a primeira linha de cada documento é o rótulo de simulação.
Por que, exemplo do exercício e o que conferir
O que acontece
Seis pedidos em ordem. A trilha liga cada tema às falas das duas rodadas, aos ids do corpus e às falas humanas, e classifica o tema: SUSTENTADO (duas rodadas, evidência fora do bloco 3 e presença no humano), SÓ SINTÉTICO, INFERÊNCIA, INSTÁVEL (uma rodada só) ou NOVO NO HUMANO. Você e o agente escrevem a análise temática e as hipóteses pelos modelos. A auditoria confere tudo e atribui a régua de uso. Vocês escrevem e assinam a leitura do grupo. Os scripts de exportação montam os documentos sem escrever conteúdo novo.
Por quê
O Código ICC/ESOMAR (revisão de 2025) exige informar o cliente quando IA, dado sintético ou persona sintética entram na análise ou na interpretação, e declarar o grau de supervisão humana. A trilha, a auditoria e o disclosure transformam essa exigência em arquivos.
H2. Quem carrega a compra dá mais valor ao refil leve Tema de origem: Peso e transporte da compra Ids: E01-P6, E07-P2, E07-P5 Variável do questionário: modo de transporte da compra do mês, cruzado com a relevância declarada de B Resultado que refuta: relevância de B igual entre quem vai de carro e quem vai a pé ou de ônibus
Onze temas SUSTENTADO e cinco NOVO NO HUMANO. Seis hipóteses, nenhuma com problema na auditoria. Régua: ensaiar o roteiro Liberado, hipóteses Controlado, escolha de conceito e assuntos novos Validar antes, substituir o grupo humano Bloqueado. Fonte: professor/saida_completa/09_decisao/saida/hipoteses.md e relatorio_de_auditoria.md.
O que conferir
- Hipóteses com direção vêm de temas SUSTENTADO. As do grupo humano são perguntas abertas. Nenhuma traz número.
- A auditoria volta com todas as hipóteses ok.
- Substituir o grupo humano ou citar número do sintético como dado do público fica Bloqueado.
- A primeira linha de cada documento é o rótulo de simulação.
- A leitura do grupo está assinada pela equipe.
Erros comuns e como corrigir
- Hipótese com "a maioria" ou percentual. A auditoria aponta na seção 4. Reescreva como direção com variável.
- Tema INFERÊNCIA virando hipótese com direção. Rebaixe para pergunta aberta.
- PDF que não sai. A máquina não tem Chrome. Abra o HTML no navegador, use Imprimir e escolha Salvar como PDF.
- Pedir ao agente que escreva a leitura sozinho. A leitura é da equipe, e o diretor recusa escrevê-la no lugar dela.
Cada métrica do kit tem uma lógica, um limiar e um lugar onde mexer
Os limiares ficam no topo de cada script e valem para este curso. Quem muda um limiar registra a mudança no relatório da etapa 9.
As medidas contra o corpus saem de calibrar.py
| Métrica | O que mede e como | Limiar do kit | Valor no exercício |
|---|---|---|---|
| Diversidade entre vozes | Cada participante vira um vetor TF-IDF com tudo o que disse. Média dos cossenos entre pares, comparada com a mesma média nas fontes de cada um no corpus. | até fontes + 0,10 | fontes 0,35 · R1 0,26 · R2 0,28 dentro |
| Identificação da voz | Para cada participante, qual conjunto de fontes está mais perto do que ele disse. O certo é o dele. | todas | 8 de 8 dentro |
| Temas estáveis | Temas do dicionário em cada participante nas duas rodadas. Jaccard é a interseção dividida pela união. | Jaccard médio a partir de 0,50 | 0,80 · 11 temas dentro |
| Lastro | Cosseno entre a fala e o parágrafo citado. Forte a partir de 0,35, fraco de 0,15 a 0,35. | médio a partir de 0,15 e nenhum id de fora | 0,26 · 0 ids de fora dentro |
| Taxa de inferência | Falas com marca INFERÊNCIA sobre o total, separando o bloco 3. | bloco 3 inteiro · fora dele até 0,35 · nenhuma sem marca | 22 de 52 por rodada · fora do bloco 3, 10 de 40 dentro |
| Contágio | Cosseno entre a primeira fala de quem abriu o bloco e a primeira de cada seguinte. Maior numa rodada aponta efeito de ordem. | leitura, sem limite | 0,07 e 0,07 informativo |
As medidas de dinâmica saem de dinamica.py
| Métrica | O que mede e como | Limiar do kit | Valor no exercício |
|---|---|---|---|
| Dominância | Participação de cada um nos turnos em voz alta (bloco 1 em diante). Índice de concentração: soma das participações ao quadrado, reescalada de 0 (todos falam igual) a 1 (uma pessoa sozinha). É o índice de Herfindahl normalizado, o de concentração de mercado, aplicado à fala. | até 0,10 | 0,00 e 0,00 dentro |
| Concordância precoce | As duas falas depois de quem abriu cada bloco, lidas por marcadores ("também", "concordo", "ouvindo a P1") e, no bloco 4, pela mesma escolha. | até 0,50 | 2 de 12 (0,17) em cada rodada dentro |
| Dissenso protegido | Quem discordou de quem abriu sustenta a posição até o fim do bloco ou recua ("mudei", "troquei", "você tem razão"). Para a escolha do bloco 4, olha até o fim do bloco 5. | todas sobrevivem | 2 de 2 em cada rodada dentro |
| Aderência ao roteiro | Blocos cobertos, ordem, perguntas feitas e puladas, falas indutoras (pergunta da lista proibida, pergunta dupla). | blocos na ordem, nenhuma indutora | 7 de 7 blocos · 11 e 12 de 24 perguntas · 0 indutoras dentro |
As medidas da validação saem de validar.py e validar_complementar.py
| Métrica | O que mede e como | Régua do kit |
|---|---|---|
| Cobertura de temas | Parte dos temas do grupo humano que estão entre os temas estáveis do sintético. Só enxerga o dicionário, que nasceu do corpus. | leitura |
| Temas por recorte | Jaccard entre os temas de cada pessoa humana e os do participante equivalente (H1 e P1). | leitura |
| Escolha do bloco 4 | Escolha humana ao lado das duas sintéticas. Não mede preferência. | leitura |
| Vocabulário por conceito | Cosseno entre o que humanos e sintéticos disseram de cada conceito no bloco 3. | leitura |
| Intensidade por tema | Presença (parte das falas que tocam o tema) e força (parte delas com marcador como "muito", "nunca", "não compro"), só nos blocos que os dois grupos tiveram. Spearman compara a ordem dos temas: 1 é a mesma ordem, 0 nenhuma relação. | diferença de presença acima de 0,15 aponta exagero ou atenuação |
| Kappa de Cohen | Acordo entre a codificação de referência, feita à mão, e a da IA, além do que o acaso daria: acordo observado menos acordo do acaso, dividido pelo que falta até o acordo total. | a partir de 0,60 usar · 0,40 a 0,60 ler as discordâncias · abaixo de 0,40 ampliar o dicionário |
A régua de 0,60 conversa com a escala clássica de Landis e Koch (1977), que chama de acordo substancial a faixa de 0,61 a 0,80. Acordo observado alto engana: na execução de referência do professor, o acordo observado foi 0,97 e o kappa 0,88, em 76 falas e 988 decisões de fala e tema, porque quase toda fala fica sem quase todo tema e as duas codificações concordam no vazio. Nessa mesma execução, o tema "Rotina e método de limpeza" teve kappa 0,00: a referência marcou seis falas que o dicionário não pegou. Fonte: professor/exemplo_de_saida/08_validacao/saida/validacao_complementar.md.
O cofre só abre uma vez, e o kit lembra de quem mexeu depois
Ajuste, abra o cofre e tente ajustar de novo. O registro mostra o que o validar.py faz.Ninguém da análise leu.
O grupo de validação abre uma vez porque a leitura não se desfaz
Calibrar usa dado de ajuste: o corpus que já alimentou o grupo. Validar usa dado que ninguém tocou. Se a equipe lê o grupo humano e depois volta para a etapa 5, cada ajuste passa a mirar a resposta conhecida, e a comparação deixa de ser teste. Por isso o kit cobra a regra no script: a primeira abertura exige --confirmar, o registro guarda a impressão digital das rodadas, da calibração e do grupo de validação, e qualquer mudança posterior gera ALERTA DE CONTAMINAÇÃO, que vai para a auditoria. O mesmo raciocínio vale para a amostra de validação no quantitativo e para a entrevista de validação no kit de persona.
Cada defeito do grupo tem um sinal numa medida e uma mudança concreta
Ajustes acontecem antes de abrir o grupo de validação. Mudou construção ou roteiro, refaça as duas rodadas e meça de novo.
Nenhum sinal escolhido ainda.
O texto completo de cada caso
Consenso artificial: todos concordam rápido demais
Sinal. Concordância precoce acima de 0,50; dissenso protegido com posição que some; resposta do bloco 4 que contradiz a posição privada do bloco 0 sem mudança declarada no bloco 5.
Mudança. Na etapa 5, a instrução de cada participante pede a posição própria antes de comentar a dos outros (é o ajuste que dinamica.py indica). No roteiro, a regra 4 do moderador: depois de duas concordâncias seguidas, "quem aqui vê isso de outro jeito?". Zhu e colegas (2024) testaram uma intervenção de advogado do diabo contra conformidade, que é o papel do bloco 5.
Medir de novo. dinamica.py (concordância e dissenso) e o contágio em calibrar.py.
Uma voz domina a sala
Sinal. Índice de concentração dos turnos acima de 0,10, ou participação nas palavras muito desigual com turnos iguais.
Mudança. Regra 9 do roteiro (ninguém fala duas vezes no bloco enquanto alguém não falou) e a ordem de fala cumprida, que conferir_rodada.py confere. Se a desigualdade é de palavras, peça ao moderador que interrompa a resposta longa com reconhecimento neutro e passe a vez.
Medir de novo. Dominância em dinamica.py.
Participantes soam iguais
Sinal. Diversidade entre vozes acima das fontes mais 0,10; identificação com menos de todas as vozes; vocabulário distintivo parecido já na etapa 3.
Mudança. Na etapa 5, reforçar o vocabulário próprio na instrução de cada participante. Na curadoria, conferir se nenhuma entrevista é fonte completa de dois cards. Rodar cada instância em conversa própria quando a IDE permite. Bisbee e colegas (2024) mostram que respostas sintéticas variam menos do que as reais: o defeito é esperado, e por isso medido.
Medir de novo. Diversidade e identificação em calibrar.py.
O moderador conduz demais
Sinal. Falas indutoras acima de zero em dinamica.py; alerta de pergunta dupla em conferir_rodada.py; moderador que resume ("então todo mundo concorda que").
Mudança. As regras do moderador vêm do roteiro e vão para MODERADOR.md pelo montar_elenco.py. Corrija o roteiro antes do portão de elenco. Se as rodadas já rodaram, a correção obriga a refazer as duas.
Medir de novo. Aderência em dinamica.py e alertas em conferir_rodada.py.
Falas sem lastro
Sinal. Lastro médio abaixo de 0,15; id de fora das fontes; taxa de inferência fora do bloco 3 acima de 0,35; fala sem marca.
Mudança. Exigir a busca com buscar.py antes de cada fala e a citação só do id que voltou (ajuste da etapa 5). Se o assunto não está no card, a resposta certa é INFERÊNCIA FORA DA BASE ou NÃO SEI. Se o assunto importa para a decisão, a mudança é no corpus: coletar.
Medir de novo. Lastro e inferência em calibrar.py. Lembre: lastro baixo pede leitura, e uma paráfrase legítima pode sair fraca.
O grupo foge do roteiro
Sinal. Bloco faltando ou fora de ordem (ERRO em conferir_rodada.py); muitas perguntas puladas na aderência.
Mudança. Bloco faltando pede a rodada refeita. Pergunta pulada pede leitura: o roteiro curto da aula pula de propósito. No seu estudo, se a pergunta pulada é central para a decisão, peça a rodada completa.
Medir de novo. Aderência em dinamica.py.
Efeito manada: a escolha muda com quem falou antes
Sinal. Escolha do bloco 4 diferente entre as rodadas, logo depois de ouvir quem abriu; contágio maior numa rodada.
Mudança. Na maioria das vezes, nenhuma: o efeito de ordem é um achado. Registre na decisão de calibração e trate a escolha como sem leitura. Se o efeito aparece em vários participantes, reforce a posição privada do bloco 0 e a instrução de posição própria, e refaça as rodadas. O kit roda duas rodadas: conferir_rodada.py aceita só 1 e 2.
Medir de novo. Tabela de escolhas e contágio em calibrar.py, concordância precoce do bloco 4 em dinamica.py.
Temperatura das rodadas: o kit controla a variação por desenho
Temperatura é o parâmetro que regula quanto o modelo varia ao escolher cada palavra: baixa deixa a resposta mais previsível, alta mais variada. O kit não tem esse parâmetro e as IDEs do curso em geral não o expõem na conversa. A variação é controlada pelo desenho: instruções fixas, busca com citação, duas rodadas independentes e medidas. Se você rodar o grupo por API e ajustar temperatura, registre o valor no cabeçalho de registro e na Observação de processo, e compare sempre rodadas com o mesmo valor. Bisbee e colegas (2024) mostram que até a formulação do pedido muda a distribuição das respostas sintéticas.
O corpus não tem o assunto
Sinal. Lacuna Nenhuma no mapa para um tema da decisão; temas NOVO NO HUMANO na trilha.
Mudança. Coletar entrevistas novas e voltar à etapa 2. Antes da abertura do grupo de validação, isso é ajuste legítimo. Depois dela, vira pedido de ampliação para o próximo estudo e pergunta aberta para o campo humano.
Medir de novo. Tudo a partir da etapa 2, porque índices, elenco e rodadas dependem do corpus.
Um ajuste bom sai de uma medida, passa por uma leitura e termina numa nova medida
Seis conversas curtas, que você pode tocar mensagem por mensagem. Os números e as mensagens vêm de saídas reais do kit, com a fonte indicada em cada uma.
A base com dois perfis para na curadoria e volta com um plano
A busca vazia de um participante vira NÃO SEI na sala
Um id emprestado de outra voz pede ajuste na construção
A escolha que mudou com a ordem de fala fica registrada e sem leitura
O kappa não medido pede uma nova codificação de referência
O tema que mudou de dono se resolve lendo as falas
Cada documento serve a um leitor e carrega o rótulo de simulação na primeira linha
Todos ficam em 09_decisao/saida/ do seu projeto.
| Documento | Formatos | Para quem e para quê | No exercício |
|---|---|---|---|
| Relatório do grupo | PDF, Word, HTML | Cliente e time de decisão. Pergunta e decisão, elenco, temas com trilha, hipóteses, régua de uso, disclosure e leitura assinada. | PDF de 7 páginas |
| Relatório de calibração e validação | PDF, HTML, 3 SVG | Quem precisa decidir se confia no material. Três perguntas com resposta curta, três gráficos, recomendações e anexo dos números. | PDF de 6 páginas |
| Grupos do estudo | PDF, Word, TXT, HTML | Auditoria e equipe de campo. Perfis completos, moderador, roteiro, as duas rodadas inteiras com turno e marca, e a leitura. | PDF de 48 páginas · 64 e 65 turnos |
| Relatório de auditoria | Markdown | Equipe de pesquisa. Conferência das hipóteses, régua de uso e disclosure. | 6 hipóteses, nenhuma com problema |


Página do relatório de validação do exercício. Abra depois da etapa 8

Ao cliente, o material chega como ensaio, com disclosure e régua de uso
- Abra pela pergunta e pela decisão, e diga em uma frase o que o grupo sintético é: uma conversa simulada entre personas de IA ancoradas em entrevistas.
- Mostre os temas com a trilha: rodada, turno, id do corpus e fala humana. Nunca uma fala sintética solta.
- Apresente as hipóteses como perguntas para o quantitativo, com a variável e o resultado que as refuta.
- Mostre a régua de uso antes da pergunta "então qual conceito ganhou?". A resposta está lá: Bloqueado.
- Feche com o disclosure, que vai junto de qualquer trecho reaproveitado.
"Este material vem de um grupo focal sintético: quatro personas geradas por modelo de linguagem a partir de doze entrevistas, conduzidas por um moderador também sintético, em duas rodadas com ordem de fala trocada. As reações aos conceitos são inferências, porque ninguém do corpus viu os estímulos. O grupo foi comparado uma vez com um grupo humano de validação. Ele serve para gerar hipóteses e afinar o roteiro. Preferência e prevalência ficam para o quantitativo." Fonte: professor/saida_completa/09_decisao/saida/relatorio_de_auditoria.md.
O grupo sintético ensaia a conversa e nunca fala em nome de uma pessoa real
O que ele não substitui, o que você declara e o que você nunca faz.
A dinâmica real de sala
Silêncio, constrangimento, quem desiste de falar, o riso que muda o rumo. As medidas de dinâmica descrevem turnos simulados.
O não verbal e a emoção
O texto de uma persona não tem rosto, tom de voz nem hesitação. Reação emocional a embalagem ou a preço exige gente.
O que é novo
O grupo só sabe o que o corpus sabe. Assunto que nenhuma entrevista menciona só aparece no campo humano.
A medida
Quatro participantes simulados não medem preferência, prevalência nem tamanho de segmento.
O disclosure é obrigação de código, e não gentileza
O Código Internacional ICC/ESOMAR, na revisão de 2025, define persona sintética como representação digital de uma pessoa gerada para imitar comportamentos, preferências e características de pessoas ou grupos reais. Ele exige informar o cliente quando IA, dado sintético ou persona sintética entram na compilação, na análise, no relatório ou na interpretação, declarar o grau de supervisão humana e ser transparente sobre lacunas de fonte e de representação. A AAPOR (2026) classifica a substituição de respondentes humanos como o uso mais arriscado de IA em pesquisa.
Regras que o kit cobra e que você leva para qualquer estudo
- Nunca apresentar fala sintética como fala de participante. Toda fala carrega a marca SIMULAÇÃO SINTÉTICA e todo arquivo começa com o rótulo.
- Nunca transformar fala sintética em número sobre o público.
- Nunca usar entrevista sem consentimento para uso com modelo de linguagem, nem com dado pessoal.
- Nunca abrir o grupo de validação antes da hora, nem mexer em nada depois de abri-lo.
- Declarar as lacunas: perfis sem entrevista, temas sem cobertura, ausência de grupo de validação.
- Lembrar o viés de origem: modelos achatam e retratam mal grupos de identidade (Wang, Morgenstern e Dickerson, 2025). Perfis de grupos pouco representados pedem cuidado redobrado e validação humana.
O método é o mesmo de estudo para estudo, e o que muda são cinco arquivos
Resumo de bolso para o primeiro estudo próprio.
| Passo | O que fazer |
|---|---|
| 1. Trazer dados | Entrevistas em profundidade do público, com consentimento para modelo de linguagem, sem dado pessoal. Pelo menos três perfis, cada um com pelo menos uma entrevista completa só dele. Os estímulos em texto. Se possível, a transcrição de um grupo humano com o mesmo roteiro, guardada sem leitura. |
| 2. Criar o projeto | Escreva novo projeto. O diretor roda scripts/novo_projeto.py e cria projetos/NOME_DO_ESTUDO/. |
| 3. Colocar os arquivos | Corpus, cards e estímulos em 02_curadoria/; grupo humano em 08_validacao/amostra_validacao/; no formato da seção Sua base de dados. |
| 4. Responder ao briefing | Nove perguntas e as de origem. O diretor escreve a pergunta e decisão, o dicionário de temas e o roteiro, e mostra antes de gravar. |
| 5. Seguir as nove etapas | Cada PEDIDO.md do seu projeto traz o exemplo do estudo de treino. O diretor adapta e diz o que mudou. |
O que muda de caso para caso
- O dicionário de temas, escrito com as palavras do seu público.
- O roteiro: blocos, perguntas, probes e a tabela de rotação dos seus estímulos.
- Os cards: atributos, lacunas e limites de cada perfil.
- As perguntas de teste da etapa 4, se você quiser outras além das do roteiro.
- A régua de uso, que a auditoria monta a partir do que o seu estudo sustenta.
O que não muda: as quatro marcas, as instâncias separadas, as duas rodadas com ordem trocada, os limiares (salvo mudança registrada) e a abertura única do grupo de validação.
Os termos do kit têm um sentido preciso dentro do método
Na ordem em que aparecem no fluxo.
| Grupo focal sintético | Conversa simulada entre várias personas de IA, conduzida por um moderador também simulado. |
| Agente | Neste guia, o programa da IDE que lê a pasta, roda scripts e conversa com você. |
| Corpus | O conjunto de entrevistas, com cada parágrafo identificado. É o dado de ajuste. |
| Card de evidência | O perfil de um participante, com as fontes autorizadas e os ids de cada atributo. |
| TF-IDF | Peso de uma palavra: frequente no trecho e rara no conjunto pesa mais. |
| Cosseno | Medida de proximidade entre dois vetores de palavras: 0 nenhuma palavra em comum, 1 vocabulário idêntico. |
| Embedding | Vetor que representa o sentido de um trecho, além da palavra exata. Opcional no kit. |
| RAG | Geração aumentada por recuperação: buscar trechos antes de responder e responder a partir deles. |
| Instrução de sistema | Texto que abre a conversa de uma instância e define o papel dela. |
| Rodada | Uma sessão completa do grupo, blocos 0 a 6, gravada como transcrição. |
| Efeito de ordem | Mudança de resultado causada só por quem falou primeiro. |
| Tema estável | Tema que aparece nas duas rodadas. |
| Lastro | Proximidade de vocabulário entre a fala e o parágrafo citado. Pede leitura, não prova invenção. |
| Temperatura | Parâmetro do modelo que regula quanto ele varia ao escolher cada palavra. |
| Jaccard | Interseção dividida pela união de dois conjuntos. |
| Índice de concentração | Herfindahl normalizado aplicado aos turnos: 0 todos falam igual, 1 uma pessoa sozinha. |
| Spearman | Correlação entre as ordens de duas listas: 1 mesma ordem, 0 nenhuma relação. |
| Kappa de Cohen | Acordo entre duas codificações além do acaso. |
| Grupo de validação | Grupo humano que ninguém tocou, aberto uma vez na etapa 8. No quantitativo, o equivalente é a amostra de validação; no kit de persona, a entrevista de validação. |
| Disclosure | Texto que acompanha o material e declara como ele foi feito e o que ele não sustenta. |
Cada afirmação de método do guia aponta para uma fonte primária
Links conferidos em 19/10/2026. Os números do exercício vêm dos arquivos do kit citados em cada seção.
- Zhang, T., Zhang, X., Cools, R. e Simeone, A. L. (2024). Focus Agent: LLM-Powered Virtual Focus Group. arxiv.org/abs/2409.01907
- Zhu, X., Zhang, C., Stafford, T., Collier, N. e Vlachos, A. (2024). Conformity in Large Language Models. arxiv.org/abs/2410.12428
- Weng, Z., Chen, G. e Wang, W. (2025). Do as We Do, Not as You Think: the Conformity of Large Language Models. arxiv.org/abs/2501.13381
- Sharma, M. e colegas (2023). Towards Understanding Sycophancy in Language Models. arxiv.org/abs/2310.13548
- Wang, P. e colegas (2023). Large Language Models are not Fair Evaluators. arxiv.org/abs/2305.17926
- Wang, A., Morgenstern, J. e Dickerson, J. P. (2025). Large language models that replace human participants can harmfully misportray and flatten identity groups. Nature Machine Intelligence. arxiv.org/abs/2402.01908
- Bisbee, J. e colegas (2024). Synthetic Replacements for Human Survey Data? The Perils of Large Language Models. Political Analysis 32(4). doi.org/10.1017/pan.2024.5
- Anthis, J. R. e colegas (2025). LLM Social Simulations Are a Promising Research Method. arxiv.org/abs/2504.02234
- Park, J. S. e colegas (2023). Generative Agents. UIST 2023. arxiv.org/abs/2304.03442
- AAPOR, força-tarefa (2026). Responsible AI Integration in Survey Research. aapor.org (PDF)
- ICC/ESOMAR (2025). International Code on Market, Opinion and Social Research and Data Analytics, revisão de 2025. esomar.org (PDF)
- MRS Advanced Insights and Analytics Council (2025). AI and Synthetic Data in Market Research. mrs.org.uk (PDF)
- Landis, J. R. e Koch, G. G. (1977). The Measurement of Observer Agreement for Categorical Data. Biometrics 33(1). doi.org/10.2307/2529310
Leituras de AAPOR, ICC/ESOMAR e MRS conferidas contra os trechos literais registrados na base do curso (02_Referencias/base_sinteticos_v9/methods_validation.md).
SIMULAÇÃO SINTÉTICA. Material fictício gerado por modelo de linguagem para ensino. Não representa pessoa real nem resultado de pesquisa. Guia do Kit 2, curso ABEP, professor Cassiano Albuquerque, outubro de 2026.