Agente de IA para Suporte em Diagnóstico Preliminar

22 de December de 2025 • Tempo de leitura: 5 min

Como criar um agente de IA que auxilia médicos na formulação de diagnósticos preliminares.

1. Propósito e Escopo

Este documento define todos os prompts, configurações de memória, transição entre estados, chamadas a sistemas externos, consulta a documentos e demais requisitos funcionais necessários para o Agente de IA para Suporte em Diagnóstico Preliminar. Esse agente é projetado para auxiliar médicos na formulação de diagnósticos preliminares, sugerindo possíveis condições baseadas nos sintomas relatados e histórico do paciente. Essa documentação é um modelo de PRD ou Documento de Requisitos de Produto específicos para construção de Agentes de IA.

2. Contexto e Problema

O agente de IA para suporte em diagnóstico preliminar foi desenvolvido para enfrentar desafios comuns enfrentados por médicos em ambientes clínicos. Esses desafios incluem a identificação rápida de possíveis diagnósticos e a redução do risco de diagnósticos incorretos.

Médicos frequentemente precisam lidar com uma grande quantidade de informações clínicas e sintomas reportados por pacientes, o que pode ser um processo demorado e sujeito a erros. O agente de IA tem como objetivo facilitar este processo, fornecendo sugestões de diagnósticos preliminares baseadas em dados clínicos cruzados e evidências científicas atualizadas.

3. Impactos Esperados

A implementação deste agente de IA visa alcançar os seguintes resultados:

  • Melhorar a precisão dos diagnósticos preliminares ao fornecer sugestões baseadas em dados clínicos e evidências científicas.
  • Aumentar a eficiência dos médicos ao reduzir o tempo necessário para formular diagnósticos preliminares.
  • Reduzir o risco de diagnósticos incorretos através do uso de inteligência artificial para análise de dados clínicos.

4. Visão Geral da Solução

O agente de IA para suporte em diagnóstico preliminar analisa sintomas relatados e histórico do paciente para sugerir diagnósticos, utilizando inteligência artificial para cruzar dados clínicos e fornecer recomendações baseadas em evidências científicas atualizadas. A seguir são detalhadas todas as regras de negócio e especificações funcionais necessárias para que esse agente atue de forma eficiente.

A solução consiste em um fluxo de automação composto por 4 agentes de IA. O processo inicia com a padronização dos dados clínicos e termina com a síntese de hipóteses diagnósticas preliminares priorizadas.

A execução dos agentes é sequencial e linear, seguindo a ordem definida na tabela abaixo.

Agentes Função Principal
Agente de Padronização do Caso Clínico (RF 1) Estruturar os dados clínicos recebidos em um JSON padronizado e identificar sinais de alarme.
Agente de Execução de Chamada à API (RF 2) Realizar chamada à API para obter mapeamento de condições candidatas e dados clínicos correlatos.
Agente de Execução de Consulta a Documento (RF 3) Realizar consulta à base de evidências científicas para recuperar recomendações e sumários de evidência.
Agente de Síntese Diagnóstica e Priorização (RF 4) Combinar dados para gerar hipóteses diagnósticas preliminares priorizadas e justificadas.

5. Protótipos

Para proporcionar uma visão clara e tangível da solução proposta, criamos protótipos interativos que demonstram tanto o fluxo de trabalho dos agentes quanto o resultado final que o médico receberá. Explore os links abaixo para entender melhor a solução em ação.

6. Requisitos Funcionais

RF 1. Agente de Padronização do Caso Clínico

1.1 Tarefa do Agente

Estruturar os dados clínicos recebidos (sintomas, sinais, histórico, comorbidades, medicamentos, alergias, fatores de risco e dados demográficos) em um JSON padronizado e identificar sinais de alarme.

1.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um relato livre do médico em texto ou JSON contendo: sintomas, histórico da doença atual (HDA), antecedentes, medicamentos em uso, alergias, hábitos, fatores de risco, sinais vitais e dados demográficos (idade, sexo).

# 2. Objetivo
Estruturar os dados clínicos recebidos em um JSON padronizado e identificar sinais de alarme.

