Radar IA 19 de outubro de 2026
✨ IA MÁGICA Agentes · Modelos · Automação
ÚLTIMAS
Modelos de Linguagem

Como testar a interpretacao de prazos em dias uteis e corridos

Guia pratico para avaliar LLMs em prazos: dias uteis contra dias corridos, feriados brasileiros, redacao do prompt e validacao por codigo.

Como testar a interpretacao de prazos em dias uteis e corridos
Imagem: capa editorial — Modelos de Linguagem

Prazos em dias úteis e dias corridos são uma das áreas onde modelos de linguagem mais escorregam, porque a resposta exige três coisas que o texto gerado costuma tratar de forma solta: saber quais dias são úteis, saber quais são feriados e saber que o dia do começo normalmente não entra na contagem. Um “em até 5 dias úteis a partir de sexta-feira” com um feriado no meio pode virar qualquer data se o modelo não explicitar como contou. Avaliar essa interpretação é montar casos de teste com calendário brasileiro, obrigar o modelo a mostrar a contagem dia a dia e validar o resultado com código, em vez de aceitar o número solto.

Este guia cobre a diferença entre dias úteis e corridos, feriados nacionais e municipais no Brasil, o que dizem o Código de Defesa do Consumidor e prazos contratuais, e como validar tudo em Python com datetime. A regra central é a mesma da avaliação de fuso horário: para contagem de prazo, texto gerado não é prova. O cálculo determinístico é.

Resumo rápido

  • Dia útil exclui sábados, domingos e feriados; dia corrido inclui todos os dias do calendário.
  • No Brasil, feriados nacionais estão na Lei 662/1949 com a redação da Lei 10.607/2002; feriados municipais variam por cidade.
  • A contagem de prazo em dias úteis normalmente exclui o dia do começo e conta a partir do primeiro dia útil seguinte.
  • O CDC usa prazos em dias úteis em pontos específicos, como a correção de dados em cadastro (cinco dias úteis).
  • O teste exige que o modelo exponha a contagem, não só a data final.
  • Valide com Python: defina os feriados e conte os dias úteis em código para gerar o gabarito.

Dias úteis e dias corridos: a diferença que muda tudo

Dia corrido é todo dia do calendário, incluindo fins de semana e feriados. Se um prazo de 10 dias corridos começa em 1º de março, ele termina em 10 de março, independentemente de cair em fim de semana.

Dia útil é o dia em que há expediente: exclui sábados, domingos e feriados. Um prazo de 5 dias úteis que começa em uma sexta-feira não termina na terça seguinte se houver um feriado na segunda. Cada feriado empurra a data final em um dia.

O erro clássico do modelo é tratar “5 dias” como se fosse sempre 5 dias corridos, ou contar sábados por engano. Como a resposta vem em texto fluente, o usuário aceita sem perceber.

Feriados no Brasil: nacionais e municipais

Os feriados nacionais brasileiros estão definidos na Lei 662, de 6 de abril de 1949, cujo texto foi atualizado pela Lei 10.607, de 19 de dezembro de 2002. Segundo essa redação, são feriados nacionais:

Data Feriado nacional
1º de janeiro Confraternização Universal
21 de abril Tiradentes
1º de maio Dia do Trabalho
7 de setembro Independência do Brasil
2 de novembro Finados
15 de novembro Proclamação da República
25 de dezembro Natal

Atenção: o Carnaval, a Sexta-feira Santa e o Corpus Christi não são feriados nacionais por essa lei. São pontos facultativos federais ou feriados locais, conforme a cidade. Por isso, um modelo que trata Carnaval como feriado nacional comete um erro de premissa que afeta toda a contagem. Confira a lista oficial vigente na fonte antes de usar em produção.

Feriados municipais variam (aniversário da cidade, padroeiro, datas locais). Como não há uma única lista nacional, o gabarito do seu teste precisa incluir os feriados do município relevante para o caso.

Prazos no contrato e no Código de Defesa do Consumidor

O Código de Defesa do Consumidor (Lei 8.078/1990) mistura prazos em dias e em dias úteis conforme o artigo. Um exemplo verificável: no artigo 43, § 3º, sobre correção de dados e cadastros do consumidor, o prazo para o responsável pelo arquivo comunicar a alteração aos destinatários é de cinco dias úteis. Já no artigo 18, § 1º, o prazo para sanar vício de produto é de até trinta dias, sem a qualificação “úteis” no texto, o que muda a contagem.

