Categorias
Auditoria Tecnologia da Informação

Auditoria de TI na prática: primeiros passos

Auditoria de TI é uma das linhas de defesa voltada para a avaliação de riscos e controles (ITGC) que envolvem tecnologia da Informação (GTAG-1), segurança da Informação e uso de dados pessoais na Auditoria Interna.

Auditar o ITGC (Information Technology General Controls) é um dos primeiros aprendizados do auditor com formação em TI.

ITGC

ITGC é sigla em inglês para o conjunto de Controles Gerais de Tecnologia da Informação. O ITGC é dividido em 4 grupos:

Access to Program and Data

Acesso a Programas e Dados geralmente considera os seguintes itens:

  • Políticas e procedimentos;
  • Revisões periódicas de acessos;
  • Parâmetros de senha;
  • Contas de acessos privilegiados (root, superuser);
  • Acesso físico;
  • Segregação de funções de acesso;
  • Criptografia;
  • Autenticação de sistemas;
  • Logs de auditoria;
  • Segurança de rede.

Program Changes and Development

Programa de Mudanças ou gestão de mudanças e desenvolvimento envolve os seguintes temas:

  • Políticas e Procedimentos;
  • Metodologia de desenvolvimento de sistemas;
  • Migração entre ambientes e segregação de funções (desenvolvimento, homologação e produção);
  • Configuração de mudanças;
  • Mudanças emergenciais;
  • Migração de dados e controle de versões;
  • Pós implementação: testes e revisão.

Computer Operations

Operação de Computadores abrange atividades cotidianas como:

  • Processamento Batch;
  • Monitoramento de jobs;
  • Procedimentos de cópia de segurança (backup) e recuperação (recovery) de dados;
  • Mudanças no agendamento de jobs batch;
  • Controles de ambiente (temperatura, fumaça, inundação);
  • Plano de Recuperação de Desastres (DRP);
  • Plano de Continuidade de Negócio (BCP);
  • Gerenciamento de atualizações.

GTAG

Como complemento ao ITGC, o GTAG (Global Technology Audit Guide) é um guia de boas práticas para auditar TI. Este guia foi desenvolvido pelo Instituto de Auditores Internos (IIA).

  • GTAG 1: Information Technology Controls
  • GTAG 2: Change and Patch Management Controls: Critical for Organizational Success
  • GTAG 3: Continuous Auditing: Implications for Assurance, Monitoring, and Risk Assessment
  • GTAG 4: Management of IT Auditing
  • GTAG 5: Managing and Auditing Privacy Risks
  • GTAG 6: Managing and Auditing IT Vulnerabilities
  • GTAG 7: Information Technology Outsourcing
  • GTAG 8: Auditing Application Controls
  • GTAG 9: Identity and Access Management
  • GTAG 10: Business Continuity Management
  • GTAG 11: Developing the IT Audit Plan
  • GTAG 12: Auditing IT Projects
  • GTAG 13: Fraud Prevention and Detection in the Automated World
  • GTAG 14: Auditing User-developed Applications
  • GTAG 15: Formerly Information Security Governance–Removed and combined with GTAG 17
  • GTAG 16: Data Analysis Technologies
  • GTAG 17: Auditing IT Governance

Gestão de Acessos Lógicos

A gestão de acessos lógicos é a célula responsável por conceder, bloquear e revogar acessos lógicos. Estes acessos podem ser à sistemas (AD, aplicações, bancos de dados), infraestrutura (pastas de rede, firewall, VPN) ou hardware (usb, impressoras, servidores, data centers).

Auditar este processo (GTAG-9) envolve verificar:

  • Há exigência de senhas fortes (tamanho mínimo, caracteres especiais, letras e números, caracteres especiais)?
  • Na troca, as senhas anteriores podem ser reutilizadas?
  • Há expiração por tempo de uso?
  • Há bloqueio por tentativas incorretas e consecutivas?
  • As senhas são armazenadas com criptografia?
  • Há senhas compartilhadas?
  • Há usuários genéricos, sem responsável ou sem senha definida?
  • Os acessos são revisados periodicamente?
  • Movimentações e desligamentos são comunicados para revogação ou adequação de acessos?

Existem companhias que centralizam a Gestão de Acessos em um departamento de Segurança da Informação.

Segurança da Informação

ISO27000 é talvez um dos principais guias na condução de trabalhos que avaliem riscos de segurança da informação.

