1. Propósito e Escopo
Este documento define todos os prompts, configurações de memória, transição entre estados e demais requisitos funcionais para o Agente de IA para Revisão de Documentos de Investimento. Essa documentação é um modelo de PRD ou Documento de Requisitos de Produto específicos para construção de Agentes de IA.
O objetivo principal é analisar documentos de investimento para assegurar sua conformidade com as normas regulatórias vigentes e verificar a consistência com o perfil de risco e objetivos do investidor.
2. Contexto e Problema
Problemas Específicos
O agente precisa resolver os seguintes problemas específicos:
- Revisão de documentos de investimento para assegurar conformidade regulatória.
- Verificação da consistência dos documentos com o perfil do investidor.
Regras Aplicadas
- Analisar documentos de investimento para identificar possíveis inconformidades.
- Garantir que a documentação esteja alinhada com as normas regulatórias vigentes.
- Verificar a coerência dos documentos com o perfil de risco e objetivos do investidor.
3. Impactos Esperados
A implementação deste agente visa alcançar os seguintes resultados:
- Aumentar a precisão na revisão de documentos de investimento.
- Assegurar conformidade com os regulamentos vigentes.
- Garantir consistência dos documentos com o perfil do investidor.
4. Visão Geral da Solução
O agente de IA para revisão de documentos de investimento analisa documentos para verificar conformidade regulatória e consistência com o perfil do investidor. 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 útil e autônomo na revisão de documentos de investimento.
A solução consiste em um fluxo de automação composto por 4 agentes de IA. O processo inicia com a consulta aos documentos de investimento e termina com a consolidação do relatório final técnico e executivo.
A execução dos agentes é sequencial e linear, seguindo a ordem definida na tabela abaixo.
| Agentes | Função Principal |
|---|---|
Agente de Execução de Consulta a Documento (RF 1)
| Realizar consulta aos documentos de investimento para obter conteúdos textuais, tabelas e metadados necessários à revisão. |
Agente de Normalização e Mapeamento de Conteúdo (RF 2)
| Transformar o conteúdo extraído em um esquema padronizado de dados de produto de investimento. |
Agente de Validação Regulatória (RF 3)
| Avaliar a conformidade do documento normalizado frente a uma matriz regulatória vigente parametrizada. |
Agente de Adequação ao Perfil do Investidor e Consolidação do Relatório (RF 4)
| Verificar a coerência do produto com o perfil do investidor e consolidar o relatório final técnico e executivo. |
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 Execução de Consulta a Documento
1.1 Tarefa do Agente
Realizar consulta aos documentos de investimento (PDF/texto) para obter conteúdos textuais, tabelas e metadados necessários à revisão.
1.2 Prompt ou Instruções do Agente
Este agente não requer instruções de LLM. Sua função é unicamente executar a consulta/extração com os parâmetros recebidos e retornar o conteúdo estruturado conforme o expected_output.
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 parâmetros prontos para consulta 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 na interface da Prototipe AI, para acelerar o processo de validação.
- Tipo do input: Parâmetros prontos para consulta.
- Formatos Suportados: Esse agente deve ser capaz de receber parâmetros no formato JSON.
- Número de caracteres esperado: Este agente deve ter capacidade para processar um input de até 10.000 caracteres.
1.3.2 Especificação do Output
- Formato de output: Dados recuperados da consulta em formato JSON.
-
Exemplo de Estrutura de Output:
{ "documento_id": "12345", "titulo": "Prospecto", "versao_documento": "1.0", "data_emissao_documento": "2025-12-01", "idioma_detectado": "pt", "paginas_total": 30, "conteudo_por_secao": [{ "secao_id": "1", "titulo_secao": "Resumo do Investimento", "pagina_inicial": 1, "pagina_final": 2, "texto": "Este é um resumo do investimento." }], "tabelas": [{ "tabela_id": "1", "pagina": 3, "titulo": "Tabela de Taxas", "celulas": [{ "linha": 1, "coluna": 1, "conteudo": "Taxa de Administração" }] }], "anexos_detectados": ["Anexo A"] } - Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 5.000 caracteres.
1.3.3 Parâmetros de Geração
- Modelo: Não se aplica (uso de ferramenta)
- Temperatura: Não se aplica (uso de ferramenta)
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): Não se aplica.
- Visibilidade da Resposta: A resposta gerada por este agente deve ser visível para o Agente de Normalização e Mapeamento de Conteúdo (RF 2).
1.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Normalização e Mapeamento de Conteúdo (RF 2).
RF 2. Agente de Normalização e Mapeamento de Conteúdo
2.1 Tarefa do Agente
Transformar o conteúdo extraído em um esquema padronizado de dados de produto de investimento e mapear onde cada dado foi encontrado no documento.
2.2 Prompt ou Instruções do Agente
- Identifique documento_tipo (ex.: lâmina, prospecto, termo de adesão) a partir de título, metadados e expressões-chave; se ambíguo, defina como 'indefinido' e registre em campos_faltantes.
- Normalize percentuais para valor_percentual em ponto flutuante (ex.: '120% do CDI' => {tipo:'posfixado', valor_percentual:120, referencia:'CDI'}). Sempre indique a unidade temporal (a.a., a.m.); se ausente, assuma a.a. e registre a suposição em campos_faltantes.
- Converta prazos para dias corridos; quando informado em meses/anos, multiplique por 30/365 e registre a conversão no mapeamento_origem.
- Para liquidez, expresse no formato D+X; se constar 'cotização em D+1, pagamento em D+3', defina liquidez='D+3' e inclua nota em mapeamento_origem.
- Extraia todas as taxas e custos recorrentes e eventuais (administração, performance, custódia, IOF/IR quando aplicável) mantendo base_calculo e unidade; se valor for 'até' ou 'máximo de', registre o valor máximo e a qualificação textual.
- Se qualquer campo obrigatório não for localizado com confiança, deixe o valor como null/indefinido e inclua em campos_faltantes com motivo claro ('não encontrado', 'ambíguo', 'inconsistente').
- Para cada campo preenchido, inclua referência de origem (secao_id, página e trecho literal curto) em mapeamento_origem. 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: Conteúdo estruturado do documento.
- 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é 10.000 caracteres.
2.3.2 Especificação do Output
- Formato de output: JSON normalizado.
-
Exemplo de Estrutura de Output:
{ "documento_id": "12345", "documento_tipo": "Prospecto", "produto_tipo": "Fundo de Investimento", "emissor": "Banco X", "cnpj_emissor": "00.000.000/0001-91", "custodiante": "Banco Y", "publico_alvo_declarado": "Investidores em geral", "indicadores_risco": { "classificacao_interna": "Moderado", "escala": "1 a 5", "volatilidade_12m": 10.5, "drawdown_max": 15.0 }, "objetivo_do_produto": "Renda", "estrategia": "Investimento em renda fixa", "indexador_principal": "CDI", "taxa_remuneracao": { "tipo": "posfixado", "valor_percentual": 120, "referencia": "CDI" }, "taxas_e_custos": [{ "nome": "Taxa de Administração", "base_calculo": "Patrimônio Líquido", "valor": 1.5, "unidade": "%a.a." }], "prazos": { "emissao": "2025-12-01", "vencimento": "2030-12-01", "carencia_dias": 0, "prazo_total_dias": 1825 }, "liquidez": { "liquidez": "D+3", "janela_resgate": "Diária", "restricoes": "Nenhuma" }, "garantias": [{ "tipo": "Fundo Garantidor", "descricao": "Garantia de até R$ 250.000,00" }], "tributacao_resumo": "Imposto de Renda conforme tabela regressiva", "distribuicao": { "suitability_alvo_declarada": "Moderado", "restricoes_comerciais": "Nenhuma" }, "campos_faltantes": [], "mapeamento_origem": [{ "campo": "taxas_e_custos", "secao_id": "3", "pagina": 5, "trecho": "Taxa de Administração: 1,5% a.a." }] } - Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 5.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 Validação Regulatória (RF 3).
2.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Validação Regulatória (RF 3).
RF 3. Agente de Validação Regulatória
3.1 Tarefa do Agente
Avaliar a conformidade do documento normalizado frente a uma matriz regulatória vigente parametrizada.
3.2 Prompt ou Instruções do Agente
- Antes de validar, compare data_emissao_documento com a vigência da matriz; se fora da vigência, defina vigencia_ok=false e siga validando com a matriz fornecida, registrando aviso. - Determine aplicabilidade por requisito avaliando condicao_aplicabilidade no contexto do produto; se não aplicável, marque 'nao_aplicavel' e não penalize no percentual_conformidade. - Para requisitos obrigatórios: se campo_alvo ausente ou nulo, marque 'nao_conforme' com justificativa 'ausente'; se presente, avalie criterio_validacao de forma objetiva (unidades, presença de advertências obrigatórias, explicitação de riscos, divulgação de taxas e suas bases etc.). - Para requisitos condicionais: valide apenas quando a condição for verdadeira; caso contrário, 'nao_aplicavel'. - Sempre forneça referência de evidência ancorada no mapeamento_origem do dado normalizado. Se não houver referência, trate como não conforme por falta de evidência. - Construa gaps_priorizados ordenando por severidade (alto>medio>baixo) e pela criticidade do requisito (obrigatório antes de condicional).
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: Dados normalizados do produto e matriz regulatória.
- 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é 10.000 caracteres.
3.3.2 Especificação do Output
- Formato de output: Resultado por requisito em formato JSON.
-
Exemplo de Estrutura de Output:
{ "versao_matriz": "1.0", "vigencia_ok": true, "avaliacoes": [{ "requisito_id": "R1", "status": "conforme", "evidencia": { "campo": "taxas_e_custos", "valor": "1.5% a.a.", "referencia_origem": { "secao_id": "3", "pagina": 5, "trecho": "Taxa de Administração: 1,5% a.a." } }, "justificativa": "", "severidade": "medio" }], "resumo": { "percentual_conformidade": 95, "total_requisitos": 10, "total_conformes": 9, "total_nao_conformes": 1, "total_nao_aplicaveis": 0 }, "gaps_priorizados": [{ "requisito_id": "R2", "severidade": "alto", "acao_recomendada": "Rever política de distribuição" }] } - Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 5.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 Adequação ao Perfil do Investidor e Consolidação do Relatório (RF 4).
3.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Adequação ao Perfil do Investidor e Consolidação do Relatório (RF 4).
RF 4. Agente de Adequação ao Perfil do Investidor e Consolidação do Relatório
4.1 Tarefa do Agente
Verificar a coerência do produto com o perfil do investidor e consolidar o relatório final técnico e executivo.
4.2 Prompt ou Instruções do Agente
- Mapeie o risco do produto para a escala do perfil do investidor: use indicadores_risco (volatilidade, drawdown, classe declarada) e prazos/liquidez. Regras práticas: conservador não pode receber produtos com carencia>90 dias ou volatilidade_12m>5% salvo status 'condicional'; moderado pode até 15% volatilidade; arrojado/agressivo sem limite pré-definido, mas registre riscos. - Cheque horizonte: se horizonte do investidor < prazo_total_dias/30, crie conflito 'horizonte_vs_prazo' e penalize o score. - Cheque necessidade_liquidez: se 'alta' e liquidez D+>5, marcar conflito e sugerir produto alternativo ou rejeição. - Cheque objetivos: produto orientado a renda deve declarar política de distribuição; se ausente, conflito 'objetivo_incompativel'. - Respeite restricoes explícitas do investidor (ex.: 'não investir em crédito privado'): se produto contrariar, classifique 'inadequado'. - Cálculo de score sugerido: comece em 100; subtraia 40 se risco>perfil; 25 se horizonte incompatível; 20 se liquidez incompatível; 10 por cada restrição violada; 5 por cada ponto de atenção relevante. Limite inferior 0. Status: adequado (>=80 e sem conflitos críticos), condicional (entre 50 e 79 ou com mitigação possível), inadequado (<50 ou conflito crítico). - Para consolidação, defina ok_regulatorio=true apenas se percentual_conformidade>=95% e nenhum requisito severidade 'alto' estiver 'nao_conforme'. Caso contrário, false. - O relatorio_markdown deve conter: Sumário Executivo, Visão Regulatória (com % e gaps), Adequação ao Perfil (status e score), Riscos e Advertências, Dados-Chave do Produto (taxas, prazos, liquidez), Evidências (páginas/trechos), e Recomendações objetivas.
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: Dados normalizados do produto, resultado regulatório e perfil do investidor.
- 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é 15.000 caracteres.
4.3.2 Especificação do Output
- Formato de output: JSON contendo a adequação ao perfil do investidor e o relatório consolidado.
-
Exemplo de Estrutura de Output:
{ "adequacao": { "status": "adequado", "score": 85, "motivos_chave": ["Risco compatível", "Horizonte de investimento adequado"], "conflitos": [] }, "consolidado": { "ok_regulatorio": true, "percentual_conformidade": 95, "riscos_relevantes": ["Volatilidade moderada"], "pontos_de_atencao": ["Verificar política de distribuição"] }, "recomendacoes": [{ "tipo": "ajuste_documental", "descricao": "Rever política de distribuição" }], "relatorio_markdown": "Sumário Executivo + detalhes técnicos", "relatorio_json": {} } - Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 5.000 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 é 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 relatório gerado é o resultado que deve ser disponibilizado ao usuário.