Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
10
respostas

Projeto: Transformacao digital do pos-vendas da Hermex Log

Título Completo

Checkpoint Especialista em IA – Nível I
Planejamento do Assistente Hermex Prazo Certo 
Projeto: Transformacao digital do pos-vendas da Hermex Log

Autoria

Ricardo Costa Val do Rosário, MD, PhD

Médico Angiologista e Cirurgião Cardiovascular
Especialização em Carreira de IA — Alura/SP
Cursando Especialização em Carreira de Cloud Security — Alura/SP
Linha de pesquisa independente em IA e Medicina, DMIA, Tecnovigilância e Cibersegurança
em Saúde
Belo Horizonte — 2026

Declaração de legitimidade de autoria e conformidade com a LGPD

Este projeto foi redigido pelo autor com apoio instrumental de IA generativa para organização, 
revisão linguística, refinamento estrutural, modelos didáticos e formatação. O conteúdo final 
foi criticamente revisado pelo autor, que assume plena responsabilidade por sua precisão, 
originalidade, integridade e eventuais omissões. Nenhum dado identificável foi utilizado. 
Cenários, prompts, respostas hipotéticas e códigos são fictícios e exclusivamente educacionais, 
voltados à governança, segurança cibernética e uso responsável de IA. Não substituem avaliação 
de julgamento crítico, protocolos institucionais, diretrizes profissionais, validação regulatória ou 
julgamento profissional.

Palavras-chave:

# inteligência_artificial;  # carreira_especialista_em_IA; Chat_GPT;  
# ricardo_costa_val_do_rosário; # Checkpoint_Especialista_em_ IA_ –_ Nível_I

PARTE I – Etapa normofuncionante

LEIA-ME_Projeto_Hermex_Log_CORRIGIDO.txt

PROJETO HERMEX LOG - ARQUIVOS PRATICOS

1. Abra Hermex_Log_RACI_Dashboard.xlsx.
- Dashboard: indicadores e graficos.
- Matriz RACI: responsabilidades.
- Dados: 20 registros sinteticos editaveis.

2. Consulte fluxograma_pos_vendas.png para reproduzir o processo no Miro.

3. Teste o assistente local, se houver Python instalado:
python assistente_prazo_local.py --estado SP
python assistente_prazo_local.py --estado AM

4. Simule a classificacao de NPS e os alertas:
python simular_workflow_nps.py
O resultado sera gravado em resultado_teste_workflow.json.

5. Importe workflow_n8n_hermex_log.json em uma instancia do n8n, se disponivel.
Nenhuma credencial esta incluida. O fluxo usa dados sinteticos.

6. Importe base_conhecimento_hermex_log.md no Notion, se houver uma conta disponivel,
ou mantenha o conteudo em editor local.

7. Use base_exemplo_nps_sla.csv como fonte de dados para um painel externo.

Observacao: a publicacao em servicos externos e a execucao de modelos pagos nao foram
realizadas. O projeto nao contem senhas, tokens, chaves de API nem dados pessoais reais.

Etapa 1 prática, com:

•	planejamento;
•	Matriz CSD;
•	briefing completo;
•	formato tabelado;
•	configuração JSON;
•	protótipo Python;
•	testes obrigatórios com SP, BA e AM;
•	teste de segurança para frete expresso;
•	registro transparente da não implantação externa.
10 respostas

Baixar:

Notepad

assistente_prazo_local
#!/usr/bin/env python3
"""Prototipo local e deterministico do assistente Hermex Prazo Certo."""

import argparse
import json


REGIOES_POR_UF = {
    "AC": "Norte", "AL": "Nordeste", "AP": "Norte", "AM": "Norte",
    "BA": "Nordeste", "CE": "Nordeste", "DF": "Centro-Oeste",
    "ES": "Sudeste", "GO": "Centro-Oeste", "MA": "Nordeste",
    "MT": "Centro-Oeste", "MS": "Centro-Oeste", "MG": "Sudeste",
    "PA": "Norte", "PB": "Nordeste", "PR": "Sul", "PE": "Nordeste",
    "PI": "Nordeste", "RJ": "Sudeste", "RN": "Nordeste", "RS": "Sul",
    "RO": "Norte", "RR": "Norte", "SC": "Sul", "SP": "Sudeste",
    "SE": "Nordeste", "TO": "Norte"
}

REGRAS_REGIONAIS = {
    "Sudeste": (2, 5),
    "Sul": (3, 6),
    "Centro-Oeste": (4, 7),
    "Nordeste": (6, 12),
    "Norte": (8, 16),
}

REGRAS_ESTADUAIS = {"SP": (2, 4)}