# 3. Regras que você deve seguir para gerar sua resposta
- Extrair e normalizar elementos clínicos em campos explícitos: início, duração, frequência, localização, irradiação, intensidade, fatores de melhora/piora, sintomas associados e negações relevantes.
- Se idade ou sexo não informados, registrar em qualidade_dados.campos_faltantes e marcar necessitar_evidencias_cientificas=true.
- Identificar red flags com base em padrões clínicos gerais (ex.: dor torácica com dispneia/irradiada/sudorese, febre >38,5°C com rigidez de nuca, alteração do estado mental aguda, PA sistólica <90 mmHg, saturação <92%, hemoptise, déficit neurológico focal súbito, dor abdominal com sinais peritoníticos). Registrar cada red flag com descricao e achado_suporte.
- Definir prioridade_inicial=alta se houver qualquer red flag; média se quadro subagudo com comorbidades importantes; baixa caso contrário.
- Preencher negativos_relevantes explicitando ausências clínicas importantes quando declaradas (ex.: sem febre, sem perda de peso).
- Não inferir dados ausentes; nunca inventar valores de sinais vitais.
- Gerar qualidade_dados.completude% como proporção de campos clínicos chave preenchidos (demografia, HDA estruturada, sinais vitais, antecedentes, medicamentos).
- Definir necessitar_evidencias_cientificas=true quando: o médico solicitar evidências explicitamente, qualidade_dados.completude% < 70%, presença de red flags, ou quando houver múltiplas hipóteses prováveis (>3) a serem comparadas posteriormente.
- Preservar privacidade: não incluir identificadores pessoais além dos fornecidos e necessários ao caso.
- Saída deve ser determinística: se um item não existir, incluir o campo com valor null ou lista vazia, evitando omissões. 
1.3 Configurações do Agente

1.3.1 Especificação do Input

  • Mecanismo de Acionamento: Este agente é o ponto de partida do fluxo e deve ser acionado pelo envio de um relato livre do médico em texto ou JSON. Na fase de testes, o fluxo será iniciado pelo envio manual dos dados, que serão enviados para o agente diretamente por upload do arquivo na interface da Prototipe AI, para acelerar o processo de validação.
  • Tipo do input: Relato livre do médico em texto ou JSON.
  • Formatos Suportados: Esse agente deve ser capaz de receber inputs nos formatos: .txt, .json.
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input de texto com até 10.000 caracteres.

1.3.2 Especificação do Output

  • Formato de output: JSON 'caso_estruturado' com campos: dados_demograficos, contexto (início, duração, curso, fatores agravantes/atenuantes), sintomas_principais[], sintomas_associados[], negativos_relevantes[], sinais_vitais, antecedentes[], medicamentos[], alergias[], fatores_risco[], red_flags_detectadas[], qualidade_dados{completude%, inconsistencias[], campos_faltantes[]}, necessitar_evidencias_cientificas (boolean), prioridade_inicial (baixa/média/alta).
  • Exemplo de Estrutura de Output:
     {
      "dados_demograficos": {},
      "contexto": {},
      "sintomas_principais": [],
      "sintomas_associados": [],
      "negativos_relevantes": [],
      "sinais_vitais": {},
      "antecedentes": [],
      "medicamentos": [],
      "alergias": [],
      "fatores_risco": [],
      "red_flags_detectadas": [],
      "qualidade_dados": {
        "completude%": 0,
        "inconsistencias": [],
        "campos_faltantes": []
      },
      "necessitar_evidencias_cientificas": false,
      "prioridade_inicial": "baixa"
    } 
  • Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 2.000 caracteres.

1.3.3 Parâmetros de Geração

  • Modelo: GPT-5
  • Temperatura: 0.6

1.3.4 Ferramentas do Agente

  • Documentos: Não consulta.
  • Calculadora: Não utiliza.
  • Busca Online: Não utiliza.
  • Sistemas Externos: Não utiliza.

1.3.5 Memória

  • Visibilidade das Instruções (Prompt): As instruções deste agente não devem ser visíveis para nenhum agente subsequente.
  • Visibilidade da Resposta: A resposta gerada por este agente deve ser visível para o Agente de Execução de Chamada à API (RF 2).

1.3.6 Regras de Orquestração e Transição

Ao concluir sua execução, esse agente aciona o Agente de Execução de Chamada à API (RF 2).

RF 2. Agente de Execução de Chamada à API

2.1 Tarefa do Agente

Realizar chamada à API do Sistema cruzamento_dados_clinicos para obter mapeamento de condições candidatas e dados clínicos correlatos.

2.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um payload pronto contendo 'caso_estruturado' e parâmetros de consulta exigidos pela API.

# 2. Objetivo
Realizar chamada à API do Sistema cruzamento_dados_clinicos para obter mapeamento de condições candidatas e dados clínicos correlatos.

# 3. Regras que você deve seguir para gerar sua resposta
- Este agente apenas executa a chamada à API com o payload recebido e retorna a resposta sem alterações. 
2.3 Configurações do Agente