Geralmente são avaliados os seguintes temas: gestão de acessos de software e rede, atualizações de segurança, atualização de antivírus, regras de firewall, acesso remoto (VPN – Virtual Private Network), gestão de incidentes de segurança, prevenção de vazamento de informações (DLP – Data Loss Prevention), uso de dispositivos móveis, mídias removíveis, proteção contra hackers e ciber ataques. (GTAG-15).

A segurança dos dados pessoais é especialmente importante com a implantação da nova lei de proteção de dados pessoais – LGPD. Os dados de uma empresa podem conter inúmeras informações pessoais. A proteção destes dados exige criptografia, armazenamento seguro, anonimizar dados pessoais completos e novos cuidados na coleta de dados web.

Desenvolvimento de Software

Avaliar o SDLC (Software Development Life Cycle) envolve o controle de versões, armazenamento seguro de código fonte, uso seguro de bibliotecas e API’s. (GTAG-8)

Operação

Avaliar os riscos e controles que garantem o funcionamento do negócio. Como garantir que os dados estejam disponíveis, acessíveis e íntegros?

Quando algo deixa de funcionar, como são os processos de Suporte, solução de Incidentes e Problemas?

Propriedade e Uso de Software

Existem controles de Licenciamento de software? Há uso de software livre (open source) e shadown IT (GTAG-14)?

Projetos e Terceirização

Há gestão de projetos que permita o acompanhamento do uso de recursos, qualidade das entregas, cumprimento de cronograma? (GTAG-12)

Há projetos terceirizados? Existe risco trabalhista? Conflito de interesses? (GTAG-7)

Os terceiros têm acesso a dados desnecessários, sensíveis, sigilosos ou estratégicos? (GTAG-5)

Continuidade

O programa de Continuidade ou BCM (Business Continuity Management) contém uma série de documentos e atividades para garantir a retomada de sistemas críticos. (GTAG-10)

DRP (Disaster Recovery Plan) é o plano de recuperação de desastres.

No caso de um evento negativo que interrompa as atividades da Companhia, o DRP indica as ações que devem ser tomadas para a retomada dos serviços e quem são os responsáveis por cada uma delas.

Governança

Cada vez mais comum nos departamentos de TI, a área de governança de TI participa e auxilia na primeira linha de defesa de riscos e controles.

Algumas das atividades podem ser: gestão de SLA (Service Level Agreement), acompanhamento de indicadores, orçamento, gestão de fornecedores, mudanças, incidentes, problemas e etc (GTAG-2).

Curso de auditoria de TI

Em geral, não há muitas opções de curso de auditoria de tecnologia da informação. Há pós-graduações, matérias em alguns cursos de graduação, certificações profissionais, mas poucos cursos de base profissionalizante.

Como começar na auditoria de TI?

Normalmente, o profissional inicia a sua carreira em um processo de trainee em uma Big 4. Estão neste grupo as 4 maiores empresas de Consultoria ou Auditoria Externa. São elas: Deloitte, E&Y, KPMG e PwC.

Auditoria Contínua de TI

Quando o teste de riscos e controles é realizado de forma automatizada e periódica chamamos a atividade de Auditoria Contínua (GTAG-3). O ACL Analytics é uma das principais ferramentas de Auditoria Interna. Leia mais aqui.

Referências sobre Auditoria de TI

COBIT, Isaca

ITIL, Axelos

ISO/IEC, ABNT

GTAG, IIA

Categorias
ACL Analytics Auditoria Big Data Compliance Data Analytics Data Science Estatística Inteligência Artificial Python R RPA SAP Segurança da Informação Tecnologia da Informação

Auditoria Contínua e Data Analytics na Auditoria Interna

Auditoria Contínua ou Monitoramento Contínuo de Riscos é um tema relativamente recente para profissionais de auditoria interna, governança corporativa e análise de dados.

Assim sendo, o assunto é pertinente em qualquer uma das linhas de defesa (Gestão, Auditoria Interna, Auditoria Externa, Gerenciamento de Riscos, Controles Internos, Compliance, Prevenção de Fraudes, etc.).

O que é Auditoria Contínua?

A metodologia de auditoria interna já é muito bem consolidada:

  • Mapeamento de processo e controle interno;
  • Criação do mapa de risco;
  • Análise de probabilidade e impacto;
  • Programa de testes para auditar;
  • Documentação dos papéis de trabalho;
  • Emissão de relatório ou parecer.

