☕ Um Café no Bellacosa Mainframe
Gostou do conteúdo? Ajude a manter o café quente, o COBOL compilando e o mainframe acordado. 😄
☕ Pague um café ao Bellacosa

Translate

segunda-feira, 9 de novembro de 2026

📚 FAIRY TAIL: LEVY McGARDEN DECIFRA O FEITIÇO SECRETO DA IBM — COMO ACELERAR UM COBOL DE 30 ANOS SEM ALTERAR UMA LINHA DO CÓDIGO!


☕ UM CAFÉ NO BELLACOSA MAINFRAME

📚 FAIRY TAIL: LEVY McGARDEN DECIFRA O FEITIÇO SECRETO DA IBM — COMO ACELERAR UM COBOL DE 30 ANOS SEM ALTERAR UMA LINHA DO CÓDIGO!

Bellacosa Mainframe — Arqueologia da Computação, COBOL, IBM Z, Inteligência Artificial e os Mistérios da Tecnologia

Uma aventura sob a tutela de Levy McGarden, de Fairy Tail, para descobrir por que modernizar um sistema não significa necessariamente reescrevê-lo.



🎬 Prólogo — 03h17: um livro de 1995 começou a brilhar no CPD

Magnolia estava silenciosa.

Na sede da guilda Fairy Tail, quase todos dormiam. Natsu Dragneel provavelmente sonhava com alguma batalha envolvendo dragões. Happy sonhava com peixes. Lucy Heartfilia tentava encontrar alguns minutos de tranquilidade.

Mas Levy McGarden continuava acordada.

Sobre sua mesa havia um livro muito diferente dos grimórios encontrados nas antigas bibliotecas de Fiore.

A capa estava desbotada.

O título dizia:

ENTERPRISE COBOL — SISTEMA DE FATURAMENTO — 1995

Levy ajeitou a faixa nos cabelos azuis e começou a examinar as páginas.

       IDENTIFICATION DIVISION.
       PROGRAM-ID. FATURA95.

       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01 WS-VALOR PIC 9(9)V99 COMP-3.
       01 WS-TAXA  PIC 9V9999 COMP-3.
       01 WS-TOTAL PIC 9(9)V99 COMP-3.

       PROCEDURE DIVISION.
           MOVE 15000 TO WS-VALOR
           MOVE 0.0250 TO WS-TAXA

           COMPUTE WS-TOTAL =
               WS-VALOR * WS-TAXA

           DISPLAY WS-TOTAL
           GOBACK.

— Que linguagem interessante! — exclamou.

Levy estava acostumada a decifrar inscrições antigas, símbolos mágicos e alfabetos desaparecidos. Entretanto, aquele código apresentava uma peculiaridade.

Não parecia uma língua morta.

Muito pelo contrário.

Segundo a documentação que acompanhava o livro, programas semelhantes ainda processavam operações em bancos, seguradoras, indústrias e grandes organizações.

Gajeel Redfox apareceu na porta.

— Ei, baixinha! Por que está lendo esse negócio antigo?

— Porque descobri algo extraordinário, Gajeel! Um programa pode ter trinta anos e continuar executando perfeitamente.

— E daí?

Levy mostrou uma segunda página.

Nela aparecia uma expressão misteriosa:

IBM COBOL Elevate for z/OS — Accelerate

Abaixo, uma frase em alemão:

COBOL schneller. Sourcecode unverändert.

Em português:

COBOL mais rápido. Código-fonte inalterado.

Gajeel franziu a testa.

— Quer dizer que podemos deixar o programa mais forte sem mudar suas palavras?

Levy sorriu.

— Exatamente. E vamos descobrir como isso funciona.

Naquela madrugada começava uma das investigações mais curiosas da história da guilda.



📖 Capítulo I — Quem é Levy McGarden e por que ela é a professora ideal para ensinar COBOL?

Levy McGarden é uma personagem criada por Hiro Mashima para o universo de Fairy Tail, mangá iniciado em 2006.

Integrante da guilda Fairy Tail e do grupo Shadow Gear, Levy não costuma resolver seus desafios apenas por meio de força física.

Sua principal especialidade é o conhecimento.

Ela estuda idiomas, interpreta textos antigos, investiga documentos e utiliza uma forma de magia conhecida como Solid Script, capaz de materializar palavras e produzir efeitos mágicos.

É uma escolha particularmente interessante para acompanhar nossa investigação.

Porque um programa de computador também começa como linguagem escrita.

Um programador utiliza palavras, regras e estruturas para representar instruções.

Entretanto, diferentemente da magia de Levy, um computador não compreende diretamente a intenção humana.

Ele precisa de um processo de tradução.

No COBOL, esse processo envolve o compilador.

Imagine que Levy escreva a palavra:

FIRE

Em seu universo, a magia pode transformar a palavra em uma manifestação de fogo.

Agora imagine um programador COBOL escrevendo:

       ADD 100 TO WS-SALDO.

O computador não executa literalmente as letras ADD, TO e WS-SALDO.

O compilador analisa a instrução e gera uma representação executável adequada à arquitetura de destino.

A relação é semelhante apenas como metáfora: nos dois casos, existe uma linguagem cuja interpretação produz um resultado.

Mas, na computação, esse resultado depende de regras formais, tipos de dados, arquitetura de processadores e instruções de máquina.

Primeira lição de Levy: compreender a linguagem é o primeiro passo para compreender o sistema.

E, no caso do COBOL, muitas decisões importantes acontecem depois que o programador termina de escrever o fonte.



🖥️ Capítulo II — 1959: o nascimento de uma linguagem que se recusou a desaparecer

Levy abriu um segundo livro.

Na primeira página havia uma data:

1959.

Foi naquele ano que surgiu o esforço de padronização que originaria o COBOL, sigla de Common Business-Oriented Language.

Naquela época, computadores eram equipamentos enormes, caros e utilizados principalmente por governos, universidades e grandes organizações.

Os sistemas empresariais precisavam processar folhas de pagamento, contas, registros contábeis, estoques e operações financeiras.

O problema era que os computadores eram muito diferentes entre si.

Uma aplicação escrita para determinada máquina frequentemente precisava passar por adaptações significativas para executar em outra.

O COBOL foi concebido com uma preocupação importante: permitir que as regras de processamento de negócios fossem expressas de maneira relativamente próxima da linguagem humana, com forte orientação a dados e registros.

Por isso encontramos construções como:

       IF WS-SALDO > WS-LIMITE
           DISPLAY "LIMITE EXCEDIDO"
       END-IF.

Mesmo alguém que nunca estudou COBOL consegue perceber parte da intenção.

Se o saldo ultrapassar o limite, exiba uma mensagem.

Mas Levy encontrou outra característica essencial.

O COBOL não foi desenvolvido apenas para produzir resultados rapidamente.

Ele também deveria representar regras empresariais com precisão.

Em sistemas financeiros, pequenas diferenças podem ser inaceitáveis.

Uma alteração indevida no arredondamento de juros, por exemplo, pode provocar divergências quando aplicada a milhões de contratos.

Por isso, programas antigos podem carregar conhecimentos valiosos que não estão documentados em nenhum outro lugar.

Uma linha de código pode representar uma exigência legal.

Um cálculo pode reproduzir uma convenção financeira.

Uma validação aparentemente desnecessária pode ter sido introduzida após um incidente ocorrido décadas atrás.

Levy percebeu o perigo.

— Gajeel, imagine encontrar um grimório com trezentos anos de conhecimento. Você arrancaria suas páginas apenas porque a capa ficou velha?

— Claro que não!

— Então por que algumas empresas imaginam que modernizar COBOL significa necessariamente reescrever tudo?

A pergunta nos leva ao próximo capítulo.



🏰 Capítulo III — IBM Z: o castelo onde vivem os programas antigos

Em nossa aventura, a guilda encontra uma instalação tecnológica tão impressionante quanto qualquer fortaleza de Fiore.

No centro da sala existe um sistema IBM Z.

Os mainframes IBM são computadores empresariais projetados para executar cargas de trabalho críticas, com recursos de disponibilidade, segurança, virtualização e processamento de transações.

Eles são utilizados em diferentes setores, incluindo serviços financeiros, seguros e administração pública.

Mas existe uma confusão muito comum entre iniciantes:

Mainframe não é sinônimo de COBOL.

O mainframe é a plataforma computacional.

O COBOL é uma das linguagens utilizadas para construir aplicações.

O z/OS é um sistema operacional para IBM Z.

E há muitos outros componentes importantes nesse universo:

  • JCL: define e controla a execução de trabalhos batch.

  • CICS: fornece infraestrutura para processamento transacional.

  • Db2: sistema gerenciador de banco de dados relacional.

  • VSAM: método de acesso e organização de conjuntos de dados.

  • RACF: componente de controle de acesso e segurança.

  • SDSF: interface para acompanhar jobs, filas, mensagens e execução.

  • SMF e RMF: fontes importantes para analisar utilização de recursos e desempenho.

Levy fez uma anotação:

Um programa COBOL não existe isoladamente. Ele faz parte de um ecossistema.

Isso será importante ao estudar o IBM COBOL Elevate.

Porque nem todo problema de desempenho de uma aplicação COBOL é provocado pelo código gerado pelo compilador.

Um programa pode estar esperando um banco de dados.

Pode estar lendo arquivos excessivamente.

Pode sofrer contenção de recursos.

Ou pode executar um algoritmo pouco eficiente.

Antes de tentar melhorar o desempenho, precisamos descobrir onde está o verdadeiro problema.


⚡ Capítulo IV — O feitiço Accelerate: otimizar o executável sem recompilar o código-fonte

Levy encontrou o primeiro grande segredo da investigação.

Um programa COBOL possui diferentes representações ao longo de seu processo de construção.

Inicialmente temos o código-fonte, escrito pelo programador.

Em seguida, o compilador traduz as instruções e produz código objeto.

O processo de linkedição reúne componentes e cria um artefato executável, como um load module ou program object.

É esse artefato que o ambiente de execução utiliza.

Para entender a diferença, imagine uma receita de pão.

O código-fonte é a receita escrita.

A compilação corresponde, de maneira simplificada, ao processo de transformar as instruções em algo executável.

O módulo resultante é o produto preparado para utilização.

A analogia tem limites, mas ajuda a compreender a separação entre fonte e executável.

Agora considere um programa compilado muitos anos atrás.

Seu compilador produziu instruções adequadas à tecnologia disponível naquela época.

Entretanto, processadores IBM Z mais recentes podem oferecer possibilidades adicionais de execução eficiente.

O Accelerate, componente do IBM COBOL Elevate for z/OS, foi apresentado pela IBM para identificar e otimizar aplicações COBOL elegíveis no nível binário, sem exigir alterações no código-fonte nem uma recompilação convencional.

Isso significa que a ferramenta trabalha sobre o programa executável existente.

O ponto é especialmente interessante quando uma empresa possui sistemas antigos e deseja melhorar seu desempenho antes de iniciar uma migração completa de compilador.

Exemplo didático

Imagine um programa chamado FATURA95.

A aplicação foi compilada com uma geração antiga de compilador e executa milhões de operações.

O arquivo-fonte permanece:

FATURA95.cbl

O ambiente também possui o módulo executável correspondente.

Com uma ferramenta de otimização binária, um módulo elegível pode ser analisado e transformado em uma versão executável otimizada.

O fonte original permanece intacto.

Levy fez uma comparação com sua magia Solid Script.

— É como melhorar a eficiência de um feitiço já preparado sem alterar as palavras do grimório!

Mas existe uma advertência importante.

O Accelerate não deve ser descrito como uma ferramenta capaz de reinventar automaticamente qualquer algoritmo empresarial.

A documentação pública de apresentação do produto não detalha exaustivamente todas as transformações internas realizadas em cada programa.

Também não existe garantia universal de ganho.

A compatibilidade, o comportamento funcional e os resultados de desempenho precisam ser validados.

Segunda lição de Levy: preservar o código-fonte não elimina a necessidade de testar o executável otimizado.


🔍 Capítulo V — O ancestral do feitiço: IBM Automatic Binary Optimizer

Ao continuar pesquisando, Levy fez uma descoberta inesperada.

A IBM já trabalhava com otimização binária antes de 2026.

Uma tecnologia importante nessa história é o IBM Automatic Binary Optimizer for z/OS, frequentemente chamado de ABO.

Ele foi desenvolvido para permitir que determinados programas COBOL compilados anteriormente fossem otimizados sem exigir acesso ao código-fonte.

Isso é particularmente relevante em ambientes empresariais antigos.

Imagine uma instituição que preserva o executável de uma aplicação, mas perdeu parte dos arquivos-fonte originais.

Tal situação representa um problema sério de manutenção.

A organização pode conseguir continuar executando o módulo, mas modificar sua lógica torna-se muito mais difícil.

A otimização binária oferece um caminho para melhorar determinados aspectos do executável sem reconstruir imediatamente toda a aplicação.

Entretanto, Levy percebeu um detalhe fundamental:

Otimização binária não equivale à recuperação do código-fonte perdido.

O problema da manutenção continua existindo.

Da mesma forma, a otimização não substitui a necessidade de documentação, controle de versões, testes e planejamento de continuidade operacional.

A novidade do COBOL Elevate está em reunir diferentes abordagens de modernização em uma proposta integrada.


🧙 Capítulo VI — Upgrade: quando o compilador também precisa evoluir

Levy abriu um terceiro grimório.

A capa dizia:

Enterprise COBOL 6

O componente Upgrade do COBOL Elevate procura auxiliar organizações que precisam atualizar suas aplicações para gerações modernas do compilador Enterprise COBOL.

Diferentemente do Accelerate, aqui estamos falando de uma migração que envolve o código-fonte, o processo de compilação e possíveis adaptações.

E por que isso pode ser complicado?

Porque uma aplicação desenvolvida décadas atrás pode depender de opções de compilação, representações de dados e comportamentos históricos.

O perigo dos dados numéricos inválidos

Considere:

       01 WS-IDADE PIC 9(3).

O programador declarou um campo numérico de três posições.

O sistema espera valores como:

018

052

067

Mas imagine que, por um problema em uma interface antiga, o campo receba bytes que representem:

12A

Agora temos dados incompatíveis com a declaração numérica.

Se o programa executar operações aritméticas ou comparações sobre esse conteúdo, o comportamento pode depender de vários fatores, incluindo formato de dados e opções de compilação.

Ao migrar de compilador, certas diferenças podem expor problemas que anteriormente passavam despercebidos.

A solução correta é investigar o dado inválido e o comportamento esperado, não simplesmente presumir que o novo compilador esteja errado.

Onde entra a inteligência artificial?

Segundo a IBM, o Upgrade oferece recursos de avaliação e assistência à remediação, incluindo suporte orientado por IA em etapas da modernização.

