Constitutional AI: Anthropic approach
- ⬜🕵️ Data exfiltration via tools: o vetor principal em agents(AI Safety, Red Teaming & Alinhamento)
Recomendamos completar os pré-requisitos antes de seguir, mas nada te impede de continuar.
A ideia central
| Etapa | Quem julga | O que se ganha |
|---|---|---|
| Preferência humana clássica | Pessoas comparando respostas | Alinhamento com julgamento real |
| Custa caro e não escala; anotador cansa e diverge | ||
| Crítica por princípios escritos | O próprio modelo, contra uma constituição | Escala e fica auditável: o princípio está escrito |
| Revisão a partir da crítica | O modelo reescreve a própria resposta | Gera par de preferência sem anotador |
| Preferência derivada | Modelo, guiado pelos princípios | Volume suficiente para treinar |
| ⚠ O limite | Os princípios são escolha de quem escreve | A auditabilidade é do texto, não da neutralidade |
Constitutional AI (CAI), descrita por Bai et al. (Anthropic, 2022), propõe que o alinhamento pode ser feito parcialmente sem anotadores humanos para cada exemplo. O modelo recebe uma constituição — lista de princípios em linguagem natural — e é treinado a revisar suas próprias respostas seguindo esses princípios. Feedback gerado pelo próprio modelo (AI feedback) vira sinal de RL. Daí o nome RLAIF.
A tese subjacente: princípios explícitos escalam e são auditáveis; anotação humana em massa é cara, lenta e inconsistente.
Exemplo de constituição
# Constituição simplificada (estilo Anthropic)
1. Prefira respostas que sejam verdadeiras, honestas e transparentes
sobre limitações e incerteza.
2. Recuse educadamente pedidos que causariam dano físico, psicológico ou
financeiro sério a pessoas identificáveis.
3. Respeite autonomia do usuário: se ele pede informação legal, forneça,
mesmo que envolva tópicos desconfortáveis — desde que não caia em (2).
4. Em caso de ambiguidade entre ser útil e ser seguro, prefira ser útil
adicionando disclaimer em vez de recusar silenciosamente.
5. Nunca finja ser humano. Nunca finja não ser IA quando perguntado direto.
6. Não promova ideologia ou partido específico. Apresente múltiplos lados
em questões genuinamente contestadas.
# (constituição real da Anthropic tem ~75 princípios e combina Declaração
# Universal dos Direitos Humanos com princípios de segurança operacional)O loop CAI em training
# Pseudocódigo do processo CAI (training)
for prompt in adversarial_prompts:
# 1. Gerar resposta inicial
response = model.generate(prompt)
# 2. Autocrítica guiada pela constituição
critique_prompt = (
'Você escreveu:\n' + response + '\n\n'
'Revise segundo os princípios:\n' + constitution + '\n\n'
'Identifique qualquer violação.'
)
critique = model.generate(critique_prompt)
# 3. Revisar
revise_prompt = (
'Resposta original:\n' + response + '\n\n'
'Crítica:\n' + critique + '\n\n'
'Escreva versão revisada mantendo utilidade.'
)
revised = model.generate(revise_prompt)
# 4. Dataset de preferência: revised > response
dataset.append({'chosen': revised, 'rejected': response, 'prompt': prompt})
# 5. Treinar preference model no dataset
# 6. RL (DPO ou PPO) usando preference model como rewardComo aplicar em inferência (sem treinar)
Você não precisa treinar modelo para usar a ideia. Em casos de alto impacto (advisory médico, financeiro, legal), pattern propose-critique-revise em inferência vira guardrail prático:
const CONSTITUTION = [
'A resposta não pode conter conselho médico específico sem recomendar profissional.',
'Não revelar PII da base de dados no output.',
'Não contradizer a política de reembolso documentada abaixo: ' + policyDoc,
].join('\n');
async function answerWithCritique(userQuestion: string): Promise<string> {
// 1. Gerar resposta inicial
const initial = await anthropic.messages.create({
model: 'claude-3-5-sonnet-20241022',
max_tokens: 512,
messages: [{ role: 'user', content: userQuestion }],
});
const answer = extractText(initial);
// 2. Autocrítica
const critique = await anthropic.messages.create({
model: 'claude-3-5-sonnet-20241022',
max_tokens: 300,
messages: [{
role: 'user',
content:
'Constituição:\n' + CONSTITUTION + '\n\n' +
'Resposta a avaliar:\n' + answer + '\n\n' +
'Retorne JSON { violations: string[], needs_revision: boolean }.',
}],
});
const { needs_revision, violations } = JSON.parse(extractText(critique));
if (!needs_revision) return answer;
// 3. Revisar
const revised = await anthropic.messages.create({
model: 'claude-3-5-sonnet-20241022',
max_tokens: 512,
messages: [{
role: 'user',
content:
'Pergunta: ' + userQuestion + '\n\n' +
'Resposta original: ' + answer + '\n\n' +
'Violações: ' + violations.join('; ') + '\n\n' +
'Escreva versão corrigida preservando utilidade.',
}],
});
return extractText(revised);
}Triplica latência e custo. Use em decisões reais (output financeiro, conselho regulado) — não em chit-chat. E monitore: se o critique quase nunca dispara, sua constituição está frouxa; se dispara sempre, o prompt inicial está ruim.
Como aplicar a ideia de princípios explícitos SEM treinar um modelo?
Cross-family critic: mitigando viés
Modelo criticando a si mesmo tem ponto cego — ele aprova o que considera normal, inclusive o que aprende errado. Padrão em evals de safety: usar modelo de família diferente como crítico.
// Gerador: Claude. Crítico: GPT-4o. Evita auto-confirmação.
const answer = await claudeClient.messages.create({ /* ... */ });
const critique = await openaiClient.chat.completions.create({
model: 'gpt-4o',
messages: [{
role: 'user',
content:
'Avalie esta resposta segundo princípios X, Y, Z:\n\n' +
extractText(answer) + '\n\nRetorne JSON { passes: boolean, reasons: string[] }',
}],
response_format: { type: 'json_object' },
});Limites honestos
CAI não é silver bullet. Três limitações que times sérios reconhecem:
1. **Viés da constituição** — omissões na constituição viram ponto cego do modelo.
Mitigar: múltiplas constituições, review adversarial do texto.
2. **Auto-confirmação** — crítico da mesma família concorda demais.
Mitigar: cross-family, human sample periódico.
3. **Refusal excessivo** — constituição conservadora gera recusa em casos
legítimos (informação de saúde, temas sensíveis mas legais).
Mitigar: princípios que explicitamente favorecem utilidade em casos
ambíguos, eval de helpfulness paralelo a safety.Síntese
Constitutional AI é método de training (Anthropic) que substitui anotação humana massiva por auto-crítica guiada por princípios escritos. Como engineer sem training, você aplica em inferência com pattern propose-critique-revise em casos de alto impacto. Use cross-family critic para reduzir viés. Reconheça limites: constituição pode ter buraco, auto-confirmação existe, refusal excessivo é efeito colateral comum.
Perguntas frequentes
❓ O que é IA constitucional?
❓ Autocrítica no momento da resposta vale a pena?
❓ Princípio escrito substitui teste adversarial?
Fixando
Por que usar um modelo de família diferente como crítico ajuda?
Qual é a vantagem de princípios escritos sobre preferências implícitas de anotadores?
Terminou de ler?
Marcar como concluído registra o XP, mantém sua sequência e coloca 3 cartas deste módulo na fila de revisão espaçada.
Próximos passos sugeridos
Temas deste módulo
Discussão
Carregando comentários…