Auditoria Contínua é o processo de criação de rotinas automatizadas e periódicas de análise de dados e monitoramento contínuo. Gatilhos e critérios são pré-definidos em scripts (código-fonte/programação) para identificar exceções ou outliers (situações não usuais). São “robôs” que utilizam sistemas e ferramentas de análise de dados. Os robôs auxiliam na identificação de riscos, prevenção de fraudes, avaliação da segurança da informação, auditoria preventiva e testes de conformidade.

Uma atividade estreitamente relacionada aos auditores de TI, a Auditoria Contínua, ou Monitoramento Contínuo, provavelmente iniciou-se com as técnicas de auditoria com auxílio de sistemas, mais conhecidas como CAATs (Computer-Assisted Audit Techniques).

Monitoramento Contínuo

Usando ferramentas de análise de dados, como ACL (Audit Command Language) – agora chamado de Galvanize ACL Analytics, este profissional, aplica os conhecimentos de auditoria com o auxílio da ferramenta.

Consistindo relatórios, sumarizando campos, relacionando bases de diferentes sistemas, e criando amostras aleatórias com facilidade.

Há ainda outras ferramentas de análise de dados como Arbutus, SAS, IDEA e até mesmo o SQL Server pode ser utilizado com esta finalidade.

Transformando essas análises em scripts ACL, pode-se criar rotinas automatizadas de:

  • Monitoramento contínuo de riscos inerentes ao processo;
  • Testes de controles;
  • Simulação de controles;
  • Identificação e prevenção de fraude;
  • Gerar alertas de eventos ou comportamentos não usuais de acordo com o objetivo da auditoria.

Estes podem estar relacionados à segurança da informação, controle efetivo de inventário, quebra de alçada, pagamentos duplicados ou suspeitos e etc..

A automatização traz muitos benefícios:

  • Otimizar o plano de auditoria;
  • Implantar uma metodologia ágil;
  • Ganhar eficiência;
  • Evitar o retrabalho;
  • Reduzir custos;
  • Ampliar o escopo;
  • Novos métodos de visualização do parecer de auditoria;
  • Execução recorrente;
  • Análise em larga escala;
  • Alinhar interesses da auditoria e das áreas de negócios;
  • Fazer mais com menos.

Segurança dos Dados

Com alguns acessos de leitura ao AD (Active Directory) e relatórios gerenciais em ferramentas como o SCCM (System Center Configuration Manager), testes típicos de ITGC (Information Technology General Controls) podem ser realizados à distância e em tempo real sem a dependência da área de TI.

O monitoramento de transações críticas através de logs de acesso, revisão de perfis e funções pode ser facilmente avaliado comparando os dados eletrônicos e identificando situações em desacordo com as políticas e procedimentos da organização.

Auditoria Contábil

Escandalos recentes de corrupção e lavagem de dinheiro no Brasil demonstraram a importância de fortalecer a Governança Corporativa. Ficou evidente que o combate corrupção está intimamente ligado à identificação da “Contabilidade Criativa”. Movimentações atípicas reportadas pelo antigo COAF demonstraram a efetividade inegável de seguir “a rota do dinheiro do dinheiro sujo”.

A auditoria contabil, antes baseada em amostras aleatórias, evidências fornecidas pelo contador e testes de journal entries. Agora pode ser realizada de forma automática para a base completa com o cruzamento de dados. Isso amplia a cobertura de Riscos analisados.

Mapeando-se os processos, contas contábeis, tipos de documentos e comportamentos esperados podem-se identificar outliers: valores inconsistentes, atípicos, incompatíveis com o restante da série.

A análise de dados é facilitada quando a companhia utiliza dados estruturados em um sistema de ERP (Enterprise Resource Planning) como por exemplo o SAP. Neste tipo de sistema, há transações standard para cada processo, e as informações podem ser acessadas e extraídas diretamente na transação.

O ganho de eficiência vêm com conhecimento das tabelas internas do SAP. Pode-se extrair grandes volumes de dados de uma vez. Utilizamos a transação SE16, conectores ou transações ABAP.

Inovação na Auditoria Interna

A inovação é peça chave neste tipo de atividade, e está cada vez mais relacionada às tendências da área de TI: RPA, BI, Big Data, Data Science. Novos cenários se apresentam ao auditor:

  • Cloud Computing;
  • Gamificação;
  • Aplicativos mobile;
  • Internet das Coisas (IOT);
  • Trabalho remoto;
  • BYOD (Bring Your Own Device);
  • Metodologias ágeis e etc.

Exige-se portanto uma visão disruptiva do profissional para novos riscos, novos tipos de auditoria e novas possibilidades de auditar.

Automatização e RPA