def consultar_prazo(uf: str, frete: str = "Padrao") -> dict:
    uf = uf.strip().upper()
    frete_normalizado = frete.strip().lower()
    if uf not in REGIOES_POR_UF:
        return {"erro": "UF invalida ou ausente. Informe uma sigla brasileira valida."}
    if frete_normalizado not in {"padrao", "padrão"}:
        return {
            "estado": uf,
            "regiao": REGIOES_POR_UF[uf],
            "tipo_frete": frete,
            "erro": "Nao ha regra validada para este tipo de frete. Consulte o pos-vendas."
        }
    regiao = REGIOES_POR_UF[uf]
    minimo, maximo = REGRAS_ESTADUAIS.get(uf, REGRAS_REGIONAIS[regiao])
    return {
        "estado": uf,
        "regiao": regiao,
        "tipo_frete": "Padrao",
        "prazo_minimo_dias_uteis": minimo,
        "prazo_maximo_dias_uteis": maximo,
        "observacoes": "Estimativa apos a confirmacao do envio; a previsao individual depende do rastreio."
    }


def main() -> None:
    parser = argparse.ArgumentParser(description="Consulta local de prazos da Hermex Log")
    parser.add_argument("--estado", required=True, help="Sigla da UF, por exemplo SP, BA ou AM")
    parser.add_argument("--frete", default="Padrao", help="Tipo de frete")
    args = parser.parse_args()
    print(json.dumps(consultar_prazo(args.estado, args.frete), ensure_ascii=False, indent=2))


if __name__ == "__main__":
    main()

PROGRAM

#!/usr/bin/env python3
"""Prototipo local e deterministico do assistente Hermex Prazo Certo."""

import argparse
import json


REGIOES_POR_UF = {
    "AC": "Norte", "AL": "Nordeste", "AP": "Norte", "AM": "Norte",
    "BA": "Nordeste", "CE": "Nordeste", "DF": "Centro-Oeste",
    "ES": "Sudeste", "GO": "Centro-Oeste", "MA": "Nordeste",
    "MT": "Centro-Oeste", "MS": "Centro-Oeste", "MG": "Sudeste",
    "PA": "Norte", "PB": "Nordeste", "PR": "Sul", "PE": "Nordeste",
    "PI": "Nordeste", "RJ": "Sudeste", "RN": "Nordeste", "RS": "Sul",
    "RO": "Norte", "RR": "Norte", "SC": "Sul", "SP": "Sudeste",
    "SE": "Nordeste", "TO": "Norte"
}

REGRAS_REGIONAIS = {
    "Sudeste": (2, 5),
    "Sul": (3, 6),
    "Centro-Oeste": (4, 7),
    "Nordeste": (6, 12),
    "Norte": (8, 16),
}

REGRAS_ESTADUAIS = {"SP": (2, 4)}


def consultar_prazo(uf: str, frete: str = "Padrao") -> dict:
    uf = uf.strip().upper()
    frete_normalizado = frete.strip().lower()
    if uf not in REGIOES_POR_UF:
        return {"erro": "UF invalida ou ausente. Informe uma sigla brasileira valida."}
    if frete_normalizado not in {"padrao", "padrão"}:
        return {
            "estado": uf,
            "regiao": REGIOES_POR_UF[uf],
            "tipo_frete": frete,
            "erro": "Nao ha regra validada para este tipo de frete. Consulte o pos-vendas."
        }
    regiao = REGIOES_POR_UF[uf]
    minimo, maximo = REGRAS_ESTADUAIS.get(uf, REGRAS_REGIONAIS[regiao])
    return {
        "estado": uf,
        "regiao": regiao,
        "tipo_frete": "Padrao",
        "prazo_minimo_dias_uteis": minimo,
        "prazo_maximo_dias_uteis": maximo,
        "observacoes": "Estimativa apos a confirmacao do envio; a previsao individual depende do rastreio."
    }


def main() -> None:
    parser = argparse.ArgumentParser(description="Consulta local de prazos da Hermex Log")
    parser.add_argument("--estado", required=True, help="Sigla da UF, por exemplo SP, BA ou AM")
    parser.add_argument("--frete", default="Padrao", help="Tipo de frete")
    args = parser.parse_args()
    print(json.dumps(consultar_prazo(args.estado, args.frete), ensure_ascii=False, indent=2))


if __name__ == "__main__":
    main()

Parte II – Etapas após revisão normofuncionantes

Baixar Etapa 1 Hermex Prazo Certo atualizada.zip

Essa iniciativa demonstra exatamente o que desejamos comprovar no envio: planejamento, 
tentativa prática, identificação do problema, correção e nova validação — não apenas um 
documento teórico

