Revisão humana

Atualizado em: semana passada · 7 min de leitura

A maior parte do seu conteúdo pode ser publicada no momento em que o motor a devolve. Mas nem sempre. Uma divulgação regulamentada, uma instrução médica, um título que transporta a marca — nesses casos, vai querer que uma pessoa leia a tradução e lhe dê aprovação antes de entrar em produção, e não depois de um cliente apresentar uma reclamação.

A forma habitual de pôr uma pessoa num fluxo automatizado é também a mais penosa: manter o pedido aberto enquanto alguém lê, criar a sua própria fila de revisão ou integrar manualmente a API de um fornecedor de tradução. Esta fase trata disso dentro do próprio trabalho. Quando humanEdit está ativado, o trabalho assíncrono executa o motor e depois faz uma pausa para revisão humana — pela sua equipa ou por um profissional externo — retomando com a respetiva edição e transportando esse resultado para as fases seguintes.

É executado depois de Rephrase e antes de Post-edit no pipeline de localização e, tal como todas as etapas, aplica-se apenas a tarefas criadas através da Async Localization API. Ainda não conhece o pipeline? Comece pela Visão geral.

Nesta página

Como funciona a pausa#

Depois da etapa principal de tradução — e também depois de Rephrase, quando essa etapa está ativa — a tarefa entrega a tradução por IA a uma pessoa para revisão. Essa pessoa lê-a e aprova-a tal como está ou envia uma versão editada. Só depois disso a tarefa continua. O resultado humano — aprovado ou editado — passa a ser a base para todas as etapas seguintes e, no fim, o outputData da tarefa.

A objeção óbvia a pausar um trabalho durante minutos, horas ou até um dia é o custo: um pedido mantido aberto consome recursos enquanto nada acontece. Esta fase não funciona assim.

A espera é orientada por eventos, não por uma ligação mantida aberta

O workflow retoma com base num evento — um revisor a submeter no dashboard (Revisão Interna) ou um callback do fornecedor de tradução (Revisão Externa). Não está a fazer polling num ciclo apertado nem a manter uma ligação aberta, por isso um tempo limite longo não consome capacidade de computação em segundo plano. Um trabalho pode esperar 48 horas por uma pessoa da mesma forma que espera por um modelo: fica em espera, não a consumir recursos.

Estão disponíveis dois modos de revisão, definidos por motor. A única diferença é quem faz a leitura — o comportamento de pausa, retoma e transporte do resultado é exatamente o mesmo.

Revisão Interna#

A sua equipa revê as traduções diretamente no painel do Lingo.dev. As revisões pendentes aparecem na Fila (/orgs/<org-id>/queue) como itens de Revisão humana, e os revisores são notificados quando chegam novos itens. Um revisor abre um item, edita as chaves necessárias e depois clica em Aprovar tal como está ou, depois de fazer alterações, em Aprovar com edições — o botão mostra quantas são, como em Aprovar com 2 edições. A tarefa é retomada com esse resultado.

Não existe atribuição nem bloqueio. Uma revisão aberta fica num único conjunto que todos os revisores podem ver e sobre o qual podem decidir.

A Revisão interna está disponível com o plano Enterprise. Num plano que a inclua, um novo motor começa com Revisão interna; num plano que não a inclua, começa com Revisão externa, e a opção Revisão interna apresenta uma etiqueta Enterprise. Recorra a esta opção quando a sua equipa tiver internamente a competência linguística necessária e quiser controlo total sobre a formulação final, sem terceiros envolvidos.

Permissões#

A revisão interna não está aberta a toda a gente na organização — a fila de revisão é protegida por permissões, pelo que uma tradução em revisão só é visível para as pessoas a quem atribuir acesso. Um administrador da organização atribui esse acesso através de funções (Settings → Roles):

PermissãoO que permite
Rever traduções (engine:review_translations)Ver itens de Revisão humana na Fila, editá-los e aprová-los tal como estão ou com edições
Gerir revisões (org:manage_reviews)Histórico de revisão e estatísticas das revisões internas. Sem isto, as revisões concluídas continuam ocultas na Fila

As duas permissões estão deliberadamente separadas. Um revisor precisa apenas de Rever traduções — essa única permissão cobre toda a função: editar, aprovar tal como está e aprovar com edições. Gerir revisões destina-se a quem supervisiona a operação; acrescenta o histórico de revisão em toda a organização, mas não inclui, por si só, acesso à fila. Atribua ambas a uma pessoa responsável por rever e reportar; atribua apenas a primeira a quem trabalha só na fila.

Revisão Externa#

Quando não tem revisores internos para um idioma, a tradução é enviada a um tradutor profissional qualificado através de um fornecedor externo. O trabalho pausa da mesma forma e retoma quando o fornecedor devolve a tradução editada. Nada muda no seu código — a diferença está em quem lê a string, não na forma como o trabalho se comporta.

