1. Propósito e Escopo
Este documento define todos os prompts, configurações de memória, transição entre estados, consulta a documentos e demais requisitos funcionais para o Agente de IA para Catalogação de Livros em Bibliotecas Escolares. 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 é automatizar o processo de catalogação de livros, extraindo e organizando informações essenciais como título, autor, resumo e classificação etária, reduzindo a necessidade de trabalho manual e minimizando erros.
2. Contexto e Problema
Cenário Atual
A catalogação de livros em bibliotecas escolares é um processo manual, demorado e propenso a erros. As bibliotecas enfrentam dificuldades em manter registros atualizados e precisos de todos os livros disponíveis, além de uma falta de padronização nas informações dos livros, como classificação etária e resumos.
Problemas Identificados
- Processo demorado: A catalogação manual consome tempo valioso que poderia ser dedicado a outras atividades.
- Propensão a erros: A natureza manual do processo aumenta a probabilidade de erros nos registros.
- Falta de padronização: As informações dos livros muitas vezes não seguem um padrão, dificultando a organização e a busca.
3. Impactos Esperados
A implementação deste agente de IA visa alcançar os seguintes resultados:
- Reduzir o tempo de catalogação em pelo menos 70%.
- Minimizar erros nos registros de livros através da automação do processo.
- Padronizar as informações dos livros, melhorando a organização e a busca.
- Atualizar o catálogo em tempo real, garantindo que todas as informações estejam sempre precisas e atualizadas.
4. Visão Geral da Solução
O agente de IA para catalogação de livros em bibliotecas escolares automatiza a extração e organização de informações de novos livros, garantindo que dados como título, autor, resumo e classificação etária sejam processados de forma precisa e padronizada. 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 catalogação de livros escolares.
A solução consiste em um fluxo de automação composto por 6 agentes de IA. O processo inicia com a preparação e padronização de entrada dos dados e termina com a execução de chamada à API para inserir ou atualizar o registro do livro no sistema de catálogo.
A execução dos agentes é sequencial e linear, seguindo a ordem definida na tabela abaixo.
| Agentes | Função Principal |
|---|---|
Agente de Preparação e Padronização de Entrada (RF 1)
| Receber dados brutos de novos livros e organizar em um envelope padronizado para processamento posterior. |
Agente de Extração de Metadados Bibliográficos (RF 2)
| Extrair de forma estruturada título, autores, resumo, identificadores e demais metadados essenciais. |
Agente de Classificação Temática e Etária (RF 3)
| Atribuir categoria temática e classificação etária coerentes para uso em bibliotecas escolares. |
Agente de Validação e Normalização de Metadados (RF 4)
| Aplicar regras de consistência e padronização antes do envio ao catálogo. |
Agente de Decisão de Inserção ou Atualização e Geração de Payload (RF 5)
| Decidir entre criar novo registro ou atualizar existente e preparar payload do catálogo. |
Agente de Execução de Chamada à API (RF 6)
| Realizar chamada à API do Sistema de Catálogo para inserir ou atualizar o registro do livro. |
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 Preparação e Padronização de Entrada
1.1 Tarefa do Agente
Receber dados brutos de novos livros e organizar em um envelope padronizado para processamento posterior.
1.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo dados brutos de novos livros, que podem incluir texto livre digitado, metadados de editoras, transcrição de contracapa ou sumário, e/ou imagem previamente transcrita. # 2. Objetivo Organizar esses dados em um envelope padronizado para processamento posterior, garantindo que as informações estejam estruturadas de forma consistente. # 3. Regras que você deve seguir para gerar sua resposta - Normalizar espaços, quebras de linha e caracteres (Unicode NFC) e remover sequências repetitivas (ex.: '---', '***'). - Unificar aspas, travessões e pontuação; preservar acentos e capitalização do conteúdo. - Consolidar tudo em um único campo texto_base priorizando: campos_fornecidos > texto_bruto; se ambos existirem, concatenar com rótulos. - Separar possíveis autores informados por vírgula, ponto e vírgula ou ' e ' e produzir lista única sem duplicatas, mantendo ordem original. - Extrair candidatos de ISBN por padrões de 10 ou 13 dígitos com hífens opcionais sem validar checksum nesta etapa. - Detectar idioma por pistas claras (palavras de função frequentes); se ambíguo, definir "idioma_detectado": "desconhecido". - Marcar sinalizadores_qualidade: texto_curto = true se texto_base < 240 caracteres; provavel_ruido = true se >30% dos caracteres forem símbolos não alfabéticos. - Definir preparacao_status: 'ok' se existir ao menos 1 dos itens: título em campos_iniciais, autores em campos_iniciais, resumo em campos_iniciais, ou texto_base >= 240 caracteres; caso contrário, 'insuficiente' e descrever motivo_insuficiencia.
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 dados brutos de novos livros 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: O input inicial para o fluxo é um conjunto de dados brutos de livros, que pode incluir texto livre, metadados e transcrições de contracapa.
-
Formatos Suportados: Esse agente deve ser capaz de receber dados nos formatos:
.txt,.json,.csv. - Número de caracteres esperado: Este agente deve ter capacidade para processar um input de texto com até 20.000 caracteres.
1.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON estruturado contendo o texto base e campos iniciais padronizados.
-
Exemplo de Estrutura de Output:
{"entrada_padronizada": {"texto_base": string, "campos_iniciais": {"titulo": string?, "autores": string[]?, "resumo": string?, "classificacao_etaria": string?}, "idioma_detectado": string, "possiveis_isbn": string[], "sinalizadores_qualidade": {"texto_curto": boolean, "provavel_ruido": boolean}}, "preparacao_status": "ok"|"insuficiente", "motivo_insuficiencia": string?} - Número de caracteres esperado: O texto final deve ser conciso e informativo, com um tamanho estimado em torno de 2.500 caracteres, podendo variar conforme a complexidade dos dados brutos recebidos.
1.3.3 Parâmetros de Geração
- Modelo: GPT-5
- Temperatura: 0.6
1.3.4 Ferramentas do Agente
- Documentos: Não consulta documentos externos.
- Calculadora: Não utiliza.
- Busca Online: Não utiliza.
- Sistemas Externos: Não se conecta a sistemas externos.
1.3.5 Memória
- Visibilidade das Instruções (Prompt): As instruções deste agente não devem ser visíveis para nenhum agente subsequente.
- Visibilidade da Resposta: A resposta gerada por este agente deve ser visível para o Agente de Extração de Metadados Bibliográficos (RF 2).
1.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Extração de Metadados Bibliográficos (RF 2).
RF 2. Agente de Extração de Metadados Bibliográficos
2.1 Tarefa do Agente
Extrair de forma estruturada título, autores, resumo, identificadores e demais metadados essenciais a partir da entrada padronizada.
2.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo uma entrada padronizada de dados de livros, que inclui texto base e campos iniciais estruturados. # 2. Objetivo Extrair e organizar de forma estruturada título, autores, resumo, identificadores e demais metadados essenciais. # 3. Regras que você deve seguir para gerar sua resposta - Somente executar se preparacao_status == 'ok'; caso contrário, retornar metadados_extraidos_ok=false e falhas_extracao com motivo. - Título: preferir campo explícito; se ausente, inferir do primeiro cabeçalho ou primeira linha com capitalização plausível; remover sufixos como 'Edição Revisada', salvo se fizer parte do título. - Subtítulo: buscar após ':' ou ' - ' no título composto; não duplicar no campo título. - Autores: partir de campos explícitos; se ausentes, procurar padrões 'por' ou linhas iniciais antes do resumo; produzir lista sem duplicatas, cada item com chave nome. - Resumo: se fornecido, usar; senão, sintetizar a partir de texto_base, visando 400 a 800 caracteres, mantendo contexto do enredo sem spoilers específicos (revelações de finais). - Idioma: herdar de entrada; se 'desconhecido', inferir por vocabulário predominante do texto_base. - ISBN: validar checksum; se válido em 13 dígitos, preencher isbn_13; se válido em 10 dígitos, preencher isbn_10; remover hífens no valor final. - Editora, ano, páginas: extrair quando explicitamente presentes em padrões como 'Editora X', 'Publicado em 20XX', 'XXX páginas'; ano apenas se entre 1400 e ano_atual+1. - Garantir metadados_extraidos_ok=true se título e ao menos um autor ou isbn forem obtidos, e resumo não vazio; caso contrário, false e listar falhas_extracao.
2.3 Configurações do Agente
2.3.1 Especificação do Input
- Mecanismo de Acionamento: Este agente deve ser acionado automaticamente após a conclusão bem-sucedida do agente anterior (RF 1).
- Tipo do input: Este agente deve ser apto a receber como input um JSON estruturado contendo o texto base e campos iniciais padronizados de livros.
-
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 JSON com até 10.000 caracteres.
2.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON contendo os metadados extraídos, incluindo título, autores, resumo, idioma e identificadores ISBN.
-
Exemplo de Estrutura de Output:
{"metadados": {"titulo": string, "subtitulo": string?, "autores": [{"nome": string}], "editora": string?, "ano_publicacao": number?, "idioma": string, "isbn_10": string?, "isbn_13": string?, "paginas": number?, "resumo": string}, "metadados_extraidos_ok": true|false, "falhas_extracao": string[]?} - Número de caracteres esperado: O JSON gerado deve ser claro e direto, com um tamanho estimado em 3.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.
- Calculadora: Não utiliza.
- Busca Online: Não utiliza.
- Sistemas Externos: Não utiliza.
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 (JSON com metadados) deve ser visível para o Agente de Classificação Temática e Etária (RF 3).
2.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Classificação Temática e Etária (RF 3).
RF 3. Agente de Classificação Temática e Etária
3.1 Tarefa do Agente
Atribuir categoria temática e classificação etária coerentes para uso em bibliotecas escolares.
3.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo um JSON contendo metadados de livros extraídos e validados. # 2. Objetivo Atribuir categoria temática e classificação etária coerentes para uso em bibliotecas escolares. # 3. Regras que você deve seguir para gerar sua resposta - Executar apenas se metadados_extraidos_ok=true; caso contrário, retornar classificacao_ok=false. - Determinar temas a partir de título e resumo; produzir 1 a 3 termos controlados (exemplos: 'Aventura', 'Fantasia', 'Ciências', 'História', 'Biografia', 'Poesia', 'Mistério', 'Tecnologia', 'Educação'). - Definir categoria_principal como o primeiro tema mais representativo. - Classificação etária: usar gatilhos textuais. a) Infantil (0-5): vocabulário muito simples, foco em figuras, conceitos básicos, ausência total de conteúdo sensível. b) Infantojuvenil (6-10): linguagem simples, temas escolares, aventuras leves; sem violência realista. c) Juvenil (11-14): tramas mais complexas, conflitos escolares/familiares; violência leve/moderada sem descrição gráfica, romance casto. d) Jovem Adulto (15-17): presença possível de conflitos intensos, romance com insinuações, violência não gráfica, temas sensíveis tratados com parcimônia. e) Adulto (18+): conteúdo sexual explícito, violência gráfica, drogas com apologia, linguagem chula recorrente, temas maduros densos. f) Livre: material informativo neutro (ex.: manuais, dicionários) ou obras clássicas sem conteúdo sensível e linguagem universal. - Sempre preencher justificativa_etaria citando 2-3 evidências do resumo/título que motivaram a decisão. - Atribuir confianca.temas e confianca.etaria em faixas: 0.9 se menções explícitas; 0.7 se inferência indireta; 0.5 se ambíguo. - Se nenhuma evidência suficiente, usar 'Livre' e confianca.etaria ≤ 0.6. - classificacion_ok=true se categoria_principal e classificacao_etaria definidos.
3.3 Configurações do Agente
3.3.1 Especificação do Input
- Mecanismo de Acionamento: Este agente deve ser acionado automaticamente após a conclusão do agente anterior (RF 2).
- Tipo do input: Este agente deve ser apto a receber como input um JSON contendo os metadados extraídos e validados de livros.
-
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 JSON com até 5.000 caracteres.
3.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON contendo a classificação temática e etária dos livros, juntamente com justificativas e níveis de confiança.
-
Exemplo de Estrutura de Output:
{"classificacao": {"temas": string[], "categoria_principal": string, "classificacao_etaria": "Infantil (0-5)"|"Infantojuvenil (6-10)"|"Juvenil (11-14)"|"Jovem Adulto (15-17)"|"Adulto (18+)"|"Livre", "justificativa_etaria": string, "confianca": {"temas": 0.0-1.0, "etaria": 0.0-1.0}}, "classificacao_ok": true|false} - Número de caracteres esperado: O JSON gerado deve ser claro e direto, com um tamanho estimado em 2.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.
- Calculadora: Não utiliza.
- Busca Online: Não utiliza.
- Sistemas Externos: Não utiliza.
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 (JSON com classificação) deve ser visível para o Agente de Validação e Normalização de Metadados (RF 4).
3.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Validação e Normalização de Metadados (RF 4).
RF 4. Agente de Validação e Normalização de Metadados
4.1 Tarefa do Agente
Aplicar regras de consistência e padronização antes do envio ao catálogo.
4.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um JSON contendo metadados e classificações de livros extraídos e validados.
# 2. Objetivo
Aplicar regras de consistência e padronização para garantir que os dados estejam prontos para serem enviados ao catálogo.
# 3. Regras que você deve seguir para gerar sua resposta
- Campos obrigatórios: titulo, resumo, (autores ou isbn), classificacao_etaria. Se faltar, incluir em erros e normalizacao_ok=false.
- Autores: gerar formato_bibliografico 'SOBRENOME, Nome(s)' para cada autor; não alterar acentos; sobrenome é a última palavra do nome.
- Idioma: se ausente, definir 'pt'.
- ISBN: preferir isbn_13; se apenas isbn_10 existir, converter para isbn_13 se possível; se inválido, remover e registrar erro.
- Ano: se fora do intervalo 1400..(ano_atual+1), remover e registrar erro.
- Título/Subtítulo: remover espaços duplos, cortar em 200/180 caracteres respectivamente sem quebrar palavras.
- Resumo: aparar para 1200 caracteres no máximo, preservando sentido; mínimo 200 caracteres salvo obras de referência (tema 'Dicionário' ou 'Manual'), onde mínimo pode ser 100.
- Classificação etária: restringir ao conjunto permitido; se vier fora, mapear para o mais próximo ('Livre' por padrão) e registrar ajuste em erros.
- Temas: limitar a 3; capitalizar apenas primeira letra de cada termo.
- Preencher registro_normalizado com todos os campos após ajustes; definir normalizacao_ok=true se nenhuma falha crítica (campos obrigatórios faltantes) permanecer. 4.3 Configurações do Agente
4.3.1 Especificação do Input
- Mecanismo de Acionamento: Este agente deve ser acionado automaticamente após a conclusão do agente anterior (RF 3).
- Tipo do input: Este agente deve ser apto a receber como input um JSON contendo metadados e classificações de livros validados.
-
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 JSON com até 7.000 caracteres.
4.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON contendo o registro normalizado dos livros, pronto para envio ao catálogo.
-
Exemplo de Estrutura de Output:
{"registro_normalizado": {"titulo": string, "subtitulo": string?, "autores": [{"nome": string, "formato_bibliografico": string}], "editora": string?, "ano_publicacao": number?, "idioma": string, "isbn": string?, "paginas": number?, "resumo": string, "temas": string[], "categoria_principal": string, "classificacao_etaria": string}, "erros": string[], "normalizacao_ok": true|false} - Número de caracteres esperado: O JSON gerado deve ser claro e direto, com um tamanho estimado em 4.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.
- Calculadora: Não utiliza.
- Busca Online: Não utiliza.
- Sistemas Externos: Não utiliza.
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 (JSON com registro normalizado) deve ser visível para o Agente de Decisão de Inserção ou Atualização e Geração de Payload (RF 5).
4.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Decisão de Inserção ou Atualização e Geração de Payload (RF 5).
RF 5. Agente de Decisão de Inserção ou Atualização e Geração de Payload
5.1 Tarefa do Agente
Decidir entre criar novo registro ou atualizar existente e preparar payload do catálogo.
5.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo um JSON contendo o registro normalizado dos livros, pronto para envio ao catálogo.
# 2. Objetivo
Decidir entre criar novo registro ou atualizar existente e preparar o payload do catálogo.
# 3. Regras que você deve seguir para gerar sua resposta
- Se normalizacao_ok=false, retornar acao='abort' com payload_api nulo.
- Critério primário: se isbn presente, definir criterio_correspondencia='isbn'; secundário: se titulo + primeiro autor + ano_publicacao presentes, definir 'titulo_autor_ano'; caso contrário, acao='create' sem correspondência.
- Para update: montar body com apenas campos que podem sofrer atualização (resumo, temas, classificacao_etaria, paginas, editora) preservando identificadores.
- Para create: incluir todos os campos normalizados.
- Definir endpoint e metodo conforme acao (ex.: '/catalogo/livros' POST para create; '/catalogo/livros/{id_ou_isbn}' PUT para update).
- referência_existente: preencher com isbn ou chave composta 'titulo|autor|ano' quando aplicável. 5.3 Configurações do Agente
5.3.1 Especificação do Input
- Mecanismo de Acionamento: Este agente deve ser acionado automaticamente após a conclusão do agente anterior (RF 4).
- Tipo do input: Este agente deve ser apto a receber como input um JSON contendo o registro normalizado dos livros.
-
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 JSON com até 5.000 caracteres.
5.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON contendo a decisão de ação (create, update ou abort) e o payload preparado para o catálogo.
-
Exemplo de Estrutura de Output:
{"acao": "create"|"update"|"abort", "criterio_correspondencia": "isbn"|"titulo_autor_ano"|null, "referencia_existente": string|null, "payload_api": {"endpoint": string, "metodo": "POST"|"PUT", "body": {...}}} - Número de caracteres esperado: O JSON gerado deve ser claro e direto, com um tamanho estimado em 3.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.
- Calculadora: Não utiliza.
- Busca Online: Não utiliza.
- Sistemas Externos: Não utiliza.
5.3.5 Memória
- Visibilidade das Instruções (Prompt): As instruções deste agente não devem ser visíveis para nenhum agente subsequente.
- Visibilidade da Resposta: A resposta (JSON com decisão e payload) deve ser visível para o Agente de Execução de Chamada à API (RF 6).
5.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Execução de Chamada à API (RF 6).
RF 6. Agente de Execução de Chamada à API
6.1 Tarefa do Agente
Realizar chamada à API do Sistema de Catálogo para inserir ou atualizar o registro do livro.
6.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais Você está recebendo um JSON contendo a decisão de ação (create, update ou abort) e o payload preparado para o catálogo. # 2. Objetivo Realizar chamada à API do Sistema de Catálogo para inserir ou atualizar o registro do livro com base na decisão recebida. # 3. Regras que você deve seguir para gerar sua resposta - Este agente não precisa de instruções para chamadas ao LLM, pois sua única função é executar a chamada à API cujo payload ele já recebe pronto. - Em caso de sucesso na chamada, retornar status_http com código de sucesso e id_registro gerado. - Em caso de falha, retornar status_http com código de erro e mensagem explicativa.
6.3 Configurações do Agente
6.3.1 Especificação do Input
- Mecanismo de Acionamento: Este agente deve ser acionado automaticamente após a conclusão do agente anterior (RF 5).
- Tipo do input: Este agente deve ser apto a receber como input um JSON contendo a decisão de ação e o payload preparado para o catálogo.
-
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 JSON com até 3.000 caracteres.
6.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON contendo o resultado da chamada à API, incluindo status HTTP e ID do registro quando aplicável.
-
Exemplo de Estrutura de Output:
{"resultado_api": {"status_http": number, "id_registro": string?, "mensagem": string?}} - Número de caracteres esperado: O JSON gerado deve ser claro e direto, com um tamanho estimado em 500 caracteres.
6.3.3 Parâmetros de Geração
- Modelo: Não se aplica (uso de ferramenta)
- Temperatura: Não se aplica (uso de ferramenta)
6.3.4 Ferramentas do Agente
- Documentos: Não consulta.
- Calculadora: Não utiliza.
- Busca Online: Não utiliza.
- Sistemas Externos: O agente deverá enviar o JSON recebido para a API externa do Sistema de Catálogo e retornar o resultado da chamada.
6.3.5 Memória
- Visibilidade das Instruções (Prompt): As instruções não são visíveis para agentes subsequentes.
- Visibilidade da Resposta: A resposta (resultado da API) é o entregável final e não é passada para outros agentes internos.
6.3.6 Regras de Orquestração e Transição
A execução deste agente finaliza o fluxo. O resultado da API é o resultado que deve ser disponibilizado ao usuário.