Essa diferença entre o prazo estar escrito como “dias” ou “dias úteis” é exatamente o tipo de detalhe que o modelo erra quando não é obrigado a consultar o texto. Em avaliação, use as redações reais da lei como fonte, não paráfrases.

Como montar os casos de teste de prazo

Um conjunto de teste bom tem gabarito conhecido. A tabela abaixo cobre os erros mais frequentes.

Caso Entrada (prompt) Resposta esperada (verificada em código) Erro que revela
Sexta com feriado 5 dias úteis a partir de uma sexta, com feriado na segunda Conta a partir da segunda seguinte; feriado empurra em 1 dia Tratar fins de semana como úteis
Excluir dia do começo 3 dias úteis a partir de terça Começa a contar na quarta Incluir o dia do início
Útil vs corrido “10 dias” vs “10 dias úteis” na mesma data Datas finais diferentes Tratar tudo como corrido
Feriado móvel Prazo cobrindo Carnaval Depende de ser feriado local ou facultativo Premissa errada sobre feriado nacional
Só fim de semana 2 dias úteis a partir de sábado Conta a partir da segunda Contar sábado/domingo

Passo a passo do conjunto de testes

  1. Defina de 8 a 12 casos com data inicial fixa e prazo fixo.
  2. Escolha casos que atravessem fim de semana, feriado nacional e um feriado municipal hipotético do caso.
  3. Calcule a data final com código antes de rodar o modelo. Esse é o gabarito.
  4. Rode o mesmo prompt nos modelos avaliados.
  5. Extraia a data final e o número de dias contados da resposta.
  6. Compare com o gabarito e classifique o tipo de erro.

Como redigir o prompt para o modelo explicitar a contagem

A instrução precisa forçar o modelo a raciocinar a contagem em voz alta e a declarar as premissas. Exemplo de prompt de avaliação:

Calcule o prazo abaixo. Siga estas regras, sem excecao:
1. Declare o tipo de prazo: dias uteis ou dias corridos.
2. Liste, um a um, os dias contados, marcando sabado, domingo e feriados.
3. Diga explicitamente: "o dia do inicio nao entra na contagem".
4. Informe a data final no formato AAAA-MM-DD.
5. Se houver feriado, diga se ele e nacional (Lei 662/1949) ou local.

Data de inicio: sexta-feira, 2026-04-03.
Prazo: 5 dias uteis.
Feriado a considerar: 2026-04-06 (feriado municipal).
Obs.: Carnaval NAO e feriado nacional. Considere apenas feriados
nacionais e o feriado local informado.

Forçar a lista dia a dia é o que expõe o erro de contagem. Quando o modelo só devolve a data final, não há como saber se ele pulou um feriado ou contou o dia do início. Exigir o raciocínio deixa o erro visível, o que é o objetivo da avaliação. Isso conecta com o tema de modelos de raciocínio e com a diferença entre modelos de raciocínio e modelos padrão.

Validar o resultado com código

O gabarito se calcula em Python, contando dias úteis com uma lista explícita de feriados. Exemplo simples e determinístico:

from datetime import date, timedelta

def dias_uteis(inicio: date, n: int, feriados: set) -> date:
    """Conta n dias uteis a partir do 1o dia util APOS 'inicio'."""
    d = inicio
    contados = 0
    while contados < n:
        d += timedelta(days=1)          # o dia do inicio nao entra
        if d.weekday() >= 5:            # 5=sabado, 6=domingo
            continue
        if d in feriados:
            continue
        contados += 1
    return d

feriados = {date(2026, 4, 6)}           # feriado municipal do caso
inicio = date(2026, 4, 3)               # sexta-feira
print(dias_uteis(inicio, 5, feriados))  # data final esperada

Esse código é a fonte de verdade. A lista de feriados deve conter apenas o que for realmente feriado para o caso (nacionais confirmados na lei e o municipal indicado). Se o modelo devolver data diferente, ele errou. Para datas em fusos diferentes, vale combinar com objetos cientes de fuso do módulo datetime.