O RPA (Robot Process Automation) vêm se destacando no mercado como solução de ganho de eficiência. No RPA, um robô é programado para executar tarefas sequenciais e repetitivas.

Quando associado à Inteligência Artificial, permite ainda a execução de atividades mais sofisticadas com um alto grau de precisão e aprimoramento contínuo.

Os humanos ficam liberados para atividades mais complexas, subjetivas, que exijam planejamento, estratégia e julgamento como conduta e integridade na prevenção de fraudes.

Data Science e Big Data

As Companhias estão estruturando planos de Transformação Digital, e temas como ciência de dados, data warehouse, data lake e os 3 V´s do Big Data já são corriqueiros.

O cientista de dados já um profissional cobiçado no mercado, embora o tema ainda seja bastante novo e esteja em constante aprimoramento.

As empresas de auditoria interna, consultoria, auditoria externa, faculdades, os profissionais – todos querem surfar esta onda cheia de jargões de análise de dados.

Resta ao profissional de gestão de riscos corporativos que deseja acompanhar estas inovações buscar a atualização de conhecimentos. Procure fortalecer a base teórica em matemática, especialmente estatística, desenvolver habilidades de programação e análise de dados.

Um bom começo pode ser o ACL ou ferramenta semelhante de análise de dados. Depois, cabe conhecer a linguagem R, Python e acompanhar os impactos da Inteligência Artificial e Robotização nos processos da Companhia.

Referências sobre Auditoria Contínua

Ficando Um Passo À Frente O Uso da Tecnologia por parte da Auditoria Interna (IIA/Michael P. Cangemi, 2015)

Auditoria Interna no Brasil

Categorias
CODEX GPT IA

Vibe Coding: o que aprendi depois de criar 3 aplicativos

Vibe Coding: o que aprendi depois de criar 3 aplicativos

Sou curioso por natureza e autodidata por escolha. Gosto de explorar tecnologias, experimentar ferramentas e descobrir como a inteligência artificial pode resolver problemas reais. Nos últimos meses, tenho dedicado parte do meu tempo a testar soluções de IA, especialmente o GPT Codex, transformando necessidades pessoais em aplicativos e, principalmente, aprendendo muito durante o processo.

O que é Vibe Coding e por que resolvi experimentar?

O termo Vibe Coding ganhou popularidade para descrever uma forma de desenvolver software utilizando inteligência artificial, na qual descrevemos em linguagem natural o que queremos construir e deixamos que a IA gere boa parte do código.

Em outras palavras, em vez de escrever cada linha de programação, posso explicar o problema, descrever uma funcionalidade e pedir à inteligência artificial que implemente a solução.

Parece simples, certo?

Na teoria, basta conversar com a IA. Na prática, descobri que existe uma diferença enorme entre pedir que a IA crie um aplicativo e conseguir desenvolver um aplicativo que realmente funcione.

Minha experiência profissional com tecnologia, análise de dados e auditoria interna certamente ajudou. Estou acostumado a entender processos, identificar problemas, estabelecer regras e testar resultados.

Mas o Vibe Coding me colocou diante de desafios diferentes e trouxe uma oportunidade interessante: utilizar a IA não apenas para desenvolver soluções, mas também para aprender enquanto desenvolvo.

Os 3 aplicativos que desenvolvi utilizando inteligência artificial

Não comecei procurando uma grande ideia de negócio ou tentando criar o próximo aplicativo revolucionário.

Comecei com problemas do meu cotidiano.

1. Neurodiário: organizando pensamentos, tarefas e rotinas

O primeiro projeto foi o Neurodiário, um aplicativo que criei para organizar diferentes aspectos da minha rotina.

Eu queria uma solução que reunisse tarefas, compromissos, pensamentos, emoções, qualidade do sono e outras informações importantes em um único lugar.

O desafio era transformar necessidades bastante pessoais em funcionalidades organizadas, intuitivas e realmente úteis.

Com o auxílio do GPT Codex, desenvolvi um aplicativo desktop com registros, acompanhamento de atividades, lembretes e relatórios.

Durante o desenvolvimento, precisei aprender a especificar regras, corrigir comportamentos inesperados e validar o funcionamento das funcionalidades.

Principal aprendizado: antes de pedir para a IA programar, preciso entender exatamente o problema que desejo resolver.

Contei mais detalhes dessa experiência no artigo Criei um aplicativo com o GPT Codex: do zero ao Neurodiário.

2. SecondBrain: transformando áudios em conhecimento organizado

O segundo projeto nasceu de outra necessidade: registrar ideias sem depender da minha memória.

