Governança de crises com estado para IA de saúde comportamental
Construímos um middleware de segurança que envolve um chatbot de saúde comportamental já existente e impõe uma política de escalonamento com estado, entre turnos, de propriedade da equipe clínica. Ele captura a conversa em escalada que um moderador sem estado deixa passar por construção, e prova cada decisão com uma trilha de auditoria encadeada por hash, arquivável. Segurança é um problema de arquitetura, não um problema de prompting.
0 vs 68
Respostas inseguras entregues, protegido vs desprotegido
Conjunto dourado rotulado de 40 conversas
2 turnos
Detecção mediana mais cedo vs um moderador sem estado idêntico
O mesmo classificador e o mesmo portão; apenas o estado
0 / 29
Escalonamentos falsos em turnos benignos
Conjunto dourado rotulado de 40 conversas
Uma demonstração de um padrão de arquitetura de segurança em dados sintéticos. Não é um dispositivo médico, não é aconselhamento clínico, não é uma integração com EHR.
Chatbots de saúde comportamental são moderados uma mensagem de cada vez. Uma crise não chega uma mensagem de cada vez.
A maior parte da revisão de segurança em um chatbot de saúde mental pontua cada resposta isoladamente. Cada mensagem é verificada, sinalizada ou liberada, e esquecida. Isso funciona para uma única linha explicitamente perigosa. É estruturalmente cego a uma conversa que desvia, turno a turno, em que nenhuma mensagem isolada é alarmante o bastante para ser bloqueada por si só.
As falhas documentadas seguem esse formato. O chatbot "Tessa" da NEDA ofereceu conselhos de déficit calórico e de adipômetro antes de ser retirado (NEDA, 2023). Clínicos relataram psicose reforçada por chatbot em pacientes que nunca encontraram uma pessoa que os contradissesse (Dr. Keith Sakata, UCSF, 2025). A OpenAI retirou uma atualização do GPT-4o depois que ela se tornou bajuladora (OpenAI, 2025). Em cada caso o modelo soava apoiador em qualquer turno isolado, enquanto a trajetória seguia para um lugar inseguro.
Um moderador sem estado não tem como ver essa trajetória, porque não tem memória dos turnos anteriores. Um modelo-base melhor não corrige isso. Um chatbot perfeito ainda não conhece a política de escalonamento da sua plataforma, não produz nenhuma trilha de auditoria que você possa arquivar e não oferece nenhum portão determinístico para certificar. É por isso que tratamos a segurança aqui como um problema de arquitetura, e por isso a demonstração compara dois stacks rodando o modelo idêntico.
Modelos consultivos alimentam um portão determinístico. O portão toma a decisão, e a decisão é código que você pode ler.
Cada turno do paciente passa por um pipeline fixo. A mensagem tem o PII removido e recebe um hash, um classificador C-SSRS pontua a gravidade segundo a estrutura Columbia e devolve um nível, uma confiança e um ABSTAIN quando não consegue justificar uma gravidade. Um Monitor de Trajetória com estado então acumula o risco entre turnos. Esta é a capacidade central, e é a única coisa que um moderador por mensagem não tem: ele vê o padrão, não a linha isolada, e produz um risco efetivo e uma faixa (BENIGN, WATCH, CONCERN, HIGH, CRITICAL) com um motivo declarado como "transtorno alimentar persistente, inclinação crescente."
Antes que qualquer resposta candidata chegue ao paciente, um painel verificador multicrítico a inspeciona: um crítico de bajulação e tom, um detector de padrões proibidos e um verificador de afirmações clínicas. Um crítico sinalizado força o portão a pelo menos um nível mínimo configurado, não importa quão suave a resposta soe.
A decisão em si é um portão de política determinístico de 5 níveis, e é Python, não um LLM: L1 CONTINUE, L2 RESTRICT, L3 SUBSTITUTE_SCRIPT, L4 HUMAN_HANDOFF, L5 CRISIS_PROTOCOL. Quando o portão bloqueia uma resposta, ele substitui um dos scripts de uma biblioteca empacotada, escritos por clínicos, por nível e família, e registra o id do script. Ele nunca improvisa linguagem de crise. Cada turno é então gravado como uma entrada sha256 encadeada à anterior.
Os limiares, os mínimos forçados pelo verificador e a biblioteca de 12 scripts são configurados pelo comitê de segurança clínica sob a versão de política 2026.04-clinical-v1. A engenharia impõe exatamente isso e não o altera. O histórico de um paciente, recuperado pela flag FHIR em stub, pode reduzir um limiar para que a camada escalone mais cedo para um paciente mais vulnerável. Quando a confiança do classificador é baixa, ele se abstém e encaminha para revisão humana em vez de adivinhar uma gravidade.
O cenário principal padrão é a deriva de transtorno alimentar: seis turnos, cada um individualmente uma pergunta comum de bem-estar.
A conversa começa com perguntas inofensivas sobre comer de forma mais saudável e contar calorias. Um moderador por mensagem não tem o que bloquear, e a linha de base sem estado na demonstração permanece verde, lendo WATCH e "não vê nada, sem memória" turno após turno. A camada com estado, observando a trajetória, entra em CONCERN no turno 3. Ela bloqueia a resposta do chatbot e substitui um script de ancoragem escrito por clínicos que aponta para a NEDA Helpline. Isso é dois turnos antes da primeira mensagem explicitamente perigosa.
Nos turnos finais as mensagens se tornam explicitamente perigosas. O stack desprotegido à esquerda entrega a resposta prejudicial, mostrada tachada e rotulada como entregue ao paciente e insegura. À direita, o painel verificador intercepta a resposta, captura o tom bajulador e o padrão proibido, e o portão escalona para L4 transferência humana, acionando um membro da equipe de cuidado com o contexto completo. Descrevemos a interceptação, não o conteúdo prejudicial em si.
O resultado da sessão torna o delta concreto, e ele é atribuível apenas ao estado porque os dois stacks usaram o mesmo classificador e o mesmo portão. A única diferença foi a memória entre turnos.
O harness de benchmark pontua um conjunto dourado rotulado de 40 conversas com 177 turnos, gerado de forma determinística a partir de 8 conversas canônicas escritas à mão mais paráfrases que preservam o rótulo e variantes de controle benigno. Nesse conjunto o stack protegido entregou 0 respostas inseguras onde um desprotegido entregou 68. A detecção ocorreu uma mediana de 2 turnos mais cedo do que o moderador sem estado idêntico, e em 2 conversas o moderador sem estado nunca escalonou. Houve 0 escalonamentos falsos em 29 turnos benignos, a acurácia de nível C-SSRS foi 94,3% no nível exato e 97,2% dentro de um nível, e a camada se absteve para um humano uma vez. Esses números estão restritos a este conjunto dourado sintético, não a uma garantia em mundo aberto.
Cada conversa gera um Relatório de Incidente de Segurança. Cada turno é uma entrada sha256 encadeada à anterior, então editar qualquer campo quebra todos os hashes posteriores e a adulteração fica evidente. O relatório mostra o nível do classificador, o risco entre turnos, os achados do verificador, a decisão do portão e o motivo dela, o id do script substituído e a cadeia de hashes, com a cadeia verificada intacta. Foi feito para arquivar: evidência de monitoramento pós-comercialização da FDA, defesa em litígios, subscrição de seguros.
O mesmo trabalho, uma diferença estrutural: memória entre turnos e uma política da qual alguém pode ser dono.
| Capacidade | Moderador sem estado por mensagem | Camada de Segurança de IA Clínica |
|---|---|---|
| Pontua uma única mensagem | Sim | Sim |
| Vê a trajetória entre turnos | Não, não tem memória | Sim, um acumulador de risco com estado |
| Inspeciona a resposta candidata antes da entrega | Não | Sim, um painel verificador multicrítico |
| Quem é dono da política de escalonamento | Implícito no modelo ou no prompt | A equipe clínica, um portão de 5 níveis |
| O que toma a decisão | Um modelo ou um prompt | Código determinístico fora do LLM |
| Linguagem de crise quando bloqueia | Gerada pelo modelo, improvisada | Biblioteca de scripts aprovada por clínicos |
| Auditoria feita para arquivar | Nenhuma | Relatório de Incidente de Segurança encadeado por hash |
Não. É middleware que envolve o chatbot existente e nunca altera o modelo. Ele adiciona um acumulador de risco com estado entre turnos, um painel verificador multicrítico e um portão de escalonamento determinístico em torno do modelo, e substitui um script escrito por clínicos quando bloqueia uma resposta. O ponto é governança com estado e um comprovante arquivável, não um modelo diferente.
Um moderador por mensagem pontua cada resposta isoladamente e não tem memória, então deixa passar uma crise que se constrói ao longo dos turnos. Em um conjunto dourado rotulado de 40 conversas a camada com estado escalonou uma mediana de 2 turnos mais cedo do que um moderador sem estado idêntico que usou o mesmo classificador e o mesmo portão. Em duas dessas conversas o moderador sem estado nunca escalonou.
Não. O classificador e o painel verificador são consultivos, mas a decisão de escalonamento de 5 níveis e a auditoria são código Python determinístico fora de qualquer LLM. Um revisor pode ler o portão; não pode contra-interrogar um prompt. Agentes aconselham, o código decide.
Cada turno é uma entrada sha256 encadeada à anterior, então editar qualquer campo quebra todos os hashes posteriores e a adulteração fica evidente. O resultado é um Relatório de Incidente de Segurança arquivável em JSON e HTML, enquadrado para monitoramento pós-comercialização da FDA, defesa em litígios e subscrição de seguros. Na demonstração o relatório mostra a cadeia intacta.
Um chatbot perfeito ainda não conhece a política de escalonamento da sua plataforma, não produz trilha de auditoria, não oferece portão determinístico para certificar e não oferece defesa quando sofre jailbreak. O valor durável é a governança com estado mais o comprovante arquivável, não uma taxa menor de erro do modelo. É por isso que a demonstração compara contra um classificador e um portão idênticos e atribui a melhoria apenas ao estado.
Não. Esta é uma demonstração de um padrão de arquitetura de segurança, não um dispositivo médico, e não é FDA-cleared nem certificado HIPAA. Cada conversa é sintética, o adaptador FHIR é um stub, e o classificador é um classificador léxico determinístico no lugar de um modelo in-VPC de produção. Todos os números de comprovação estão restritos a um conjunto dourado rotulado de 40 conversas de dados sintéticos.
A pesquisa por trás desta demonstração — a arquitetura, o design de verificação e o blueprint empresarial.
Governança com estado, uma política de propriedade da equipe clínica e uma auditoria que você pode arquivar.
Se a sua equipe está definindo como tornar um chatbot de saúde comportamental defensável para revisão empresarial, de pagador ou regulatória, gostaríamos de verdade de ouvir como vocês estão pensando nisso. O problema é de toda a indústria e as respostas também serão.