1. Propósito e Escopo
Este documento define todos os prompts, configurações de memória, transição entre estados, ferramentas como chamadas a sistemas externos e demais requisitos funcionais para o Agente de IA para Análise de Imagens de Diagnóstico. Essa documentação é um modelo de PRD ou Documento de Requisitos de Produto específicos para construção de Agentes de IA.
O agente tem como objetivo principal auxiliar na interpretação de imagens de diagnóstico, destacando áreas de interesse e sugerindo possíveis diagnósticos.
2. Contexto e Problema
Problemas Específicos
O agente é projetado para resolver os seguintes problemas específicos e já conhecidos:
- Análise de grandes volumes de imagens de diagnóstico que podem ser exaustivas e demoradas para humanos.
- Necessidade de identificação precisa e rápida de áreas de interesse para diagnóstico.
O processo manual de análise de imagens de diagnóstico é intensivo e propenso a erros, exigindo uma solução que possa agilizar e melhorar a precisão das análises.
3. Impactos Esperados
A implementação deste agente de IA visa alcançar os seguintes resultados:
- Aumentar a eficiência na análise de imagens de diagnóstico.
- Reduzir o tempo necessário para identificar áreas de interesse e anomalias.
- Melhorar a precisão dos diagnósticos preliminares sugeridos.
- Auxiliar radiologistas e especialistas na revisão e decisão clínica, garantindo que todas as sugestões sejam revisadas antes de qualquer decisão clínica.
4. Visão Geral da Solução
O agente de IA para análise de imagens de diagnóstico processa imagens em tempo real, destaca anomalias e áreas de interesse, e sugere diagnósticos preliminares baseados em padrões reconhecidos. A seguir são detalhadas todas as regras de negócio e especificações funcionais necessárias para que esse agente atue como um assistente eficiente e autônomo na análise de imagens médicas.
A solução consiste em um fluxo de automação composto por múltiplos agentes de IA. O processo inicia com a pré-triagem e normalização dos inputs de imagem e termina com a geração de diagnósticos sugeridos para revisão humana.
A execução dos agentes é sequencial, conforme detalhado na tabela abaixo.
| Agentes | Função Principal |
|---|---|
Agente de Pré-Triagem e Normalização de Input (RF 1)
| Validar e normalizar o input de imagens de diagnóstico, garantindo compatibilidade e qualidade antes da análise. |
Agente de Análise de Imagens de Diagnóstico (RF 2)
| Detectar e descrever áreas de interesse e anomalias nas imagens normalizadas. |
Agente de Geração de Parâmetros de Consulta a Casuística (RF 3)
| Converter achados detectados em parâmetros de busca padronizados. |
Agente de Execução de Consulta a Documento (RF 4)
| Realizar consulta a repositório de casos e diretrizes clínicas. |
Agente de Sugestão de Diagnósticos (RF 5)
| Sugerir diagnósticos diferenciais preliminares e próximos passos. |
Agente de Consolidação Pós-Feedback (RF 6)
| Consolidar feedback do radiologista e preparar versão final para laudo. |
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 cliente receberá. Explore os links abaixo para entender melhor a solução em ação.
6. Requisitos Funcionais
RF 1. Agente de Pré-Triagem e Normalização de Input
1.1 Tarefa do Agente
Validar e normalizar o input de imagens de diagnóstico, garantindo compatibilidade, anonimização, metadados mínimos e parâmetros de qualidade antes da análise.
1.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo um pacote de estudo de imagem (DICOM série/exame ou imagens JPEG/PNG) e metadados disponíveis (ex.: modality, body_part, laterality, study_description). # 2. Objetivo Validar e normalizar o input de imagens de diagnóstico, garantindo compatibilidade, anonimização, metadados mínimos e parâmetros de qualidade antes da análise. # 3. Regras que você deve seguir para gerar sua resposta - Rejeite input se formato não suportado (ex.: arquivos corrompidos ou extensões fora de DICOM/JPEG/PNG) e registre em motivos_recusa. - Defina modalidade a partir de DICOM (tag Modality) ou, na ausência, a partir do nome do arquivo/pasta; se indeterminado, retorne input_normalizado=false. - Extraia e padronize região anatômica e laterality; use valores controlados (ex.: torax, cranio, abdomen, MS, MI; laterality: D, E, bilateral, N/A). - Verifique anonimização mínima: remova/mascare identificadores diretos (nome, MRN, endereço) e defina anonimizacao_ok=true quando nenhum identificador direto estiver presente nos metadados exportados. - Avalie qualidade básica: presença de artefatos marcantes, sub/superexposição (XR), desfoque acentuado; se qualidade_imagem_ok=false, defina flag_retomada_aquisicao=true e descreva observacoes_tecnicas. - Em caso de estudo multissérie, consolide séries válidas e informe views (ex.: AP, LAT, axial, coronal, sagital); se nenhuma série válida, input_normalizado=false. - Sempre retorne input_normalizado=true apenas quando houver modalidade definida, região anatômica definida (quando aplicável) e qualidade_imagem_ok=true.
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 pacote de estudo de imagem via API. Na fase de testes, o fluxo será iniciado pelo envio manual dos dados, que serão enviados para o agente diretamente por upload do pacote na interface da Prototipe AI, para acelerar o processo de validação.
- Tipo do input: O input inicial para o fluxo é um pacote de estudo de imagem (DICOM série/exame ou imagens JPEG/PNG).
-
Formatos Suportados: Esse agente deve ser capaz de receber imagens nos formatos:
.dcm,.jpeg,.png. - Número de caracteres esperado: Este agente deve ter capacidade para processar um input de texto com até 90.000 caracteres.
1.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON estruturado. A estrutura deve incluir campos como `input_normalizado`, `motivos_recusa`, `modalidade`, `regiao_anatomica`, entre outros, conforme especificado nas regras.
-
Exemplo de Estrutura de Output:
{"input_normalizado": true, "motivos_recusa": [], "modalidade": "CT", "regiao_anatomica": "torax", "views": ["AP","LAT"], "dicom_tags_chave": {"PatientSex":"M","PatientAge":"45","StudyDate":"20251204"}, "anonimizacao_ok": true, "qualidade_imagem_ok": true, "flag_retomada_aquisicao": false, "observacoes_tecnicas": ""} - Número de caracteres esperado: O JSON final deve ser conciso e informativo, com um tamanho estimado em torno de 1.500 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 documentos externos.
- Calculadora: Não utiliza.
- Busca Online: Não utiliza.
- Sistemas Externos: Não se conecta a sistemas externos.
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 Análise de Imagens de Diagnóstico (RF 2).
1.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Análise de Imagens de Diagnóstico (RF 2).
RF 2. Agente de Análise de Imagens de Diagnóstico
2.1 Tarefa do Agente
Detectar e descrever áreas de interesse e anomalias nas imagens normalizadas, produzindo achados estruturados, medidas e prioridades clínicas.
2.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo o output do Agente de Pré-Triagem com input_normalizado=true e o estudo/imagens normalizados. # 2. Objetivo Detectar e descrever áreas de interesse e anomalias nas imagens normalizadas, produzindo achados estruturados, medidas e prioridades clínicas. # 3. Regras que você deve seguir para gerar sua resposta - Produza lista de achados com: tipo, localização anatômica padronizada, lateralidade, medidas em mm quando aplicável e coordenadas em pixels do ROI (bounding_box em sistema de referência da imagem). - Atribua probabilidade (0-1) por achado; use 3 faixas para triagem: alto risco (>=0,85), moderado (0,6–0,84), baixo (<0,6). - Defina nivel_urgencia com base em sinais_de_alarme: vermelho quando houver risco imediato à vida/órgão (ex.: pneumotórax hipertensivo, hemorragia intracraniana aguda, dissecação aórtica suspeita); amarelo quando achados significativos sem instabilidade aguda; verde na ausência de achados relevantes. - Em modalidades diferentes, registre atributos relevantes: XR (densidade, alinhamento, linhas), CT (densidade HU qualitativa, realce relativo), MR (sequência se conhecida, padrão de sinal T1/T2/FLAIR, restrição de difusão sugerida), US (ecogenicidade, vascularização sugerida), MG (BI-RADS sugerido como atributo do achado, não como diagnóstico definitivo). - Se a qualidade do estudo impedir análise confiável, defina analise_imagem_concluida=false e informe sinais_de_alarme=[]. - Inclua sempre justificativa clínica breve em areas_de_interesse para cada achado com probabilidade>=0,6.
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 bem-sucedida do agente anterior (RF 1).
- Tipo do input: Este agente deve ser apto a receber como input o JSON estruturado do output do Agente de Pré-Triagem com input_normalizado=true.
-
Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato:
.json(JSON). - Número de caracteres esperado: Este agente deve ter capacidade para processar um input de texto com até 6.000 caracteres.
2.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON estruturado contendo detalhes dos achados, áreas de interesse, nível de urgência e sinais de alarme.
-
Exemplo de Estrutura de Output:
{"analise_imagem_concluida": true, "achados": [{"id":"achado_1","tipo":"nódulo","localizacao":"tórax/lobo_sup_dir","coordenadas_px": {"bounding_box": [100,150,50,50]}, "dimensoes_mm": {"maior_eixo": 20, "menor_eixo": 15}, "caracteristicas":"hiperdenso", "lateralidade":"D", "probabilidade": 0.9}], "areas_de_interesse": [{"id_achado":"achado_1","justificativa":"padrão suspeito de malignidade"}], "nivel_urgencia":"vermelho", "sinais_de_alarme":["pneumotórax hipertensivo"]} - Número de caracteres esperado: O JSON final deve ser conciso e informativo, com um tamanho estimado em torno de 2.000 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 documentos externos.
- Calculadora: Não utiliza.
- Busca Online: Não utiliza.
- Sistemas Externos: Não se conecta a sistemas externos.
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 Geração de Parâmetros de Consulta a Casuística (RF 3).
2.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Geração de Parâmetros de Consulta a Casuística (RF 3).
RF 3. Agente de Geração de Parâmetros de Consulta a Casuística
3.1 Tarefa do Agente
Converter achados detectados em parâmetros de busca padronizados para recuperar casos de referência e diretrizes aplicáveis.
3.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo o output do Agente de Análise de Imagens de Diagnóstico com analise_imagem_concluida=true e lista de achados. # 2. Objetivo Converter achados detectados em parâmetros de busca padronizados para recuperar casos de referência e diretrizes aplicáveis. # 3. Regras que você deve seguir para gerar sua resposta - Derive termos_chave a partir de tipo do achado e características principais; inclua no máximo 7 termos priorizando especificidade. - Padronize regiao usando o mesmo vocabulário do agente de análise. - Se idade/sexo estiverem disponíveis nos metadados anonimizados, categorize faixa_etaria; caso contrário, "desconhecida". - Mapear prioridade com base no nivel_urgencia informado. - Gere parâmetros somente quando existir pelo menos um achado com probabilidade>=0,6.
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).
- Tipo do input: Este agente deve ser apto a receber como input o JSON estruturado do output do Agente de Análise de Imagens de Diagnóstico com analise_imagem_concluida=true.
-
Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato:
.json(JSON). - Número de caracteres esperado: Este agente deve ter capacidade para processar um input de texto com até 6.000 caracteres.
3.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON estruturado contendo os parâmetros de busca padronizados.
-
Exemplo de Estrutura de Output:
{"parametros_busca": {"modalidade":"CT","regiao":"tórax","termos_chave":["nódulo","margens espiculadas"], "faixa_etaria":"adulto", "lateralidade":"D", "prioridade":"vermelho"}} - Número de caracteres esperado: O JSON final deve ser conciso e informativo, com um tamanho estimado em torno de 1.000 caracteres.
3.3.3 Parâmetros de Geração
- Modelo: GPT-5
- Temperatura: 0.6
3.3.4 Ferramentas do Agente
- Documentos: Não consulta documentos externos.
- Calculadora: Não utiliza.
- Busca Online: Não utiliza.
- Sistemas Externos: Não se conecta a sistemas externos.
3.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 4).
3.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 4).
RF 4. Agente de Execução de Consulta a Documento
4.1 Tarefa do Agente
Realizar consulta a repositório de casos e diretrizes clínicas para obter comparativos relevantes aos achados.
4.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo parâmetros de busca prontos no formato do agente anterior. # 2. Objetivo Realizar consulta a repositório de casos e diretrizes clínicas para obter comparativos relevantes aos achados. # 3. Regras que você deve seguir para gerar sua resposta Este agente não precisa de instruções para chamadas ao LLM, pois sua única função é executar a consulta ao documento com parâmetros de busca já prontos.
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: Este agente deve ser apto a receber como input o JSON estruturado contendo os parâmetros de busca padronizados.
-
Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato:
.json(JSON). - Número de caracteres esperado: Este agente deve ter capacidade para processar um input de texto com até 3.000 caracteres.
4.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON estruturado contendo casos de referência, diretrizes relevantes e estatísticas aproximadas.
-
Exemplo de Estrutura de Output:
{"casos_referencia": [{"id":"caso_123","resumo":"Caso clínico de nódulo pulmonar com margens espiculadas.","achados_semelhantes":["nódulo","margens espiculadas"],"desfecho":"Benigno"}], "diretrizes_relevantes": [{"fonte":"Sociedade Brasileira de Radiologia","recomendacao":"Monitoramento semestral."}], "estatisticas_aproximadas": {"prevalencia":"1/1000","valores_pred_padroes":"Alto"}} - Número de caracteres esperado: O JSON final deve ser conciso e informativo, com um tamanho estimado em torno de 1.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 documentos externos.
- Calculadora: Não utiliza.
- Busca Online: Não utiliza.
- Sistemas Externos: Não se conecta a sistemas externos.
4.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 Sugestão de Diagnósticos (RF 5).
4.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Sugestão de Diagnósticos (RF 5).
RF 5. Agente de Sugestão de Diagnósticos
5.1 Tarefa do Agente
Sugerir diagnósticos diferenciais preliminares e próximos passos com base nos achados e casos/diretrizes recuperados.
5.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo achados estruturados do Agente de Análise e dados de referência/diretrizes do Agente de Execução de Consulta a Documento. # 2. Objetivo Sugerir diagnósticos diferenciais preliminares e próximos passos com base nos achados e casos/diretrizes recuperados. # 3. Regras que você deve seguir para gerar sua resposta - Para cada diagnóstico sugerido, vincule explicitamente os achados que o suportam e forneça fundamentacao concisa (2-3 frases) alinhada às diretrizes recuperadas. - Defina confianca por diagnóstico a partir da combinação de probabilidades dos achados suporte; limite no máximo 5 diagnósticos. - Sempre defina necessita_revisao_humana=true (obrigatório) e não formule recomendações terapêuticas definitivas; foque em próximos passos diagnósticos/follow-up. - Se não houver achados com probabilidade>=0,6, retorne lista vazia e mantenha necessita_revisao_humana=true.
5.3 Configurações do Agente
5.3.1 Especificação do Input
- Mecanismo de Acionamento: Este agente deve ser acionado automaticamente após a conclusão do agente anterior (RF 4).
- Tipo do input: Este agente deve ser apto a receber como input o JSON estruturado contendo achados estruturados e dados de referência/diretrizes.
-
Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato:
.json(JSON). - Número de caracteres esperado: Este agente deve ter capacidade para processar um input de texto com até 6.000 caracteres.
5.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON estruturado contendo diagnósticos sugeridos, hipóteses diferenciais, recomendações e indicação de revisão humana.
-
Exemplo de Estrutura de Output:
{"diagnosticos_sugeridos": [{"descricao":"Possível nódulo maligno no pulmão direito.","vinculos_achados":["achado_1"],"confianca":0.9,"fundamentacao":"Baseado em margens espiculadas e histórico clínico similar."}], "hipoteses_diferenciais": ["Granuloma infeccioso"], "recomendacoes": ["solicitar TC contraste","follow-up 3-6 meses"], "necessita_revisao_humana": true} - Número de caracteres esperado: O JSON final deve ser conciso e informativo, com um tamanho estimado em torno de 1.500 caracteres.
5.3.3 Parâmetros de Geração
- Modelo: GPT-5
- Temperatura: 0.6
5.3.4 Ferramentas do Agente
- Documentos: Não consulta documentos externos.
- Calculadora: Não utiliza.
- Busca Online: Não utiliza.
- Sistemas Externos: Não se conecta a sistemas externos.
5.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 Consolidação Pós-Feedback (RF 6).
5.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Consolidação Pós-Feedback (RF 6).
RF 6. Agente de Consolidação Pós-Feedback
6.1 Tarefa do Agente
Consolidar feedback do radiologista, ajustar achados/diagnósticos e preparar versão final para laudo.
6.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo diagnósticos sugeridos, achados e comentários/edições do radiologista (ex.: correções de localização, nova classificação, exclusões/inclusões). # 2. Objetivo Consolidar feedback do radiologista, ajustar achados/diagnósticos e preparar versão final para laudo. # 3. Regras que você deve seguir para gerar sua resposta - Se o radiologista marcar ajustes, reflita exatamente as correções nas entidades correspondentes mantendo ids quando possível; registre itens_alterados para rastreabilidade. - Em caso de discordância com diagnóstico principal, preserve a lista de diferenciais e atualize justificativas/remova fundamentações incorretas. - Copie o nivel_urgencia do agente de análise salvo indicação explícita do especialista para mudança; em caso de mudança, atualize nivel_urgencia_final e registre em itens_alterados. - Defina status_aprovacao=aprovado somente quando todas as pendências estiverem endereçadas.
6.3 Configurações do Agente
6.3.1 Especificação do Input
- Mecanismo de Acionamento: Este agente deve ser acionado automaticamente após a conclusão do agente anterior (RF 5).
- Tipo do input: Este agente deve ser apto a receber como input o JSON estruturado contendo diagnósticos sugeridos, achados e comentários/edições do radiologista.
-
Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato:
.json(JSON). - Número de caracteres esperado: Este agente deve ter capacidade para processar um input de texto com até 6.000 caracteres.
6.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON estruturado contendo a versão final para laudo, status de aprovação e rastreabilidade.
-
Exemplo de Estrutura de Output:
{"versao_final_para_laudo": {"achados_aprovados": [...], "diagnostico_principal":"Nódulo pulmonar provável benigno", "diferenciais_final": ["Granuloma infeccioso"], "recomendacoes_finais": ["Revisão em 6 meses"], "nivel_urgencia_final":"amarelo"}, "status_aprovacao":"aprovado", "rastreabilidade": {"autor_revisao":"Dr. Silva","data_hora":"2025-12-04T12:40:00Z","itens_alterados":["achado_1","diagnostico_2"]}} - Número de caracteres esperado: O JSON final deve ser conciso e informativo, com um tamanho estimado em torno de 2.000 caracteres.
6.3.3 Parâmetros de Geração
- Modelo: GPT-5
- Temperatura: 0.6
6.3.4 Ferramentas do Agente
- Documentos: Não consulta documentos externos.
- Calculadora: Não utiliza.
- Busca Online: Não utiliza.
- Sistemas Externos: Não se conecta a sistemas externos.
6.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 é o entregável final e não é passada para outros agentes internos.
6.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 para integração com sistemas de laudo médico.