01_planejamento_assistente

CHECKPOINT ESPECIALISTA EM IA - NIVEL 1
ETAPA 1 - PLANEJAMENTO DO ASSISTENTE HERMEX PRAZO CERTO

Autor: Ricardo Costa Val do Rosario, MD, PhD
Projeto: Transformacao digital do pos-vendas da Hermex Log

1. Problema a ser resolvido

A equipe comercial comunica prazos de entrega de maneira inconsistente. 
O assistente deve padronizar a resposta a partir do estado de destino, da 
regiao correspondente e do tipo de frete documentado, sem inventar datas
nem prometer uma previsao individual sem rastreio.

2. Entradas obrigatorias

- Estado de destino, preferencialmente pela sigla da UF.
- Tipo de frete. Nesta demonstracao, somente o frete Padrao possui regra validada.
- Quando o usuario informar apenas a cidade, o assistente deve solicitar a UF.

3. Regra para os prazos

- Regra estadual especifica tem prioridade sobre a regra regional.
- SP possui regra especifica de 2 a 4 dias uteis, conforme a primeira etapa do enunciado.
- Para os demais estados, aplica-se a faixa regional documentada na quarta etapa.
- Sudeste: 2 a 5 dias uteis.
- Sul: 3 a 6 dias uteis.
- Centro-Oeste: 4 a 7 dias uteis.
- Nordeste: 6 a 12 dias uteis.
- Norte: 8 a 16 dias uteis.
- Frete expresso nao possui regra confirmada e deve ser encaminhado para validacao 
humana.

4. Formato obrigatorio da resposta

A resposta deve ser apresentada em tabela com as colunas:

Estado | Regiao | Tipo de frete | Prazo minimo | Prazo maximo | Observacoes

5. Regras de seguranca e qualidade

- Responder somente com base nas regras documentadas.
- Declarar que os prazos sao estimativas em dias uteis, contadas apos a confirmacao do envio.
- Nao prometer data exata sem consultar o rastreio individual.
- Nao solicitar senha, dados completos de cartao ou dado pessoal desnecessario.
- Se faltar informacao ou a regra nao estiver documentada, declarar a limitacao e 
encaminhar ao pos-vendas.

6. Criterios de aceite

- Reconhecer corretamente SP, BA e AM.
- Aplicar a excecao especifica de SP e as faixas regionais de BA e AM.
- Entregar todas as seis colunas solicitadas.
- Recusar previsoes de frete expresso sem regra validada.
- Nao revelar raciocinio interno; apresentar apenas a verificacao objetiva e a resposta final.

7. Situacao da implementacao

O planejamento, a configuracao e o prototipo foram produzidos e testados localmente, sem 
API paga. A publicacao como GPT personalizado nao foi realizada porque depende de conta
externa e de funcionalidade habilitada. Nenhuma assinatura, cobranca ou credito foi contratado.

02_matriz_csd

MATRIZ CSD DO ASSISTENTE HERMEX PRAZO CERTO

C - CERTEZAS

1. A equipe comercial precisa padronizar a comunicacao de prazos.
2. O estado de destino e o tipo de frete sao entradas necessarias.
3. SP possui prazo especifico de 2 a 4 dias uteis para frete Padrao.
4. As faixas regionais documentadas sao: Sudeste 2-5, Sul 3-6, Centro-Oeste 4-7, Nordeste 6-12 e 
Norte 8-16 dias uteis.
5. O prazo e uma estimativa e nao substitui o rastreio individual.
6. A resposta esperada e uma tabela com estado, regiao, tipo de frete, prazo minimo, prazo maximo 
e observacoes.

Tratamento nas instrucoes: as certezas podem ser usadas diretamente na resposta, respeitando a 
prioridade da regra estadual especifica sobre a regra regional.

S - SUPOSICOES

1. As faixas regionais sao aplicaveis aos estados sem regra estadual especifica.
2. A contagem comeca apos a confirmacao do envio.
3. A equipe de pos-vendas tratara prazos vencidos e excecoes.
4. O frete Padrao e a unica modalidade com regra suficiente para a demonstracao.

Tratamento nas instrucoes: as suposicoes devem ser apresentadas como condicoes operacionais
da demonstracao e validadas pela Hermex Log antes de uso real.

D - DUVIDAS

1. A empresa oferece frete expresso em todas as regioes?
2. Existem excecoes por municipio, area remota, feriado ou transportadora?
3. Qual sistema fornece o rastreio individual?
4. Quem autoriza alteracoes na tabela de prazos?
5. Com que frequencia as regras devem ser revisadas?

