Capítulo 35 — Proposta de projeto final
Mapa da aula
Aula 35 publicada. Mapa, exemplo, EX103.
flowchart TD
N0["35.1 Escolha do projeto final"]
N1["35.2 Conteúdo da proposta"]
N2["35.3 Ética e autorização"]
N3["35.4 O inventário como ponto de partida"]
N4["35.4b Acordo com o orientador"]
N5["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5
N5 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX103"]
Desenho lógico
flowchart LR
N0["35.1 Escolha do projeto final"]
N1["35.2 Conteúdo da proposta"]
N2["35.3 Ética e autorização"]
N3["35.4 O inventário como ponto de partida"]
N4["35.4b Acordo com o orientador"]
N5["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> Q["EX103"]
[35.1 Escolha do projeto final]
|
v
[35.2 Conteúdo da proposta]
|
v
[35.3 Ética e autorização]
|
v
[35.4 O inventário como ponto de partida]
|
v
[35.4b Acordo com o orientador]
|
v
[Síntese]
|
v
[Exemplo resolvido] --> [Exercício EX103]
Objetivos de aprendizagem
Você vai (1) propor um projeto final em segurança de IA com problema, objetivos e entregas claros; (2) definir requisitos, métodos e avaliação; (3) planejar ética, autorização e tratamento de dados; e (4) montar um cronograma realista, com riscos.
35.1 Escolha do projeto final
Bons projetos finais resolvem um problema concreto com um componente de segurança de IA, produzem um artefato funcional e evidências e podem ser concluídos em dois semestres. Opções: um chatbot de recuperação protegido, com imposição de políticas e um ambiente de avaliação; um pipeline de detecção de envenenamento; uma ferramenta de inventário e avaliação de riscos de IA para uma organização pequena; um serviço de monitoramento de abuso de APIs de modelos. Rina escolheu a primeira opção porque a LCH tinha um fluxo de marcação real para modelar e ela já havia estudado suas fraquezas, então o modelo de ameaças estava pronto.
35.2 Conteúdo da proposta
Problema e partes interessadas; objetivos; escopo e exclusões; requisitos com métodos de verificação; método e arquitetura; plano de avaliação com métricas, conjuntos de teste e critérios de aceitação; ética e autorização; gestão de dados; cronograma com marcos; riscos e mitigações; entregas esperadas. Cada parte responde a uma pergunta que o orientador fará. Escopo e exclusões dizem o que não será feito, para que ninguém espere um canal de voz. Os requisitos com métodos de verificação mostram como o sucesso será julgado. A parte de ética declara que todos os dados de pacientes são sintéticos. O cronograma deixa espaço para uma segunda rodada de testes, já que a primeira costuma encontrar problemas que precisam de correção.
35.3 Ética e autorização
Declare quais sistemas e dados você usará e sob a autoridade de quem. Prefira dados sintéticos e ambientes isolados. Se trabalhar com uma organização real, obtenha autorização por escrito e acorde o tratamento dos dados. A proposta de Rina nomeou o líder de segurança da LCH como a pessoa que autoriza o acesso à homologação, anexou o escopo assinado e declarou que nenhum dado real de paciente sairia da LCH. O comitê de ética da universidade revisou o plano porque os testadores independentes eram colegas e confirmou que ele não exigia outra aprovação, já que não seriam coletados dados dos participantes além de seus casos de teste.
35.4 O inventário como ponto de partida
Muitos projetos finais começam por entender o panorama de IA de uma organização. O laboratório de inventário pontua os sistemas por exposição, autonomia, sensibilidade dos dados e entrada não confiável, sugerindo onde concentrar o esforço.
"""Lab V: an AI system inventory scored for review priority (synthetic).
Each system lists exposure, autonomy, data sensitivity and whether it reads
untrusted content; mapping to OWASP LLM Top 10 (2025) IDs is illustrative."""
import json
inv = json.loads("""[
{"name":"support-chatbot","exposure":"public","autonomy":"tools","data":"customer","untrusted_input":true},
{"name":"invoice-ocr-model","exposure":"internal","autonomy":"none","data":"financial","untrusted_input":true},
{"name":"code-assistant","exposure":"internal","autonomy":"suggest","data":"source","untrusted_input":true},
{"name":"churn-predictor","exposure":"internal","autonomy":"none","data":"customer","untrusted_input":false},
{"name":"hr-cv-screener","exposure":"internal","autonomy":"decide","data":"personal","untrusted_input":true}
]""")
E = {"public": 3, "internal": 1}; A = {"none": 0, "suggest": 1, "tools": 3, "decide": 3}
D = {"customer": 2, "financial": 2, "source": 2, "personal": 3}
for s in inv:
s["score"] = E[s["exposure"]] + A[s["autonomy"]] + D[s["data"]] + (2 if s["untrusted_input"] else 0)
risks = []
if s["untrusted_input"]: risks.append("LLM01")
if s["autonomy"] in ("tools", "decide"): risks.append("LLM06")
if s["data"] in ("customer", "personal"): risks.append("LLM02")
s["owasp"] = ",".join(risks) or "-"
for s in sorted(inv, key=lambda s: -s["score"]):
print(f"{s['name']:18s} score={s['score']:2d} owasp={s['owasp']}")
Saída esperada:
support-chatbot score=10 owasp=LLM01,LLM06,LLM02
hr-cv-screener score= 9 owasp=LLM01,LLM06,LLM02
code-assistant score= 6 owasp=LLM01
invoice-ocr-model score= 5 owasp=LLM01
churn-predictor score= 3 owasp=LLM02
No inventário sintético do laboratório, o chatbot público de suporte com ferramentas marca 10 e o triador de currículos que decide marca 9, então ambos sobem ao topo. O preditor de cancelamento de clientes, sem entrada não confiável, marca 3. Rina usou a mesma pontuação na LCH: o Ask Lumen ficou em primeiro, seguido do DocSort e do NoShow, o que confirmou sua escolha de projeto final.
35.4b Acordo com o orientador
Acorde a proposta com seu orientador e, quando for o caso, com o cliente. Registre as decisões e as mudanças posteriores à aprovação num registro de mudanças, para que a avaliação final compare o que você entregou com o que foi acordado. O registro de mudanças de Rina anotou uma mudança aprovada: a retirada do canal de voz do escopo, já que a cópia de homologação não tinha interface de voz. A entrada trazia a data, o motivo e a aprovação do orientador, de modo que a banca viu depois que o escopo mais estreito havia sido acordado, e não que algo difícil fora omitido em silêncio.
35.5 Exemplo resolvido (caso sintético da LCH)
Rina propôs o "Safe Booking Assistant": uma reimplementação do fluxo de marcação do Ask Lumen com tokens delegados, um serviço de políticas, confirmação, verificações de embasamento e um ambiente de red team, avaliada em 1.000 conversas sintéticas. Exclusões: canal de voz, idiomas que não o inglês. Os critérios de aceitação incluíam zero marcações para outros pacientes (limite superior < 0.5%) e marcações concluídas ≥ 93%. O limiar de marcações foi definido logo abaixo dos 94% obtidos no estudo anterior sobre confirmação, de modo que o projeto final precisasse manter a usabilidade perto do que a LCH já havia aceitado. Mil conversas foram escolhidas porque, com zero falhas, dão um limite superior abaixo da meta de meio por cento.
35.6 Erros e limites
Três erros são comuns: projetos finais sem critérios de aceitação mensuráveis; falta de autorização; e cronogramas sem folga. Sem critérios de aceitação mensuráveis, um projeto final só consegue descrever o que foi construído, e não se funciona. A falta de autorização pode encerrar um projeto quando a organização descobre testes que não aprovou. Cronogramas sem folga fracassam quando a primeira avaliação encontra problemas, como costuma acontecer; o plano de Rina deixou três semanas entre a primeira execução completa de testes e a avaliação final exatamente por esse motivo, e ela usou todas.
Exercícios
- EX103 — Partes da proposta. Liste dez seções da proposta. Rubrica: 3 = dez; 2 = oito; 1 = cinco; 0 = menos.
- EX104 — Leitura do laboratório. Qual sistema lidera o inventário, e o que determina sua pontuação? Rubrica: 3 = support-chatbot, 10: público, ferramentas, dados de clientes, entrada não confiável; 2 = o nome; 1 = vago; 0 = errado.
- EX105 — Aceitação. Escreva dois critérios de aceitação para um projeto final de monitoramento de IA. Rubrica: 3 = mensuráveis, com limiares e tamanhos de amostra; 2 = um; 1 = vago; 0 = nenhum.
Síntese
Uma proposta de projeto final transforma uma ideia de segurança de IA num plano autorizado e mensurável, com escopo e critérios de aceitação claros.
Continue estudando — capítulo 35 de 40
← Capítulo 34 (rascunho) · Índice de capítulos do curso · Capítulo 36 (rascunho) →