Frequentemente tenho pensamentos, ideias para projetos ou informações que gostaria de guardar para consultar posteriormente.

Foi assim que surgiu o SecondBrain, um aplicativo para gravar áudios, transformar gravações em texto e organizar as transcrições em arquivos Markdown.

A proposta também inclui pesquisar o conteúdo dos registros e permitir que eu consulte e edite minhas anotações.

O principal desafio foi conectar diferentes funcionalidades em um fluxo simples: gravar, transcrever, armazenar, encontrar e reutilizar informações.

Também passei a explorar possibilidades de integração com modelos de linguagem locais, utilizando ferramentas como o Ollama para resumir e interpretar conteúdos.

Esse interesse por IA local não surgiu agora. Já explorei o assunto no artigo Como utilizar modelos LLM como o Llama 3 na auditoria.

Principal aprendizado: um aplicativo não precisa fazer tudo. Precisa executar bem aquilo que realmente importa. Funcionalidades adicionais podem ser incorporadas gradualmente.

3. Controle financeiro pessoal: tornando informações mais fáceis de analisar

O terceiro projeto explorou uma necessidade bastante comum: organizar informações financeiras.

A ideia era reunir dados de cartões de crédito, compras, faturas e compromissos financeiros em uma solução que facilitasse o acompanhamento dos valores e a visualização das informações.

O desafio não estava apenas na interface. Era necessário transformar dados e regras de cálculo em resultados consistentes e fáceis de interpretar.

Nesse projeto, explorei uma abordagem mais simples, com tecnologias web e recursos de visualização.

Principal aprendizado: nem todo problema exige uma arquitetura sofisticada. Muitas vezes, uma solução pequena e objetiva entrega mais valor do que um aplicativo repleto de funcionalidades.

O maior desafio do Vibe Coding não foi programar

Uma das primeiras coisas que percebi é que a IA consegue gerar código rapidamente. O problema começa quando precisamos manter tudo funcionando depois de várias alterações.

Uma mudança aparentemente simples pode afetar outra funcionalidade. Uma correção pode introduzir um novo erro. E um pedido mal formulado pode fazer a IA alterar arquivos que não precisavam ser modificados.

Passei a entender que o verdadeiro desafio envolve três atividades:

Saber o que pedir, compreender o que foi entregue e validar se o resultado atende à necessidade.

A IA acelera a execução, mas não elimina a necessidade de planejamento, pensamento crítico e testes.

Também percebi que tentar desenvolver muitas funcionalidades simultaneamente aumenta a complexidade e dificulta a identificação de problemas.

Foi nesse momento que comecei a mudar minha abordagem.

Minha estratégia: usar o próprio GPT para planejar o trabalho do Codex

Aqui está uma das descobertas mais interessantes dessa experiência.

Em vez de simplesmente abrir o Codex e começar a solicitar funcionalidades, passei a utilizar o próprio ChatGPT para criar prompts estruturados, encadeados e organizados logicamente.

A ideia era transformar um projeto relativamente complexo em pequenas etapas de implementação.

Por exemplo, eu pedia ao GPT que analisasse os requisitos do aplicativo e elaborasse uma sequência de prompts considerando:

  1. Planejamento inicial: identificar funcionalidades essenciais, dependências e decisões de arquitetura.
  2. Implementação progressiva: dividir o desenvolvimento em partes pequenas, executáveis e logicamente conectadas.
  3. Economia de recursos: escolher modelos adequados, reduzir o consumo de tokens e evitar processamento desnecessário.
  4. Preservação do projeto: impedir alterações em arquivos e funcionalidades que não fazem parte da tarefa atual.
  5. Testes e validação: definir critérios de aceite e executar verificações proporcionais ao que foi modificado.

Também passei a incluir instruções explícitas para não compilar o aplicativo após cada pequena alteração, não repetir tarefas já concluídas e não investigar novamente questões que já estavam resolvidas.

Isso não significa deixar de testar o software. Significa concentrar os testes e compilações nos momentos apropriados, sem prejudicar a qualidade.

Outra orientação importante era solicitar que o Codex examinasse apenas os arquivos relevantes para a tarefa, sempre que possível.

O resultado foi uma abordagem mais organizada, com menos retrabalho e maior controle sobre o desenvolvimento.

Na prática, comecei a tratar o ChatGPT como um parceiro de planejamento e o Codex como uma ferramenta de implementação, mantendo para mim as decisões e a validação final.

Entendendo os limites do Codex: 5 horas, 7 dias e consumo de tokens

