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 e demais requisitos funcionais para o Fluxo de Agentes "Planejamento de Atividades Culturais em Escolas", uma solução de automação projetada para auxiliar na definição de temas, cronograma e logística para atividades culturais em escolas de ensino básico e infantil. Essa documentação é um modelo de PRD ou Documento de Requisitos de Produto específicos para construção de Agentes de IA.
2. Contexto e Problema
Cenário Atual
As escolas enfrentam desafios na organização de atividades culturais, desde a escolha de temas relevantes até a logística das atividades. Problemas específicos incluem:
- Dificuldade na definição de temas relevantes e envolventes para as atividades culturais.
- Falta de organização no cronograma, levando a conflitos de horários e eventos sobrepostos.
- Logística complexa para organizar atividades culturais, incluindo transporte, materiais e comunicação.
Problemas Identificados
- Escolha de Temas: A dificuldade em escolher temas que sejam relevantes e envolventes.
- Conflitos de Horário: A desorganização pode levar a conflitos de horários e eventos sobrepostos.
- Logística: A logística complexa para organizar essas atividades, incluindo transporte, materiais e comunicação.
3. Impactos Esperados
A implementação deste fluxo de automação visa alcançar os seguintes resultados:
- Otimização na escolha de temas por meio da análise de dados históricos.
- Organização eficiente de cronogramas, evitando conflitos e garantindo a disponibilidade de espaços e recursos.
- Coordenação logística eficaz para transporte, materiais e comunicação.
4. Visão Geral da Solução
O agente de IA para planejamento de atividades culturais em escolas analisa dados históricos para sugerir temas, organiza cronogramas detalhados evitando conflitos e coordena a logística necessária para a execução das atividades. 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 organização de atividades culturais em escolas.
A solução consiste em um fluxo de automação composto por 5 agentes de IA. O processo inicia com a consulta a dados históricos de atividades e termina com a coordenação logística das atividades culturais planejadas.
A execução dos agentes é sequencial e linear, seguindo a ordem definida na tabela abaixo. O fluxo inclui etapas condicionais que são executadas apenas se critérios específicos forem atendidos, conforme detalhado após a tabela.
| Agentes | Função Principal |
|---|---|
Agente de Execução de Consulta a Documento (RF 1)
| Realizar consulta ao documento "dados_historicos_atividades" para obter informações sobre temas, participação, avaliação e feedbacks de atividades culturais passadas. |
Agente de Análise de Dados Históricos (RF 2)
| Analisar os dados históricos recuperados e gerar uma lista priorizada de temas culturais adequados ao contexto informado. |
Agente de Execução de Chamada à API (RF 3)
| Realizar chamada à API do sistema schedule_optimizer para obter sugestões de alocação de horários e espaços para os eventos planejados. |
Agente de Criação e Validação de Cronograma (RF 4)
| Criar um cronograma detalhado e viável, evitando conflitos de horários, respeitando disponibilidade de espaços/recursos e regras escolares. |
Agente de Coordenação Logística (RF 5)
| Elaborar o plano logístico para as atividades culturais aprovadas, cobrindo transporte, materiais, equipe e comunicação, sem realizar reservas de fato. |
5. Protótipos
Para proporcionar uma visão clara e tangível da solução proposta, criamos protótipos interativos que demonstram tanto o fluxo de trabalho dos agentes quanto o resultado final que o cliente receberá. Explore os links abaixo para entender melhor a solução em ação.
6. Requisitos Funcionais
RF 1. Agente de Execução de Consulta a Documento
1.1 Tarefa do Agente
Realizar consulta ao documento "dados_historicos_atividades" para obter informações sobre temas, participação, avaliação e feedbacks de atividades culturais passadas.
1.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo uma solicitação para consulta ao documento "dados_historicos_atividades".
# 2. Objetivo
Realizar consulta ao documento para obter informações sobre temas, participação, avaliação e feedbacks de atividades culturais passadas.
# 3. Regras que você deve seguir para gerar sua resposta
- Este agente não precisa de instruções de LLM. Sua função é apenas executar a consulta ao documento com os parâmetros recebidos e retornar os dados conforme solicitado, sem transformar o conteúdo.
# 4. Exemplo de Output que você deve produzir
{"registros":[{"tema":"Festa Junina","data":"2024-06-15","participacao_total":450,"satisfacao_media":4.6,"faixas_etarias":["1º ao 5º"],"observacoes":"alta adesão"}],"total_registros":N} 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 por uma solicitação de consulta ao documento "dados_historicos_atividades". 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 é uma solicitação de consulta ao documento.
- Formatos Suportados: Não se aplica, pois o agente recebe parâmetros de consulta específicos.
- Número de caracteres esperado: Não se aplica, pois o agente recebe parâmetros de consulta específicos.
1.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON contendo os registros de atividades culturais passadas, incluindo tema, data, participação, satisfação, faixas etárias e observações.
-
Exemplo de Estrutura de Output:
{"registros":[{"tema":"Festa Junina","data":"2024-06-15","participacao_total":450,"satisfacao_media":4.6,"faixas_etarias":["1º ao 5º"],"observacoes":"alta adesão"}],"total_registros":N} - Número de caracteres esperado: O JSON gerado terá um tamanho variável dependendo do número de registros retornados.
1.3.3 Parâmetros de Geração
- Modelo: Não se aplica.
- Temperatura: Não se aplica.
1.3.4 Ferramentas do Agente
- Documentos: Consulta o documento "dados_historicos_atividades".
- Calculadora: Não utiliza.
- Busca Online: Não utiliza.
- Sistemas Externos: Não utiliza.
1.3.5 Memória
- Visibilidade das Instruções (Prompt): As instruções deste agente não são visíveis para agentes subsequentes.
- Visibilidade da Resposta: A resposta gerada por este agente deve ser visível para o Agente de Análise de Dados Históricos (RF 2).
1.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 (RF 2).
RF 2. Agente de Análise de Dados Históricos
2.1 Tarefa do Agente
Analisar os dados históricos recuperados e gerar uma lista priorizada de temas culturais adequados ao contexto informado.
2.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo dados históricos de atividades culturais passadas, incluindo temas, participação e satisfação.
# 2. Objetivo
Analisar os dados históricos e gerar uma lista priorizada de temas culturais adequados ao contexto informado.
# 3. Regras que você deve seguir para gerar sua resposta
- Calcular a popularidade normalizada por tema e a nota de satisfação média do tema.
- Priorizar temas que não conflitam com restrições culturais explícitas e que são alinhados com os objetivos pedagógicos.
- Gerar uma lista de temas ranqueados com base na popularidade, satisfação e alinhamento pedagógico.
# 4. Exemplo de Output que você deve produzir
{"temas_rankeados":[{"tema":"Festa Junina","score":0.91,"justificativa":"alta popularidade histórica (freq 28%), alta satisfação (>=4.5), alinhado a datas de junho","requisitos_materiais":["bandeirinhas","aparelho de som"],"duracao_recomendada_min":180,"janela_ideal":["2025-06-01","2025-06-30"]}],"criterios":{"pesos":{"popularidade":0.4,"satisfacao":0.3,"alinhamento_pedagogico":0.2,"sazonalidade":0.1}}} 2.3 Configurações do Agente
2.3.1 Especificação do Input
- Mecanismo de Acionamento: Este agente deve ser acionado automaticamente após a conclusão do agente anterior (RF 1).
- Tipo do input: Este agente deve ser apto a receber como input um JSON contendo registros de atividades culturais passadas.
-
Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato:
.json(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 contendo uma lista de temas culturais priorizados e os critérios usados para a priorização.
-
Exemplo de Estrutura de Output:
{"temas_rankeados":[{"tema":"Festa Junina","score":0.91,"justificativa":"alta popularidade histórica (freq 28%), alta satisfação (>=4.5), alinhado a datas de junho","requisitos_materiais":["bandeirinhas","aparelho de som"],"duracao_recomendada_min":180,"janela_ideal":["2025-06-01","2025-06-30"]}],"criterios":{"pesos":{"popularidade":0.4,"satisfacao":0.3,"alinhamento_pedagogico":0.2,"sazonalidade":0.1}}} - Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 2.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: Utiliza lógica interna para calcular a popularidade e satisfação dos temas.
- 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 são visíveis para agentes subsequentes.
- Visibilidade da Resposta: A resposta gerada por este agente deve ser visível para o Agente de Execução de Chamada à API (RF 3).
2.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 3).
RF 3. Agente de Execução de Chamada à API
3.1 Tarefa do Agente
Realizar chamada à API do sistema schedule_optimizer para obter sugestões de alocação de horários e espaços para os eventos planejados.
3.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo uma solicitação para otimizar o cronograma de eventos culturais planejados.
# 2. Objetivo
Realizar chamada à API do sistema schedule_optimizer para obter sugestões de alocação de horários e espaços para os eventos planejados.
# 3. Regras que você deve seguir para gerar sua resposta
- Este agente não precisa de instruções de LLM. Sua função é somente executar a chamada à API com o payload recebido e retornar a resposta bruta do serviço.
# 4. Exemplo de Output que você deve produzir
{"optimizer_output":{"sugestoes":[{"evento":"Feira Cultural","inicio":"2025-03-10T08:00","fim":"2025-03-10T10:00","recurso":"quadra"}],"conflitos_detectados":[]}} 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 a lista de eventos planejados e recursos disponíveis.
-
Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato:
.json(JSON). - Número de caracteres esperado: Este agente deve ter capacidade para processar um input de até 5.000 caracteres.
3.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON contendo sugestões de alocação de horários e espaços para os eventos planejados.
-
Exemplo de Estrutura de Output:
{"optimizer_output":{"sugestoes":[{"evento":"Feira Cultural","inicio":"2025-03-10T08:00","fim":"2025-03-10T10:00","recurso":"quadra"}],"conflitos_detectados":[]}} - Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 1.500 caracteres.
3.3.3 Parâmetros de Geração
- Modelo: Não se aplica.
- Temperatura: Não se aplica.
3.3.4 Ferramentas do Agente
- Documentos: Não consulta documentos externos.
- Calculadora: Não utiliza.
- Busca Online: Não utiliza.
- Sistemas Externos: O agente deverá enviar o JSON recebido para a API externa (`schedule_optimizer`) e retornar a resposta bruta recebida.
3.3.5 Memória
- Visibilidade das Instruções (Prompt): As instruções deste agente não são visíveis para agentes subsequentes.
- Visibilidade da Resposta: A resposta gerada por este agente deve ser visível para o Agente de Criação e Validação de Cronograma (RF 4).
3.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Criação e Validação de Cronograma (RF 4).
RF 4. Agente de Criação e Validação de Cronograma
4.1 Tarefa do Agente
Criar um cronograma detalhado e viável, evitando conflitos de horários, respeitando disponibilidade de espaços/recursos e regras escolares.
4.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo sugestões de alocação de horários e espaços para eventos culturais planejados.
# 2. Objetivo
Criar um cronograma detalhado e viável, evitando conflitos de horários, respeitando disponibilidade de espaços/recursos e regras escolares.
# 3. Regras que você deve seguir para gerar sua resposta
- Não agendar atividades fora do horário de funcionamento informado; excluir intervalos de recreio do miolo da atividade.
- Evitar qualquer sobreposição por turma, professor, ou espaço; aplicar buffers mínimos antes/depois de cada evento.
- Respeitar capacidade do espaço: soma de alunos das turmas ≤ capacidade do espaço.
# 4. Exemplo de Output que você deve produzir
{"cronograma": {"eventos": [{"evento":"Feira Cultural","inicio":"2025-03-10T08:00","fim":"2025-03-10T10:15","espaco":"quadra","turmas":["2ºA","2ºB"],"recursos":["som"],"buffers":{"antes_min":15,"depois_min":10}}],"conflitos":[],"cronograma_viavel":true,"justificativas":["sem sobreposição por turma","respeita recreio" ]}} 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 sugestões de alocação de horários e espaços.
-
Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato:
.json(JSON). - Número de caracteres esperado: Este agente deve ter capacidade para processar um input de até 7.000 caracteres.
4.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON contendo o cronograma detalhado e viável, com informações sobre eventos, horários, espaços e recursos.
-
Exemplo de Estrutura de Output:
{"cronograma": {"eventos": [{"evento":"Feira Cultural","inicio":"2025-03-10T08:00","fim":"2025-03-10T10:15","espaco":"quadra","turmas":["2ºA","2ºB"],"recursos":["som"],"buffers":{"antes_min":15,"depois_min":10}}],"conflitos":[],"cronograma_viavel":true,"justificativas":["sem sobreposição por turma","respeita recreio" ]}} - Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 2.500 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: Utiliza lógica interna para validar o cronograma.
- 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 são visíveis para agentes subsequentes.
- Visibilidade da Resposta: A resposta gerada por este agente deve ser visível para o Agente de Coordenação Logística (RF 5).
4.3.6 Regras de Orquestração e Transição
Ao concluir sua execução, esse agente aciona o Agente de Coordenação Logística (RF 5).
RF 5. Agente de Coordenação Logística
5.1 Tarefa do Agente
Elaborar o plano logístico para as atividades culturais aprovadas, cobrindo transporte, materiais, equipe e comunicação, sem realizar reservas de fato.
5.2 Prompt ou Instruções do Agente
# 1. Contexto e explicações sobre inputs iniciais
Você está recebendo o cronograma detalhado e viável das atividades culturais planejadas.
# 2. Objetivo
Elaborar o plano logístico para as atividades culturais aprovadas, cobrindo transporte, materiais, equipe e comunicação, sem realizar reservas de fato.
# 3. Regras que você deve seguir para gerar sua resposta
- Derivar checklist de materiais a partir do tema e do tipo de atividade.
- Calcular necessidade de transporte com base no local, distância e headcount.
- Sugerir monitores/apoio com razão mínima 1:20 para fundamental e 1:10 para infantil.
# 4. Exemplo de Output que você deve produzir
{"plano_logistico":{"eventos":[{"evento":"Feira Cultural","checklist_materiais":[{"item":"aparelho de som","quantidade":1},{"item":"extensões elétricas","quantidade":2}],"dimensionamento_transporte":{"necessita":true,"veiculos_sugeridos":[{"tipo":"micro-ônibus","qtd":1}]},"equipe_sugerida":[{"funcao":"apoio","qtd":2}],"prazos":{"materiais":{"solicitar_ate":"2025-03-01"},"transporte":{"solicitar_ate":"2025-02-27"}},"comunicacao":[{"canal":"bilhete aos responsáveis","quando":"D-10","conteudo_modelo":"Convite e autorizações"}],"riscos_e_mitigacoes":[{"risco":"chuva","mitigacao":"plano B no auditório"}]}],"acoes_recomendadas":["Confirmar disponibilidade de micro-ônibus com secretaria de transporte"],"itens_pendentes_para_acao_humana":[{"tipo":"reserva","descricao":"Quadra para 10/03 08:00-10:15"}]} } 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 cronograma detalhado e viável das atividades culturais.
-
Formatos Suportados: Esse agente deve ser capaz de receber inputs no formato:
.json(JSON). - Número de caracteres esperado: Este agente deve ter capacidade para processar um input de até 8.000 caracteres.
5.3.2 Especificação do Output
- Formato de output: O output deve ser um JSON contendo o plano logístico para as atividades culturais, com detalhes sobre materiais, transporte, equipe e comunicação.
-
Exemplo de Estrutura de Output:
{"plano_logistico":{"eventos":[{"evento":"Feira Cultural","checklist_materiais":[{"item":"aparelho de som","quantidade":1},{"item":"extensões elétricas","quantidade":2}],"dimensionamento_transporte":{"necessita":true,"veiculos_sugeridos":[{"tipo":"micro-ônibus","qtd":1}]},"equipe_sugerida":[{"funcao":"apoio","qtd":2}],"prazos":{"materiais":{"solicitar_ate":"2025-03-01"},"transporte":{"solicitar_ate":"2025-02-27"}},"comunicacao":[{"canal":"bilhete aos responsáveis","quando":"D-10","conteudo_modelo":"Convite e autorizações"}],"riscos_e_mitigacoes":[{"risco":"chuva","mitigacao":"plano B no auditório"}]}],"acoes_recomendadas":["Confirmar disponibilidade de micro-ônibus com secretaria de transporte"],"itens_pendentes_para_acao_humana":[{"tipo":"reserva","descricao":"Quadra para 10/03 08:00-10:15"}]} } - Número de caracteres esperado: O JSON gerado terá um tamanho aproximado de 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 documentos externos.
- Calculadora: Utiliza lógica interna para calcular necessidades logísticas.
- 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 são visíveis para agentes subsequentes.
- Visibilidade da Resposta: A resposta gerada por este agente é o entregável final do fluxo.
5.3.6 Regras de Orquestração e Transição
A execução deste agente finaliza o fluxo. O plano logístico gerado é o resultado que deve ser disponibilizado ao usuário.