Isso pode ajudar equipes a identificar incompatibilidades, compreender alterações necessárias e acelerar o trabalho de migração.

Mas a validação humana permanece indispensável.

Uma sugestão tecnicamente plausível pode alterar uma regra empresarial histórica.

Levy entendeu imediatamente.

— Uma palavra de magia pode estar escrita corretamente e ainda produzir o efeito errado se não conhecermos sua finalidade!

Terceira lição de Levy: atualizar o compilador é um projeto de compatibilidade e governança, não apenas uma operação técnica.


📊 Capítulo VII — Performance Insights: descobrir onde a magia está desperdiçando energia

Até agora investigamos o executável e o compilador.

Mas existe um terceiro problema.

E se o próprio algoritmo for ineficiente?

Imagine este exemplo didático:

       PERFORM VARYING WS-I FROM 1 BY 1
           UNTIL WS-I > 10000

           PERFORM VARYING WS-J FROM 1 BY 1
               UNTIL WS-J > 10000

               IF CLIENTE-ID(WS-I) =
                  PEDIDO-ID(WS-J)
                   ADD 1 TO WS-TOTAL
               END-IF

           END-PERFORM

       END-PERFORM.

O programa percorre uma tabela de dez mil clientes.

Para cada cliente, percorre dez mil pedidos.

Isso pode resultar em:

10.000 × 10.000 = 100 milhões de comparações.

Levy ficou horrorizada.

— Cem milhões? Mas por que não organizar os registros antes?

Essa é exatamente a pergunta que um especialista em desempenho deve fazer.

Dependendo das características dos dados, podemos empregar algoritmos mais eficientes, técnicas de ordenação, pesquisas indexadas ou operações apropriadas no banco de dados.

Uma alternativa poderia ser ordenar dois conjuntos de registros por uma mesma chave e percorrê-los de maneira coordenada.

Em condições adequadas, isso reduz enormemente o número de comparações.

Entretanto, implementar tal estratégia exige considerar duplicidades, integridade dos dados e regras de associação.

O Performance Insights foi concebido para apoiar esse tipo de investigação por meio de análise estática, dinâmica e informações de execução, associando oportunidades de melhoria a trechos do programa.

É importante compreender a diferença:

O Accelerate procura melhorar o código executável elegível.

O Performance Insights ajuda a identificar problemas de desempenho cuja solução pode exigir alterações na aplicação.

Nem toda recomendação necessariamente envolve reescrever o programa inteiro.

Às vezes, uma alteração localizada pode produzir ganhos significativos.

Quarta lição de Levy: antes de modificar milhares de linhas, descubra quais realmente precisam de atenção.


💰 Capítulo VIII — A armadilha dos 86%: desempenho não é uma única medida

A imagem que iniciou nossa investigação apresenta um exemplo:

Antes: 2.100 transações por segundo.

Depois: 3.900 transações por segundo.

Isso representa um aumento aproximado de 85,7% no throughput.

É um número expressivo.

Mas Levy encontrou uma armadilha.

A imagem não demonstra, por si só, que esses valores tenham sido medidos em um benchmark oficial do produto.

Devemos considerá-los ilustrativos, a menos que sua origem experimental seja documentada.

Além disso, diferentes métricas respondem a perguntas diferentes.

CPU time representa o tempo de processador consumido.

Elapsed time representa o tempo total entre o início e o término de uma execução.

Throughput representa a quantidade de trabalho concluída por unidade de tempo.

Response time representa o tempo necessário para responder a determinada solicitação ou transação.

Imagine que um job consuma 1.000 segundos de CPU e leve 30 minutos para terminar.

Depois de uma otimização, ele passa a consumir 800 segundos de CPU.

Obtivemos uma redução de 20% no consumo de CPU.

Mas o job pode continuar levando quase 30 minutos se a maior parte do tempo for gasta esperando operações de entrada e saída ou recursos externos.

Por outro lado, reduzir CPU pode liberar capacidade importante em um ambiente com alta concorrência.

E quanto custa essa economia?

Depende.

No mainframe, o custo real está relacionado ao modelo de contratação, licenciamento, capacidade e características da utilização.

Não seria correto calcular automaticamente uma economia financeira de 20% apenas porque determinado programa passou a utilizar 20% menos CPU.

A redução pode gerar benefícios operacionais mesmo quando não altera imediatamente a fatura.

Por exemplo, pode ampliar a capacidade disponível para outras cargas de trabalho.

Levy anotou no quadro:

Medir primeiro. Interpretar depois. Decidir por último.


🏦 Capítulo IX — Outubro de 2026: Accelerate chega a um território importante do CICS

Uma das informações mais interessantes da documentação recente do produto aparece na atualização associada à APAR PH73532 e à PTF UO09993, de outubro de 2026.

A IBM documentou a ampliação do suporte às tarefas Identify e Optimize para aplicações COBOL executadas sob CICS.

Isso merece atenção.

O CICS Transaction Server é utilizado para processamento de transações empresariais e integrações com aplicações.

Imagine uma aplicação bancária em que o cliente consulta o saldo de sua conta.

Uma representação simplificada do caminho seria:

Terminal ou aplicação cliente

↓

CICS Transaction Server

↓

Programa COBOL

↓

Db2 ou VSAM

↓

Resposta ao usuário

Se parte significativa do consumo de CPU estiver dentro de um módulo COBOL elegível, uma otimização binária poderá representar uma oportunidade.

Mas não devemos confundir essa possibilidade com uma melhoria universal de todas as transações CICS.

Uma transação pode depender muito mais de consultas Db2, comunicação de rede ou contenção de recursos do que do processamento interno do módulo COBOL.

A otimização não corrige automaticamente todos esses gargalos.

Levy fez outra observação:

— Melhorar a espada de Gajeel não resolve o problema se ele estiver esperando a porta da fortaleza abrir!

A metáfora é adequada.

Para melhorar um sistema, precisamos identificar o recurso que realmente limita o desempenho.


🧪 Capítulo X — Laboratório da Levy: como investigar um programa COBOL passo a passo

Chegou a hora de transformar a teoria em um exercício prático.

Vamos imaginar uma empresa que possui um programa chamado FECHAM01, responsável por parte de seu fechamento diário.

Passo 1 — Descobrir o que o programa faz

Antes de qualquer otimização, precisamos compreender sua finalidade.

O programa lê arquivos?

Consulta Db2?

Atualiza registros?

Gera relatórios?

Executa rotinas de cálculo?

Tem requisitos especiais de arredondamento?

A primeira missão do iniciante é produzir um pequeno mapa funcional.

Passo 2 — Identificar o ambiente

Registre a versão do z/OS, as características do ambiente IBM Z, as versões de runtime relevantes e, quando possível, as informações sobre o compilador original.

Também é importante conhecer as bibliotecas de carga, dependências e procedimentos de execução.

O inventário evita decisões baseadas em suposições.

Passo 3 — Obter uma linha de base

Execute o programa em condições controladas.

Registre o consumo de CPU, o tempo total, os volumes processados e os resultados produzidos.

Para jobs batch, ferramentas e informações obtidas a partir do SDSF e de registros SMF podem ajudar nessa atividade.

O objetivo é estabelecer uma referência confiável.

Sem ela, não saberemos se houve melhoria.

Passo 4 — Investigar os candidatos à otimização

Em uma instalação licenciada e configurada do COBOL Elevate, consulte a documentação correspondente à versão e aos níveis de manutenção aplicados.

Utilize os procedimentos oficiais do Accelerate para identificar módulos elegíveis.

Não devemos presumir que qualquer load module possa ser otimizado.

A elegibilidade precisa ser verificada.

Passo 5 — Preservar os artefatos originais

Antes de qualquer transformação, preserve cópias controladas dos módulos originais.

Documente a versão anterior e a nova versão.

Mantenha um procedimento de rollback.

Isso é particularmente importante em aplicações críticas.

Passo 6 — Executar a otimização em ambiente apropriado

A transformação deve seguir os comandos e procedimentos documentados pela IBM para a instalação específica.

Não é recomendável improvisar parâmetros de ferramentas corporativas.

O resultado precisa permanecer identificado e separado dos artefatos de produção até a conclusão dos testes.

Passo 7 — Comparar os resultados funcionais

Aqui começa a parte mais importante.

O programa otimizado precisa produzir os mesmos resultados empresariais esperados.

Compare arquivos de saída, totais financeiros, registros atualizados e códigos de retorno.

Inclua valores extremos, dados históricos e situações de erro.

Um ganho de desempenho que altera indevidamente o resultado contábil não é uma melhoria aceitável.

Passo 8 — Medir novamente

Execute cargas equivalentes e compare resultados.

Procure controlar variações de volume, concorrência, cache e condições do ambiente.

Um único teste pode produzir conclusões enganosas.

Sempre que possível, execute múltiplas medições e compare a variabilidade.

Passo 9 — Avaliar o ganho econômico

Uma melhoria de CPU pode justificar a otimização.

Mas também precisamos considerar testes, operação, licenciamento, manutenção e riscos.

A decisão deve incluir todos esses fatores.

Passo 10 — Documentar e ensinar

Levy considera este passo indispensável.

Registre o que foi feito, por que foi feito, quais resultados foram obtidos e como reproduzir o processo.

A documentação evita que a próxima geração precise redescobrir tudo.


🗃️ Capítulo XI — Um primeiro exemplo de JCL para quem nunca trabalhou num mainframe

Levy encontrou outro documento e começou a sorrir.

— Gajeel, você conhece JCL?

— Isso é alguma guilda rival?

— Não! É Job Control Language!

No ambiente z/OS, JCL é utilizado para descrever trabalhos batch e os recursos necessários para sua execução.

Considere esta estrutura simplificada:

//LEVYJOB  JOB (ACCT),'LEVY TESTE',
//             CLASS=A,MSGCLASS=X
//STEP01   EXEC PGM=FECHAM01
//STEPLIB  DD DSN=LAB.COBOL.LOAD,DISP=SHR
//ENTRADA  DD DSN=LAB.TESTE.ENTRADA,DISP=SHR
//SAIDA    DD DSN=LAB.TESTE.SAIDA,
//            DISP=SHR
//SYSOUT   DD SYSOUT=*

Vamos interpretar as instruções.

JOB identifica o trabalho e fornece parâmetros de execução.

EXEC PGM=FECHAM01 solicita a execução do programa indicado.

STEPLIB informa uma biblioteca onde o sistema poderá procurar o módulo executável.

ENTRADA e SAIDA são nomes DD utilizados para associar conjuntos de dados aos recursos esperados pelo programa.

SYSOUT direciona uma saída para a infraestrutura de spool.

Esse exemplo pressupõe que os datasets e o programa já existam e que o conteúdo da DD SAIDA possa ser utilizado dessa maneira.

É apenas um modelo didático; os parâmetros devem ser adaptados ao ambiente.

E uma observação essencial:

Esse JCL não realiza otimização binária.

Ele demonstra como um programa pode ser executado em um ambiente de laboratório.

O Accelerate possui seus próprios procedimentos documentados.

A distinção é importante para evitar que iniciantes confundam execução de um programa com transformação de seu executável.


🐉 Capítulo XII — Gajeel pergunta: por que não reescrever tudo em Java?

Gajeel estava perdendo a paciência.

— Levy, se esse programa tem trinta anos, por que não escrever outro?

Levy fechou o livro.

— Porque um programa empresarial é muito mais do que suas linhas de código.

Imagine uma aplicação bancária desenvolvida durante décadas.

Ela pode conter regras de juros, tarifas, impostos, exceções, integração com sistemas externos e condições particulares de contratos antigos.

Mesmo quando o código é compreensível, reproduzir exatamente seu comportamento pode ser difícil.

Uma reescrita exige descobrir todas as regras, inclusive aquelas que não foram documentadas.

Também é necessário reconstruir integrações, executar testes extensos, migrar dados e preparar procedimentos de recuperação.

Isso pode ser justificável em determinadas situações.

Mas não deve ser considerado automaticamente a melhor alternativa.

A modernização de sistemas pode envolver diferentes estratégias:

Preservar e otimizar.

Atualizar o compilador.

Refatorar módulos específicos.

Expor funcionalidades por APIs.

Substituir partes do sistema.

Ou realizar uma reescrita completa quando a análise justificar o investimento.

O erro é escolher a solução antes de compreender o problema.

Levy encontrou uma frase que parecia perfeita para o quadro da guilda:

A idade de um programa não determina, sozinha, seu valor tecnológico.


🧠 Capítulo XIII — Inteligência artificial: uma nova aprendiz na biblioteca da Levy

No universo de Fairy Tail, Levy consegue interpretar inscrições que muitos outros personagens não compreendem.

No universo corporativo, ferramentas de inteligência artificial podem ajudar a analisar programas antigos, explicar estruturas e apoiar investigações técnicas.

Imagine um arquivo COBOL com vinte mil linhas.

Um desenvolvedor recém-contratado precisa compreender suas divisões, variáveis, parágrafos e integrações.

A IA pode oferecer explicações iniciais, identificar referências a campos e apoiar a documentação.

Também pode ajudar a investigar padrões conhecidos durante uma migração de compilador.

Mas existe um risco importante.

Modelos de IA podem produzir interpretações incorretas, inclusive com aparência de segurança.

Por isso, suas sugestões precisam ser verificadas contra o código, os dados, a documentação e os requisitos empresariais.

O mistério dos 360 dias

Considere:

       COMPUTE WS-JUROS =
           WS-CAPITAL *
           WS-TAXA *
           WS-DIAS / 360.

Um assistente de IA poderia sugerir utilizar 365 dias porque esse é o número de dias de um ano civil comum.

Mas será que isso estaria correto?

Não necessariamente.

Em finanças existem diferentes convenções de contagem de dias, aplicáveis conforme o produto e o contrato.

O divisor 360 pode fazer parte da regra de cálculo.

Alterá-lo sem compreender sua origem pode produzir resultados incorretos.

Essa é uma das grandes lições da modernização assistida por inteligência artificial.

Compreender o texto de um programa não significa automaticamente compreender sua intenção empresarial.

Levy seria uma excelente professora justamente porque não se limita a reconhecer símbolos.

Ela procura entender o contexto de cada inscrição.


🧩 Capítulo XIV — Easter eggs: cinco segredos escondidos nesta aventura

Easter egg 1 — A magia Solid Script e o código-fonte

A magia de Levy utiliza palavras que produzem efeitos.

No COBOL, as instruções também produzem efeitos, mas somente após sua interpretação pelo compilador e execução na plataforma.

A semelhança é uma metáfora sobre linguagens formais.

Easter egg 2 — O tesouro que ninguém queria abrir

Um programa antigo pode conter regras empresariais valiosas que sobreviveram aos próprios criadores.