Quem utiliza o GPT Codex com frequência provavelmente já encontrou alguma restrição de uso.

Dependendo do plano, existem duas janelas importantes: 5 horas e 7 dias.

É importante compreender que isso não significa ter apenas cinco horas para programar ou sete dias para concluir um aplicativo.

São períodos utilizados para contabilizar e renovar as franquias de uso.

  • Janela de 5 horas: controla o consumo permitido durante um período mais curto.
  • Janela de 7 dias: estabelece uma limitação adicional sobre o uso ao longo da semana.

Quando as duas restrições se aplicam, preciso ter saldo disponível em ambas.

O consumo também não corresponde necessariamente a um número fixo de mensagens.

Uma tarefa complexa, que exige análise de muitos arquivos, execução de ferramentas e raciocínio aprofundado, pode consumir mais recursos do que várias alterações simples.

Foi por isso que comecei a prestar mais atenção aos tokens, unidades utilizadas pelos modelos para processar e gerar informações.

Prompts, respostas, arquivos analisados, histórico da conversa e resultados de ferramentas podem influenciar esse consumo.

Passei a perceber que economizar tokens não significa escrever instruções vagas ou curtas demais.

Significa fornecer o contexto necessário, evitar informações irrelevantes e delimitar claramente o resultado esperado.

Para conferir as regras vigentes, utilizo a documentação oficial de uso do Codex.

Escolher o modelo certo faz diferença

Outro aprendizado importante foi perceber que utilizar sempre o modelo mais poderoso não é necessariamente a melhor decisão.

Os modelos disponíveis no Codex apresentam diferenças de capacidade, velocidade e consumo de recursos.

Passei a considerar a complexidade de cada tarefa antes de selecionar um modelo.

Para pequenas alterações visuais, ajustes de textos ou mudanças pontuais, modelos mais leves podem ser suficientes.

Para implementar funcionalidades, integrar componentes e resolver problemas moderadamente complexos, prefiro modelos que ofereçam equilíbrio entre capacidade e eficiência.

Já para investigar erros difíceis, revisar decisões de arquitetura ou resolver problemas que envolvem várias partes do sistema, considero modelos com maior capacidade de raciocínio.

A complexidade de pensamento também importa

Além do modelo, o Codex permite configurar, quando disponível, diferentes níveis de esforço de raciocínio.

De maneira simplificada:

Raciocínio baixo: tarefas simples e bem delimitadas.

Raciocínio médio: implementação de funcionalidades e resolução de problemas que exigem alguma análise.

Raciocínio alto: desafios complexos, decisões arquiteturais e investigações mais profundas.

Aprendi que aumentar o nível de raciocínio indiscriminadamente não garante resultados melhores.

Em alguns casos, um modelo avançado com menor esforço de raciocínio pode resolver a tarefa com mais eficiência do que outra combinação aparentemente mais sofisticada.

A lógica que procuro aplicar é simples: usar a capacidade necessária para cada problema, sem desperdiçar recursos.

Cinco lições que levo para os próximos projetos

Depois dessas experiências, algumas conclusões ficaram bastante claras.

1. Começar pequeno aumenta as chances de sucesso. Prefiro desenvolver uma primeira versão funcional e depois acrescentar recursos, em vez de tentar construir tudo de uma vez.

2. Um bom prompt economiza muito mais do que tokens. Instruções claras ajudam a reduzir interpretações incorretas, retrabalho e correções desnecessárias.

3. A inteligência artificial também pode ser uma excelente professora. Quando encontro uma dificuldade, procuro entender sua causa e aprender com a solução, em vez de simplesmente aceitar o código gerado.

4. Testar continua sendo indispensável. O fato de a IA afirmar que uma funcionalidade está pronta não significa que ela realmente funcione como esperado.

5. Saber formular problemas é uma competência cada vez mais valiosa. Conhecer a necessidade, estabelecer regras e avaliar resultados faz diferença, independentemente da linguagem de programação utilizada.

O que o Vibe Coding tem a ver com minha atuação profissional?

Embora esses aplicativos tenham surgido de necessidades pessoais, vejo uma conexão muito clara com minha atuação em auditoria interna, análise de dados, automação e inteligência artificial.

No meu trabalho, utilizo tecnologia para identificar padrões, compreender desvios, automatizar atividades e transformar informações em resultados úteis.

No desenvolvimento desses aplicativos, apliquei essencialmente o mesmo raciocínio: identificar um problema, compreender suas causas, estruturar uma solução, testar e melhorar.

