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"

    Dashboard de Produtividade Pessoal T1E14: RESOLVIDO BugCT1-5 Erro 400 no login

    INTRODUÇÃO Post anterior:  Dashboard de Produtividade Pessoal T1E13: BugCT1-5 Erro 400 no login O objetivo deste post é apresentar um prompt...