Não há nenhum nível para escolher — o marketplace avalia o próprio tradutor. A Revisão externa é faturada por palavra.

Uma revisão externa também aparece na Fila; quando é aberta, identifica um Tradutor qualificado como revisor. Alguém com Rever traduções pode abri-la e assumi-la: escolha Aprovar tal como está ou Aprovar com edições, e a tarefa termina aí em vez de ficar à espera do tradutor. A confirmação Assumir esta revisão indica o custo antes de confirmar — assumir é gratuito apenas enquanto nenhum tradutor tiver começado; depois de um tradutor começar, a taxa mantém-se, use ou não o respetivo trabalho.

Convém ser totalmente claro: a Revisão Externa põe um tradutor humano real do outro lado, com os prazos e os custos que isso implica. Não é um modelo mais rápido. Use-a quando o valor está precisamente no julgamento humano — texto regulamentado, conteúdo de alto risco — e reserve o percurso só com IA para a maior parte do conteúdo que não precisa desse nível de intervenção.

Limiar de qualidade#

Nem todas as traduções precisam de intervenção humana. Defina o Limiar de qualidade (1–100) nas definições de Revisão humana e um avaliador de IA pontua cada tradução antes de esta seguir para revisão. Se atingir ou ultrapassar o limiar, a tradução é enviada sem revisão humana e a etapa humanEdit é registada como skipped; se ficar abaixo, a tradução segue para revisão como habitual. Deixe o campo vazio para rever tudo. Na configuração, corresponde a qualityThreshold em humanEdit.

Uma tradução enviada desta forma não tem resultado humano, por isso Post-edit não é executado.

Tempo limite#

Uma fase humana introduz um risco que as fases de IA não têm: a pessoa pode nunca responder. Um revisor está de férias, o fornecedor está atrasado, o item é esquecido. Sem um limite, o trabalho ficaria à espera para sempre.

Assim, o tempo de espera fica limitado. Define quanto tempo o workflow espera pelo resultado humano — Tempo limite, em horas, nas definições de Revisão humana; timeoutHours na configuração. Aplica-se a ambos os modos de revisão. Se o tempo limite expirar sem resposta, a etapa é marcada como skipped e a tarefa continua com a tradução por IA como resultado final. O valor predefinido é 48 horas. Na Fila, uma revisão que expirou aparece como Fechada sem decisão.

Vale a pena dizer isto sem rodeios: quando o tempo limite expira, publica a tradução por IA sem revisão. Esse é o fallback certo para a maioria dos conteúdos — mais vale uma tradução publicada do que um trabalho bloqueado indefinidamente — mas continua a ser um compromisso real. Para conteúdos em que a aprovação humana é obrigatória, defina um tempo limite generoso e crie um alerta para a omissão; para conteúdos em que a revisão é apenas desejável, um tempo limite curto mantém o pipeline a avançar.

O tempo limite é por fase, não por trabalho

O tempo limite controla apenas quanto tempo esta fase espera por uma pessoa. É independente do tempo que o resto do trabalho demora. Como a espera é orientada por eventos, um tempo limite longo só lhe custa latência até ao resultado final se o revisor for lento — nunca capacidade de computação em segundo plano.

Ativar a fase#

humanEdit é configurado como qualquer fase do pipeline: uma predefinição ao nível do motor no separador Pipeline do motor, com possibilidade de substituição por pedido. O modelo completo de duas camadas está em Configurar o pipeline; a configuração específica desta fase é:

json
{
  "humanEdit": {
    "enabled": true,
    "provider": "internal",
    "tier": "standard",
    "timeoutHours": 48,
    "qualityThreshold": 85
  }
}

provider seleciona o modo — internal para a sua própria equipa, external para um tradutor profissional através do marketplace externo. tier é opcional e aceita apenas standard. timeoutHours define o limite de Tempo limite, e o qualityThreshold opcional (1–100) corresponde ao de Limiar de qualidade. Para substituir esta configuração numa única submissão, passe este bloco dentro de pipelineConfig na chamada de criação; se o omitir, a tarefa herda a definição do motor.

Quando a fase é executada, fica registada no trabalho em stepId: "humanEdit" com um estado de completed, failed ou skipped — o mesmo registo de etapa que todas as fases produzem. A leitura desses registos é abordada em Observe pipeline runs.

Uma edição humana pode afastar-se das regras do seu motor

Um tradutor humano pode formular algo de uma forma que entre em conflito com o seu glossário, a sua voz da marca ou as suas regras — está a traduzir bem, não a decorar a sua configuração. Para alinhar automaticamente a edição humana com as regras do seu motor, ative a etapa seguinte, avaliação por IA — Post-edit no separador Pipeline. Só é executada depois de uma etapa humana que tenha efetivamente produzido resultado.

Passos seguintes#