Prompting com LLM Orientado
A ideia: Injete regras gramaticais, dicionários bilíngues e notas de estilo diretamente no prompt do sistema do LLM. Sem treinamento, sem fine-tuning — apenas conhecimento linguístico estruturado que orienta a saída para traduções válidas.
:::info Este é um guia prático, não uma implementação finalizada Este documento esboça a abordagem e suas principais decisões de design. Adapte-o para seu par de idiomas, recursos disponíveis e objetivos de avaliação. :::
Quando Usar Isso
- Você tem conhecimento linguístico sobre o idioma de destino (regras gramaticais, entradas de dicionário, preferências de estilo), mas não dados paralelos suficientes para fine-tuning
- Você quer iterar rapidamente — mudanças de prompt são implantadas em segundos, sem retreinamento
- O idioma de destino tem padrões conhecidos que o LLM erra (concordância de gênero, convenções de script, níveis de formalidade)
- Você quer comparar prompting orientado com uma linha de base e iterar sobre o que funciona
Como Funciona
- Reúna dados de orientação — regras gramaticais, um dicionário bilíngue e notas de estilo em um arquivo JSON estruturado
- Configure o registro — um prefixo de prompt do sistema que define o idioma, script e tom
- Execute o harness — os dados de orientação são injetados em cada prompt do LLM
- Revise falhas — observe o que o quality gate rejeita, adicione regras para abordar padrões
- Itere — cada revisão do arquivo de orientação é um novo experimento; o harness rastreia todos eles
Estrutura de Dados de Orientação
{
"grammar_rules": [
"Adjectives agree in gender and number with the noun they modify",
"Use formal register (vous) for all UI text",
"Preserve interpolation variables exactly: {{name}}, {count}"
],
"dictionary": {
"dashboard": "tableau de bord",
"settings": "paramètres",
"deploy": "déployer"
},
"style_notes": "Prefer active voice. Avoid anglicisms where a native term exists. Keep sentences concise for UI readability."
}
Principais Decisões de Design
Especificidade de regras vs. janela de contexto: Mais regras dão ao LLM mais orientação, mas consomem a janela de contexto disponível para tradução real. Comece com 5–10 regras de alto impacto e adicione mais apenas quando você vir padrões de falha específicos.
Cobertura de dicionário: Você não precisa de um dicionário completo — concentre-se em termos que o LLM consistentemente erra. Mesmo 20–30 termos forçados podem melhorar drasticamente a consistência.
A ordem das regras importa: Coloque as regras mais importantes primeiro. LLMs prestam mais atenção às instruções iniciais.
Executando um Experimento
python eval/baseline_experiment.py \
--dataset data/edtekla-dev-v1.json \
--model google/gemini-2.5-pro \
--condition coached-v1 \
--coaching-file coaching/crk.json
Prós e Contras
| ✅ Custo zero de treinamento | ❌ Teto de qualidade limitado pelo conhecimento base do LLM |
| ✅ Iteração instantânea (altere prompt → re-execute) | ❌ Limites de janela de contexto quanto de orientação cabe |
| ✅ Funciona com qualquer provedor de LLM | ❌ Regras podem conflitar — depurar interações de prompt é uma arte |
| ✅ Transparente — você pode ler exatamente o que o LLM vê | ❌ Não cria novo conhecimento, apenas orienta o conhecimento existente |
Combina Bem Com
- FST-Gated Pipeline — orientação + validação morfológica captura o que orientação sozinha perde
- Dictionary-Augmented LLM — terminologia forçada é uma forma de orientação
- Few-Shot Prompting — exemplos + regras juntos são mais poderosos que qualquer um sozinho
Veja Também
- Method Interface — formato de dados de orientação e o protocolo TranslationMethod
- Support a Low-Resource Language — o contexto completo
- Eval Harness — como executar experimentos