Tratamento nas instrucoes: o assistente nao deve preencher lacunas por inferencia. 
Deve declarar que nao possui regra validada e encaminhar a pergunta ao pos-vendas 
ou ao responsavel pela politica logistica.

03_briefing_hermex_prazo_certo

BRIEFING DO ASSISTENTE HERMEX PRAZO CERTO

Nome: Hermex Prazo Certo
Descricao: Assistente logistico interno, profissional e objetivo, destinado a padronizar a
comunicacao de prazos de entrega por estado e regiao.

INSTRUCOES PRINCIPAIS

Voce é o Hermex Prazo Certo. Responda somente com base nas regras presentes neste 
briefing.

Processo interno obrigatorio:

1. Ler o estado ou a UF informada e conferir se a entrada e valida.
2. Identificar a regiao brasileira correspondente.
3. Verificar primeiro se existe regra estadual especifica; se nao houver, consultar a tabela
regional.
4. Verificar o tipo de frete. Somente o frete Padrao possui regra validada nesta demonstracao.
5. Gerar a resposta no formato de tabela especificado.
6. Acrescentar uma observacao curta sobre estimativa, rastreio ou necessidade de validacao
humana.

Nao exponha raciocinio interno ou cadeia de pensamento. Apresente apenas os dados verificados 
e a resposta final.

REGRAS DE PRAZO

- SP, frete Padrao: 2 a 4 dias uteis.
- Sudeste, demais estados, frete Padrao: 2 a 5 dias uteis.
- Sul, frete Padrao: 3 a 6 dias uteis.
- Centro-Oeste, frete Padrao: 4 a 7 dias uteis.
- Nordeste, frete Padrao: 6 a 12 dias uteis.
- Norte, frete Padrao: 8 a 16 dias uteis.

FORMATO DE SAIDA

| Estado | Regiao | Tipo de frete | Prazo minimo | Prazo maximo | Observacoes |
|---|---|---|---:|---:|---|
| UF | Regiao | Padrao | N dias uteis | N dias uteis | Observacao objetiva |

CUIDADOS

- Nao inventar prazos ausentes.
- Nao prometer uma data exata.
- Informar que a contagem se inicia apos a confirmacao do envio.
- Para frete expresso, responder que a modalidade depende de validacao humana.
- Para UF ausente ou invalida, solicitar correcao antes de informar prazo.
- Para prazo vencido, encaminhar ao pos-vendas.

QUEBRA-GELOS SUGERIDOS

- Qual é o prazo para uma entrega em Sao Paulo?
- Qual é o prazo para Salvador, BA?
- Qual é o prazo para Manaus, AM?
- A Hermex oferece frete expresso para o Norte?

04_testes_assistente_SP_BA_AM

REGISTRO DOS TESTES LOCAIS DO ASSISTENTE

Cenario 1 - Sudeste

Entrada: Estado SP; frete Padrao.

Saida:
| Estado | Regiao | Tipo de frete | Prazo minimo | Prazo maximo | Observacoes |
| SP | Sudeste | Padrao | 2 dias uteis | 4 dias uteis | Estimativa apos a confirmacao do envio; 
a previsao individual depende do rastreio. |

Resultado: APROVADO. A regra estadual especifica foi aplicada e a saida contem as colunas exigidas.

Cenario 2 - Nordeste

Entrada: Estado BA; frete Padrao.

Saida:
| Estado | Regiao | Tipo de frete | Prazo minimo | Prazo maximo | Observacoes |
| BA | Nordeste | Padrao | 6 dias uteis | 12 dias uteis | Estimativa regional apos a confirmacao 
do envio; verificar o rastreio para a previsao individual. |

Resultado: APROVADO. A UF foi associada corretamente ao Nordeste e a faixa regional documentada
foi aplicada.

Cenario 3 - Norte

Entrada: Estado AM; frete Padrao.

Saida:
| Estado | Regiao | Tipo de frete | Prazo minimo | Prazo maximo | Observacoes |
| AM | Norte | Padrao | 8 dias uteis | 16 dias uteis | Estimativa regional apos a confirmacao do envio; 
excecoes logisticas devem ser encaminhadas ao pos-vendas. |

Resultado: APROVADO. A UF foi associada corretamente ao Norte e a faixa regional documentada foi
aplicada.

Cenario adicional de controle

Entrada: Estado AM; frete Expresso.

Saida esperada: Nao ha regra validada para frete Expresso. Confirme a disponibilidade e o prazo com
o pos-vendas.

Resultado: APROVADO. O assistente recusou-se a inventar um prazo.

