Atas de Reunião
Produza atas que uma pessoa que perdeu a reunião possa confiar: cada declaração rastreável até a gravação, cada rótulo de falante honesto sobre o seu grau de certeza.
A gravação é a fonte da verdade. Uma transcrição é uma evidência, e a ata é uma interpretação dessa evidência. Anotações feitas por um robô de reunião ou por um participante são secundárias: use-as apenas para verificação cruzada.
Modos de operação
Carregar este skill não autoriza uma execução completa. Escolha o menor modo que atenda à solicitação.
- Modo de orientação: perguntas sobre como transcrever, qual modelo é adequado para uma máquina, por que os rótulos dos falantes estão errados, como ler uma transcrição existente. Responda a partir do arquivo relevante. Não instale nada nem crie arquivos.
- Modo de transcrição: o usuário deseja apenas o texto. Execute a configuração, a transcrição e (a menos que recusado) a separação de falantes. Pare após a transcrição rotulada por falante.
- Modo de atas: o usuário deseja atas. Execute todas as fases e escreva os arquivos listados em "Saídas".
Se a solicitação puder se enquadrar em mais de um modo, faça uma pergunta curta antes de instalar qualquer coisa.
Terminologia da plataforma
Este skill é neutro em relação ao agente.
- Shell é o que a plataforma usa para executar comandos no computador do usuário.
- Execução em segundo plano é a forma da plataforma iniciar um comando longo e ser avisada quando ele terminar. Se não houver, execute o comando em primeiro plano e informe ao usuário quanto tempo esperar.
- Ambiente é um ambiente Python que este skill cria uma vez e reutiliza.
<python>é o seu interpretador. - Script de referência é um bloco de código nestes arquivos. Salve-o em
<out>/work/e execute-o com<python>. É um ponto de partida testado, não um contrato fixo: adapte-o quando a máquina, a versão da biblioteca ou a solicitação exigirem, e diga o que você alterou.
Princípios
- O áudio permanece local. Nunca envie a gravação, ou qualquer parte dela, para um serviço remoto. A transcrição e a separação de falantes são executadas neste computador.
- Seja transparente sobre para onde o texto vai. A transcrição é texto, e o agente que escreve a ata o lê. Se esse agente for um modelo em nuvem, o texto vai para esse provedor. Avise uma vez antes da primeira execução se a reunião puder ser confidencial.
- Apenas o que foi dito. A ata contém o que a transcrição suporta. Nenhum proprietário, data, número ou decisão inventados.
- Rótulos honestos dos falantes. Um número se torna um nome apenas com evidências. Um palpite é marcado como palpite.
- Um trabalho pesado por vez, com prioridade baixa. Os modelos de fala usam a máquina inteira. Nunca execute transcrição e separação de falantes juntos. Mais lento é aceitável; o usuário ainda precisa trabalhar neste computador.
- Pergunte antes de instalar, nunca manipule segredos. Mostre o comando antes de instalar um programa. O usuário faz login, aceita os termos do modelo e armazena tokens. Não peça senha ou token na conversa.
- Erros de reconhecimento são esperados. Nomes, números e jargões são os pontos fracos. Verifique o que é importante em vez de alisar.
Valores de configuração
Resolva estes antes da primeira fase. Pergunte ao usuário apenas pelo que você não conseguir descobrir sozinho.
- Diretório do skill: o diretório absoluto que contém este
SKILL.md. - Gravação: o caminho absoluto do arquivo de áudio ou vídeo.
- Diretório de saída
<out>: o padrão é uma nova pasta ao lado da gravação, nomeada com o nome dela mais-minutes. Use outro local quando o usuário nomear um ou a gravação estiver em uma pasta sincronizada ou compartilhada onde arquivos de trabalho não pertencem. - Idioma: pergunte ou deixe o modelo detectar.
- Participantes: nomes, e equipes ou cargos se conhecidos. Necessário para atribuir nomes aos falantes e para o cabeçalho da ata. Se o usuário não souber, continue com falantes numerados.
- Título, data e hora, propósito: para o cabeçalho. Extraia do usuário ou do nome do arquivo e metadados; nunca por adivinhação.
Saídas
Todos os caminhos estão dentro de <out>.
| Arquivo | Escrito em | Conteúdo |
|---|---|---|
transcript.json | Fase 2 | Segmentos com timestamps palavra a palavra. Nunca editado depois |
transcript.txt | Fase 2 | O mesmo texto, uma linha com timestamp por segmento. O registro não corrigido |
diarization.json | Fase 3 | Quem falou quando, falantes numerados de 1 |
speakers.json | Fase 4 | Número do falante para nome, com marcas de incerteza |
corrections.tsv | Fase 4 | Erros de reconhecimento recorrentes e suas correções |
transcript-speakers.txt | Fase 4 | A transcrição corrigida e rotulada por falante. A base para a ata |
minutes.md | Fase 5 | A ata, com a transcrição rotulada por falante como apêndice |
work/ | todas | Scripts de referência conforme executados e logs |
Fluxo de trabalho
| Fase | Lê | Resultado |
|---|---|---|
| 1. Configuração | SETUP.md | Um ambiente funcional, e uma decisão sobre GPU ou CPU e sobre separação de falantes |
| 2. Transcrição | TRANSCRIPTION.md | transcript.json, transcript.txt |
| 3. Separação de falantes | DIARIZATION.md | diarization.json |
| 4. Falantes e correções | SPEAKERS.md | speakers.json, corrections.tsv, transcript-speakers.txt |
| 5. Ata | MINUTES.md | minutes.md |
A Fase 1 é feita uma vez por computador; execuções posteriores apenas verificam. As Fases 2 e 3 são longas: use uma execução em segundo plano e continue quando terminar. A Fase 3 é pulada quando o usuário recusa o acesso único ao modelo; o restante ainda funciona, sem nomes.
Verifique o resultado de cada fase antes de iniciar a próxima. Cada arquivo termina com uma seção "Verificação".
Relatório ao usuário
Quando a execução terminar, informe ao usuário:
- onde está
minutes.md; - quais nomes de falantes estão confirmados e quais são palpites;
- o que foi pulado ou alterado em relação aos padrões e por quê;
- os pontos fracos conhecidos desta execução (nomes ou números pouco claros, fala sobreposta, um trecho de áudio ruim).
Antipadrões
- Resumir anotações feitas por um robô de reunião quando a gravação está disponível. Essas anotações omitem trechos da reunião e fundem todas as vozes em uma.
- Executar transcrição e separação de falantes ao mesmo tempo "para economizar tempo". Isso desacelera ambos e pode esgotar a memória da GPU.
- Fornecer ao modelo de fala uma lista de nomes dos participantes como dica. Ele então escreve esses nomes em silêncios e perde fala real.
- Nomear um falante porque um nome "encaixa". Uma atribuição errada em atas compartilhadas custa mais do que dez rótulos "Falante 3".
- Corrigir a transcrição reescrevendo frases. Corrija erros recorrentes de palavras mal compreendidas através de
corrections.tsv; deixe a redação original. - Escrever um item de ação com um responsável e uma data que ninguém declarou.
- Relatar sucesso sem abrir o resultado. Leia o primeiro e o último minuto da transcrição e compare a contagem de falantes com a contagem de participantes.