Fluxo de validação automática

  1. Gere a data final esperada com a função acima.
  2. Extraia a data no formato AAAA-MM-DD da resposta do modelo.
  3. Compare as duas datas.
  4. Compare também o número de dias contados, para pegar erro de contagem que por acaso caiu na data certa.
  5. Agrupe os erros por tipo (fim de semana, feriado, dia do início) e gere a taxa por categoria.

Esse cuidado é o mesmo que você aplica a outras avaliações de confiabilidade, como em como testar agente de IA.

Exemplo: prazo de atendimento em uma loja de Belo Horizonte

Uma loja de médio porte em Belo Horizonte vende por e-commerce e usa um assistente de IA para responder aos clientes sobre prazos de troca e resolução de problemas. A equipe escreve no prompt interno: “resolva em até 5 dias úteis a partir da confirmação”. Em uma sexta-feira antes de um feriado municipal da cidade, o assistente responde com uma data final que, ao ser conferida, caiu um ou dois dias antes do correto, porque contou o sábado ou ignorou o feriado local.

Ao aplicar o protocolo deste guia, a loja passa a exigir que o assistente liste os dias contados, declare se o feriado é nacional ou municipal e informe a data final no formato ISO. O gabarito é calculado em Python com a lista de feriados do caso, incluindo o municipal de Belo Horizonte, e a resposta do assistente é comparada linha a linha. O benefício é ter um teste que mostra exatamente qual regra o modelo violou. Os números de acerto dependem do modelo e da versão, por isso o caminho correto é medir no seu próprio conjunto, e não presumir que o modelo domina calendário brasileiro.

Erros comuns

  • Aceitar a data final sem a contagem. Se o modelo não mostra como contou, você não consegue validar. Exija a lista dia a dia.
  • Tratar Carnaval e Sexta-feira Santa como feriados nacionais. Pela Lei 662/1949, não são; são pontos facultativos ou feriados locais.
  • Incluir o dia do começo na contagem. O padrão em prazos é excluí-lo; deixe isso explícito no prompt.
  • Confundir “dias” com “dias úteis”. O CDC e contratos usam as duas formas em artigos diferentes, com efeitos distintos.
  • Esquecer feriados municipais. Sem a lista do município, o gabarito fica incompleto.
  • Validar comparando texto em vez de datas. Converta para date e compare objetos, não strings.

Perguntas frequentes

Qual é a diferença entre dia útil e dia corrido?

Dia corrido é todo dia do calendário, incluindo fins de semana e feriados. Dia útil exclui sábados, domingos e feriados. Um prazo em dias úteis avança apenas em dias com expediente.

O dia do início conta no prazo?

Na prática mais comum, não. A contagem em dias úteis exclui o dia do começo e começa no primeiro dia útil seguinte. Como há variações por contrato, o prompt deve declarar a regra para o teste ficar determinístico.

Quais são os feriados nacionais no Brasil?

Segundo a Lei 662/1949 com a redação da Lei 10.607/2002: 1º de janeiro, 21 de abril, 1º de maio, 7 de setembro, 2 de novembro, 15 de novembro e 25 de dezembro. Carnaval e Corpus Christi não constam como feriados nacionais nessa lei.

O CDC usa dias úteis ou dias corridos?

Depende do artigo. No artigo 43, § 3º, o prazo é de cinco dias úteis. No artigo 18, § 1º, o prazo para sanar vício é de até trinta dias, sem a palavra “úteis”. Por isso o texto legal deve ser lido no original, no Planalto.

Como validar o prazo sem depender do modelo?

Calcule a data final com código Python, usando datetime e uma lista explícita de feriados. Essa função vira o gabarito contra o qual a resposta do modelo é comparada.

Posso confiar na lista de feriados que o modelo fornece?

Não. Liste os feriados você mesmo, a partir das leis para os nacionais e do calendário oficial do município para os locais. O modelo só é avaliado contra essa lista, nunca a fonte dela.

Fontes e leitura recomendada

Para completar a avaliação, veja como a coerência cai em contextos longos em janela de contexto em IA e como medir o custo de rodar muitos casos de teste em tokens e custo de API.

Sobre

A Redação IA Mágica é formada por especialistas e pesquisadores em inteligência artificial aplicada, agentes autônomos, automações no-code/pro-code e grandes modelos de linguagem (LLMs). Nossos conteúdos cobrem implementações reais, análises e tutoriais aprofundados para profissionais e empresas.