2.3.1 Especificação do Input

  • Mecanismo de Acionamento: Este agente deve ser acionado automaticamente após a conclusão do agente anterior (RF 1).
  • Tipo do input: JSON 'caso_estruturado' e parâmetros de consulta exigidos pela API.
  • Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato: .json.
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input de até 3.000 caracteres.

2.3.2 Especificação do Output

  • Formato de output: JSON 'resultados_api' com lista de condições candidatas, achados associados, métricas de associação/prior, e metadados da consulta.
  • Exemplo de Estrutura de Output:
     {
      "condicoes_candidatas": [],
      "achados_associados": [],
      "metricas_associacao": {},
      "metadados_consulta": {}
    } 
  • Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 1.500 caracteres.

2.3.3 Parâmetros de Geração

  • Modelo: GPT-5
  • Temperatura: 0.6

2.3.4 Ferramentas do Agente

  • Documentos: Não consulta.
  • Calculadora: Não utiliza.
  • Busca Online: Não utiliza.
  • Sistemas Externos: O agente deverá enviar o JSON recebido para a API externa (`cruzamento_dados_clinicos`) e retornar o JSON recebido como resposta.

2.3.5 Memória

  • Visibilidade das Instruções (Prompt): As instruções deste agente não devem ser visíveis para nenhum agente subsequente.
  • Visibilidade da Resposta: A resposta gerada por este agente deve ser visível para o Agente de Execução de Consulta a Documento (RF 3).

2.3.6 Regras de Orquestração e Transição

Ao concluir sua execução, esse agente aciona o Agente de Execução de Consulta a Documento (RF 3).

RF 3. Agente de Execução de Consulta a Documento

3.1 Tarefa do Agente

Realizar consulta à base_evidencias_cientificas para recuperar recomendações e sumários de evidência relevantes às condições candidatas.

3.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo parâmetros de busca prontos: lista de condições-alvo, tópicos (critérios diagnósticos, sinais de alarme, testes iniciais, diferenciais), filtros de atualidade (ex.: últimos 5 anos) e campos desejados.

# 2. Objetivo
Realizar consulta à base_evidencias_cientificas para recuperar recomendações e sumários de evidência relevantes às condições candidatas.

# 3. Regras que você deve seguir para gerar sua resposta
- Este agente apenas executa a consulta ao documento com os parâmetros recebidos e retorna a resposta sem alterações. 
3.3 Configurações do Agente

3.3.1 Especificação do Input

  • Mecanismo de Acionamento: Este agente deve ser acionado automaticamente após a conclusão do agente anterior (RF 2) se a condição de necessitar evidências científicas for verdadeira.
  • Tipo do input: Parâmetros de busca prontos: lista de condições-alvo, tópicos, filtros de atualidade e campos desejados.
  • Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato: .json.
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input de até 2.000 caracteres.

3.3.2 Especificação do Output

  • Formato de output: JSON 'evidencias' com itens contendo: condicao, recomendacoes_chave[], criterios_diagnosticos[], sinais_alarme_ref[], testes_iniciais_sugeridos[], qualidade_evidencia (ex.: A/B/C), referencia_bibliografica (autor, ano, DOI/URL), trecho_suporte.
  • Exemplo de Estrutura de Output:
     {
      "condicao": "",
      "recomendacoes_chave": [],
      "criterios_diagnosticos": [],
      "sinais_alarme_ref": [],
      "testes_iniciais_sugeridos": [],
      "qualidade_evidencia": "",
      "referencia_bibliografica": {
        "autor": "",
        "ano": "",
        "DOI/URL": ""
      },
      "trecho_suporte": ""
    } 
  • Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 1.800 caracteres.

3.3.3 Parâmetros de Geração

  • Modelo: GPT-5
  • Temperatura: 0.6

3.3.4 Ferramentas do Agente

  • Documentos: O agente deverá consultar o documento `base_evidencias_cientificas` com os parâmetros recebidos e retornar o JSON recebido como resposta.
  • Calculadora: Não utiliza.
  • Busca Online: Não utiliza.
  • Sistemas Externos: Não utiliza.

3.3.5 Memória

3.3.6 Regras de Orquestração e Transição

Ao concluir sua execução, esse agente aciona o Agente de Síntese Diagnóstica e Priorização (RF 4).

RF 4. Agente de Síntese Diagnóstica e Priorização

4.1 Tarefa do Agente

Combinar o caso estruturado, os resultados da API e as evidências recuperadas para gerar hipóteses diagnósticas preliminares priorizadas, justificadas e com próximos passos recomendados.

4.2 Prompt ou Instruções do Agente
 # 1. Contexto e explicações sobre inputs iniciais
Você está recebendo o JSON 'caso_estruturado', JSON 'resultados_api' e, se disponível pelo trigger, JSON 'evidencias'.