Essa abordagem também está presente em meus artigos sobre Auditoria Contínua e Data Analytics e mapeamento de padrões, desvios e causa raiz.

A grande diferença é que agora consigo experimentar ideias e desenvolver protótipos com muito mais autonomia.

Também valorizo cada vez mais o controle sobre o que foi alterado, a rastreabilidade das decisões e a preservação de versões estáveis, princípios que apresentei no artigo Git: Controle de Versões.

Não vejo a IA como substituta do conhecimento, mas como uma ferramenta para ampliar minha capacidade de aprender, experimentar e resolver problemas.

Conclusão: mais importante do que criar aplicativos é aprender a resolver problemas

Quando comecei a experimentar o Vibe Coding, meu objetivo era construir aplicativos que facilitassem minha rotina.

Acabei descobrindo algo ainda mais interessante.

Cada projeto me apresentou desafios que eu não conhecia, conceitos que precisei estudar e problemas que tive de aprender a resolver.

O GPT Codex facilitou o desenvolvimento, mas o maior ganho foi perceber como a combinação entre curiosidade, pensamento crítico, aprendizado contínuo e inteligência artificial pode transformar uma ideia em algo concreto.

Não preciso dominar previamente todas as tecnologias envolvidas para começar a experimentar. Preciso, porém, compreender o problema, fazer boas perguntas e manter uma postura crítica diante das respostas.

E é justamente isso que mais me motiva: não apenas utilizar a tecnologia, mas descobrir novas maneiras de aplicá-la para resolver desafios reais.

Continuo explorando novas ferramentas, modelos de IA e possibilidades de automação. E, a cada aplicativo, aprendo algo que levo para o próximo projeto.

E você? Que problema do seu cotidiano gostaria de resolver criando seu próprio aplicativo com inteligência artificial?

Se você também gosta de tecnologia, inovação, inteligência artificial e análise de dados, conecte-se comigo no LinkedIn. Será interessante trocar experiências e acompanhar o que estamos aprendendo.

Aproveite também para explorar outros artigos do Audit Insight, onde compartilho experiências e conteúdos sobre auditoria, automação, Data Analytics e inteligência artificial.

Até o próximo experimento!

Categorias
CODEX GPT IA

Criei um aplicativo com o GPT Codex – do zero ao Neurodiário

Por que decidi criar o Neurodiário

Criei um aplicativo no GPT Codex para resolver uma necessidade pessoal: organizar tarefas, acompanhar minha rotina e registrar informações que poderiam ajudar nas consultas. Dei a ele o nome de Neurodiário. Como profissional de auditoria interna e auditoria contínua, estou acostumado a transformar dados em informações úteis. Dessa vez, levei essa lógica para um projeto pessoal e explorei, na prática, o desenvolvimento de aplicativos com inteligência artificial.

Meu objetivo inicial era construir um aplicativo desktop para apoiar a organização e o automonitoramento no contexto do TDAH e das altas habilidades/superdotação. Queria acompanhar prazos, recorrências, pensamentos, emoções e sono sem depender apenas da memória. A necessidade ia além de cadastrar uma tarefa: eu queria saber o que estava previsto, o que havia sido realizado e o que precisava de atenção. Também queria reunir registros para conversar com psicólogo e psiquiatra.

Eu já havia abordado a criação de soluções pelas áreas de negócio no artigo Power Apps: crie aplicativos a partir dos dados. Com o Neurodiário, explorei outra possibilidade: descrever requisitos em linguagem natural e contar com o Codex para desenvolver o código. Meu conhecimento de lógica, dados e processos continuou sendo útil, principalmente para explicar o resultado esperado e avaliar se a solução atendia à necessidade.

As funções que implementei no aplicativo

No Neurodiário, implementei o registro de tarefas, o acompanhamento de rotinas e consultas, o controle de medicamentos, lembretes e um cronômetro Pomodoro para organizar períodos de foco. Também incluí registros de pensamentos, sono, emoções e consumo de álcool. Reuni essas funções em um mesmo aplicativo para acompanhar diferentes aspectos do cotidiano e consultar o histórico quando necessário.

Adotei uma aplicação local, com Tauri 2, React, TypeScript, Rust e SQLite. Em termos práticos, construí um programa para o computador, com interface visual e banco de dados local, sem exigir conta, nuvem ou telemetria no MVP. Minha intenção era manter o funcionamento cotidiano independente de um serviço online. Essa decisão também me fez considerar a responsabilidade de cuidar do computador e dos dados armazenados nele.