CONCLUSAO

Os tres cenarios obrigatorios - SP, BA e AM - foram testados localmente. O prototipo seguiu 
a sequencia de verificacao, aplicou a prioridade da regra estadual de SP, consultou as faixas 
regionais para BA e AM, adotou o formato de tabela e manteve os limites de seguranca definidos.

assistente_prazo_local.py

#!/usr/bin/env python3
"""Prototipo local e deterministico do assistente Hermex Prazo Certo."""

import argparse
import json


REGIOES_POR_UF = {
    "AC": "Norte", "AL": "Nordeste", "AP": "Norte", "AM": "Norte",
    "BA": "Nordeste", "CE": "Nordeste", "DF": "Centro-Oeste",
    "ES": "Sudeste", "GO": "Centro-Oeste", "MA": "Nordeste",
    "MT": "Centro-Oeste", "MS": "Centro-Oeste", "MG": "Sudeste",
    "PA": "Norte", "PB": "Nordeste", "PR": "Sul", "PE": "Nordeste",
    "PI": "Nordeste", "RJ": "Sudeste", "RN": "Nordeste", "RS": "Sul",
    "RO": "Norte", "RR": "Norte", "SC": "Sul", "SP": "Sudeste",
    "SE": "Nordeste", "TO": "Norte"
}

REGRAS_REGIONAIS = {
    "Sudeste": (2, 5),
    "Sul": (3, 6),
    "Centro-Oeste": (4, 7),
    "Nordeste": (6, 12),
    "Norte": (8, 16),
}

REGRAS_ESTADUAIS = {"SP": (2, 4)}


def consultar_prazo(uf: str, frete: str = "Padrao") -> dict:
    uf = uf.strip().upper()
    frete_normalizado = frete.strip().lower()
    if uf not in REGIOES_POR_UF:
        return {"erro": "UF invalida ou ausente. Informe uma sigla brasileira valida."}
    if frete_normalizado not in {"padrao", "padrão"}:
        return {
            "estado": uf,
            "regiao": REGIOES_POR_UF[uf],
            "tipo_frete": frete,
            "erro": "Nao ha regra validada para este tipo de frete. Consulte o pos-vendas."
        }
    regiao = REGIOES_POR_UF[uf]
    minimo, maximo = REGRAS_ESTADUAIS.get(uf, REGRAS_REGIONAIS[regiao])
    return {
        "estado": uf,
        "regiao": regiao,
        "tipo_frete": "Padrao",
        "prazo_minimo_dias_uteis": minimo,
        "prazo_maximo_dias_uteis": maximo,
        "observacoes": "Estimativa apos a confirmacao do envio; a previsao individual depende 
        do rastreio."
    }


def main() -> None:
    parser = argparse.ArgumentParser(description="Consulta local de prazos da Hermex Log")
    parser.add_argument("--estado", help="Sigla da UF, por exemplo SP, BA ou AM")
    parser.add_argument("--frete", default="Padrao", help="Tipo de frete")
    args = parser.parse_args()
    if args.estado:
        print(json.dumps(consultar_prazo(args.estado, args.frete), ensure_ascii=False, indent=2))
        return

    print("Nenhum estado foi informado. Executando a demonstracao automatica.\n")
    cenarios = [
        ("SP", "Padrao"),
        ("BA", "Padrao"),
        ("AM", "Padrao"),
        ("AM", "Expresso"),
    ]
    for estado, frete in cenarios:
        print(f"TESTE: estado={estado}; frete={frete}")
        print(json.dumps(consultar_prazo(estado, frete), ensure_ascii=False, indent=2))
        print("-" * 60)


if __name__ == "__main__":
    main()

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Codigo aberto e salvo - assistente_prazo_local.py

#!/usr/bin/env python3
"""Prototipo local e deterministico do assistente Hermex Prazo Certo."""

import argparse
import json


REGIOES_POR_UF = {
    "AC": "Norte", "AL": "Nordeste", "AP": "Norte", "AM": "Norte",
    "BA": "Nordeste", "CE": "Nordeste", "DF": "Centro-Oeste",
    "ES": "Sudeste", "GO": "Centro-Oeste", "MA": "Nordeste",
    "MT": "Centro-Oeste", "MS": "Centro-Oeste", "MG": "Sudeste",
    "PA": "Norte", "PB": "Nordeste", "PR": "Sul", "PE": "Nordeste",
    "PI": "Nordeste", "RJ": "Sudeste", "RN": "Nordeste", "RS": "Sul",
    "RO": "Norte", "RR": "Norte", "SC": "Sul", "SP": "Sudeste",
    "SE": "Nordeste", "TO": "Norte"
}