O desafio da arqueologia de software é recuperar e preservar esse conhecimento.

Easter egg 3 — O dragão invisível

O verdadeiro inimigo do desempenho nem sempre aparece no código-fonte.

Pode estar em uma consulta SQL, numa espera por I/O, em contenção de recursos ou em um algoritmo inadequado.

Easter egg 4 — O livro que funciona sem o autor

Um módulo compilado pode continuar funcionando mesmo quando os desenvolvedores originais já deixaram a organização.

Mas isso não significa que o sistema seja facilmente modificável.

Executabilidade e manutenibilidade são propriedades diferentes.

Easter egg 5 — O feitiço que não pode errar um centavo

Um sistema financeiro pode executar milhões de cálculos corretamente durante décadas.

Ao modernizá-lo, precisamos preservar os resultados esperados.

O desempenho é importante, mas a integridade da informação é indispensável.


📚 Capítulo XV — Dez dicas de Levy para quem está começando em COBOL

1. Aprenda a estrutura da linguagem. Comece pelas divisões, variáveis, instruções de movimentação, condições e repetições.

2. Entenda os tipos de dados. Estude PIC, COMP, COMP-3, campos numéricos editados e suas representações.

3. Aprenda JCL. Sem ele, você terá dificuldade para compreender muitos processamentos batch no z/OS.

4. Explore TSO/ISPF. Conhecer bibliotecas, membros e edição de datasets é parte importante da rotina de mainframe.

5. Aprenda SDSF. Saber consultar a execução de um job é essencial para diagnosticar falhas.

6. Estude Db2 e VSAM. Muitos programas COBOL dependem diretamente dessas tecnologias.

7. Conheça o compilador. Investigue mensagens, opções de compilação e diferenças entre gerações.

8. Não confunda desempenho com consumo de CPU. Uma aplicação pode ser limitada por vários recursos.

9. Teste antes de otimizar e depois de otimizar. Sem uma linha de base e testes comparáveis, você não consegue demonstrar melhorias com segurança.

10. Preserve o conhecimento empresarial. Documente regras, exceções e decisões. Um bom programador não é apenas alguém que escreve código, mas alguém que compreende o sistema.


🌍 Capítulo XVI — O impacto cultural: por que COBOL continua provocando debates?

Existe uma curiosidade histórica interessante.

Durante décadas, sucessivas gerações de profissionais anunciaram que linguagens antigas desapareceriam diante de novas tecnologias.

Surgiram linguagens estruturadas, orientação a objetos, aplicações web, serviços distribuídos, computação em nuvem e inteligência artificial generativa.

Entretanto, muitas organizações continuaram utilizando aplicações COBOL.

A explicação não está apenas na dificuldade de substituir sistemas.

Em muitos casos, essas aplicações cumprem funções empresariais importantes e apresentam comportamento conhecido, integração consolidada e histórico de operação.

Isso não significa que sejam perfeitas.

Sistemas antigos podem enfrentar problemas reais de manutenção, documentação, dependências, recrutamento e evolução arquitetural.

Mas também não significa que devam ser descartados apenas por sua idade.

O COBOL Elevate representa uma resposta a esse dilema: melhorar partes do ambiente existente sem tratar a reescrita como única estratégia possível.

Para o profissional iniciante, essa realidade representa uma oportunidade de desenvolver conhecimentos que combinam programação, arquitetura, operações e entendimento de negócios.

Não basta conhecer sintaxe.

É necessário compreender como o sistema funciona como um todo.


🏁 Epílogo — 05h42: Levy termina a leitura do grimório

A madrugada havia terminado.

A luz do amanhecer atravessava as janelas da guilda Fairy Tail.

Levy fechou o livro de 1995.

Gajeel, que havia acompanhado a investigação, olhou para a última página.

— Então conseguimos deixar o programa mais rápido sem alterar sua magia?

Levy respondeu com cuidado.

— Em determinadas condições, sim. Mas primeiro precisamos descobrir se ele é elegível, medir o desempenho e comprovar que o resultado continua correto.

— E se o problema estiver na maneira como o programa foi escrito?

— Então teremos que investigar o código-fonte.

— E se o compilador estiver ultrapassado?

— Podemos planejar uma atualização.

— E se não soubermos por que determinada regra existe?

Levy sorriu.

— Então precisaremos estudar sua história.

A resposta parecia resumir tudo o que haviam aprendido.

O IBM COBOL Elevate oferece três abordagens complementares: otimização binária com Accelerate, atualização assistida de compiladores com Upgrade e investigação de oportunidades de desempenho com Performance Insights.

Nenhuma delas elimina a necessidade de conhecer o ambiente, preservar as regras empresariais e validar os resultados.

Mas juntas representam uma maneira muito interessante de pensar a evolução dos sistemas.

Levy escreveu a última frase no quadro:

O verdadeiro poder de uma linguagem não está apenas nas palavras que conseguimos modificar, mas também no conhecimento que conseguimos preservar.

E, em algum lugar de um CPD, um programa COBOL criado em 1995 continuava executando.

Talvez ainda tivesse muitas décadas de trabalho pela frente.

Porque o futuro da computação nem sempre começa com um programa novo. Às vezes começa quando finalmente aprendemos a compreender o antigo.


📚 Referências e leituras complementares

Bellacosa Mainframe — Arqueologia da Computação, COBOL, IBM Z, Inteligência Artificial e as histórias escondidas nos sistemas que nunca pararam de funcionar.

domingo, 8 de novembro de 2026

🚘 A SUPER MÁQUINA CONTRA A POLÍCIA ANTI-IA: KITT, O LINKEDIN E O DIA EM QUE OS ALGORITMOS COMEÇARAM A CAÇAR OS HUMANOS!

 

Bellacosa Mainframe e a ironia dos caçadores de ia, movimento anti-ia na produção de conteudo

☕ UM CAFÉ NO BELLACOSA MAINFRAME

🚘 A SUPER MÁQUINA CONTRA A POLÍCIA ANTI-IA: KITT, O LINKEDIN E O DIA EM QUE OS ALGORITMOS COMEÇARAM A CAÇAR OS HUMANOS!

Quando uma inteligência artificial começa a investigar outras inteligências artificiais, quem protege os humanos dos erros da máquina? Sob a tutela de KITT, o lendário Pontiac Trans Am de A Super Máquina, vamos investigar a perseguição aos conteúdos produzidos por IA, os algoritmos do LinkedIn, os falsos positivos e as lições que COBOL, JCL, RACF, Db2 e IBM Z podem ensinar sobre confiança, auditoria e responsabilidade digital.

Bellacosa Mainframe — Arqueologia da Computação, COBOL, IBM Z, Inteligência Artificial, Segurança Digital e os Fantasmas dos Algoritmos

Investigação especial — 8 de novembro de 2026



🎬 Prólogo — Michael Knight, temos um problema: a máquina está prendendo os humanos!

Estados Unidos, uma noite qualquer de novembro de 2026.

Uma estrada deserta atravessa o Arizona.

Ao longe, dois faróis aparecem na escuridão.

Um Pontiac Trans Am preto aproxima-se silenciosamente. Na dianteira, uma luz vermelha percorre o capô de um lado para o outro.

No interior, Michael Knight observa um monitor.

— KITT, alguma novidade?

— Michael, detectei uma situação bastante preocupante nas redes profissionais.

— Outra organização criminosa?

— Não exatamente. Uma plataforma está utilizando inteligência artificial para identificar publicações possivelmente produzidas por inteligência artificial.

Michael franze a testa.

— Espere um minuto. Uma inteligência artificial investigando outras inteligências artificiais?

— Precisamente.

— E qual é o problema?

— Alguns humanos estão sendo acusados de utilizar inteligência artificial simplesmente porque escrevem de maneira organizada.

Michael permanece em silêncio.

— KITT, você está dizendo que um professor pode ser acusado de não ter escrito um texto porque escreve bem demais?

— Essa é uma das possibilidades, Michael. E a situação torna-se ainda mais complexa quando confundimos uma estimativa estatística com uma prova.

— Então temos uma nova missão.

— Michael, permita-me observar que precisamos primeiro identificar o problema, analisar as evidências e evitar conclusões precipitadas.

Michael sorri.

— Você continua sendo o carro mais inteligente do mundo.

— Naturalmente, Michael. Mas isso não significa que eu seja infalível.

Bem-vindos ao Bellacosa Mainframe!

Hoje, nossa aventura atravessa quatro décadas de evolução tecnológica.

Partiremos dos computadores de bordo imaginários dos anos 1980, passaremos pela arquitetura dos grandes mainframes IBM e chegaremos aos algoritmos que, em 2026, procuram distinguir a criatividade humana da produção artificial.

E descobriremos que KITT, uma inteligência artificial fictícia concebida há mais de quarenta anos, pode oferecer uma excelente metáfora para compreender os dilemas atuais.

Prepare o café, ajuste o banco e aperte o cinto.

A luz vermelha começou a percorrer o capô.



🚘 Capítulo I — 1982: quando a inteligência artificial tinha quatro rodas

Antes de investigarmos a polícia anti-IA, precisamos conhecer nosso professor.

Em 26 de setembro de 1982, estreava nos Estados Unidos a série Knight Rider, conhecida no Brasil como A Super Máquina e em Portugal como O Justiceiro.

Criada por Glen A. Larson, a produção apresentava Michael Knight, interpretado por David Hasselhoff, um agente que combatia criminosos com auxílio de um automóvel extraordinário.

Esse automóvel era KITT, abreviação de Knight Industries Two Thousand.

Por fora, um Pontiac Firebird Trans Am preto.

Por dentro, um computador capaz de conversar, raciocinar, monitorar acontecimentos, dirigir autonomamente e ajudar Michael a resolver problemas.

A voz original de KITT era interpretada por William Daniels, que deu à personagem uma personalidade educada, sofisticada, irônica e ocasionalmente presunçosa.

Mas havia algo especial naquela relação.

KITT não era simplesmente uma calculadora sobre rodas.

Ele possuía personalidade.

Questionava decisões.

Alertava sobre perigos.

Apresentava alternativas.

E, frequentemente, tentava convencer Michael a não fazer alguma estupidez.

Curiosidade: a inteligência artificial mais educada da televisão

William Daniels contou que inicialmente lhe sugeriram uma voz robótica. Preferiu utilizar sua voz natural.

Essa decisão ajudou a transformar KITT numa personagem reconhecível, em vez de um simples equipamento eletrônico.

A série foi exibida originalmente entre 1982 e 1986, com quatro temporadas.

Seu computador fictício incorporava tecnologias que, na época, pareciam extraordinariamente avançadas: reconhecimento de voz, navegação inteligente, sensores ambientais, análise de imagens e interação por linguagem natural.

Hoje reconhecemos funcionalidades semelhantes em assistentes digitais, sistemas automotivos e modelos multimodais de IA.

Isso não significa que os automóveis atuais possuam as capacidades fantásticas de KITT.

O interessante é perceber como aquela ficção antecipava nossa expectativa de conversar naturalmente com máquinas.

A primeira lição de KITT é simples: uma inteligência artificial deve ampliar a capacidade humana, não eliminar a responsabilidade humana.



🕵️ Capítulo II — Novembro de 2026: surge a polícia anti-IA

Nossa investigação começa com duas reportagens publicadas pela CNN.

A primeira, na CNN Portugal, em 7 de novembro de 2026, apresenta uma questão intrigante:

A polícia anti-IA está por todo o lado. O que é que eles procuram?

A segunda, publicada na CNN americana em 18 de outubro de 2026, discute o combate do LinkedIn às publicações produzidas por IA.

As duas notícias abordam dimensões de um mesmo fenômeno: o crescimento da preocupação com conteúdo artificial, repetitivo ou enganoso.

Nota de investigação: os textos integrais das duas reportagens não estavam acessíveis para verificação automática. Por isso, distinguiremos o tema anunciado nas matérias das evidências provenientes de estudos científicos e fontes técnicas independentes. Não trataremos estatísticas atribuídas às reportagens como fatos confirmados sem acesso às respectivas fontes.

Mas quem são os policiais anti-IA?

Não estamos necessariamente falando de policiais uniformizados, sirenes e delegacias.

A expressão descreve pessoas e instituições que procuram identificar conteúdo supostamente produzido por ferramentas generativas.

Podemos identificar quatro grupos.

1. Os vigilantes das redes sociais

Usuários que observam textos e acusam seus autores de utilizar ChatGPT ou ferramentas semelhantes.

Alguns consideram determinados padrões de escrita provas de autoria artificial.

2. Os detectores automáticos

Programas que analisam palavras, estruturas, previsibilidade e outras características para estimar se determinado texto foi produzido por IA.

3. Os fiscalizadores institucionais

Professores, universidades, editores e empresas que estabelecem políticas para uso de ferramentas generativas.

4. Os investigadores de fraudes digitais

Profissionais que procuram deepfakes, documentos falsificados, identidades sintéticas e conteúdos utilizados em golpes.

Michael Knight observa os dados.

— KITT, todos esses grupos procuram a mesma coisa?

— Não, Michael. Alguns investigam fraudes reais. Outros procuram identificar violações de regras acadêmicas. Há também pessoas que simplesmente não gostam de textos produzidos com ferramentas digitais.

— Então não podemos colocar todos na mesma categoria?

— Exatamente. Investigar uma falsificação criminosa é diferente de criticar um autor por utilizar um assistente de escrita.

Essa distinção será fundamental durante nossa aventura.



📱 Capítulo III — O LinkedIn e a batalha contra os textos artificiais

Imagine uma rede profissional utilizada por milhões de trabalhadores, recrutadores, professores, pesquisadores e empresas.

Uma plataforma na qual as pessoas compartilham conhecimento, apresentam experiências e divulgam projetos.

Agora imagine que parte das publicações começa a apresentar uma estrutura semelhante:

"Cinco lições que aprendi sobre liderança."

"Você não vai acreditar no futuro da inteligência artificial."

"Três estratégias que vão revolucionar sua carreira."

"Concorda? Deixe sua opinião nos comentários!"

Cada publicação parece seguir uma fórmula.

Há uma frase de impacto, uma promessa extraordinária, alguns parágrafos genéricos e uma pergunta final destinada a estimular comentários.

Essas fórmulas não nasceram com a inteligência artificial.

O marketing digital utiliza estruturas semelhantes há décadas.

A diferença é que os modelos generativos conseguem produzir textos desse tipo em grande quantidade e com baixíssimo custo.

O problema não é apenas a inteligência artificial

Suponhamos que um profissional publica diariamente vinte textos produzidos automaticamente.

Nenhum apresenta experiências próprias, fontes verificáveis ou conhecimento original.

O objetivo é apenas atrair visualizações.

