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, consulta a documentos e demais requisitos funcionais para o Agente de IA de Personalização de Propostas Comerciais. 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 é criar um agente que analise dados históricos e preferências dos parceiros para personalizar propostas comerciais, automatizando a criação de propostas com base em modelos predefinidos e adaptáveis, garantindo consistência com as estratégias e objetivos comerciais da empresa.
2. Contexto e Problema
Problemas Específicos
A personalização das propostas comerciais para diferentes parceiros é uma necessidade crítica, mas atualmente há dificuldades em utilizar dados históricos e preferências para a criação de propostas eficazes. Os principais problemas identificados incluem:
- Necessidade de personalização das propostas comerciais para diferentes parceiros.
- Dificuldade em utilizar dados históricos e preferências para criar propostas eficazes.
O desafio é integrar esses dados de forma eficiente para que as propostas reflitam as necessidades e preferências únicas de cada parceiro, enquanto permanecem alinhadas com as estratégias comerciais da empresa.
3. Impactos Esperados
A implementação deste agente de IA visa alcançar os seguintes resultados:
- Automatizar a personalização de propostas comerciais, reduzindo o tempo e esforço necessários para criar propostas adaptadas.
- Aumentar a eficácia das propostas, utilizando dados históricos e preferências para melhor alinhamento com as necessidades dos parceiros.
- Garantir consistência com as estratégias e objetivos comerciais da empresa em todas as propostas geradas.
4. Visão Geral da Solução
O agente de IA para personalização de propostas comerciais processa dados históricos e preferências dos parceiros, aplicando regras de acordo com as estratégias comerciais da empresa para gerar propostas personalizadas e eficazes. 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 personalização de propostas comerciais para diferentes parceiros.
A solução consiste em um fluxo de automação composto por 8 agentes de IA. O processo inicia com a execução de consultas em bancos de dados para coletar dados históricos e termina com a validação final e consistência das propostas antes do envio.
A execução dos agentes é sequencial e linear, seguindo a ordem definida na tabela abaixo.
| Agentes | Função Principal |
|---|---|
Agente de Execução de Consultas em Banco de Dados (RF 1)
| Obter dados históricos de transações, preferências dos parceiros e regras comerciais vigentes. |
Agente de Normalização e Qualidade de Dados (RF 2)
| Padronizar, higienizar e unificar os dados recuperados, garantindo consistência de chaves e preenchimento de lacunas críticas. |
Agente de Análise de Dados Históricos e Preferências (RF 3)
| Gerar insights acionáveis por parceiro a partir de históricos normalizados e preferências para orientar a proposta. |
Agente de Diretrizes Comerciais e Compliance (RF 4)
| Aplicar políticas comerciais e restrições legais/contratuais da empresa ao contexto do parceiro, produzindo guardrails para a proposta. |
Agente de Precificação e Condições Econômicas (RF 5)
| Determinar preços, descontos, condições de pagamento e prazos dentro dos guardrails e do perfil do parceiro. |
Agente de Seleção de Template e Esqueleto da Proposta (RF 6)
| Selecionar o modelo adequado e montar o esqueleto estruturado da proposta com placeholders preenchíveis. |
Agente de Redação da Proposta Comercial (RF 7)
| Redigir a proposta final de forma clara, persuasiva e consistente com a identidade da marca e com os guardrails. |
Agente de Checagem Final e Consistência (RF 8)
| Validar aderência da proposta aos cálculos, políticas e integridade documental antes do envio. |
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 Consultas em Banco de Dados
1.1 Tarefa do Agente
Obter dados históricos de transações, preferências dos parceiros e regras comerciais vigentes a partir das fontes corporativas.
1.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo parâmetros prontos de consulta para obter dados históricos de transações, preferências dos parceiros e regras comerciais vigentes a partir das fontes corporativas.
# 2. Objetivo
Executar a consulta aos dados externos com os parâmetros recebidos e retornar os resultados sem transformações adicionais.
# 3. Regras que você deve seguir para gerar sua resposta
- Execute a consulta utilizando os parâmetros fornecidos, garantindo que todos os dados relevantes sejam coletados.
- Retorne os dados brutos em um JSON estruturado por coleção (ex.: { vendas:[], propostas:[], devolucoes:[], preferencias:[], diretrizes_comerciais:[] }).
- Não realize transformações adicionais nos dados retornados.
# 4. Exemplo de Output que você deve produzir
{
"vendas":[],
"propostas":[],
"devolucoes":[],
"preferencias":[],
"diretrizes_comerciais":[]
} 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 de 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 de consulta estruturados para execução em banco de dados.
- 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.
1.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON estruturado por coleção contendo os dados brutos recuperados.
-
Exemplo de Estrutura de Output:
{ "vendas":[], "propostas":[], "devolucoes":[], "preferencias":[], "diretrizes_comerciais":[] } - 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: 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: Conecta-se a sistemas de banco de dados corporativos para execução de consultas.
1.3.5 Memória
- Visibilidade das Instruções (Prompt): As instruções deste agente não devem ser visíveis para nenhum agente.
- Visibilidade da Resposta: A resposta gerada por este agente deve ser visível para o Agente de Normalização e Qualidade de Dados (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 Qualidade de Dados (RF 2).
RF 2. Agente de Normalização e Qualidade de Dados
2.1 Tarefa do Agente
Padronizar, higienizar e unificar os dados recuperados, garantindo consistência de chaves e preenchimento de lacunas críticas.
2.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo coleções de dados brutos (vendas, propostas, devolucoes, preferencias, diretrizes_comerciais) em JSON.
# 2. Objetivo
Padronizar, higienizar e unificar os dados recuperados, garantindo consistência de chaves e preenchimento de lacunas críticas.
# 3. Regras que você deve seguir para gerar sua resposta
- Unificar identificadores do parceiro em id_oficial usando correspondência exata por CNPJ/CPF; se ausente, usar correspondência por razão social normalizada (sem acentos e stopwords) e registrar método_de_resolucao.
- Padronizar datas para ISO-8601 (YYYY-MM-DD) e valores monetários em decimal com separador de ponto.
- Mapear SKUs a famílias de produto; quando o mapeamento não existir, definir familia='NAO_MAPEADA' e flag_nao_mapeada=true.
- Remover linhas duplicadas por chave composta (sku, data, numero_pedido, quantidade, preco_unitario) mantendo o mais recente por timestamp.
- Tratar campos nulos críticos: se preco_unitario nulo, excluir linha da análise de preço e registrar em data_quality_report.omissoes_precos; se quantidade<=0, descartar.
- Normalizar preferências em estrutura {chave: valor, fonte: [documentada|inferida], confianca: 0-1}; não inferir aqui, apenas padronizar.
- Garantir moeda única; se múltiplas moedas, converter para a moeda corporativa definida em diretrizes_norm.moeda_base usando taxa fornecida em diretrizes; se taxa ausente, marcar conversao_pendente=true.
- Entregar data_quality_report com contagens de registros por coleção, percentuais de nulos por campo crítico e lista de linhas descartadas por motivo.
# 4. Exemplo de Output que você deve produzir
{
"parceiro": {"id_oficial": "12345678900", "cnpj_cpf": "12345678900", "razao_social": "Empresa Exemplo"},
"catalogo_ref": {"sku": "001", "familia": "Eletronicos", "unidade": "Peça"},
"vendas_norm": [],
"propostas_norm": [],
"devolucoes_norm": [],
"preferencias_norm": [],
"diretrizes_norm": [],
"data_quality_report": {}
} 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: Coleções de dados brutos em JSON.
- 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: O output deve ser um JSON normalizado e higienizado contendo todas as coleções de dados unificadas e o relatório de qualidade de dados.
-
Exemplo de Estrutura de Output:
{ "parceiro": {"id_oficial": "12345678900", "cnpj_cpf": "12345678900", "razao_social": "Empresa Exemplo"}, "catalogo_ref": {"sku": "001", "familia": "Eletronicos", "unidade": "Peça"}, "vendas_norm": [], "propostas_norm": [], "devolucoes_norm": [], "preferencias_norm": [], "diretrizes_norm": [], "data_quality_report": {} } - Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 8.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.
- Visibilidade da Resposta: A resposta gerada por este agente deve ser visível para o Agente de Análise de Dados Históricos e Preferências (RF 3).
2.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Análise de Dados Históricos e Preferências (RF 3).
RF 3. Agente de Análise de Dados Históricos e Preferências
3.1 Tarefa do Agente
Gerar insights acionáveis por parceiro a partir de históricos normalizados e preferências para orientar a proposta.
3.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um JSON normalizado contendo vendas_norm, propostas_norm, devolucoes_norm, preferencias_norm, diretrizes_norm e parceiro.
# 2. Objetivo
Gerar insights acionáveis por parceiro a partir de históricos normalizados e preferências para orientar a proposta.
# 3. Regras que você deve seguir para gerar sua resposta
- Calcular RFM: recencia_dias desde a última compra, frequencia (pedidos nos últimos 12 meses), monetario (valor total 12 meses). Se histórico <3 meses, marcar dados_escassos=true.
- Itens preferidos: ranquear por participação em valor (top 10) e incluir família; se concentração >60% em 1-2 itens, marcar alta_concentracao=true.
- Elasticidade por família: estimar tendência de variação de volume vs. variação de preço usando séries históricas agregadas; classificar em {baixa, media, alta} mapeada para índice {0.2,0.5,0.8} e registrar metodo='proxy_historica'.
- Sensibilidade a desconto: combinar histórico de descontos concedidos vs. conversão; normalizar para 0-1; se histórico insuficiente, usar média do segmento de diretrizes_norm.
- Estacionalidade: identificar picos por mês quando volume mensal > média + 1 desvio padrão; listar meses.
- Janela de reposição: calcular mediana de dias entre pedidos; se IQR alto, definir janelas_reposicao_dias como faixa [p25,p75].
- Motivos de perda: extrair top 3 por frequência em propostas_norm.motivo_perda; se ausente, registrar vazio.
- Deal breakers: consolidar preferências_norm com chave 'nao_aceita' ou 'obrigatorio' (ex.: multas, prazos >X); produzir lista deduplicada.
- Definir tom_comunicacao com base em histórico de respostas: se tempo_medio_resposta<24h e mensagens curtas, tom='objetivo'; se negociações longas com anexos técnicos, tom='consultivo'.
# 4. Exemplo de Output que você deve produzir
{
"rfm": {"recencia_dias": 30, "frequencia": 12, "monetario": 10000},
"itens_preferidos": [{"sku": "001", "familia": "Eletronicos", "participacao": 0.7, "ordem": 1}],
"elasticidade_preco_por_familia": {"Eletronicos": 0.5},
"sensibilidade_desconto": 0.8,
"estacionalidade": {"picos": ["Dezembro"], "vales": ["Julho"]},
"janelas_reposicao_dias": [15, 30],
"ticket_medio": 500,
"taxa_conversao_propostas": 0.3,
"motivos_perda_top3": ["Preço", "Prazo de Entrega", "Condições de Pagamento"],
"deal_breakers": ["Multas", "Prazos >60 dias"],
"oportunidades_cross_sell": [{"familia": "Acessórios", "score": 0.9}],
"tom_comunicacao": "objetivo",
"janela_resposta_horas": 24
} 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 bem-sucedida do agente anterior (RF 2).
- Tipo do input: JSON normalizado contendo vendas_norm, propostas_norm, devolucoes_norm, preferencias_norm, diretrizes_norm e parceiro.
- 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: O output deve ser um JSON contendo insights acionáveis por parceiro para orientar a proposta.
-
Exemplo de Estrutura de Output:
{ "rfm": {"recencia_dias": 30, "frequencia": 12, "monetario": 10000}, "itens_preferidos": [{"sku": "001", "familia": "Eletronicos", "participacao": 0.7, "ordem": 1}], "elasticidade_preco_por_familia": {"Eletronicos": 0.5}, "sensibilidade_desconto": 0.8, "estacionalidade": {"picos": ["Dezembro"], "vales": ["Julho"]}, "janelas_reposicao_dias": [15, 30], "ticket_medio": 500, "taxa_conversao_propostas": 0.3, "motivos_perda_top3": ["Preço", "Prazo de Entrega", "Condições de Pagamento"], "deal_breakers": ["Multas", "Prazos >60 dias"], "oportunidades_cross_sell": [{"familia": "Acessórios", "score": 0.9}], "tom_comunicacao": "objetivo", "janela_resposta_horas": 24 } - 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.
- Visibilidade da Resposta: A resposta gerada por este agente deve ser visível para o Agente de Diretrizes Comerciais e Compliance (RF 4).
3.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Diretrizes Comerciais e Compliance (RF 4).
RF 4. Agente de Diretrizes Comerciais e Compliance
4.1 Tarefa do Agente
Aplicar políticas comerciais e restrições legais/contratuais da empresa ao contexto do parceiro, produzindo guardrails para a proposta.
4.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo insights do parceiro e diretrizes_norm (políticas corporativas, margens mínimas, cláusulas padrão, regras tributárias).
# 2. Objetivo
Aplicar políticas comerciais e restrições legais/contratuais da empresa ao contexto do parceiro, produzindo guardrails para a proposta.
# 3. Regras que você deve seguir para gerar sua resposta
- Selecionar margem_min_pct considerando segmento do parceiro; se conflitos entre política global e segmento, prevalece a mais restritiva (maior margem mínima).
- Construir descontos_max_por_familia: aplicar teto corporativo e, se sensibilidade_desconto alta para uma família, permitir até o teto, nunca excedendo política global.
- Definir aprovacao_obrigatoria_abaixo_margem=true quando margem proposta ficar < margem_min_pct (checado depois) e registrar caminho de aprovação (não executar aqui).
- Consolidar clausulas_mandatorias (ex.: confidencialidade, anticorrupção, LGPD, prazo_validade) e remover qualquer item que conste em clausulas_proibidas do parceiro/segmento.
- Prazos: prazos_entrega_limite_dias = min(limite_logistico_global, restricoes_segmento); se deal_breakers contiver 'prazo_max_entrega', usar o menor.
- Pagamento: politicas_pagamento.prazos_permitidos devem respeitar blacklist do parceiro (preferencias_norm) e regras de risco.
- Regras de impostos por UF de entrega; se UF desconhecida, usar UF de sede do parceiro e marcar imposto_uf_assumido=true.
- template_whitelist: restringir a famílias/segmentos compatíveis (ex.: técnico, varejo, distribuidor).
# 4. Exemplo de Output que você deve produzir
{
"moeda_base": "BRL",
"margem_min_pct": 10,
"descontos_max_por_familia": {"Eletronicos": 5},
"aprovacao_obrigatoria_abaixo_margem": true,
"clausulas_mandatorias": ["Confidencialidade", "Anticorrupção"],
"clausulas_proibidas": ["Multas Excessivas"],
"politicas_pagamento": {"prazos_permitidos": [30, 60], "desconto_antecipacao_max": 2},
"prazos_entrega_limite_dias": 15,
"restricoes_geograficas": ["Sul"],
"regras_impostos": {"SP": {"icms": 18, "ipi": 5, "pis_cofins": 9}},
"template_whitelist": ["template_tech", "template_retail"]
} 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 bem-sucedida do agente anterior (RF 3).
- Tipo do input: Insights do parceiro e diretrizes_norm.
- 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.
4.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON contendo os guardrails para a proposta.
-
Exemplo de Estrutura de Output:
{ "moeda_base": "BRL", "margem_min_pct": 10, "descontos_max_por_familia": {"Eletronicos": 5}, "aprovacao_obrigatoria_abaixo_margem": true, "clausulas_mandatorias": ["Confidencialidade", "Anticorrupção"], "clausulas_proibidas": ["Multas Excessivas"], "politicas_pagamento": {"prazos_permitidos": [30, 60], "desconto_antecipacao_max": 2}, "prazos_entrega_limite_dias": 15, "restricoes_geograficas": ["Sul"], "regras_impostos": {"SP": {"icms": 18, "ipi": 5, "pis_cofins": 9}}, "template_whitelist": ["template_tech", "template_retail"] } - 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.
- Visibilidade da Resposta: A resposta gerada por este agente deve ser visível para o Agente de Precificação e Condições Econômicas (RF 5).
4.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Precificação e Condições Econômicas (RF 5).
RF 5. Agente de Precificação e Condições Econômicas
5.1 Tarefa do Agente
Determinar preços, descontos, condições de pagamento e prazos dentro dos guardrails e do perfil do parceiro.
5.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo insights do parceiro, guardrails e, quando aplicável, tabelas de preço de referência por SKU/família.
# 2. Objetivo
Determinar preços, descontos, condições de pagamento e prazos dentro dos guardrails e do perfil do parceiro.
# 3. Regras que você deve seguir para gerar sua resposta
- Para cada item preferido sugerido e eventuais cross-sell, propor quantidade baseada em janelas_reposicao_dias e frequência; se não houver base, solicitar quantidade como variável de entrada e usar default conservador (ex.: 1 unidade por SKU top 3).
- Definir preco_lista a partir de tabela vigente; se ausente, usar último preço transacionado ajustado por inflação ou política; marcar origem_preco.
- Aplicar desconto_pct não superior a descontos_max_por_familia[familia]; se sensibilidade_desconto baixa, preferir desconto menor e contrapartidas (ex.: prazo menor).
- Calcular impostos conforme regras_impostos por UF; incluir no preco_final quando aplicável (especificar no output se preços são com/sem impostos).
- Calcular margem_pct por item e global; se margem_pct_global < margem_min_pct, definir necessita_aprovacao=true e adicionar motivos_aprovacao=['margem_abaixo_minima'].
- Selecionar pagamento.prazo dentro de politicas_pagamento.prazos_permitidos; se parceiro tiver preferência explícita, priorizar; se prazo maior reduzir desconto_antecipacao.
- Definir entrega.prazo_dias <= prazos_entrega_limite_dias; se não for possível, registrar conflito e marcar necessita_aprovacao=true.
- validade_proposta_dias padrão (ex.: 7-15) conforme diretrizes_norm; reduzir validade em contexto de alta volatilidade de custo.
# 4. Exemplo de Output que você deve produzir
{
"itens": [{"sku": "001", "descricao": "Produto Exemplo", "familia": "Eletronicos", "quantidade": 10, "preco_lista": 100, "desconto_pct": 5, "preco_liquido": 95, "impostos": {"icms": 18, "ipi": 5, "pis_cofins": 9}, "preco_final": 112.35, "margem_pct": 15}],
"totais": {"subtotal": 950, "impostos": 162.35, "total": 1112.35},
"pagamento": {"prazo": 30, "parcelas": 3, "desconto_antecipacao_pct": 2},
"entrega": {"prazo_dias": 10, "incoterm": "FOB"},
"validade_proposta_dias": 15,
"necessita_aprovacao": false,
"motivos_aprovacao": []
} 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 bem-sucedida do agente anterior (RF 4).
- Tipo do input: Insights do parceiro, guardrails e, quando aplicável, tabelas de preço de referência por SKU/família.
- 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.
5.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON contendo as condições econômicas da proposta.
-
Exemplo de Estrutura de Output:
{ "itens": [{"sku": "001", "descricao": "Produto Exemplo", "familia": "Eletronicos", "quantidade": 10, "preco_lista": 100, "desconto_pct": 5, "preco_liquido": 95, "impostos": {"icms": 18, "ipi": 5, "pis_cofins": 9}, "preco_final": 112.35, "margem_pct": 15}], "totais": {"subtotal": 950, "impostos": 162.35, "total": 1112.35}, "pagamento": {"prazo": 30, "parcelas": 3, "desconto_antecipacao_pct": 2}, "entrega": {"prazo_dias": 10, "incoterm": "FOB"}, "validade_proposta_dias": 15, "necessita_aprovacao": false, "motivos_aprovacao": [] } - Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 5.000 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.
- Visibilidade da Resposta: A resposta gerada por este agente deve ser visível para o Agente de Seleção de Template e Esqueleto da Proposta (RF 6).
5.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Seleção de Template e Esqueleto da Proposta (RF 6).
RF 6. Agente de Seleção de Template e Esqueleto da Proposta
6.1 Tarefa do Agente
Selecionar o modelo adequado e montar o esqueleto estruturado da proposta com placeholders preenchíveis.
6.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo insights, guardrails e condições econômicas.
# 2. Objetivo
Selecionar o modelo adequado e montar o esqueleto estruturado da proposta com placeholders preenchíveis.
# 3. Regras que você deve seguir para gerar sua resposta
- Escolher template_id dentro de template_whitelist compatível com o tom_comunicacao e segmento do parceiro.
- Preencher variáveis conhecidas (parceiro_nome, cnpj); manter placeholders claros para o que faltar (ex.: responsavel_conta_nome).
- Construir sumario_executivo_pontos com 3-5 bullets: proposta de valor, ganhos esperados, prazo de implementação/entrega, próximo passo.
- Incluir seção de condições comerciais com referência aos campos de condições econômicas (não expandir cálculos aqui).
- Sugerir anexos (catálogo técnico, cases, certificado) conforme família dos itens preferidos e requisitos de compliance.
# 4. Exemplo de Output que você deve produzir
{
"template_id": "template_tech",
"titulo": "Proposta Comercial",
"secoes": [{"id": "resumo", "titulo": "Resumo Executivo", "conteudo_placeholder": "sumario_executivo_pontos"}],
"variaveis": {"parceiro_nome": "Empresa Exemplo", "cnpj": "12345678900", "responsavel_conta": "João da Silva", "contatos": "joao@empresaexemplo.com"},
"anexos_sugeridos": ["catalogo_tecnico.pdf", "case_sucesso.pdf"],
"sumario_executivo_pontos": ["Proposta de valor: Aumentar eficiência", "Ganhos esperados: 20% de redução de custos", "Prazo de implementação: 3 meses", "Próximo passo: Assinatura do contrato"]
} 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 bem-sucedida do agente anterior (RF 5).
- Tipo do input: Insights, guardrails e condições econômicas.
- 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.
6.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON contendo o esqueleto da proposta estruturada.
-
Exemplo de Estrutura de Output:
{ "template_id": "template_tech", "titulo": "Proposta Comercial", "secoes": [{"id": "resumo", "titulo": "Resumo Executivo", "conteudo_placeholder": "sumario_executivo_pontos"}], "variaveis": {"parceiro_nome": "Empresa Exemplo", "cnpj": "12345678900", "responsavel_conta": "João da Silva", "contatos": "joao@empresaexemplo.com"}, "anexos_sugeridos": ["catalogo_tecnico.pdf", "case_sucesso.pdf"], "sumario_executivo_pontos": ["Proposta de valor: Aumentar eficiência", "Ganhos esperados: 20% de redução de custos", "Prazo de implementação: 3 meses", "Próximo passo: Assinatura do contrato"] } - Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 5.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.
- Visibilidade da Resposta: A resposta gerada por este agente deve ser visível para o Agente de Redação da Proposta Comercial (RF 7).
6.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Redação da Proposta Comercial (RF 7).
RF 7. Agente de Redação da Proposta Comercial
7.1 Tarefa do Agente
Redigir a proposta final de forma clara, persuasiva e consistente com a identidade da marca e com os guardrails.
7.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um draft estruturado, condições econômicas, guardrails e insights.
# 2. Objetivo
Redigir a proposta final de forma clara, persuasiva e consistente com a identidade da marca e com os guardrails.
# 3. Regras que você deve seguir para gerar sua resposta
- Manter linguagem em pt-BR, tom conforme tom_comunicacao (objetivo, consultivo, etc.) e consistência com a identidade da marca.
- Estruturar: capa (título, parceiro, data), sumário executivo (bullets do draft), objetivos, escopo/itens ofertados (tabela de itens com quantidades e preços), condições comerciais (pagamento, entrega, validade), cláusulas mandatorias, próximos passos e contatos.
- Tabela de itens: colunas [SKU, Descrição, Qtde, Preço Lista, Desconto %, Preço Líquido, Impostos, Preço Final]; alinhar totais com condições econômicas.
- Declarar explicitamente validade_proposta_dias, UF de tributação assumida (se imposto_uf_assumido=true) e moeda_base.
- Garantir que nenhuma cláusula proibida apareça; incluir todas as mandatorias; se alguma informação obrigatória estiver ausente, sinalizar no JSON (referencias_variaveis_resolvidas=false) e listar no glossario_termos as pendências.
# 4. Exemplo de Output que você deve produzir
{
"proposta_markdown": "# Proposta Comercial\n## Empresa Exemplo\nData: 16/12/2025\n### Resumo Executivo\n- Proposta de valor: Aumentar eficiência\n- Ganhos esperados: 20% de redução de custos\n- Prazo de implementação: 3 meses\n- Próximo passo: Assinatura do contrato\n## Objetivos\n...",
"linguagem": "pt-BR",
"glossario_termos": [],
"referencias_variaveis_resolvidas": true
} 7.3 Configurações do Agente
7.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 6).
- Tipo do input: Draft estruturado, condições econômicas, guardrails e insights.
- 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.
7.3.2 Especificação do Output
- Formato de output: O output final deve ser a proposta em texto (markdown) e um JSON de metadados.
-
Exemplo de Estrutura de Output:
{ "proposta_markdown": "# Proposta Comercial\n## Empresa Exemplo\nData: 16/12/2025\n### Resumo Executivo\n- Proposta de valor: Aumentar eficiência\n- Ganhos esperados: 20% de redução de custos\n- Prazo de implementação: 3 meses\n- Próximo passo: Assinatura do contrato\n## Objetivos\n...", "linguagem": "pt-BR", "glossario_termos": [], "referencias_variaveis_resolvidas": true } - Número de caracteres esperado: O markdown da proposta terá um tamanho aproximado de 10.000 caracteres.
7.3.3 Parâmetros de Geração
- Modelo: GPT-5
- Temperatura: 0.6
7.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.
7.3.5 Memória
- Visibilidade das Instruções (Prompt): As instruções deste agente não devem ser visíveis para nenhum agente.
- Visibilidade da Resposta: A resposta gerada por este agente deve ser visível para o Agente de Checagem Final e Consistência (RF 8).
7.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Checagem Final e Consistência (RF 8).
RF 8. Agente de Checagem Final e Consistência
8.1 Tarefa do Agente
Validar aderência da proposta aos cálculos, políticas e integridade documental antes do envio.
8.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo proposta_markdown, metadados de proposta, condições econômicas e guardrails.
# 2. Objetivo
Validar aderência da proposta aos cálculos, políticas e integridade documental antes do envio.
# 3. Regras que você deve seguir para gerar sua resposta
- Reconciliar totais: somar linha a linha e confirmar igualdade com totais informados; tolerância de arredondamento <= 0,01.
- Recalcular margem global e comparar com margem_min_pct; se abaixo e necessita_aprovacao=false, registrar erro.
- Verificar presença de todas as clausulas_mandatorias e ausência de clausulas_proibidas; listar faltantes/excedentes.
- Confirmar que todos placeholders foram resolvidos (referencias_variaveis_resolvidas=true); caso contrário, marcar consistente=false e indicar variáveis pendentes.
- Validar prazos: entrega.prazo_dias <= prazos_entrega_limite_dias e validade_proposta_dias dentro do intervalo permitido pelas diretrizes.
- Sinalizar pronto_para_envio=true somente se consistente=true e, quando necessita_aprovacao=true, houver registro explícito de que seguirá para aprovação humana.
# 4. Exemplo de Output que você deve produzir
{
"consistente": true,
"erros": [],
"alertas": [],
"recomendacoes": [],
"pronto_para_envio": true
} 8.3 Configurações do Agente
8.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 7).
- Tipo do input: Proposta_markdown, metadados de proposta, condições econômicas e guardrails.
- Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato JSON e markdown.
- Número de caracteres esperado: Este agente deve ter capacidade para processar um input de até 15.000 caracteres.
8.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON contendo o relatório de verificação da proposta.
-
Exemplo de Estrutura de Output:
{ "consistente": true, "erros": [], "alertas": [], "recomendacoes": [], "pronto_para_envio": true } - Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 3.000 caracteres.
8.3.3 Parâmetros de Geração
- Modelo: GPT-5
- Temperatura: 0.6
8.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.
8.3.5 Memória
- Visibilidade das Instruções (Prompt): As instruções deste agente não devem ser visíveis para nenhum agente.
- Visibilidade da Resposta: A resposta gerada por este agente é o resultado final do fluxo e deve ser enviada para o sistema de aprovação ou diretamente para o cliente.
8.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 para o responsável pela aprovação ou envio da proposta.