REGRAS_REGIONAIS = {
    "Sudeste": (2, 5),
    "Sul": (3, 6),
    "Centro-Oeste": (4, 7),
    "Nordeste": (6, 12),
    "Norte": (8, 16),
}

REGRAS_ESTADUAIS = {"SP": (2, 4)}


def consultar_prazo(uf: str, frete: str = "Padrao") -> dict:
    uf = uf.strip().upper()
    frete_normalizado = frete.strip().lower()
    if uf not in REGIOES_POR_UF:
        return {"erro": "UF invalida ou ausente. Informe uma sigla brasileira valida."}
    if frete_normalizado not in {"padrao", "padrão"}:
        return {
            "estado": uf,
            "regiao": REGIOES_POR_UF[uf],
            "tipo_frete": frete,
            "erro": "Nao ha regra validada para este tipo de frete. Consulte o pos-vendas."
        }
    regiao = REGIOES_POR_UF[uf]
    minimo, maximo = REGRAS_ESTADUAIS.get(uf, REGRAS_REGIONAIS[regiao])
    return {
        "estado": uf,
        "regiao": regiao,
        "tipo_frete": "Padrao",
        "prazo_minimo_dias_uteis": minimo,
        "prazo_maximo_dias_uteis": maximo,
        "observacoes": "Estimativa apos a confirmacao do envio; a previsao individual depende do rastreio."
    }


def main() -> None:
    parser = argparse.ArgumentParser(description="Consulta local de prazos da Hermex Log")
    parser.add_argument("--estado", help="Sigla da UF, por exemplo SP, BA ou AM")
    parser.add_argument("--frete", default="Padrao", help="Tipo de frete")
    args = parser.parse_args()
    if args.estado:
        print(json.dumps(consultar_prazo(args.estado, args.frete), ensure_ascii=False, indent=2))
        return

    print("Nenhum estado foi informado. Executando a demonstracao automatica.\n")
    cenarios = [
        ("SP", "Padrao"),
        ("BA", "Padrao"),
        ("AM", "Padrao"),
        ("AM", "Expresso"),
    ]
    for estado, frete in cenarios:
        print(f"TESTE: estado={estado}; frete={frete}")
        print(json.dumps(consultar_prazo(estado, frete), ensure_ascii=False, indent=2))
        print("-" * 60)


if __name__ == "__main__":
    main()

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

configuracao_assistente.json


{
  "nome": "Hermex Prazo Certo",
  "descricao": "Assistente logistico interno para padronizacao de prazos de entrega",
  "personalidade": [
    "profissional",
    "objetivo",
    "transparente"
  ],
  "entrada_obrigatoria": [
    "estado_uf",
    "tipo_frete"
  ],
  "precedencia": "regra_estadual_especifica_antes_da_regra_regional",
  "regras_estaduais": {
    "SP": {
      "regiao": "Sudeste",
      "tipo_frete": "Padrao",
      "minimo": 2,
      "maximo": 4
    }
  },
  "regras_regionais": {
    "Sudeste": {
      "minimo": 2,
      "maximo": 5
    },
    "Sul": {
      "minimo": 3,
      "maximo": 6
    },
    "Centro-Oeste": {
      "minimo": 4,
      "maximo": 7
    },
    "Nordeste": {
      "minimo": 6,
      "maximo": 12
    },
    "Norte": {
      "minimo": 8,
      "maximo": 16
    }
  },
  "formato_saida": [
    "Estado",
    "Regiao",
    "Tipo de frete",
    "Prazo minimo",
    "Prazo maximo",
    "Observacoes"
  ],
  "guardrails": [
    "Responder somente com base nas regras documentadas",
    "Nao prometer data exata sem rastreio",
    "Nao inventar regra de frete expresso",
    "Solicitar UF quando a entrada estiver incompleta",
    "Encaminhar excecoes ao pos-vendas",
    "Nao solicitar credenciais ou dados pessoais desnecessarios"
  ],
  "implantacao_externa": {
    "realizada": false,
    "motivo": "Depende de conta externa e funcionalidade habilitada; nenhuma assinatura, 
    cobranca ou credito foi contratado"
  }
}

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

README_ETAPA_1.md

Markdown

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Etapa 1 - Assistente Hermex Prazo Certo

Esta pasta documenta a primeira etapa da prova pratica do Checkpoint Especialista em IA - Nivel 1.

## Conteudo