Esse comportamento pode degradar a experiência dos leitores.

Entretanto, imagine outro profissional que utiliza IA para revisar um artigo sobre COBOL, mas acrescenta exemplos testados, documentação da IBM e experiência acumulada.

Ambos utilizaram IA.

Mas produziram conteúdos com valores informativos completamente diferentes.

Utilizar inteligência artificial não é sinônimo de produzir conteúdo ruim. Não utilizar inteligência artificial também não garante qualidade.

Essa distinção deveria orientar qualquer política de moderação.

O algoritmo invisível

Uma plataforma pode selecionar quais publicações aparecem para cada usuário.

Ela considera diferentes sinais de relevância, relacionamento, interesse e qualidade.

Quando esses mecanismos reduzem a distribuição de determinado conteúdo, o autor pode perceber uma queda de visualizações.

Mas cuidado!

Uma diminuição de alcance não demonstra automaticamente que houve penalização por uso de IA.

Mudanças no comportamento dos seguidores, nos horários, na concorrência por atenção e nos critérios gerais de recomendação também influenciam o resultado.

KITT interrompe:

— Michael, seria incorreto acusar o sistema de censura com base apenas na queda das visualizações.

— Então precisamos de mais provas?

— Precisamente. Precisamos comparar períodos, controlar variáveis e compreender os critérios utilizados.

E aqui começa nossa primeira conexão com o mundo mainframe.


🧠 Capítulo IV — KITT explica como os detectores de IA funcionam

Como um computador tenta descobrir se outro computador escreveu determinado texto?

Existem diversas abordagens.

Alguns detectores utilizam classificadores treinados com exemplos de textos humanos e artificiais.

Outros examinam propriedades estatísticas da linguagem.

Entre os conceitos conhecidos encontramos a perplexidade.

Perplexidade: quando o texto é previsível demais

De maneira simplificada, perplexidade é uma medida relacionada à dificuldade que um modelo encontra para prever uma sequência de palavras.

Considere:

"O programa COBOL executa uma operação de leitura."

A frase é comum e previsível.

Agora imagine:

"O velho computador abriu suas janelas binárias e deixou escapar memórias esquecidas de um CPD de 1978."

A segunda apresenta combinações menos comuns.

Um detector baseado em determinados padrões poderia atribuir resultados diferentes aos dois textos.

Mas isso não demonstra que um foi escrito por humano e outro por máquina.

Um manual técnico normalmente utiliza construções padronizadas.

Uma documentação jurídica segue convenções.

Um professor pode escrever repetidamente frases semelhantes para facilitar o aprendizado.

E um modelo generativo pode produzir textos imprevisíveis.

Burstiness: a variação do texto

Outro conceito frequentemente associado à detecção é a variação de características entre frases e trechos.

Textos humanos podem alternar frases curtas, longas, simples e complexas.

Entretanto, não existe uma lei da natureza determinando que humanos escrevam irregularmente e máquinas escrevam uniformemente.

É apenas uma possível característica estatística, dependente do modelo e do conjunto de dados.

KITT apresenta uma conclusão:

— Michael, um detector identifica padrões compatíveis com determinada hipótese. Isso não significa que tenha identificado a verdadeira origem do documento.

— Então ele pode acusar uma pessoa inocente?

— Sim. Chamamos isso de falso positivo.


⚠️ Capítulo V — Falsos positivos: quando KITT confunde um inocente com um criminoso

Imagine que KITT esteja procurando um veículo roubado.

O automóvel suspeito é preto, possui quatro rodas, faróis retangulares e circula durante a noite.

KITT identifica cinquenta carros com essas características.

Michael prepara-se para perseguir todos.

— Michael, isso seria profundamente ineficiente.

— Por quê?

— Porque essas características também pertencem a milhares de veículos perfeitamente legais.

— Então precisamos de informações adicionais?

— Exatamente.

A situação é semelhante à detecção de IA.

Um texto apresentar determinadas características não comprova sua origem.

O estudo que deveria preocupar professores e empresas

Em 2023, pesquisadores associados à Universidade Stanford examinaram como detectores de texto produzido por IA classificavam redações.

Entre os resultados, 61,22% das redações TOEFL de estudantes não nativos de inglês foram classificadas como produzidas por IA pelos detectores avaliados.

O estudo, publicado na revista Patterns, chamou atenção para problemas de justiça e robustez.

Isso não significa que todos os detectores atuais apresentem essa mesma taxa de erro.

Os resultados pertencem àquelas ferramentas, textos e condições experimentais.

Mas demonstram algo importante: a forma de escrever de uma pessoa pode influenciar injustamente a avaliação automatizada de sua autoria.

Um exemplo com mil documentos

Vamos imaginar uma empresa que analisa mil artigos.

Cem foram produzidos artificialmente de maneira proibida pelas regras internas.

Novecentos são legítimos.

O detector possui, hipoteticamente, duas características:

  • Reconhece corretamente 90% dos textos artificiais.

  • Reconhece corretamente 95% dos textos legítimos.

Teríamos:

ResultadoDocumentos
Textos artificiais corretamente identificados90
Textos artificiais não detectados10
Textos humanos corretamente reconhecidos855
Textos humanos falsamente acusados45

O sistema apresentaria 135 alertas.

Mas 45 seriam falsos.

Ou seja, um terço dos alertas positivos estaria errado.

Michael observa o resultado.

— KITT, isso significa que poderíamos perseguir quarenta e cinco pessoas inocentes?

— Se tratássemos todos os alertas como provas definitivas, sim.

— Então precisamos de revisão humana.

— E também de um processo de contestação, Michael.

Essa é uma das grandes lições da investigação.


💻 Capítulo VI — Laboratório COBOL: construindo o detector de alertas de KITT

Chegou a hora de entrar no CPD.

Nosso objetivo será desenvolver um pequeno programa COBOL que recebe uma pontuação produzida por um sistema externo e define a prioridade de revisão.

Atenção: esse programa não identifica textos de IA.

Ele simula a etapa de classificação e encaminhamento de alertas.

Passo 1 — Compreender o problema

O programa receberá uma pontuação de zero a cem.

Definiremos três situações didáticas:

  • De 0 a 39: sem alerta.

  • De 40 a 79: revisão normal.

  • De 80 a 100: revisão prioritária.

Esses limites são arbitrários e não foram calibrados cientificamente.

Servem apenas para aprender COBOL.

Passo 2 — Criar o programa

Utilizaremos divisões tradicionais da linguagem, campos declarados com PIC, condições e a instrução EVALUATE.

       >>SOURCE FORMAT FREE
identification division.
program-id. KITTAI.

environment division.
configuration section.
repository.
    function all intrinsic.

data division.
working-storage section.
01 ws-entrada       pic x(3).
01 ws-score         pic 9(3).
01 ws-status        pic x(25).
01 ws-decisao       pic x(30).

procedure division.
    display "=== SISTEMA KITT ANTI-IA ==="
    display "Informe score entre 000 e 100:"
    accept ws-entrada

    if ws-entrada is not numeric
        display "ERRO: entrada nao numerica"
        goback
    end-if

    move function numval(ws-entrada)
      to ws-score

    if ws-score > 100
        display "ERRO: score invalido"
        goback
    end-if

    evaluate true
        when ws-score >= 80
            move "REVISAO PRIORITARIA"
              to ws-status
        when ws-score >= 40
            move "REVISAO NORMAL"
              to ws-status
        when other
            move "SEM ALERTA"
              to ws-status
    end-evaluate

    move "PENDENTE ANALISE HUMANA"
      to ws-decisao

    display "SCORE: " ws-score
    display "STATUS: " ws-status
    display "DECISAO: " ws-decisao

    goback.

Passo 3 — Compreender cada divisão

IDENTIFICATION DIVISION

Identifica o programa COBOL.

A instrução PROGRAM-ID define o nome KITTAI.

ENVIRONMENT DIVISION

Neste exemplo, contém a configuração para utilização das funções intrínsecas.

DATA DIVISION

Declara os campos utilizados.

O campo WS-ENTRADA recebe três caracteres.

WS-SCORE armazena uma pontuação numérica com três dígitos.

WS-STATUS recebe a classificação.

WS-DECISAO registra o encaminhamento.

PROCEDURE DIVISION

Contém as instruções executadas.

DISPLAY apresenta informações.

ACCEPT recebe dados.

IF valida condições.

EVALUATE TRUE permite selecionar comportamentos conforme regras.

MOVE transfere valores entre campos.

GOBACK encerra a execução do programa.

Passo 4 — Executar nosso laboratório

Exemplo de entrada:

=== SISTEMA KITT ANTI-IA ===
Informe score entre 000 e 100:
085

Saída esperada:

SCORE: 085
STATUS: REVISAO PRIORITARIA
DECISAO: PENDENTE ANALISE HUMANA

Repare na decisão.

O programa não afirma que determinado autor utilizou IA.

Ele apenas solicita revisão.

Passo 5 — Testar as fronteiras

Todo programador iniciante deveria aprender a testar os limites das condições.

Experimente os seguintes valores:

EntradaResultado esperado
000Sem alerta
039Sem alerta
040Revisão normal
079Revisão normal
080Revisão prioritária
100Revisão prioritária
101Erro
ABCErro

Esses testes ajudam a verificar a lógica.

Em produção, precisaríamos ainda tratar entradas vazias, caracteres especiais, falhas de comunicação, formatos inesperados e outros problemas.

O que aprendemos?

Um programa pode executar perfeitamente suas instruções e ainda assim participar de um processo injusto.

Se a pontuação recebida estiver errada, a classificação poderá estar errada.

Uma rotina COBOL correta não transforma dados incorretos em verdade.

KITT concordaria.


🖥️ Capítulo VII — JCL: preparando a investigação no IBM Z

Nosso próximo passo é imaginar o programa sendo executado num ambiente z/OS.

Em vez de digitar a pontuação diretamente no terminal, poderíamos processar um registro de entrada.

Para facilitar o laboratório, vamos criar uma pequena versão batch que lê uma linha de SYSIN.

       >>SOURCE FORMAT FREE
identification division.
program-id. KITTBTCH.

environment division.
input-output section.
file-control.
    select entrada assign to "SYSIN"
        organization is line sequential
        file status is ws-file-status.

data division.
file section.
fd entrada.
01 registro-entrada pic x(3).

working-storage section.
01 ws-file-status pic xx.
01 ws-score       pic 9(3).
01 ws-status      pic x(25).

procedure division.
    open input entrada

    if ws-file-status not = "00"
        display "ERRO AO ABRIR ENTRADA"
        goback
    end-if

    read entrada

    if ws-file-status = "00"
        if registro-entrada is numeric
            move registro-entrada to ws-score

            evaluate true
                when ws-score > 100
                    move "VALOR INVALIDO"
                      to ws-status
                when ws-score >= 80
                    move "REVISAO PRIORITARIA"
                      to ws-status
                when ws-score >= 40
                    move "REVISAO NORMAL"
                      to ws-status
                when other
                    move "SEM ALERTA"
                      to ws-status
            end-evaluate

            display ws-score " " ws-status
        else
            display "ENTRADA INVALIDA"
        end-if
    else
        display "SEM REGISTRO DISPONIVEL"
    end-if

    close entrada
    goback.

Essa versão é ilustrativa. A associação do ficheiro ao DD SYSIN e o comportamento de organização line sequential dependem das configurações e convenções do compilador e do ambiente de execução.

Agora imaginemos o seguinte JCL, com o módulo executável previamente compilado e disponível numa biblioteca de carga:

