Construindo Hipócrates: Lições de um Sistema de IA Médica que Pensa como Médico
Quando comecei a desenvolver o Sistema Hipócrates, tinha uma pergunta simples: por que a maioria dos chatbots médicos são tão... superficiais? Você digita "paciente com dor no pâncreas" e recebe uma lista genérica de causas de pancreatite. Mas qualquer médico experiente faria uma pausa e perguntaria: "O paciente realmente disse 'dor no pâncreas'? Pacientes geralmente não conhecem anatomia. Onde exatamente é essa dor?"
Essa pergunta mudou tudo.
O Problema dos Chatbots "Sim, Senhor"
A maioria das implementações de IA em saúde sofre de um problema fundamental: são excessivamente solícitas. Aceitam qualquer input como verdade absoluta e correm para dar respostas. É como um residente de primeiro ano tentando impressionar — responde rápido, mas sem profundidade.
Um sistema de IA médica útil precisa fazer o que bons clínicos fazem: questionar premissas, investigar inconsistências e construir raciocínio antes de concluir.
Nasceram Hipócrates e Florence
Criei dois assistentes com personalidades distintas:
Hipócrates (para médicos) — Inspirado no pai da medicina, usa raciocínio socrático. Quando você diz "paciente com diabetes tipo 1 em uso de metformina", ele responde: "Há uma inconsistência aqui. Metformina é tipicamente usada para DM2, não DM1. O paciente pode estar confundindo o tipo ou o medicamento. Você pode confirmar?"
Florence (para enfermeiros) — Inspirada em Florence Nightingale, foca em cuidados práticos e documentação estruturada usando taxonomias NANDA-I, NIC e NOC.
Decisões Técnicas que Importam
1. Roteamento por Idioma
Descobri que LLMs treinados em português brasileiro (como o Sabiá da Maritaca) entendem nuances que modelos globais perdem. "Dor de barriga" não é a mesma coisa que "abdominal pain" — carrega contexto cultural. Por isso, implementei roteamento automático: português vai para Maritaca, outros idiomas para Claude.
2. Streaming com Sincronização de IDs
Um desafio interessante: como permitir feedback em mensagens que ainda estão sendo geradas? A solução foi enviar o UUID da mensagem no final do stream, permitindo que o frontend associe feedback à mensagem correta no banco de dados.
```json
{ "content": "chunk de resposta..." }
{ "done": true, "message_id": "uuid-do-banco" }
```
3. Prompts que Ensinam a Pensar
O segredo não está em dar mais informações ao modelo, mas em estruturar como ele deve raciocinar:
- Antes de diagnosticar, pergunte sobre localização, irradiação, intensidade
- Não aceite diagnósticos prontos — peça evidências
- Identifique inconsistências entre sintomas e medicamentos
- Sugira, nunca prescreva
O Valor do Feedback em IA Médica
Implementamos um sistema de feedback (thumbs up/down + comentários) por mensagem. Parece simples, mas os insights são profundos: médicos não querem respostas longas — querem respostas certas. As mensagens com mais feedback negativo tinham algo em comum: eram prolixas demais.
O dashboard de métricas nos mostrou que a taxa de satisfação subiu significativamente quando encurtamos as respostas e aumentamos as perguntas de clarificação.
Lições que Transcendem a Medicina
1. IA útil questiona, não apenas responde — Em qualquer domínio especializado, aceitar inputs cegamente é perigoso.
2. Contexto cultural importa — Treinar em dados locais não é luxo, é necessidade.
3. Feedback granular > feedback geral — Saber que "a resposta foi ruim" não ajuda. Saber que "a resposta sobre interações medicamentosas foi imprecisa" permite melhorar.
4. Limitações explícitas constroem confiança — Hipócrates sempre avisa: "Não substituo avaliação presencial. Recomendo confirmação com exames." Paradoxalmente, isso aumentou a confiança dos usuários.
O Futuro
Estamos trabalhando em integração com bulário da ANVISA para checagem automática de interações medicamentosas, sugestão de CID-10 baseada em sintomas, e modo de ensino para residentes.
Mas a maior lição permanece: a melhor IA médica não é a que sabe mais — é a que sabe perguntar melhor.
E você? Já pensou em como seus sistemas de IA poderiam ser mais questionadores?