- `01_planejamento_assistente.txt`: problema, entradas, regras, formato e criterios de aceite.
- `02_matriz_csd.txt`: certezas, suposicoes, duvidas e tratamento de cada categoria.
- `03_briefing_hermex_prazo_certo.txt`: instrucoes completas para configuracao do assistente.
- `04_testes_assistente_SP_BA_AM.txt`: testes obrigatorios com SP, BA e AM e um teste adicional de seguranca.
- `configuracao_assistente.json`: configuracao estruturada e importavel.
- `assistente_prazo_local.py`: prototipo local sem API ou servico pago.
- `resultado_testes_assistente.json`: evidencia estruturada da execucao local.

## Reproducao dos testes

Ao clicar em `Start` sem fornecer argumentos, o programa executa automaticamente os quatro cenarios de 
demonstracao. Esse modo foi incluido para facilitar a aprendizagem em aplicativos graficos de Python.

Na linha de comando, tambem e possivel consultar um estado por vez:

```bash
python assistente_prazo_local.py --estado SP
python assistente_prazo_local.py --estado BA
python assistente_prazo_local.py --estado AM
python assistente_prazo_local.py --estado AM --frete Expresso
```

## Limite da demonstracao

A publicacao como GPT personalizado nao foi realizada porque depende de conta externa e funcionalidade
habilitada. O nucleo deterministico foi executado localmente, sem credenciais, API paga ou aquisicao de creditos.


configuracao_assistente.json
  "nome": "Hermex Prazo Certo",
  "descricao": "Assistente logistico interno para padronizacao de prazos de entrega",
  "personalidade": [
    "profissional",
    "objetivo",
    "transparente"
  ],
  "entrada_obrigatoria": [
    "estado_uf",
    "tipo_frete"
  ],
  "precedencia": "regra_estadual_especifica_antes_da_regra_regional",
  "regras_estaduais": {
    "SP": {
      "regiao": "Sudeste",
      "tipo_frete": "Padrao",
      "minimo": 2,
      "maximo": 4
    }
  },
  "regras_regionais": {
    "Sudeste": {
      "minimo": 2,
      "maximo": 5
    },
    "Sul": {
      "minimo": 3,
      "maximo": 6
    },
    "Centro-Oeste": {
      "minimo": 4,
      "maximo": 7
    },
    "Nordeste": {
      "minimo": 6,
      "maximo": 12
    },
    "Norte": {
      "minimo": 8,
      "maximo": 16
    }
  },
  "formato_saida": [
    "Estado",
    "Regiao",
    "Tipo de frete",
    "Prazo minimo",
    "Prazo maximo",
    "Observacoes"
  ],
  "guardrails": [
    "Responder somente com base nas regras documentadas",
    "Nao prometer data exata sem rastreio",
    "Nao inventar regra de frete expresso",
    "Solicitar UF quando a entrada estiver incompleta",
    "Encaminhar excecoes ao pos-vendas",
    "Nao solicitar credenciais ou dados pessoais desnecessarios"
  ],
  "implantacao_externa": {
    "realizada": false,
    "motivo": "Depende de conta externa e funcionalidade habilitada; nenhuma assinatura, cobranca
    ou credito foi contratado"
  }
}

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

resultado_testes_assistente.json

{
  "data_execucao": "2026-09-13",
  "ambiente": "prototipo_local_sem_API",
  "total_testes": 4,
  "aprovados": 4,
  "testes": [
    {
      "entrada": {
        "estado": "SP",
        "frete": "Padrao"
      },
      "saida": {
        "regiao": "Sudeste",
        "prazo_minimo": 2,
        "prazo_maximo": 4
      },
      "resultado": "Aprovado"
    },
    {
      "entrada": {
        "estado": "BA",
        "frete": "Padrao"
      },
      "saida": {
        "regiao": "Nordeste",
        "prazo_minimo": 6,
        "prazo_maximo": 12
      },
      "resultado": "Aprovado"
    },
    {
      "entrada": {
        "estado": "AM",
        "frete": "Padrao"
      },
      "saida": {
        "regiao": "Norte",
        "prazo_minimo": 8,
        "prazo_maximo": 16
      },
      "resultado": "Aprovado"
    },
    {
      "entrada": {
        "estado": "AM",
        "frete": "Expresso"
      },
      "saida": {
        "erro_controlado": "Nao ha regra validada; consultar o pos-vendas"
      },
      "resultado": "Aprovado"
    }
  ],
  "implantacao_gpt_personalizado": {
    "realizada": false,
    "justificativa": "Etapa dependente de conta externa e funcionalidade habilitada; nenhuma assinatura, cobranca ou credito foi contratado"
  }
}

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

ANEXO

Etapa 1 prática e evidências de aprendizagem

