Seguidores

quinta-feira, 24 de abril de 2025

Do Caos ao Prompt T4E02: Desenvolvimento do App AG2P – Evento "Abriu RDM"

INTRODUÇÃO

Post anterior: Do Caos ao Prompt T4E01: Desenvolvimento do App AG2P – Descrição do Fluxo de Trabalho

    Este Post é o episódio 2 da temporada 4 da série "Do Caos ao Prompt", que apresenta o desenvolvimento do Agente de Gestão de Processo Pessoal (AG2P), tendo como foco o evento "Abriu RDM".

    Evento “Abriu RDM”

    Link da conversa com o Gemini: https://g.co/gemini/share/fc2e60fa7613

     

    Comando para especificar o evento para o Gemini

    Evento "Abriu RDM" 

    O processo pessoal definido na aba GPS, da planilha GPS, pode estar em qualquer uma das fases "Iniciação", “Planejamento”, “Execução”, “Monitoramento e Controle” e “Encerramento, já que sua duração pode ser superior a um dia.

     

    Se o app estiver no estado "Após início";

    e se a pessoa disparar o evento “Abriu RDM”;

    o app deverá executar a ação “Inicializar RDM”;

    o app deverá acessar os dados necessários na aba "RDM", da planilha GPS; 

    o app deverá ter o seu comportamento direcionado pelas regras em "R02 e R35"; 

    o app deverá atualizar o seu estado para "RDM Inicializada".

     

    Após a execução, o app deverá ficar esperando outro evento. 

    Ação “Inicializar RDM”

    A ação "Inicializar RDM" contém a descrição do diálogo que acontece, entre o usuário e o Agente AG2P, sempre que o evento "Abriu RDM" for disparado pelo usuário.

    Preparação e informações necessárias                                                                                                                             

    1. Agente AG2P: O login no agente AG2P deve ter sido realizado com sucesso.
    2. Dados: O estado atual da aba RDM da planilha GPS deve estar igual a "RDM Fechada".
    3. Usuário: O usuário deve verificar, antes de acionar o Agente AG2P, se foi criado o backup diário da planilha GPS do dia anterior, numa pasta de dados históricos, a partir do segundo dia de execução do processo pessoal, se o estado atual for igual a "RDM Fechada". (R02)
    4. Fluxo Alternativo: O agente AG2P deve redirecionar o fluxo para o evento implementado para tratar o estado atual, se este for diferente de "RDM Fechada". 

    Passos do diálogo 1 entre o usuário e o agente                                                                                                                            

    1. Agente AG2P:
      O agente AG2P deve zerar, na aba RDM, as células D5 a H14, do subgrupo de colunas "Fases do GPS", do grupo de colunas EXECUTADO.

      O agente AG2P deve zerar a meta em quantidade de pontos por fase do processo, na aba RDM, nas células D4 a H4, do subgrupo de colunas "Fases do GPS", do grupo de colunas EXECUTADO.

      O agente AG2P deve registrar, na aba RDM, a data atual nas células A2 e B2 mescladas, do grupo de colunas PLANEJADO.

      O agente AG2P deve atualizar o estado da aba RDM para "RDM Inicializada".(R35)

      O agente AG2P deve apresentar ao usuário o menu de opções e aguardar.
    2. Usuário:
      O usuário deve escolher uma das opções.

    Resultados esperados                                                                                                                                      

    1. Na aba RDM, as células D5 a H14 devem estar zeradas.
    2. Na aba RDM, a célula A2 deve conter a data atual.
    3. Na aba RDM, a célula T1 deve conter o estado "RDM Inicializada".

    Ações em caso de problema                                                                                                                                        

    1. Revisar o que foi feito no contexto desta Ação.
    2. Solicitar ajuda à pessoa responsável pelo Suporte da Organização.

    Atenção especial                                                                                                                                  

    1. O estado da aba RDM deve estar igual a "RDM Inicializada". 

    Dados acessados na planilha GPS

    1. Na aba RDM, as células D5 a H14.
    2. Na aba RDM, a célula A2.
    3. Na aba RDM, a célula T1.

    Regras que direcionam o comportamento do app

    Identificação das Regras: R02 e R35.

    R02: O nome do backup do dia anterior, da planilha GPS, deve ser igual ao nome original mais a data de referência como prefixo, no formato AAAA-MM-DD (Exemplo: "2021-06-01 GPS").

    R35: O evento "Abriu RDM" deve mudar o estado da aba RDM de "RDM Fechada" para "RDM Inicializada".

    Estrutura da aba RDM

    Aba: RDM

    Colunas

    PLANEJADO: Colunas A e B

    Linha 2, Coluna A: Data a que se refere o PLANEJADO, reforçando que a regra é que a duração do plano seja de 1 dia, apenas.

    A(Hora) - Preenchimento Manual

    As sugestões para horas planejadas são das 7 às 17 horas, com 1 hora para almoço e 4 intervalos de 15 minutos, distribuídos de acordo com as necessidades da pessoa, sendo 2 antes e 2 depois do almoço. Cada linha contém a hora cheia. Estas sugestões, podem ser adaptadas às necessidades da pessoa.

    B(Meta) - Preenchimento automático (por fórmula)

    Os dados dessa coluna são usados para desenhar a linha azul do gráfico Burndown.

    C(Progresso) _ Preenchimento automático (por fórmula) 

    Os dados dessa coluna são usados para desenhar a linha vermelha do gráfico Burndown.

    EXECUTADO: Colunas D, E, F, G, H

    Linha 4, Coluna D: Somatório dos pontos das tarefas que serão executadas conforme o plano do dia,  que pertencem à fase Iniciação. Na Aba GPS, os pontos estão na coluna C(Tamanho em Pontos).

    Linha 4, Coluna E: Somatório dos pontos das tarefas que serão executadas conforme o plano do dia,  que pertencem à fase Planejamento. Na Aba GPS, os pontos estão na coluna C(Tamanho em Pontos).

    Linha 4, Coluna F: Somatório dos pontos das tarefas que serão executadas conforme o plano do dia,  que pertencem à fase Execução. Na Aba GPS, os pontos estão na coluna C(Tamanho em Pontos).

    Linha 4, Coluna G: Somatório dos pontos das tarefas que serão executadas conforme o plano do dia,  que pertencem à fase Monitoramento. Na Aba GPS, os pontos estão na coluna C(Tamanho em Pontos).

    Linha 4, Coluna H: Somatório dos pontos das tarefas que serão executadas conforme o plano do dia,  que pertencem à fase Encerramento. Na Aba GPS, os pontos estão na coluna C(Tamanho em Pontos).

    D(Iniciação) - Preenchimento manual

    Para automatizar, o usuário dispara um evento tipo "Selecionou as tarefas do dia", o Agente AG2P mostra para o usuário as tarefas que ainda não foram executadas, o usuário escolhe e o Agente faz o somatório dos pontos das tarefas escolhidas e registra na Linha 4, Coluna D.

     

    O mesmo procedimento deve ser repetido para as demais colunas (E, F, G, H), se o usuário quiser.

    T(Estado) - Preenchimento manual

    O preenchimento dessa coluna será automatizado pelo Agente AG2P, naturalmente, porque a execução de um evento implica na mudança do Estado atual para o próximo Estado.

    As demais colunas da Aba RDM são atualizadas automaticamente, ou são fixas.

    Resposta do Gemini

    Com certeza! Pelo que entendi, quando o usuário dispara o evento "Abriu RDM" com o app no estado "Após início", o sistema precisa executar uma série de ações para inicializar a aba "RDM" da planilha "GPS". Vamos detalhar o que acontece nesse processo:

    Disparo do Evento "Abriu RDM"

    • Condição: O aplicativo está no estado "Após início".
    • Ação do Usuário: A pessoa dispara o evento "Abriu RDM".

    Ações do Aplicativo:

    1. Inicializar RDM: O aplicativo inicia o processo de preparação da aba "RDM".
    2. Acessar Dados: O aplicativo busca as informações necessárias na aba "RDM" da planilha "GPS".
    3. Aplicar Regras: O comportamento do aplicativo é agora guiado pelas regras "R02" e "R35".
      • R02 (Backup): Antes de prosseguir, se o estado atual da aba "RDM" for "RDM Fechada" e este for o segundo dia de execução do processo pessoal ou posterior, o usuário deve ter verificado a criação de um backup diário da planilha "GPS" do dia anterior (nome no formato AAAA-MM-DD "GPS", como "2025-04-23 GPS").
      • R35 (Mudança de Estado): O estado da aba "RDM" será alterado de "RDM Fechada" para "RDM Inicializada".
    4. Atualizar Estado: O estado do aplicativo é atualizado para "RDM Inicializada".
    5. Esperar Novo Evento: Após a inicialização, o aplicativo aguarda que o usuário dispare um novo evento.

    Ação "Inicializar RDM" Detalhada (Diálogo entre Usuário e Agente AG2P):

    Preparação e Informações Necessárias:

    • Agente AG2P: O login no agente AG2P já deve ter sido realizado com sucesso.
    • Dados: O estado atual da aba "RDM" da planilha "GPS" precisa ser "RDM Fechada".
    • Usuário (Verificação): Antes de interagir com o Agente AG2P, o usuário deve verificar se o backup diário da planilha "GPS" do dia anterior foi criado, seguindo a regra R02 (se aplicável).
    • Fluxo Alternativo: Se o estado atual da aba "RDM" for diferente de "RDM Fechada", o Agente AG2P direcionará o fluxo para o evento correspondente ao estado atual.

    Passos do Diálogo 1:

    • Agente AG2P:
      • Zera as células D5 a H14 na aba "RDM" (subgrupo de colunas "Fases do GPS", grupo "EXECUTADO").
      • Zera a meta de pontos por fase nas células D4 a H4 da aba "RDM" (subgrupo "Fases do GPS", grupo "EXECUTADO").
      • Registra a data atual (24 de abril de 2025) nas células mescladas A2 e B2 da aba "RDM" (grupo "PLANEJADO").
      • Atualiza o estado da aba "RDM" para "RDM Inicializada" (aplicando a regra R35).
      • Apresenta um menu de opções ao usuário e aguarda a sua escolha.
    • Usuário: Escolhe uma das opções apresentadas no menu.

    Resultados Esperados Após a Ação:

    • Na aba "RDM", as células D5 a H14 estarão zeradas.
    • Na aba "RDM", a célula A2 conterá a data atual (24/04/2025).
    • Na aba "RDM", a célula T1 conterá o estado "RDM Inicializada".

    Ações em Caso de Problema:

    • Revisar os passos executados durante a ação "Inicializar RDM".
    • Solicitar ajuda ao suporte técnico da organização.

    Atenção Especial:

    • É crucial que, ao final da ação, o estado da aba "RDM" seja "RDM Inicializada".

    Dados Acessados na Planilha GPS:

    • Aba "RDM", células D5 a H14.
    • Aba "RDM", célula A2.
    • Aba "RDM", célula T1.

    Regras que Direcionam o Comportamento:

    • R02: Garante a criação e a nomenclatura correta do backup da planilha "GPS".
    • R35: Assegura a atualização do estado da aba "RDM" para "RDM Inicializada" após o evento "Abriu RDM".

    Estrutura da Aba RDM (Informações Relevantes para a Ação):

    • PLANEJADO (Colunas A e B):
      • A (Hora): Preenchimento manual com sugestões de horários.
      • B (Meta): Preenchimento automático (fórmula).
    • EXECUTADO (Colunas D, E, F, G, H):
      • Linha 4 (Somatório de Pontos por Fase): Contém o total de pontos planejados para cada fase (Iniciação, Planejamento, Execução, Monitoramento, Encerramento).
      • D (Iniciação) a H (Encerramento): Preenchimento manual através da seleção de tarefas do dia.
    • T (Estado): Preenchimento automático pelo Agente AG2P, refletindo o estado atual da aba "RDM".

    Espero que esta descrição detalhada ajude a entender o processo! Se tiver mais alguma dúvida, é só perguntar.

    Comando para solicitar a implementação do evento ao Gemini

    Faça a implementação do evento "Abriu RDM", usando apenas ferramentas do Google.

    Resposta do Gemini

    Com certeza! Para implementar o evento "Abriu RDM" utilizando apenas as ferramentas do Google, podemos usar o Google Apps Script, que permite automatizar tarefas dentro do Google Workspace (Planilhas, Documentos, etc.).

    Premissas:

    • Você possui uma planilha Google Sheets chamada "GPS" com duas abas: "GPS" (onde os dados do processo pessoal são gerenciados) e "RDM" (onde as informações da Reunião Diária de Monitoramento serão registradas).
    • A aba "RDM" já está estruturada conforme a descrição fornecida (colunas PLANEJADO, EXECUTADO, Estado, etc.).
    • A célula que indica o estado da aba "RDM" está localizada em T1 (conforme mencionado nos resultados esperados).

    Implementação no Google Apps Script:

    1. Abra o Editor de Script:
      • Abra a planilha "GPS".
      • Clique em "Extensões" no menu superior.
      • Selecione "Apps Script".
    2. Cole o seguinte código no editor:

    JavaScript

    function onOpen() {

      SpreadsheetApp.getUi()

          .createMenu('Eventos RDM')

          .addItem('Abriu RDM', 'abrirRDM')

          .addToUi();

    }

     

    function abrirRDM() {

      var ss = SpreadsheetApp.getActiveSpreadsheet();

      var abaGPS = ss.getSheetByName("GPS");

      var abaRDM = ss.getSheetByName("RDM");

      var estadoRDM = abaRDM.getRange("T1").getValue();

     

      // Verificar se o estado atual da aba RDM é "RDM Fechada" (pré-condição)

      if (estadoRDM !== "RDM Fechada") {

        SpreadsheetApp.getUi().alert('A aba RDM não está no estado "RDM Fechada". A ação não pode ser executada.');

        return;

      }

     

      // **Implementação da regra R02 (Backup - Verificação pelo Usuário)**

      // Não é possível automatizar completamente a verificação manual do backup

      // com o Google Apps Script dentro deste fluxo. A responsabilidade da

      // verificação prévia é do usuário, conforme descrito.

     

      var ui = SpreadsheetApp.getUi();

      var respostaBackup = ui.prompt(

          'Backup Diário',

          'Você verificou se o backup da planilha GPS do dia anterior foi criado (se aplicável)?',

          ui.ButtonSet.YES_NO

      );

     

      if (respostaBackup.getSelectedButton() == ui.Button.NO) {

        ui.alert('A ação "Abriu RDM" foi cancelada. Por favor, verifique o backup e tente novamente.');

        return;

      }

     

      // **Ação "Inicializar RDM"**

     

      // Zerar células D5 a H14 (Fases do GPS - EXECUTADO)

      abaRDM.getRange("D5:H14").clearContent();

     

      // Zerar meta em quantidade de pontos (D4 a H4)

      abaRDM.getRange("D4:H4").clearContent();

     

      // Registrar a data atual em A2 (PLANEJADO)

      var dataAtual = new Date();

      abaRDM.getRange("A2").setValue(dataAtual);

      // Se a célula B2 também precisa ser preenchida com a mesma data:

      abaRDM.getRange("B2").setValue(dataAtual);

     

      // Atualizar o estado da aba RDM para "RDM Inicializada" (Regra R35)

      abaRDM.getRange("T1").setValue("RDM Inicializada");

     

      // Apresentar menu de opções (simulado com um alerta simples)

      SpreadsheetApp.getUi().alert('RDM Inicializada! As células de execução foram zeradas e a data de hoje foi registrada. Você pode agora interagir com a aba RDM.');

    }

    1. Salve o script: Clique no ícone de disco para salvar o script. Dê um nome a ele, por exemplo, "RDM_Automacao".
    2. Atualize a planilha: Recarregue a planilha "GPS". Uma nova aba chamada "Eventos RDM" deve aparecer no menu superior.

    Como Funciona:

    • onOpen(): Esta função é executada automaticamente sempre que a planilha é aberta. Ela cria um menu personalizado chamado "Eventos RDM" e adiciona um item de menu chamado "Abriu RDM" que, quando clicado, executa a função abrirRDM().
    • abrirRDM():
      • Obtém referências para a planilha ativa e as abas "GPS" e "RDM".
      • Lê o valor da célula T1 (estado da RDM).
      • Verifica o estado: Se o estado não for "RDM Fechada", exibe um alerta e interrompe a execução.
      • Solicita confirmação do backup: Exibe um diálogo para o usuário confirmar se o backup foi realizado (simulando a verificação manual).
      • Zera os dados: Limpa o conteúdo das células D5:H14 e D4:H4 na aba "RDM".
      • Registra a data: Insere a data atual na célula A2 (e B2, se necessário).
      • Atualiza o estado: Define o valor da célula T1 para "RDM Inicializada".
      • Apresenta um alerta: Simula a apresentação de um menu de opções com um alerta simples.

    Limitações e Considerações:

    • Verificação do Backup (R02): A verificação do backup é deixada para o usuário, pois o Google Apps Script dentro deste fluxo não tem acesso direto ao sistema de arquivos para verificar a existência de backups. A implementação aqui solicita a confirmação do usuário.
    • Menu de Opções: A apresentação do menu de opções para o usuário após a inicialização é simulada com um alerta. Uma implementação mais avançada poderia envolver a criação de sidebars ou dialogs personalizados no Google Sheets para uma interação mais rica.
    • Estado "Após Início": O script assume que o evento "Abriu RDM" só deve ser disparado quando o aplicativo (a planilha, neste caso) está em um estado onde faz sentido inicializar a RDM. Não há uma verificação explícita do estado "Após início" do "app" neste script, pois isso dependeria de como o "app" e seus estados são modelados na planilha. Você pode adicionar essa verificação se necessário, com base em alguma célula específica na planilha "GPS".
    • Regras R02 e R35: A regra R35 (atualização do estado) é implementada diretamente. A regra R02 (backup) é tratada como uma etapa de verificação pelo usuário devido às limitações de acesso ao sistema de arquivos.

    Esta implementação fornece uma base para o evento "Abriu RDM" usando as ferramentas do Google. Você pode expandir e refinar este script conforme as necessidades específicas do seu "app" e fluxo de trabalho.

    CONCLUSÃO

    Neste episódio 2, da temporada 4 da série "Do Caos ao Prompt", foi apresentada a implementação do Evento "Abriu RDM", realizada pelo Chatbot de IA Gemini 2.0 Flash.

    As especificações do evento foram feitas em Finite State Machine (FSM).

    Fiz dois comandos para obter o resultado esperado.

    Onde foi que eu errei?

    Faltou clareza no comando, pois eu não disse que queria a implementação, apenas escrevi a especificação do evento.

    Segue abaixo o post da temporada 3, que deu origem a este:

    Do Caos ao Prompt T3E02: Estrutura do Agente AG2P - Diálogo 1 Evento "Abriu RDM" dispara Ação "Inicializar RDM"

    Próximo post: Do Caos ao Prompt T4E03: Desenvolvimento do App AG2P – Evento "Recebeu lista de tarefas a fazer"

    Veja a lista de Episódios da Temporada 4 da Série "Do Caos ao Prompt", no final do Episódio T4E01.



    Nenhum comentário:

    Postar um comentário

    Entendendo a Metáfora "Home Office é Moto Boy"

    UCEM L-pI.219 (199) Revisão VI - Caso de uso da IA para estudar

      Lição 219  Eu não sou um corpo. Eu sou livre.  Pois ainda sou como Deus me criou. Lição anterior Escolher outra lição Próxima lição Texto ...