//KITTJOB  JOB (ACCT),'KITT AUDIT',
//             CLASS=A,MSGCLASS=X
//STEP01   EXEC PGM=KITTBTCH
//STEPLIB  DD DSN=USER.KITT.LOAD,DISP=SHR
//SYSOUT   DD SYSOUT=*
//SYSIN    DD *
085
/*

No JCL, JOB identifica o trabalho.

EXEC define o programa executado.

STEPLIB indica a biblioteca onde se encontra o executável, quando necessário.

SYSOUT recebe mensagens de saída conforme a associação lógica usada pelo programa.

SYSIN fornece dados de entrada.

Neste exemplo, a pontuação 085 poderá resultar numa classificação de revisão prioritária.

Dica para iniciantes: executar uma rotina batch não é apenas fazer o programa funcionar. É compreender de onde vêm os dados, onde são registrados os resultados e como investigar falhas.

Em ambientes corporativos, essas questões são essenciais.


🔐 Capítulo VIII — RACF: quem tem autorização para acusar alguém?

Agora chegamos a um dos capítulos mais importantes.

Suponhamos que nossa aplicação KITT está sendo utilizada por uma instituição.

Ela analisa documentos e produz alertas.

Quem poderá visualizar os resultados?

Quem terá autorização para alterar os limites?

Quem poderá encerrar uma investigação?

Quem poderá consultar as evidências?

Num ambiente IBM Z, o RACF participa da administração de identidades e dos controles de acesso.

Podemos estabelecer perfis, grupos e permissões para proteger recursos.

Isso não significa que o RACF determine se um texto foi escrito por IA.

Ele controla quem pode acessar determinados recursos e realizar operações autorizadas.

Um problema de separação de funções

Imagine que o mesmo funcionário possa:

  1. Alterar as regras do detector.

  2. Executar o processamento.

  3. Apagar os resultados.

  4. Encerrar uma investigação sem justificativa.

Temos uma concentração perigosa de privilégios.

Um sistema corporativo deveria procurar distribuir responsabilidades.

O operador executa processos.

O administrador controla a infraestrutura.

O auditor examina evidências.

O responsável pela decisão avalia o caso.

Esse princípio é chamado segregação de funções.

KITT interrompe:

— Michael, permitir que a mesma pessoa controle a acusação e elimine os registros seria um risco.

— Concordo. Precisamos de controles independentes.

— Precisamente. A confiança não nasce apenas da inteligência do sistema. Ela depende da arquitetura de segurança.

A lição para a polícia anti-IA

Um detector não deveria possuir poderes ilimitados.

Um resultado automatizado precisa de controles, documentação, revisão e possibilidade de contestação, sobretudo quando pode afetar a reputação, o emprego ou a trajetória acadêmica de alguém.


🗃️ Capítulo IX — Db2: a memória que KITT jamais deveria apagar

Qual é uma das características mais importantes de um sistema confiável?

A capacidade de reconstruir acontecimentos.

Imagine que determinada publicação foi classificada como suspeita.

Um mês depois, o autor contesta a decisão.

A organização precisa responder:

  • Qual documento foi analisado?

  • Em que data?

  • Qual versão do detector foi utilizada?

  • Qual foi a pontuação?

  • Quem examinou o resultado?

  • Qual justificativa fundamentou a decisão?

Uma base de dados relacional pode ajudar a organizar essas informações.

Criando uma tabela de auditoria

Em Db2, poderíamos conceber uma tabela como esta:

CREATE TABLE KITT_AUDITORIA (
    ID_ANALISE      INTEGER NOT NULL,
    ID_DOCUMENTO    VARCHAR(40) NOT NULL,
    DATA_ANALISE    TIMESTAMP NOT NULL,
    VERSAO_MODELO   VARCHAR(20),
    SCORE           SMALLINT,
    STATUS          VARCHAR(30),
    REVISOR         VARCHAR(30),
    JUSTIFICATIVA   VARCHAR(500),
    PRIMARY KEY (ID_ANALISE)
);

Esse modelo é apenas um ponto de partida.

Em produção, seria necessário considerar identificadores gerados automaticamente, integridade referencial, política de retenção, proteção de dados pessoais, controle de atualizações e trilhas de auditoria resistentes a alterações indevidas.

Consultando resultados

SELECT ID_DOCUMENTO,
       SCORE,
       STATUS,
       DATA_ANALISE
FROM KITT_AUDITORIA
WHERE SCORE >= 80
ORDER BY DATA_ANALISE DESC;

A consulta recupera análises com pontuação elevada.

Mas precisamos repetir um detalhe fundamental.

Pontuação elevada não demonstra culpa.

A consulta identifica registros que satisfazem uma condição.

Nada mais.

Um erro bastante comum em projetos de sistemas inteligentes é confundir uma classificação computacional com um fato comprovado.

O banco de dados armazena o que recebeu.

Ele não garante que o conteúdo armazenado seja verdadeiro.


📊 Capítulo X — SMF, logs e a caixa-preta de KITT

Quando um avião sofre um acidente, investigadores procuram reconstruir sua trajetória.

Quando uma aplicação empresarial apresenta problemas, profissionais de informática examinam registros de execução.

No mundo mainframe, os registros SMF podem fornecer informações valiosas sobre atividades do sistema, utilização de recursos, jobs e acontecimentos registrados por componentes habilitados.

Outros mecanismos de logging e auditoria complementam essa observabilidade.

A mesma filosofia deveria existir em sistemas de avaliação automatizada.

Imagine um autor que recebe uma notificação de que seu artigo foi classificado como artificial.

A instituição responsável precisa conseguir recuperar informações suficientes para explicar o processo.

Isso pode incluir:

  • Data e horário da análise.

  • Identificação da versão do classificador.

  • Parâmetros utilizados.

  • Resultado produzido.

  • Regras aplicadas.

  • Histórico da revisão humana.

  • Justificativa final.

Naturalmente, nem todo sistema pode divulgar integralmente seus algoritmos ou informações protegidas.

Mas isso não elimina a necessidade de governança e prestação de contas.

Curiosidade: o computador pode lembrar mais do que seus operadores

Nos grandes ambientes empresariais, é comum que uma investigação dependa de registros produzidos automaticamente muito antes de alguém perceber que existia um problema.

Um job pode terminar em segundos.

Sua execução, entretanto, deixa informações úteis para diagnóstico, auditoria e capacidade operacional, dependendo das configurações de logging.

A grande lição é que a possibilidade de auditar uma decisão precisa ser planejada antes do incidente.

Não adianta procurar um histórico que nunca foi registrado.


🤖 Capítulo XI — KITT encontra KARR: a inteligência artificial sem responsabilidade

Os fãs de A Super Máquina recordarão KARR, outro automóvel inteligente do universo da série.

KARR, cujo nome significa Knight Automated Roving Robot, funciona como contraponto dramático a KITT.

Enquanto KITT foi desenvolvido para cooperar com Michael Knight e proteger vidas, KARR representa uma inteligência artificial cujas prioridades entram em conflito com a segurança e os interesses humanos.

Essa oposição oferece uma excelente metáfora.

Imagine dois sistemas.

O primeiro procura identificar irregularidades, mas permite revisão humana, registra decisões e reconhece incertezas.

O segundo transforma qualquer pontuação elevada numa condenação automática.

Qual deles preferiríamos utilizar?

O primeiro aproxima-se do ideal de uma ferramenta responsável.

O segundo representa o perigo de entregar decisões complexas a sistemas que não conseguem explicar adequadamente suas conclusões.

A diferença entre capacidade e responsabilidade

Uma inteligência artificial pode ser excelente em reconhecer padrões.

Isso não significa que seja competente para tomar todas as decisões.

Um sistema pode identificar comportamentos estatisticamente incomuns e, ao mesmo tempo, interpretar incorretamente seu significado.

KITT não precisa ser perfeito para ajudar Michael.

Precisa fornecer informações úteis, reconhecer limitações e permitir que seu parceiro tome decisões fundamentadas.

Esse princípio aplica-se à IA generativa, aos sistemas antifraude e aos detectores de conteúdos artificiais.


🧪 Capítulo XII — O grande laboratório: humano, IA ou colaboração?

Vamos imaginar três autores.

Autor A — O especialista tradicional

Um programador COBOL escreve um artigo sobre organização de ficheiros VSAM.

Ele utiliza documentação técnica, exemplos próprios e conhecimentos adquiridos durante sua carreira.

O texto apresenta uma estrutura extremamente organizada.

Um detector considera algumas características suspeitas.

Seria correto acusá-lo?

Não sem evidências adicionais.

Autor B — O especialista assistido por IA

Outro profissional escreve um roteiro sobre Db2 e utiliza uma ferramenta generativa para melhorar a estrutura do artigo.

Depois revê as explicações, testa exemplos SQL e acrescenta suas experiências.

O resultado contém contribuições humanas e artificiais.

Seria correto afirmar que todo o trabalho foi produzido autonomamente pela máquina?

Não.

Autor C — O publicador automático

Um terceiro usuário cria um sistema que gera dezenas de publicações genéricas diariamente.

Os textos repetem ideias sem qualquer verificação técnica.

A plataforma pode considerar esse comportamento pouco útil para seus usuários.

Isso não significa, contudo, que o conteúdo seja necessariamente falso ou ilegal.

Cada caso exige análise contextual.

A escala de participação humana

Podemos imaginar diferentes níveis de utilização de IA:

NívelParticipação da IA
0Nenhuma assistência
1Correção ortográfica
2Organização e revisão editorial
3Geração de trechos supervisionados
4Produção substancial com revisão humana
5Geração e publicação praticamente automáticas

Essa escala é uma proposta didática, não uma classificação legal ou técnica universal.

Sua finalidade é mostrar que não existe apenas uma fronteira simples entre humano e máquina.

E talvez essa seja uma das grandes dificuldades enfrentadas pelos atuais sistemas de detecção.


🇪🇺 Capítulo XIII — A Europa entra na investigação: transparência e AI Act

Em 2026, a discussão envolve também legislação.

O Regulamento Europeu de Inteligência Artificial, conhecido como AI Act, estabelece obrigações de transparência para determinadas utilizações e categorias de sistemas.

O artigo 50.º trata, entre outros aspectos, de identificação de interações com sistemas de IA, marcação de conteúdos sintéticos e divulgação de determinados deepfakes.

As obrigações variam conforme o tipo de sistema, o responsável e o contexto de utilização.

Não significa que qualquer pessoa que utilize IA para corrigir uma frase esteja automaticamente obrigada a publicar um aviso.

É necessário avaliar a situação específica.

KITT explica a diferença entre transparência e perseguição

— Michael, transparência e proibição são conceitos diferentes.

— Explique.

— Informar que uma imagem é sintética pode proteger o público contra interpretações enganosas. Mas isso não significa que toda imagem gerada seja proibida.

— Então o objetivo deve ser compreender a finalidade do conteúdo?

— Exatamente. E aplicar as regras correspondentes.

A legislação pode estabelecer deveres de informação.

A moderação privada pode estabelecer políticas de qualidade.

Uma instituição acadêmica pode definir critérios de avaliação.

Mas essas três realidades não devem ser confundidas.

Outro problema: privacidade

Suponhamos que uma plataforma decida registrar continuamente todas as etapas da escrita de seus usuários para provar autoria.

Teríamos uma nova preocupação.

Quem teria acesso aos rascunhos?

Durante quanto tempo?

As informações poderiam revelar hábitos profissionais, dados confidenciais ou ideias ainda não publicadas?

A busca por autenticidade não deveria justificar uma vigilância ilimitada.

Precisamos equilibrar transparência, segurança e privacidade.


🔎 Capítulo XIV — A solução pode estar na proveniência digital

Uma das alternativas promissoras à detecção baseada somente em estilo é a proveniência.

Em vez de perguntar se um documento parece artificial, podemos investigar sua origem e suas transformações registradas.

O padrão C2PA, associado às chamadas Content Credentials, procura estabelecer mecanismos para registrar e verificar informações sobre a criação e alterações de conteúdos digitais.

Imagine uma fotografia.

O sistema pode conter informações assinadas criptograficamente sobre sua origem e determinados processos de edição.

Isso ajuda a examinar a integridade de declarações associadas ao arquivo.

Entretanto, existe uma limitação importante.

Uma assinatura válida não comprova que a cena fotografada representa a verdade.

Também não impede que determinados metadados sejam removidos.

O mecanismo fornece informações de proveniência verificáveis, dentro de seus limites.

Conexão com o mainframe

Os princípios lembram práticas conhecidas dos ambientes corporativos:

Identificação.

Integridade.

Rastreabilidade.

Controle de acesso.

Registros de alteração.

Auditoria.

KITT aprovaria essa abordagem.

— Michael, conhecer a trajetória de um documento é mais informativo do que simplesmente especular sobre sua aparência.

— Então precisamos investigar a origem, não apenas o estilo.

— Precisamente.


🛠️ Capítulo XV — Dez dicas de KITT para os programadores COBOL iniciantes

Agora vamos transformar nossa aventura em conhecimento prático.

Primeira dica — Aprenda a validar entradas.

Nunca presuma que os dados recebidos estão corretos.

Utilize verificações de formato, tamanho, domínio e consistência.

Segunda dica — Diferencie dado de informação.

Uma pontuação é um dado.

Uma conclusão exige interpretação e contexto.

Terceira dica — Documente as regras.

Se um programa classifica registros, explique por que cada condição existe.

Quarta dica — Teste os limites.

Não teste apenas valores comuns.

Teste fronteiras, campos vazios, conteúdos inválidos e situações excepcionais.

Quinta dica — Compreenda os falsos positivos.

Um sistema pode estar funcionando como foi programado e ainda produzir decisões injustas.

Sexta dica — Preserve evidências.

Logs, relatórios de execução e versões de código são fundamentais para investigações técnicas.

Sétima dica — Utilize controle de versões.

Git pode ajudar a registrar alterações e facilitar revisões, inclusive em projetos que utilizam COBOL moderno e ferramentas de desenvolvimento integradas.

Oitava dica — Conheça os mecanismos de segurança.

Estude RACF, permissões, privilégios e segregação de funções.

Nona dica — Utilize IA como assistente, não como autoridade absoluta.

Peça explicações, exemplos e hipóteses.

Mas confira os resultados.

Décima dica — Nunca confunda execução correta com decisão correta.

Um programa pode executar perfeitamente uma regra mal concebida.

Essa talvez seja a dica mais importante.


🎩 Capítulo XVI — O easter egg: o computador mais humano da história era um automóvel

Existe uma ironia extraordinária em toda esta investigação.

Em 1982, os espectadores admiravam KITT porque ele parecia humano.

O carro conversava naturalmente.

Demonstrava preocupação.

Apresentava raciocínios.

Tinha personalidade.

Fazia comentários irônicos.

Era justamente sua capacidade de interagir como uma pessoa que o tornava fascinante.

Quarenta e quatro anos depois, certas pessoas começam a desconfiar de textos porque parecem produzidos por máquinas que aprenderam a escrever como humanos.

Veja a inversão histórica!

Antes:

"Que incrível! Esta máquina parece humana!"

Agora:

"Que suspeito! Este humano parece uma máquina!"

Michael Knight observa o painel.

— KITT, isso não parece absurdo?

— É um paradoxo interessante, Michael. Durante décadas, procuramos construir máquinas capazes de reproduzir comportamentos humanos. Agora enfrentamos dificuldades para estabelecer a origem desses comportamentos quando aparecem em meios digitais.

— Então, no futuro, teremos que provar que somos humanos?

— Em determinados contextos, a comprovação de origem poderá tornar-se mais importante. Mas seria um erro transformar toda interação humana numa investigação permanente.

O teste de Turing invertido

Em 1950, Alan Turing apresentou o famoso jogo da imitação, associado à questão de saber se uma máquina poderia produzir respostas indistinguíveis das humanas.

Em 2026, poderíamos imaginar um teste inverso.

Uma pessoa escreve um texto.

O sistema pergunta se realmente foi escrito por uma pessoa.

O humano precisa demonstrar sua humanidade.

A máquina assume o papel de juiz.

E o ser humano torna-se o investigado.

KITT talvez comentasse:

— Michael, seria lamentável construir computadores tão sofisticados que acabássemos utilizando sua capacidade de raciocínio para desconfiar indiscriminadamente das pessoas.


🚦 Capítulo XVII — O que o Bellacosa Mainframe deve aprender com essa investigação?

Para quem mantém um blog técnico, produz artigos históricos e compartilha conhecimentos sobre COBOL, IBM Z e tecnologias empresariais, a questão merece atenção especial.

É perfeitamente legítimo utilizar ferramentas de IA como apoio à pesquisa, revisão e organização.

O que realmente diferencia um artigo técnico é seu conteúdo.

Um texto apresenta valor quando explica corretamente um conceito, demonstra um procedimento, contextualiza um acontecimento e permite que o leitor aprenda algo.

Por exemplo, um artigo sobre Db2 pode incluir:

Um problema real ou claramente identificado como hipotético.

Um exemplo SQL reproduzível.

Uma explicação sobre índices e desempenho.

As limitações da solução.

As referências utilizadas.

As situações nas quais a técnica não deve ser aplicada.

Esses elementos oferecem conhecimento verificável.

Não se trata de esconder a utilização de IA.

Trata-se de assegurar que a ferramenta contribua para melhorar o trabalho, sem substituir a responsabilidade intelectual do autor.

Como avaliar uma eventual queda de alcance no LinkedIn?

Antes de concluir que determinada publicação foi penalizada por uso de IA, compare indicadores.

Observe impressões, comentários, partilhas, visitas ao perfil e crescimento da rede.

Compare textos publicados em condições semelhantes.

Verifique se a queda ocorreu apenas numa publicação ou em diferentes formatos.

Considere alterações no horário e na frequência das publicações.

E lembre-se de que correlação não significa causalidade.

Uma queda nas impressões pode coincidir com uma mudança no algoritmo sem ter sido causada especificamente pela classificação de conteúdo artificial.

KITT não aceitaria uma conclusão sem investigação.

E nós também não deveríamos aceitá-la.


🏁 Epílogo — Michael, a verdadeira supermáquina ainda precisa do ser humano

A estrada aproxima-se de Los Angeles.

O amanhecer ilumina as montanhas.

O Pontiac Trans Am negro continua avançando.

Michael Knight observa os resultados da investigação.

— KITT, chegamos a alguma conclusão?

— Sim, Michael. A inteligência artificial pode ajudar a encontrar padrões, analisar documentos e identificar situações que merecem investigação.

— Mas não pode garantir que toda suspeita esteja correta.

— Exatamente.

— E o que acontece quando as máquinas começam a tomar decisões sobre a reputação das pessoas?

— Precisamos de critérios transparentes, controles de qualidade, revisão proporcional ao risco e mecanismos de contestação.

Michael sorri.

— Você sabe, KITT, quando começamos a trabalhar juntos, achei que ter um computador inteligente resolveria todos os nossos problemas.

— E hoje, Michael?

— Hoje percebo que um computador inteligente também pode criar problemas novos.

— Uma observação sensata.

— Não se acostume.

A luz vermelha percorre a dianteira do automóvel.

Nossa aventura chega ao fim.

Mas a questão permanece.

Durante décadas, o grande sonho da informática foi construir máquinas capazes de compreender os seres humanos.

Agora precisamos aprender a construir sistemas que não confundam compreensão com julgamento.

Porque reconhecer padrões não é conhecer intenções.

Detectar semelhanças não é comprovar autoria.

Produzir uma classificação não é demonstrar culpa.

E possuir inteligência artificial não significa possuir sabedoria.

A lição final de KITT é que a tecnologia mais avançada não é necessariamente aquela que decide tudo sozinha. É aquela que ajuda as pessoas a decidir melhor, reconhecendo as próprias limitações.

No universo de A Super Máquina, Michael Knight nunca foi importante apenas porque possuía um automóvel extraordinário.

Ele era importante porque assumia a responsabilidade pelas decisões.

KITT fornecia conhecimento, velocidade, sensores e capacidade de processamento.

Michael fornecia julgamento humano.

Essa parceria continua sendo uma excelente metáfora para o desenvolvimento responsável da inteligência artificial.

E também para o futuro dos programadores COBOL.

O mainframe continuará executando milhões de instruções.

O Db2 continuará armazenando informações.

O RACF continuará controlando acessos.

O JCL continuará organizando a execução de trabalhos.

Os sistemas de IA continuarão reconhecendo padrões.

Mas alguém precisará responder pelas consequências.

E esse alguém não deveria ser um algoritmo invisível.


📚 Fontes, referências e leitura complementar

CNN Portugal — 7 de novembro de 2026

A polícia anti-IA está por todo o lado. O que é que eles procuram?

https://cnnportugal.iol.pt/ia/ai/a-policia-anti-ia-esta-por-todo-o-lado-o-que-e-que-eles-procuram/20261107/6ae9fa34d34e9ce6f1b42cf1

CNN Business — 18 de outubro de 2026

Reportagem sobre o LinkedIn e o combate a publicações produzidas por IA.

https://edition.cnn.com/2026/10/18/tech/linkedin-fighting-ai-posts

Stanford University — 2023

Liang e colaboradores. GPT detectors are biased against non-native English writers.

Revista Patterns, volume 4, número 7.

https://doi.org/10.1016/j.patter.2023.100779

União Europeia — AI Act, artigo 50.º

Obrigações de transparência para determinados sistemas e conteúdos de inteligência artificial.

https://ai-act-service-desk.ec.europa.eu/en/ai-act/article-50

C2PA — Coalition for Content Provenance and Authenticity

Especificações de proveniência e autenticidade de conteúdos digitais.

https://c2pa.org/

IBM Documentation

Documentação oficial sobre Enterprise COBOL, z/OS, JCL, RACF e Db2.

https://www.ibm.com/docs/

Knight Rider — 1982–1986

Série criada por Glen A. Larson, protagonizada por David Hasselhoff, com William Daniels como voz de KITT.


☕ Um último café no Bellacosa Mainframe

Se em 1982 alguém nos dissesse que um automóvel conversaria com seu motorista, analisaria imagens e responderia perguntas, provavelmente imaginaríamos estar diante de ficção científica.

Hoje conversamos diariamente com inteligências artificiais.

Elas ajudam a programar, traduzir, pesquisar, escrever e compreender sistemas complexos.

Mas também podem errar, interpretar mal informações e produzir resultados aparentemente convincentes.

A verdadeira evolução tecnológica não consiste apenas em construir máquinas mais inteligentes.

Consiste também em construir mecanismos que permitam compreender seus limites, corrigir seus erros e responsabilizar quem decide utilizá-las.

No fundo, quarenta e quatro anos depois, KITT continua ensinando uma lição extraordinariamente atual:

Uma supermáquina é uma ferramenta poderosa. Mas a justiça, a ética e a responsabilidade não podem ser reduzidas a uma pontuação.

Bellacosa Mainframe — onde o COBOL encontra a história, os algoritmos encontram a auditoria e uma boa xícara de café continua sendo indispensável para compreender o futuro.

Até a próxima missão. E cuidado com os falsos positivos!

sábado, 7 de novembro de 2026

🥊 DRAGON BALL Z: MR. SATAN CONTRA O ALGORITMO INVISÍVEL — O DIA EM QUE O FACEBOOK ENTROU NA ARENA DO BREXIT!

 

Bellacosa Mainframe e os 10 anos do Brexit até onde o Facebook esta envolvido?

☕ UM CAFÉ NO BELLACOSA MAINFRAME

🥊 DRAGON BALL Z: MR. SATAN CONTRA O ALGORITMO INVISÍVEL — O DIA EM QUE O FACEBOOK ENTROU NA ARENA DO BREXIT!

Bellacosa Mainframe — Arqueologia da Computação, COBOL, IBM Z, Segurança Digital e os Fantasmas da Democracia



🎬 Prólogo — O homem que derrotou Cell sem derrotar Cell

Senhoras e senhores, sejam bem-vindos!

Estamos novamente reunidos para tomar um café no Bellacosa Mainframe, onde computadores de sessenta anos continuam processando transações, sistemas bancários exigem auditoria e personagens de anime aparecem para explicar problemas que muitos especialistas levam anos tentando compreender.

Hoje recebemos uma celebridade.

Um homem de bigode monumental, cabelos encaracolados, uniforme de artes marciais e confiança suficiente para enfrentar qualquer adversário — desde que as câmeras estejam ligadas.

Mr. Satan, o campeão mundial de artes marciais!

Quem acompanhou Dragon Ball Z conhece a história.

Quando Cell ameaçou destruir a humanidade, Mr. Satan apareceu diante das câmeras garantindo que resolveria o problema.

Discursos grandiosos, poses impressionantes, gritos de vitória antecipados.

Tudo aquilo que uma população assustada gostaria de ouvir.

O detalhe inconveniente era que Mr. Satan não possuía condições de derrotar Cell.

Entretanto, dominava uma habilidade extraordinária: compreender o espetáculo televisivo e influenciar a percepção pública.

E aqui começa nossa investigação.

Em junho de 2016, o Reino Unido realizou um referendo para decidir sua permanência na União Europeia.

O resultado foi apertado: 51,9% votaram pela saída e 48,1% pela permanência.

A decisão produziria mudanças duradouras na economia, no comércio, na imigração e nas relações diplomáticas britânicas.

Nos bastidores daquela disputa, plataformas digitais, empresas de análise de dados e campanhas políticas participaram de uma nova modalidade de comunicação eleitoral.

O Facebook permitia dirigir anúncios a públicos específicos. A Cambridge Analytica tornou-se símbolo de uma crise internacional de privacidade. E a empresa AggregateIQ prestou serviços digitais efetivos a campanhas do referendo.

Nossa missão é compreender o que aconteceu, distinguir fatos de especulações e descobrir o que programadores COBOL podem aprender com tudo isso.

Afinal, numa sociedade cada vez mais dependente da tecnologia, proteger dados e preservar a transparência também são responsabilidades da engenharia de software.

Mr. Satan ajeita o cinturão.

— Deixem comigo! Vou derrotar esse tal algoritmo!

Antes que ele destrua algum servidor, vamos começar pela história.



🥊 Capítulo I — Quem é Mr. Satan e por que ele é nosso professor?

Mr. Satan, também conhecido como Hercule em algumas versões internacionais de Dragon Ball, foi criado por Akira Toriyama.

É um campeão de artes marciais perfeitamente humano num universo onde personagens conseguem destruir montanhas, voar e disparar rajadas de energia.

Sua principal característica é a distância entre sua reputação pública e suas capacidades reais diante dos guerreiros mais poderosos.

Durante os Jogos de Cell, apresenta-se como salvador da humanidade. A transmissão televisiva, o público e sua própria confiança contribuem para construir sua imagem.

Mas Mr. Satan não é simplesmente um farsante sem qualidades.

Ele demonstra coragem em determinados momentos e desenvolve uma relação importante com Majin Buu. Sua humanidade, empatia e capacidade de mobilizar pessoas também desempenham papéis positivos na narrativa.

Essa dualidade torna o personagem especialmente interessante.

Mr. Satan representa tanto o perigo da autoridade construída pelo espetáculo quanto a possibilidade de utilizar a popularidade para promover cooperação.

A grande lição não consiste em desconfiar automaticamente de toda pessoa famosa.

Consiste em compreender que popularidade, competência, honestidade e veracidade são características diferentes.

Uma pessoa pode ser admirada e estar errada.

Uma publicação pode ter milhões de compartilhamentos e apresentar números incorretos.

Um anúncio pode ser tecnicamente sofisticado e intelectualmente desonesto.

Um sistema pode executar perfeitamente suas instruções e, ainda assim, produzir resultados socialmente prejudiciais.

Esse último ponto é especialmente importante para os profissionais de informática.

COBOL não sabe se uma afirmação política é verdadeira.

Db2 não determina se uma promessa eleitoral é justa.

RACF não verifica automaticamente a honestidade de uma campanha.

Esses sistemas executam regras estabelecidas por seres humanos.

Portanto, o problema começa muito antes da programação: começa com os requisitos, os controles, as responsabilidades e as decisões sobre quais informações serão processadas.



🇬🇧 Capítulo II — 23 de junho de 2016: o torneio que dividiu o Reino Unido

O Reino Unido ingressou na Comunidade Econômica Europeia em 1973 e, em 1975, realizou um referendo que confirmou sua permanência.

Décadas depois, as relações britânicas com a integração europeia continuavam provocando debates.

Havia discussões sobre soberania parlamentar, livre circulação de pessoas, regulamentações econômicas, comércio, imigração e contribuições financeiras.

Para muitos defensores da saída, a União Europeia limitava a autonomia britânica.

Para muitos defensores da permanência, a integração proporcionava vantagens econômicas, oportunidades individuais e influência internacional.

Ambas as posições reuniam cidadãos com preocupações legítimas, ainda que propostas e argumentos específicos pudessem ser questionados.

O referendo de 2016 não surgiu simplesmente porque alguém publicou uma notícia no Facebook.

Existia uma longa história de disputas políticas e insatisfações sociais.

O Facebook entrou nesse cenário como uma infraestrutura poderosa de distribuição de mensagens.

Resultado oficial:

  • Saída da União Europeia: 17.410.742 votos.

  • Permanência na União Europeia: 16.141.241 votos.

  • Participação eleitoral: 72,2%.

  • Diferença: aproximadamente 1,27 milhão de votos.

A Escócia e a Irlanda do Norte votaram majoritariamente pela permanência, enquanto Inglaterra e País de Gales votaram majoritariamente pela saída.

Essa divisão territorial revela um fato importante: não existia um único Reino Unido politicamente homogêneo.

Havia diferentes experiências econômicas, identidades nacionais, prioridades e percepções sobre a integração europeia.

Mr. Satan observa os números.

— Mas eu poderia ter resolvido tudo com um grande discurso na televisão!

Talvez ele conseguisse atenção.

Mas atenção não é o mesmo que convencimento, e convencimento não é necessariamente sinônimo de compreensão.

Foi justamente essa distinção que a publicidade digital tornou ainda mais importante.



📱 Capítulo III — O Facebook transforma a campanha numa arena invisível

Imagine uma campanha eleitoral tradicional.

Um candidato aparece na televisão fazendo determinada afirmação.

Milhões de pessoas recebem aproximadamente a mesma mensagem.

Jornalistas podem analisá-la, adversários podem contestá-la e instituições podem solicitar correções.

Agora imagine outro modelo.

Um cidadão preocupado com empregos recebe anúncios sobre salários.

Outro, interessado em imigração, recebe mensagens sobre fronteiras.

Um terceiro, interessado em empresas, recebe conteúdos sobre regulamentações e impostos.

Um quarto recebe publicidade relacionada à sua região.

Não estamos afirmando que esses quatro anúncios específicos circularam durante o Brexit. Trata-se de um exemplo didático das possibilidades de segmentação digital.

O problema democrático potencial surge quando a publicidade política passa a ser distribuída de maneira pouco transparente.

Se cada grupo recebe mensagens diferentes, como verificar se uma campanha está apresentando afirmações contraditórias?

Como identificar quem financiou determinado anúncio?

Como saber quantas pessoas foram alcançadas?

Como distinguir persuasão legítima de utilização abusiva de dados pessoais?

Essas perguntas transformaram-se em objetos de investigações parlamentares e regulatórias.

O Facebook não inventou a propaganda política nem a utilização de pesquisas para identificar preferências eleitorais.

Campanhas realizam segmentação há décadas.

A novidade estava na escala, na velocidade, na granularidade dos públicos e na capacidade de automatizar a distribuição.

Curiosidade: a comunicação pode ser personalizada sem conhecer o nome da pessoa

Um anunciante não precisa necessariamente conhecer pessoalmente cada indivíduo.

Pode trabalhar com categorias e públicos definidos por características agregadas ou identificadores digitais.

Por exemplo:

  • Pessoas residentes numa determinada região.

  • Utilizadores interessados em assuntos econômicos.

  • Públicos que interagiram anteriormente com determinados conteúdos.

  • Conjuntos de contas associados a listas fornecidas por anunciantes.

O funcionamento exato depende das ferramentas e regras da plataforma em cada período.

A conclusão essencial permanece: a personalização permite modificar a experiência informacional de diferentes grupos.

O risco não é conversar sobre temas diferentes com pessoas diferentes. É impedir que cidadãos e fiscalizadores compreendam o conjunto das mensagens que está sendo distribuído.


🧠 Capítulo IV — Cambridge Analytica: quando os dados pessoais viraram escândalo

A Cambridge Analytica tornou-se conhecida mundialmente em 2018, quando vieram a público detalhes sobre a obtenção e utilização de informações de utilizadores do Facebook.

Um aplicativo chamado This Is Your Digital Life, associado ao pesquisador Aleksandr Kogan, coletava informações de participantes e, por mecanismos então disponíveis na plataforma, também alcançava dados relacionados a seus contatos.

Parte dessas informações foi posteriormente compartilhada com a Cambridge Analytica.

O escândalo provocou investigações, discussões sobre consentimento e mudanças no debate mundial sobre privacidade.

Imagine a seguinte situação fictícia.

Você instala um aplicativo que promete revelar qual guerreiro de Dragon Ball corresponde à sua personalidade.

Responde a perguntas aparentemente inofensivas.

O aplicativo obtém informações que, combinadas com outras fontes, permitem inferir interesses e características comportamentais.

Agora suponha que essas informações sejam utilizadas fora da finalidade originalmente apresentada.

O problema não está em responder a um questionário sobre Dragon Ball.

Está na coleta excessiva, na finalidade não autorizada, no compartilhamento indevido e na falta de transparência.

Uma correção histórica indispensável

Muitos relatos apresentam a Cambridge Analytica como a empresa que decidiu o Brexit.

Essa conclusão não foi demonstrada pelas investigações oficiais.

A Comissão Eleitoral britânica investigou a relação da Cambridge Analytica com o grupo Leave.EU e concluiu não haver evidências de prestação de serviços contratados ou doações de serviços que devessem ser declaradas naquela campanha.

Houve contatos preliminares e apresentações comerciais, mas a investigação não encontrou contrato operacional firmado.

Isso não apaga as irregularidades de privacidade reveladas no escândalo.

Significa apenas que duas histórias diferentes não devem ser confundidas.

Mr. Satan interrompe:

— Mas todo mundo disse que foi ela!

Exatamente, campeão.

Uma afirmação repetida milhares de vezes não se transforma automaticamente em fato comprovado.

Essa será nossa primeira regra de auditoria.


💰 Capítulo V — AggregateIQ: seguindo o dinheiro em vez dos gritos

Quando um analista de sistemas investiga um incidente financeiro, não começa necessariamente pela declaração mais barulhenta.

Começa pelos registros.

Quem pagou?

Quem recebeu?

Qual serviço foi contratado?

Quando ocorreu a transação?

Qual documento comprova a operação?

No caso do Brexit, essas perguntas conduzem a uma empresa canadense chamada AggregateIQ.

Diferentemente das alegações não comprovadas sobre a atuação operacional da Cambridge Analytica para Leave.EU, a participação da AggregateIQ em serviços de campanhas relacionadas ao referendo foi documentada.

A Comissão Eleitoral britânica identificou despesas coordenadas entre Vote Leave e BeLeave que deveriam ter sido contabilizadas conjuntamente.

O resultado foi a identificação de gastos de aproximadamente £7,45 milhões atribuíveis a Vote Leave, acima do limite legal de £7 milhões.

Vote Leave pagou multas relacionadas às infrações identificadas e retirou seu recurso.

É importante acrescentar que Darren Grimes venceu posteriormente um recurso contra a penalidade individual que lhe havia sido imposta.

Esse detalhe demonstra por que um artigo responsável precisa acompanhar o desenvolvimento completo de uma investigação, inclusive decisões judiciais posteriores.

O caso revela um problema que qualquer programador COBOL conhece.

Quando operações pertencentes ao mesmo processo são registradas separadamente de maneira inadequada, os relatórios podem apresentar uma realidade incompleta.

Um sistema de auditoria deveria conseguir reconhecer relações entre despesas, organizações e prestadores de serviços.

É hora de transformar essa lição num laboratório.


💻 Capítulo VI — Laboratório COBOL: construindo um pequeno auditor de campanhas

Nosso primeiro programa será chamado SATANAUD.

Não vamos processar informações pessoais de eleitores, opiniões políticas ou preferências individuais.

Vamos utilizar números financeiros fictícios para aprender como verificar limites de despesas.

A situação será simples.

Uma organização possui um limite de gastos de 7 milhões de unidades monetárias.

Recebemos três registros de despesas.

Precisamos somá-los e descobrir se o limite foi ultrapassado.

Passo 1 — Compreendendo a estrutura

Um programa COBOL tradicional pode possuir quatro divisões principais:

IDENTIFICATION DIVISION: identifica o programa.

ENVIRONMENT DIVISION: descreve recursos externos quando necessários.

DATA DIVISION: define os dados utilizados.

PROCEDURE DIVISION: contém as instruções executáveis.

Nosso primeiro exemplo utiliza dados declarados internamente e não necessita de arquivos externos.

Passo 2 — O código-fonte

       >>SOURCE FORMAT FREE
IDENTIFICATION DIVISION.
PROGRAM-ID. SATANAUD.

DATA DIVISION.
WORKING-STORAGE SECTION.

01 WS-LIMITE       PIC 9(9)V99 VALUE 7000000.00.
01 WS-DESPESA-1    PIC 9(9)V99 VALUE 3200000.00.
01 WS-DESPESA-2    PIC 9(9)V99 VALUE 2500000.00.
01 WS-DESPESA-3    PIC 9(9)V99 VALUE 1800000.00.
01 WS-TOTAL        PIC 9(9)V99 VALUE ZERO.
01 WS-EXCESSO      PIC 9(9)V99 VALUE ZERO.

PROCEDURE DIVISION.

    ADD WS-DESPESA-1
        WS-DESPESA-2
        WS-DESPESA-3
        GIVING WS-TOTAL

    DISPLAY "TOTAL: " WS-TOTAL
    DISPLAY "LIMITE: " WS-LIMITE

    IF WS-TOTAL > WS-LIMITE
        COMPUTE WS-EXCESSO =
            WS-TOTAL - WS-LIMITE
        DISPLAY "ALERTA: LIMITE EXCEDIDO"
        DISPLAY "EXCESSO: " WS-EXCESSO
    ELSE
        DISPLAY "DESPESAS DENTRO DO LIMITE"
    END-IF

    GOBACK.

Passo 3 — Entendendo os campos

A declaração PIC 9(9)V99 representa um campo numérico decimal com nove dígitos inteiros e duas casas decimais implícitas.

O V não ocupa uma posição física.

Ele indica onde o programa interpreta a separação decimal.

Isso permite trabalhar com valores monetários sem depender de números de ponto flutuante.

Observe que WS-TOTAL possui espaço suficiente para armazenar a soma do nosso exemplo.

Em aplicações financeiras reais, os tamanhos precisam ser calculados conforme os limites máximos esperados, incluindo a possibilidade de overflow.

Passo 4 — Executando mentalmente

Temos:

3.200.000 + 2.500.000 + 1.800.000 = 7.500.000.

O limite permitido é 7.000.000.

Portanto, o programa identifica um excesso de 500.000 unidades monetárias.

Esses valores são inteiramente fictícios e servem exclusivamente ao aprendizado.

Passo 5 — Testando o programa

No GnuCOBOL, salve o código como satanaud.cbl e utilize, caso tenha o compilador instalado:

cobc -x -free -o satanaud satanaud.cbl
./satanaud

No Windows, a execução pode exigir satanaud.exe, conforme o ambiente.

Em IBM z/OS, seria necessário utilizar o compilador Enterprise COBOL e procedimentos JCL apropriados à instalação. O exemplo não é um JCL pronto para produção.

Mr. Satan comemora:

— Eu sabia! Derrotei a corrupção com seis variáveis!

Ainda não, campeão.

Detectar uma soma acima do limite é fácil.

A dificuldade verdadeira está em garantir que todas as despesas relevantes foram registradas, que pertencem à organização correta e que ninguém modificou os registros.

Um sistema que recebe dados incompletos produz uma auditoria incompleta.


🗃️ Capítulo VII — Db2: seguindo as relações escondidas entre organizações

Agora vamos aprofundar o problema.

Imagine uma estrutura financeira fictícia com três entidades:

Campanha A, Campanha B e Fornecedor C.

A Campanha A contrata determinados serviços.

A Campanha B também contrata o Fornecedor C.

Existe a possibilidade de que algumas despesas estejam relacionadas a um projeto conjunto.

Isso não significa automaticamente irregularidade.

O objetivo do auditor é identificar relações e investigar quando existe obrigação legal de consolidar os gastos.

Em um banco de dados relacional, poderíamos criar um modelo simplificado com registros como:

CampanhaGrupo de auditoriaValor fictício
Campanha AGRUPO013.200.000
Campanha BGRUPO012.500.000
Campanha CGRUPO011.800.000
Campanha DGRUPO02900.000

A coluna GRUPO_AUDITORIA representa uma classificação previamente validada.

Ela não deve ser preenchida automaticamente apenas porque duas campanhas contrataram o mesmo fornecedor.

Num ambiente Db2, uma consulta didática poderia ser:

SELECT
    GRUPO_AUDITORIA,
    SUM(VALOR) AS TOTAL_GASTO
FROM DESPESAS
GROUP BY GRUPO_AUDITORIA;

O resultado permite identificar os valores consolidados por grupo.

Mas o trabalho não termina aí.

Precisamos saber quem classificou os registros, quando a classificação foi realizada e quais documentos justificam a associação.

Uma boa arquitetura de auditoria preserva evidências e permite contestar classificações incorretas.

Dica Bellacosa

Nunca transforme uma suspeita automaticamente em uma conclusão.

Um relatório deve diferenciar:

  • Registro validado.

  • Inconsistência encontrada.

  • Operação pendente de investigação.

  • Irregularidade confirmada pela autoridade competente.

Confundir esses estados pode prejudicar pessoas inocentes e comprometer a confiança no próprio sistema.


🛡️ Capítulo VIII — RACF e o princípio de que nem todo mundo pode fazer tudo

Mr. Satan acaba de descobrir uma coisa fascinante.

Mesmo que o programa COBOL funcione perfeitamente, alguém pode tentar alterar os dados de entrada.

É exatamente por isso que sistemas empresariais exigem controle de acesso.

No ambiente IBM Z, RACF é uma das ferramentas utilizadas para administrar identidades, permissões e proteção de recursos.

Imagine nosso sistema de auditoria.

Um operador pode consultar determinadas despesas.

Um responsável autorizado pode registrar novas operações.

Um auditor independente pode analisar relatórios.

Um administrador de segurança controla permissões, mas não deveria ser o responsável por aprovar todas as operações financeiras.

Esse é o conceito de segregação de funções.

Não devemos concentrar todas as capacidades críticas numa única pessoa.

A mesma lógica vale para plataformas digitais.

Quem financia um anúncio político não deveria controlar, sozinho, todos os mecanismos utilizados para declarar, verificar e fiscalizar aquele financiamento.

E os dados pessoais utilizados na publicidade precisam estar sujeitos a permissões e finalidades legítimas.

O erro que devemos evitar

Utilizar um cadastro recolhido para uma finalidade e reaproveitá-lo silenciosamente para outra.

Um cidadão que fornece um endereço eletrônico para receber informações sobre determinado serviço não está necessariamente autorizando a utilização desse endereço em campanhas políticas.

Consentimento, base legal, finalidade e transparência não são detalhes burocráticos.

São partes da arquitetura de proteção de dados.


📜 Capítulo IX — SMF: toda operação importante precisa deixar vestígios

Os profissionais experientes de mainframe conhecem bem a importância dos registros operacionais.

No z/OS, o System Management Facilities, ou SMF, fornece registros de atividades e medições conforme a configuração e os componentes envolvidos.

Esses registros podem apoiar auditoria, segurança, desempenho e investigação de incidentes.

Imagine agora um sistema de publicidade política que preserve, de maneira proporcional e respeitando a privacidade, informações auditáveis sobre:

Quem financiou o anúncio?

Qual organização assumiu a responsabilidade?

Qual foi o período de circulação?

Quanto foi gasto?

Qual mensagem foi exibida?

Quais critérios gerais de distribuição foram utilizados?

Quais alterações ocorreram durante a campanha?

O objetivo não é vigiar a preferência política individual dos cidadãos.

É permitir o escrutínio da operação publicitária e de seus responsáveis.

Essa distinção é fundamental.

Uma democracia precisa de transparência sobre o poder e proteção da privacidade dos cidadãos.

Um arquivo contendo todos os anúncios, seus patrocinadores e informações públicas de distribuição pode contribuir para a fiscalização.

Um banco de dados secreto contendo perfis íntimos de milhões de eleitores pode representar exatamente o problema que pretendemos evitar.

Easter egg mainframe

Existe uma ironia tecnológica interessante nessa história.

Durante décadas, programadores de sistemas financeiros aprenderam que alterações importantes precisam deixar registros verificáveis.

No universo das redes sociais, parte do debate político passou a depender de mecanismos publicitários cuja visibilidade pública era limitada.

A lição não é que computadores antigos sejam moralmente superiores aos modernos.

É que boas práticas de engenharia de sistemas não deveriam desaparecer quando a tecnologia muda de plataforma.


🚌 Capítulo X — Os £350 milhões semanais: quando um número precisa de auditoria

Uma das mensagens mais conhecidas do referendo britânico apareceu num ônibus vermelho.

A campanha Vote Leave apresentava a ideia de que o Reino Unido enviava £350 milhões por semana à União Europeia, sugerindo que esses recursos poderiam ser direcionados ao NHS, o serviço público de saúde.

O problema não era a existência de um debate sobre contribuições financeiras.

O problema estava na maneira como o valor era apresentado.

A autoridade britânica de estatísticas advertiu que o número bruto não incorporava adequadamente o abatimento britânico e outros fluxos financeiros relevantes.

Utilizá-lo como se fosse um valor líquido integralmente disponível era enganoso.

Como explicar isso a um programador COBOL iniciante?

Imagine um sistema financeiro no qual alguém apresente apenas o valor bruto de uma operação.

O relatório ignora descontos, compensações e ajustes.

O resultado pode ser numericamente verdadeiro em uma coluna específica e, ao mesmo tempo, inadequado para responder à pergunta que realmente interessa.

É um erro de interpretação de dados.

Considere este exemplo fictício:

VALOR BRUTO:       350
ABATIMENTO:         85
VALOR APOS ABATE:  265

O exemplo é apenas ilustrativo e não reproduz o cálculo completo das relações financeiras entre Reino Unido e União Europeia.

O ensinamento é simples.

Se alguém utilizar o valor bruto como se fosse o montante efetivamente disponível, estará apresentando uma conclusão que não decorre corretamente dos dados.

Três perguntas que todo profissional deveria fazer

Primeira: qual é a origem do número?

Segunda: quais deduções, condições e limitações foram consideradas?

Terceira: a conclusão apresentada corresponde realmente ao que o número mede?

Isso vale para política, investimentos, estatísticas de segurança, inteligência artificial e relatórios empresariais.

Mr. Satan encontra um gráfico impressionante.

— O número é enorme! Portanto, deve estar certo!

Não, campeão.

Tamanho não é qualidade.


🌍 Capítulo XI — O que o Reino Unido enfrentou depois do referendo?

O referendo aconteceu em junho de 2016.

O Reino Unido deixou formalmente a União Europeia em 31 de janeiro de 2020.

O período de transição terminou em 31 de dezembro de 2020, e uma nova relação comercial começou em 1º de janeiro de 2021.

Essas datas são fundamentais.

Muitos acontecimentos econômicos e políticos ocorridos depois de 2016 também foram influenciados pela pandemia, pela crise energética, pela inflação internacional e por outras transformações globais.

Por isso, não é correto atribuir toda dificuldade posterior exclusivamente ao Brexit.

Ainda assim, existem efeitos próprios da mudança institucional.

O comércio com a União Europeia passou a enfrentar novas exigências administrativas e barreiras não tarifárias.

Cidadãos britânicos perderam os direitos gerais de livre circulação associados à cidadania europeia.

Empresas precisaram adaptar procedimentos.

As relações com a Irlanda do Norte exigiram acordos específicos.

Por outro lado, o Reino Unido passou a possuir maior autonomia formal em determinadas decisões migratórias, comerciais e regulatórias.

Defensores e críticos do Brexit interpretam de maneira diferente o valor dessas mudanças.

Uma análise responsável precisa reconhecer tanto os objetivos políticos declarados quanto seus custos e consequências observáveis.

O Office for Budget Responsibility mantém a projeção de que a nova relação comercial reduzirá a produtividade potencial de longo prazo em aproximadamente 4% relativamente a um cenário de permanência na União Europeia.

Essa é uma estimativa econômica contrafactual, não uma medição direta de queda de 4% em determinado ano.

Especialistas também discutem a magnitude dos efeitos estimados.

A lição mais importante para nosso estudo é que decisões políticas podem produzir consequências que ultrapassam muitos anos e diferentes governos.

Isso aumenta a importância de informações transparentes antes da votação.


🤖 Capítulo XII — Dez anos depois, a inteligência artificial entra no torneio

Em 2016, a atenção estava concentrada em dados pessoais, publicidade direcionada e plataformas sociais.

Em 2026, existe um desafio adicional: sistemas de inteligência artificial capazes de produzir textos, imagens, vozes e vídeos convincentes.

Uma mensagem política falsa pode apresentar um personagem público aparentemente fazendo declarações que nunca realizou.

Uma fotografia pode ser manipulada.

Uma gravação pode imitar uma voz.

Um conjunto de contas automatizadas pode aumentar artificialmente a visibilidade de determinado conteúdo.

Essas tecnologias também possuem utilizações legítimas.

A inteligência artificial pode auxiliar jornalistas na análise de documentos, pesquisadores na identificação de padrões e cidadãos na compreensão de propostas complexas.

Portanto, o problema não é simplesmente utilizar IA.

O problema está na ausência de mecanismos adequados de transparência, identificação de conteúdo manipulado, responsabilidade e fiscalização.

Como a IA pode ajudar na defesa?

Imagine um sistema que compare afirmações numéricas com documentos oficiais.

O usuário recebe uma mensagem afirmando que determinado orçamento aumentou 500%.

Uma ferramenta consulta a série histórica correspondente, identifica o período utilizado e apresenta fontes para a comparação.

Outra ferramenta detecta possíveis inconsistências entre registros financeiros declarados.

Uma terceira auxilia auditores a localizar operações duplicadas.

Nenhuma delas deveria decidir automaticamente quem está mentindo ou qual opinião política o cidadão deve adotar.

Seu papel seria fornecer evidências verificáveis e indicar limitações.

Isso nos leva a uma regra importante:

A inteligência artificial deve ampliar a capacidade humana de verificar informações, não substituir o julgamento democrático dos cidadãos.


🧪 Capítulo XIII — Laboratório avançado: criando uma trilha de auditoria em COBOL

Agora Mr. Satan vai aprender que não basta identificar uma despesa acima do limite.

Precisamos registrar o motivo do alerta.

Vamos construir uma rotina simples capaz de gerar uma mensagem de auditoria.

       >>SOURCE FORMAT FREE
IDENTIFICATION DIVISION.
PROGRAM-ID. SATANLOG.

DATA DIVISION.
WORKING-STORAGE SECTION.

01 WS-ID-OPERACAO    PIC X(10) VALUE "OP00000001".
01 WS-VALOR          PIC 9(7)V99 VALUE 7500000.
01 WS-LIMITE         PIC 9(7)V99 VALUE 7000000.
01 WS-STATUS         PIC X(20).
01 WS-MENSAGEM       PIC X(60).

PROCEDURE DIVISION.

    IF WS-VALOR > WS-LIMITE
        MOVE "ALERTA"
            TO WS-STATUS
        MOVE "VALOR SUPERIOR AO LIMITE CONFIGURADO"
            TO WS-MENSAGEM
    ELSE
        MOVE "REGULAR"
            TO WS-STATUS
        MOVE "VALIDACAO NUMERICA CONCLUIDA"
            TO WS-MENSAGEM
    END-IF

    DISPLAY "OPERACAO: " WS-ID-OPERACAO
    DISPLAY "STATUS:   " WS-STATUS
    DISPLAY "MOTIVO:   " WS-MENSAGEM

    GOBACK.

O que aprendemos?

O programa não declara que uma pessoa cometeu fraude.

Ele identifica uma condição objetiva: determinado valor ultrapassou um limite configurado.

A diferença é importante.

Um excesso pode decorrer de erro operacional, classificação equivocada, duplicidade ou irregularidade real.

É necessária investigação para estabelecer as causas.

Como evoluir o laboratório?

Numa aplicação empresarial, poderíamos acrescentar identificação autenticada do responsável, data e hora da operação, referência ao documento original, versões anteriores e trilhas de alterações.

Também precisaríamos de tratamento de erros, validação de campos, testes de limites, proteção contra registros duplicados, controles transacionais e política de retenção de dados.

Registros críticos poderiam ser enviados a um repositório protegido contra alterações não autorizadas.

Em produção, a arquitetura deveria prever monitoramento, segregação de permissões e auditoria independente.

Uma observação importante sobre privacidade

Não devemos construir registros contendo mais informações pessoais do que o necessário.

Auditar não significa acumular indiscriminadamente dados sobre cidadãos.

Em muitos casos, a melhor solução é registrar informações sobre organizações, contratos, anúncios e valores financeiros, evitando identificar individualmente os destinatários das mensagens.


⚖️ Capítulo XIV — Dez princípios para reduzir o risco de novos escândalos

Chegamos à parte mais importante do nosso treinamento.

Mr. Satan percebeu que não existe um golpe secreto capaz de resolver todos os problemas da democracia.

Precisamos de processos, instituições, fiscalização e responsabilidade.

1. Transparência da publicidade política

Anúncios eleitorais devem possuir identificação verificável do responsável e informações acessíveis sobre seu financiamento, conforme a legislação aplicável.

2. Proteção de dados pessoais

A utilização de informações de cidadãos deve respeitar finalidades legítimas, bases legais, minimização de dados e direitos individuais.

3. Fiscalização independente

Organizações responsáveis por campanhas não podem ser as únicas fontes de verificação de suas próprias despesas.

4. Rastreabilidade financeira

Gastos conjuntos, prestadores de serviços e estruturas relacionadas precisam ser analisados conforme as regras eleitorais.

5. Educação midiática

Os cidadãos devem receber ferramentas para distinguir publicidade, opinião, informação jornalística e conteúdo manipulado.

6. Verificação de estatísticas

Números políticos relevantes devem ser acompanhados de fontes, definições e limitações.

7. Responsabilidade das plataformas

Redes sociais precisam oferecer mecanismos proporcionais de transparência e resposta a abusos, com respeito aos direitos fundamentais.

8. Proteção da liberdade de expressão

Combater fraudes, publicidade ilegal e uso indevido de dados não pode transformar-se em autorização ilimitada para censura ou perseguição política.

9. Direito de contestação

Sistemas automatizados que produzam consequências relevantes devem possuir mecanismos adequados de revisão, explicação e contestação.

10. Auditoria contínua

A fiscalização não deve começar apenas depois de uma crise.

Assim como sistemas bancários precisam de monitoramento permanente, infraestruturas digitais de grande impacto necessitam de controles contínuos, proporcionais e verificáveis.

Nenhuma dessas medidas garante a ausência absoluta de manipulação ou desinformação.

Entretanto, elas podem reduzir oportunidades de abuso e facilitar a responsabilização quando ocorrerem problemas.


🐉 Capítulo XV — O segredo de Mr. Satan: popularidade também pode servir ao bem

Existe uma razão especial para escolher Mr. Satan como tutor desta investigação.

Seria muito fácil utilizar apenas suas mentiras e exageros como metáfora da propaganda política.

Mas isso deixaria a análise incompleta.

Em Dragon Ball, Mr. Satan também descobre que sua popularidade pode ser empregada para ajudar outras pessoas.

Durante os acontecimentos envolvendo Majin Buu, sua relação com o personagem demonstra compaixão e capacidade de estabelecer vínculos inesperados.

Mais adiante, sua influência pública desempenha papel importante na mobilização da humanidade.

Esse aspecto oferece uma segunda interpretação.

Uma rede social pode amplificar informações falsas, mas também pode divulgar pesquisas científicas, mobilizar ajuda humanitária, aproximar comunidades e permitir que denúncias legítimas cheguem ao conhecimento público.

A tecnologia não determina sozinha o resultado moral de sua utilização.

Instituições, incentivos econômicos, decisões de projeto, regras, cultura e ações humanas importam.

O mesmo acontece com COBOL.

Um programa pode administrar benefícios sociais, processar pagamentos ou manter registros financeiros.

Sua confiabilidade técnica é indispensável.

Entretanto, a legitimidade de sua utilização depende também das finalidades, dos controles e da responsabilidade humana.

Precisamos de sistemas que ajudem a sociedade a compreender o que acontece, não de sistemas que tornem a fiscalização impossível.


🎁 Easter eggs — Cinco curiosidades escondidas nesta aventura

Easter egg 01 — O campeão que não possuía superpoderes

Mr. Satan é extraordinariamente popular entre humanos comuns, mas seus poderes são modestos diante dos grandes guerreiros de Dragon Ball. Isso permite à obra brincar com a diferença entre reputação e realidade.

Easter egg 02 — O mundo já possuía uma rede antes do Facebook

A propaganda política direcionada existia muito antes das redes sociais. O avanço digital aumentou a escala, a velocidade e a precisão de algumas práticas, além de criar novos problemas de transparência.

Easter egg 03 — Um anúncio não precisa ser falso para exigir fiscalização

Uma campanha pode apresentar uma mensagem verdadeira e ainda assim descumprir regras sobre financiamento ou tratamento de dados. A integridade da comunicação possui diferentes dimensões.

Easter egg 04 — O mainframe conhece o valor da evidência

COBOL, Db2, RACF e SMF não são tecnologias especificamente eleitorais. Mas os princípios de validação, registro, autorização e reconciliação aplicados nesses ambientes são úteis para pensar sistemas auditáveis.

Easter egg 05 — A democracia não é um programa com saída binária

Um programa pode retornar REGULAR ou ALERTA. Já a avaliação democrática envolve direitos, instituições, escolhas legítimas, transparência e interpretações conflitantes. Nenhuma variável isolada consegue representar toda essa complexidade.


☕ Epílogo — A última luta do campeão mundial

O torneio terminou.

Mr. Satan encontra-se no centro da arena, cercado por jornalistas.

Seu cinturão brilha sob os refletores.

Atrás dele, um terminal 3270 apresenta um relatório de auditoria.

Os registros financeiros foram reconciliados.

As permissões foram verificadas.

As afirmações numéricas foram comparadas com suas fontes.

As inconsistências identificadas foram encaminhadas para análise humana.

Nenhum cidadão precisou revelar suas preferências políticas para que os controles básicos funcionassem.

Um jornalista aproxima-se.

— Mr. Satan, o senhor derrotou o algoritmo?

O campeão abre um sorriso monumental.

Levanta os braços.

Prepara um discurso histórico.

Então olha para o terminal.

Pela primeira vez, parece compreender que a vitória não depende de uma pessoa extraordinária.

Depende de cidadãos informados, profissionais responsáveis, instituições capazes de fiscalizar e mecanismos que permitam questionar o poder.

Ele respira profundamente.

— Desta vez, quem venceu foi a auditoria!

E talvez essa seja a maior lição do Brexit.

Não podemos garantir que os cidadãos sempre recebam informações corretas, que políticos nunca exagerem ou que empresas jamais abusem de seus poderes.

Mas podemos desenvolver instituições e tecnologias que dificultem a utilização indevida dos dados, aumentem a transparência e permitam verificar alegações.

Para um programador COBOL iniciante, o aprendizado é igualmente valioso.

Antes de escrever uma linha de código, pergunte:

De onde vêm os dados? Quem pode alterá-los? Como validá-los? Quem fiscaliza o resultado? E quais consequências existirão se o sistema estiver errado?

Essas perguntas ajudam a construir bons sistemas financeiros.

Também ajudam a compreender os riscos da comunicação política digital.

Porque, no fim das contas, a democracia não precisa de um campeão que grite mais alto.

Precisa de regras confiáveis, informação verificável, liberdade para discordar e mecanismos que permitam responsabilizar quem descumpre a lei.

E, no Bellacosa Mainframe, até Mr. Satan aprende que um bom registro de auditoria vale mais do que mil discursos de vitória.


Bellacosa Mainframe

Arqueologia da Computação, COBOL, IBM Z, Inteligência Artificial e os fantasmas dos sistemas que continuam sustentando o mundo.

Fim do episódio. O café esfriou. O mainframe continua funcionando.


Vagner Renato Bellacosa, IBM Champion e especialista em IBM Mainframe
IBM Z17 SYSTEM ONLINE
Sobre o autor

Vagner Renato Bellacosa

IBM Champion 2026 • Especialista em IBM Mainframe

Vagner Renato Bellacosa trabalha com IBM Mainframe desde 1988 , é IBM Champion e especialista em COBOL, CICS, Db2, z/OS e IBM Z. Compartilha experiências profissionais, conhecimento técnico, história da computação e práticas do universo mainframe para aproximar novas gerações das tecnologias que sustentam empresas, bancos e governos ao redor do mundo.

IBM Champion IBM Z COBOL CICS Db2 z/OS Mainframe desde 1988
GitHub LinkedIn
Inicializando conteúdo...