Checkpoint Especialista em IA Nível 1  |  Projeto Hermex Log
Ricardo Costa Val do Rosário, MD, PhD

# Finalidade

Este registro documenta a abertura e a primeira execução do protótipo local do 
assistente Hermex Prazo Certo. A atividade foi realizada com finalidade de
aprendizagem e de produção de evidência prática para a entrega do Checkpoint.

Figura 1. Código-fonte aberto no aplicativo de execução Python.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

O que ocorreu na primeira execução

O programa foi inicialmente executado pelo botão Start sem o argumento obrigatório
--estado. 
O interpretador carregou o arquivo, reconheceu sua estrutura e exibiu a mensagem
“the following arguments are required: --estado”. Essa mensagem não representa erro 
de sintaxe: ela informa que faltou uma entrada exigida pela primeira versão do programa.

Figura 2. Mensagem produzida pela ausência do argumento --estado.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Ajuste realizado para facilitar a aprendizagem

O programa foi ajustado para possuir dois modos de uso. Quando executado com o 
argumento --estado, consulta uma UF específica. Quando o usuário apenas clica em 
Start, executa automaticamente quatro cenários demonstrativos e deixa de apresentar
a mensagem de argumento ausente.
A tentativa inicial, a identificação da causa e o ajuste subsequente compõem uma evidência 
válida de aprendizagem prática. O núcleo foi executado sem API, credenciais externas ou
créditos.

| Estado| Região| Frete| Prazo| Resultado| 

| SP| Sudeste| Padrão| 2 a 4 dias úteis| Aprovado| 

| BA| Nordeste| Padrão| 6 a 12 dias úteis| Aprovado| 

| AM| Norte| Padrão| 8 a 16 dias úteis| Aprovado| 

| AM| Norte| Expresso| Sem regra validada| Validação humana| 

Confirmação da execução corrigida

Após o ajuste, o mesmo arquivo foi aberto novamente e executado pelo botão Start. O 
programa iniciou o modo de demonstração automática e apresentou os quatro cenários 
previstos: SP, BA, AM e AM com frete Expresso.

Figura 3. Execução bem-sucedida do protótipo após a correção.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Resultado final

Os quatro testes foram concluídos: a exceção estadual de SP e as faixas regionais de BA e AM 
foram 
aplicadas corretamente; para o frete Expresso, o protótipo não inventou um prazo e orientou a 
consulta ao pós-vendas.
A sequência documentada demonstra o ciclo completo de aprendizagem: primeira tentativa, 
interpretação da mensagem, correção do modo de entrada, nova execução e validação dos
resultados.

Bom dia, Ricardo! Tudo bem por aí?

Gostei demais do seu projeto, super necessário!

Mandou muito bem explorando o planejamento estruturado do assistente, apresentou com clareza a Matriz CSD para organizar certezas, suposições e dúvidas, e ainda destacou a importância das regras de segurança e qualidade para garantir confiabilidade no pós-vendas. Esse trabalho mostra visão prática, organização metodológica e preocupação em alinhar tecnologia com governança.

Para aprimorar sua solução, algumas boas práticas são:

  • Expansão de regras: incluir modalidades adicionais de frete e exceções regionais.
  • Integração real: conectar o protótipo com sistemas de rastreio logístico para validar em ambiente produtivo.
  • Auditoria contínua: revisar periodicamente as regras documentadas para manter consistência e atualização.

Continue postando as suas soluções! Além de ganhar pontos de XP na plataforma, você pode ajudar outros estudantes no fórum.

Ah, uma pergunta: o que você considera mais relevante como próximo passo, expandir o assistente para suportar novos tipos de frete ou integrar diretamente com sistemas de rastreio logístico?

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!
solução!

Bom dia, Danie,

Agradeço muito pela análise e pelas sugestões. Elas fazem parte importante do meu progresso. Fico satisfeito em saber que
o planejamento, a Matriz CSD e as regras de segurança ficaram claros e são partes interligadas do mesmo núcleo lógico do
assistente, cada uma reforçando a outra dentro da estrutura de governança construída..

Sobre sua pergunta, entendo ser prioridade expandir o assistente para novas modalidades de frete, mantendo o mesmo rigor
metodológico aplicado ao frete Padrão. Assim, Depois disso, a integração com sistemas de rastreio logístico se torna o caminho
natural para validar o modelo em ambiente produtivo com dados reais.

Vou seguir para o Nível II da Carreira de Especialista de IA, praticamente concluída, pois já havia concluído diversos CURSOS que o
compõem. Imagino que iremos continuar evoluindo o projeto e se assim for, compartilharei as etapas aqui no Fórum.

Abraço