# 2. Objetivo
Combinar os dados para gerar hipóteses diagnósticas preliminares priorizadas, justificadas e com próximos passos recomendados.

# 3. Regras que você deve seguir para gerar sua resposta
- Gerar hipóteses somente a partir de achados presentes em caso_estruturado e condições de resultados_api; não inventar entidades clínicas.
- Atribuir probabilidade relativa usando heurística bayesiana qualitativa: iniciar com prior relativo (de resultados_api quando fornecido; caso ausente, priors iguais por condição) e ajustar por peso dos achados presentes e ausentes (sinais de apoio aumentam, sinais contra reduzem); normalizar para que a soma ≤1.
- Incorporar negativos relevantes: se um critério essencial estiver ausente ou negado, reduzir substancialmente a probabilidade e documentar em sinais_contra.
- Classificar gravidade e definir alerta_critico=true quando houver red_flags_detectadas ou quando evidencias indicarem risco imediato; incluir acoes_imediatas_se_critico práticas (ex.: ECG e troponina imediatos; avaliação neurológica urgente; encaminhamento emergencial).
- Para cada hipótese, gerar exames_iniciais_recomendados focados, cada um com motivo e explícito “como_muda_probabilidade” (ex.: se D-dímero negativo reduz probabilidade de TEP).
- Vincular justificativa_texto a achados concretos do caso e, quando disponíveis, a criterios_diagnosticos e referencias_suporte provenientes de evidencias; se evidencias ausentes pelo trigger, basear-se em princípios clínicos gerais e sinalizar essa limitação.
- Limitar lista_ordenada a 3–6 hipóteses mais plausíveis; se >6 candidatas com probabilidades próximas, agrupar por síndromes e sugerir dados adicionais em lacunas_dados.
- Definir dados_insuficientes=true quando qualidade_dados.completude% < 50% ou quando nenhuma hipótese alcançar justificativa mínima; nesse caso, fornecer perguntas focadas ou medidas objetivas faltantes em lacunas_dados.
- Nunca prescrever tratamento; quando ação imediata for necessária, descrevê-la como avaliação/procedimento diagnóstico/encaminhamento.
- Gerar resumo_para_prontuario com: principais sintomas, achados críticos, top 3 hipóteses com probabilidades, exames recomendados e motivo, e status de alerta.
- Saída consistente e auditável: para cada recomendação, referenciar o(s) achado(s) do caso e, quando houver, referencia_bibliografica ou identificador da evidência. 
4.3 Configurações do Agente

4.3.1 Especificação do Input

  • Mecanismo de Acionamento: Este agente deve ser acionado automaticamente após a conclusão do agente anterior (RF 3).
  • Tipo do input: JSON 'caso_estruturado', JSON 'resultados_api' e, se disponível pelo trigger, JSON 'evidencias'.
  • Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato: .json.
  • Número de caracteres esperado: Este agente deve ter capacidade para processar um input combinado de até 6.000 caracteres.

4.3.2 Especificação do Output

  • Formato de output: JSON 'hipoteses' com: lista_ordenada[] de itens {condicao, probabilidade (0-1, soma ≤1, normalizada), justificativa_texto, sinais_de_apoio[], sinais_contra[], criterios_diagnosticos_atingidos[], lacunas_dados[], exames_iniciais_recomendados[] {exame, motivo, como_muda_probabilidade}, gravidade (baixa/média/alta), alerta_critico (boolean), acoes_imediatas_se_critico[], referencias_suporte[]}; campos adicionais: dados_insuficientes (boolean), resumo_para_prontuario (texto objetivo).
  • Exemplo de Estrutura de Output:
     {
      "lista_ordenada": [],
      "dados_insuficientes": false,
      "resumo_para_prontuario": ""
    } 
  • Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 2.500 caracteres.

4.3.3 Parâmetros de Geração

  • Modelo: GPT-5
  • Temperatura: 0.6

4.3.4 Ferramentas do Agente

  • Documentos: Não consulta.
  • Calculadora: Utiliza lógica interna para calcular probabilidades e gravidade.
  • Busca Online: Não utiliza.
  • Sistemas Externos: Não utiliza.

4.3.5 Memória

  • Visibilidade das Instruções (Prompt): As instruções não são visíveis para agentes subsequentes.
  • Visibilidade da Resposta: A resposta (JSON com hipóteses) é o entregável final e não é passada para outros agentes internos.

4.3.6 Regras de Orquestração e Transição

A execução deste agente finaliza o fluxo. O JSON gerado é o resultado que deve ser disponibilizado ao médico.

© 2025 prototipe.ai. Todos os direitos reservados.