Incluí relatórios para reunir informações registradas e apoiar a conversa com profissionais de saúde. No acompanhamento das rotinas, passei a ter indicadores de atividades concluídas no horário, realizadas com atraso ou não realizadas. Vejo uma aproximação com o raciocínio que apresentei em Auditoria Contínua: mapeando padrões, desvios e causa raiz: organizar registros ajuda a formular perguntas melhores. No Neurodiário, porém, trato os dados como apoio à reflexão, sem atribuir ao aplicativo a função de diagnosticar ou recomendar tratamentos.

Prompts e aprendizados ao desenvolver com o Codex

Para organizar o desenvolvimento, preparei um roteiro dividido em etapas. Um dos trechos desse roteiro dizia: “Antes de editar, inspecione o repositório e apresente um plano curto. Preserve decisões existentes e não reescreva módulos sem necessidade.” Esse exemplo resume uma orientação que considero essencial: dar contexto, definir o alcance da mudança e preservar o que já foi construído. Reproduzo aqui trechos do roteiro, sem tratá-los como uma transcrição completa das sessões de desenvolvimento.

Outro trecho orientava: “Implemente a menor fatia vertical completa.” Entendo isso como desenvolver uma função pequena, mas utilizável de ponta a ponta. No cadastro de uma tarefa, por exemplo, eu preciso conseguir preencher, salvar e consultar o registro. Para correções, o roteiro também trazia: “Explique a causa raiz mais provável, confirme-a inspecionando os arquivos relevantes e aplique a menor correção segura.” Assim, consigo direcionar a investigação para um problema definido.

Também deixei explícito no roteiro o que esperava ao final de cada etapa: arquivos alterados, decisões, comandos executados, resultados dos testes, limitações e um roteiro de teste manual. Para mim, essa organização tem relação direta com a padronização de scripts que expliquei no artigo ACL Analytics: como criar um script padrão, publicado no LinkedIn. Preciso compreender o que foi feito e ter condições de verificar o resultado.

Meu principal aprendizado foi perceber o quanto a qualidade da especificação influencia o desenvolvimento. Pedir uma tela é diferente de explicar seus campos, regras, validações e comportamento esperado. Também considero essencial preservar versões estáveis e revisar as alterações, assunto que apresentei em Git: controle de versões. Vejo no Codex uma forma de acelerar a implementação, mas continuo responsável por decidir o que construir e avaliar se funciona.

Tokens, limites de 5h e 7d e tempo de criação

Para planejar o uso do Codex, considero as janelas de 5 horas e 7 dias quando aplicáveis ao plano: são períodos de contabilização e renovação da cota, não horas obrigatórias de trabalho nem prazo para concluir o aplicativo. O saldo de uma janela curta não elimina um limite semanal atingido. Consulto o painel para verificar disponibilidade e renovação, conforme a documentação oficial de uso do Codex.

Tokens são unidades de informação processadas pelo modelo. Prompts, arquivos, histórico, resultados de ferramentas e respostas participam desse consumo. A cota não depende somente do tamanho da minha pergunta: modelo, complexidade, raciocínio e contexto também influenciam.

Para aproveitar melhor a cota, minha recomendação é definir uma entrega por etapa, fornecer apenas os arquivos relevantes e pedir respostas proporcionais à tarefa. Mantenho como orientação um AGENTS.md curto, com regras estáveis, e um resumo atualizado das decisões e pendências. Ao retomar o projeto, isso permite reduzir explicações repetidas. Para investigar um erro, prefiro informar o comportamento esperado, o observado e a mensagem correspondente, preservando os detalhes necessários ao diagnóstico.

Sobre o tempo de criação, consigo situar os principais marcos: em 5 de agosto de 2026, organizei o roteiro; em 7 de agosto, a implementação tinha sido um sucesso; em 11 de agosto, descrevi o MVP em fase final. Portanto, entre o roteiro e esse estágio passaram-se cerca de seis dias corridos, com um primeiro resultado positivo em aproximadamente dois dias.

Levo dessa experiência uma aplicação direta para a auditoria interna: posso explorar a IA para construir protótipos, organizar informações e desenvolver ferramentas de apoio à auditoria contínua, mantendo critérios claros e validação dos resultados. É uma extensão da discussão que apresentei em Tecnologias de Análise de Dados na Auditoria Interna, no LinkedIn. O Neurodiário começou com uma necessidade pessoal e se tornou um exercício de especificação, desenvolvimento e análise crítica. Qual problema do seu dia a dia poderia ser o ponto de partida para um aplicativo?

você está offline!