☕ 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, 24 de junho de 2024

🌑 IT Key Risk Indicators — Antes do ABEND, sempre existe um sinal

 


☕ Um Café no Bellacosa Mainframe

🌑 IT Key Risk Indicators — Antes do ABEND, sempre existe um sinal

Sob a batuta de Riddick: no escuro do datacenter, sobreviver não depende de enxergar tudo. Depende de perceber aquilo que os outros ainda não conseguem ver.

Existe uma cena recorrente em praticamente toda operação de TI.

03:17 da madrugada.

O telefone toca.

O monitor começa a piscar.

O grupo de mensagens acorda.

Alguém escreve:

PRODUÇÃO FORA.

Outro pergunta:

O que mudou?

Um terceiro responde:

Nada.

E essa talvez seja uma das respostas mais assustadoras que podem aparecer durante um incidente.

Porque alguma coisa mudou.

Talvez não às 03:17.

Talvez tenha começado três meses antes.

Um patch foi adiado.

Uma configuração temporária tornou-se permanente.

Um ticket envelheceu.

Depois outro.

Uma mudança emergencial foi aprovada.

Um deployment falhou.

Um backup apresentou erro.

Um teste de recuperação foi postergado.

A latência começou a aumentar discretamente.

Separadamente, nenhuma dessas coisas parecia suficiente para abrir uma War Room.

Juntas, estavam contando uma história.

Só que ninguém estava ouvindo.

É aqui que entram os Key Risk Indicators — KRIs.

E para conversar sobre sinais escondidos, ambientes hostis, sobrevivência e a capacidade de enxergar aquilo que os demais ignoram, hoje nosso tutor não será Poirot, Sherlock Holmes ou Jack Bauer.

Apaguem as luzes do datacenter.

Nosso guia será Riddick.



🌑 1. Riddick não precisa que alguém acenda a luz

Em Pitch Black, existe uma vantagem fundamental que transforma Riddick em alguém especialmente perigoso quando todos os outros ficam vulneráveis:

ele consegue operar no escuro.

Essa é uma excelente metáfora para Risk Management.

Quando tudo está verde, qualquer um consegue dizer:

SYSTEM STATUS = OK

CPU normal.

CICS funcionando.

Db2 funcionando.

MQ funcionando.

Rede funcionando.

Jobs terminando.

Dashboard verde.

Executivos tranquilos.

Café quente.

O problema é perceber alguma coisa quando ainda não existe uma falha evidente.

Um bom KRI tenta justamente aumentar nossa capacidade de enxergar nesse escuro operacional.

Ele não precisa dizer:

INCIDENT = TRUE

Pode dizer:

RISK EXPOSURE = INCREASING

E essa diferença é gigantesca.



📊 2. Primeiro: KRI não é simplesmente uma métrica

Quem está começando em COBOL, mainframe ou operações pode encontrar centenas de números durante um único dia.

CPU.

Storage.

I/O.

Transactions per second.

Response time.

Fila.

Número de jobs.

ABENDs.

Tickets.

Disponibilidade.

Quantidade de mudanças.

Tudo isso pode ser medido.

Mas nem toda métrica é automaticamente um KRI.

Considere:

FAILED DEPLOYMENTS = 4

Temos um número.

Agora:

TOTAL DEPLOYMENTS  = 100
FAILED DEPLOYMENTS = 4

FAILURE RATE = 4%

Temos um indicador melhor.

Mas falta contexto.

Historicamente:

JAN = 0.7%
FEV = 0.9%
MAR = 1.2%
ABR = 2.1%
MAI = 3.0%
JUN = 4.0%

O valor atual ganhou uma característica importantíssima:

tendência.

Agora descobrimos que o limite de tolerância definido pela organização é 3%.

CURRENT   = 4.0%
THRESHOLD = 3.0%
TREND     = UP

E sabemos quem responde por isso:

OWNER = APPLICATION DELIVERY

Finalmente existe uma ação prevista:

IF FAILURE_RATE > 3%
   PERFORM ROOT_CAUSE_ANALYSIS
   REVIEW RELEASE_PIPELINE
   ESCALATE TO OWNER
END-IF

Agora começamos a ter algo parecido com um verdadeiro KRI.



💻 3. Pensando como um programador COBOL

Vamos traduzir isso para uma lógica extremamente simples.

       IF WS-CURRENT-RISK > WS-RISK-LIMIT
           MOVE 'ACTION' TO WS-RISK-STATUS
       ELSE
           MOVE 'NORMAL' TO WS-RISK-STATUS
       END-IF.

Parece fácil.

Mas a realidade é mais interessante.

Talvez tenhamos:

       EVALUATE TRUE
           WHEN WS-CURRENT-RISK >= WS-CRITICAL-LIMIT
               MOVE 'CRITICAL' TO WS-RISK-STATUS

           WHEN WS-CURRENT-RISK >= WS-ACTION-LIMIT
               MOVE 'ACTION' TO WS-RISK-STATUS

           WHEN WS-CURRENT-RISK >= WS-WARNING-LIMIT
               MOVE 'WATCH' TO WS-RISK-STATUS

           WHEN OTHER
               MOVE 'NORMAL' TO WS-RISK-STATUS
       END-EVALUATE.

Agora nosso KRI ganhou quatro estados:

NORMAL
  ↓
WATCH
  ↓
ACTION
  ↓
CRITICAL

Isso é muito mais útil do que simplesmente:

VERDE
VERMELHO

Porque o objetivo de Risk Management é justamente atuar antes de chegar ao vermelho.

Riddick não espera a criatura estar mordendo seu pescoço para concluir que talvez exista algum risco naquele planeta.


🧭 4. Technology Strategy & Oversight — alguns monstros demoram anos para aparecer

O primeiro domínio do infográfico apresenta:

IT Strategy Alignment Gap

Technology Decision Delay

IT Portfolio Overrun Rate

Essa seção é importante porque destrói uma ideia comum:

risco de TI é problema técnico.

Não necessariamente.

Imagine um sistema funcionando perfeitamente.

Só existe um pequeno detalhe.

Ele precisa ser modernizado.

Ano 1:

MODERNIZATION = POSTPONED

Ano 2:

MODERNIZATION = POSTPONED

Ano 3:

MODERNIZATION = POSTPONED

Nada caiu.

Então alguém conclui:

Viu? Não precisava mexer.

Só que durante esses três anos:

Specialists available        ↓
Technical documentation      ↓
Vendor support remaining     ↓

Maintenance cost             ↑
Dependencies                 ↑
Security exposure            ↑
Operational complexity       ↑

O sistema não necessariamente piorou.

A exposição ao risco piorou.

Technology Decision Delay consegue ajudar a revelar justamente esse tipo de situação.


🎫 5. Ticket Backlog Aging — os esqueletos dentro da caverna

Agora entramos em Service Management:

Major Incident Volume

SLA Breach Rate

Ticket Backlog Aging

Contar tickets é útil.

Mas considere:

Sistema A

TICKETS = 1.000
AVERAGE AGE = 3 DAYS

Sistema B

TICKETS = 300
AVERAGE AGE = 74 DAYS

Qual deles é mais perigoso?

Não temos informação suficiente para responder.

Mas o segundo desperta imediatamente minha curiosidade.

Por que esses tickets permanecem abertos?

São irrelevantes?

Não existe equipe?

Não existe solução?

Existe dependência externa?

Ou pior:

a organização simplesmente se acostumou com os problemas?

Essa última hipótese é perigosíssima.

Quando ouvimos:

Isso acontece de vez em quando.

Riddick provavelmente já estaria olhando para o teto.

Porque alguma coisa está andando lá em cima.


🖥️ 6. Capacity Threshold — CPU a 95% não significa Armageddon

O infográfico apresenta:

Critical Infrastructure Downtime

Capacity Threshold Breach Rate

Network Latency Exception Rate

Aqui precisamos tomar muito cuidado com números isolados.

Imagine:

CPU = 95%

Alguém vê isso no monitor e grita:

SOCORRO!

Não necessariamente.

Especialmente no universo IBM Z, precisamos perguntar:

Qual LPAR?

Qual workload?

Quanto tempo?

Qual horário?

Qual prioridade?

Existe degradação?

Existe fila?

Qual objetivo de serviço?

O WLM está cumprindo as metas?

Esse comportamento é esperado?

Uma máquina trabalhando intensamente não significa necessariamente uma máquina com problemas.

É como encontrar Riddick correndo.

Talvez esteja fugindo.

Talvez esteja perseguindo alguma coisa.

O número sozinho não conta a história.


🚨 7. Threshold sem contexto cria Alert Fatigue

Existe outro perigo.

Configure alarmes para absolutamente tudo.

CPU > 70%       ALERT
CPU > 75%       ALERT
QUEUE > 10      ALERT
DISK > 60%      ALERT
LATENCY > X     ALERT
MEMORY > Y      ALERT

Logo teremos:

ALERT
ALERT
ALERT
ALERT
ALERT
ALERT
ALERT

O cérebro humano faz aquilo que sempre faz quando é bombardeado continuamente pela mesma informação:

começa a ignorá-la.

Isso é alert fatigue.

Quando tudo parece urgente, nada parece urgente.

O verdadeiro desafio não é gerar sinais.

É gerar sinais relevantes.


☁️ 8. Cloud — criar alguma coisa ficou assustadoramente fácil

Na seção Cloud & Platform Operations encontramos:

Uncontrolled Cloud Resource Growth

Cloud Cost Variance Rate

Platform Configuration Drift

Cloud trouxe uma transformação maravilhosa.

Provisionamento que antigamente poderia exigir dias ou semanas agora pode acontecer em minutos.

CLICK
CLICK
CLICK

RESOURCE CREATED

Fantástico.

Agora avance seis meses.

Alguém encontra aquele recurso.

RESOURCE-ID: X92827
OWNER: ?
PURPOSE: ?
DATA: ?
EXPIRATION: ?
BUSINESS SERVICE: ?

Pergunta:

Quem criou isso?

Resposta:

Roberto.

Chama o Roberto.

Roberto saiu da empresa em fevereiro.

Temos então um pequeno animal vivendo tranquilamente no escuro.

Ele ainda não mordeu ninguém.

Mas existe.


🧬 9. Configuration Drift — "não mexe porque funciona"

Este é um dos meus favoritos.

Temos um baseline:

SERVER CONFIGURATION 1.0

Todos começam iguais.

Depois ocorre uma emergência.

Servidor C recebe uma pequena alteração.

Depois Servidor D.

Depois alguém aplica uma correção temporária no E.

Depois uma mudança manual acontece no F.

Um ano depois:

SERVER-A = STANDARD
SERVER-B = STANDARD
SERVER-C = ALMOST STANDARD
SERVER-D = CUSTOM
SERVER-E = LEGACY
SERVER-F = DON'T TOUCH

😂

E quando perguntamos por quê:

Não mexe porque funciona.

Essa frase merece atenção.

Configuration Drift mede a distância entre:

como acreditamos que o ambiente esteja

e

como ele realmente está.

Essa distância é território perfeito para risco operacional.


🚀 10. Emergency Change Rate — emergência não pode virar processo

Applications & Change apresenta:

Emergency Change Rate

Failed Deployment Rate

Application Defect Leakage

Uma emergência eventualmente acontecerá.

O problema começa quando:

EMERGENCY CHANGE

deixa de significar exceção e passa a significar:

NOSSO PROCESSO NORMAL

Imagine:

JAN  4%
FEB  5%
MAR  8%
APR  13%
MAY  21%
JUN  32%

Não tivemos necessariamente um grande incidente.

Mas alguma coisa mudou profundamente na organização.

Talvez os prazos estejam ruins.

Talvez os testes tenham sido comprimidos.

Talvez exista dívida técnica.

Talvez releases estejam chegando sem planejamento.

O KRI não responde necessariamente por quê.

Ele diz:

Riddick, tem alguma coisa se mexendo naquela direção.

Agora investigue.


🔗 11. O segredo verdadeiro está na correlação

Imagine observarmos:

Emergency Change Rate       ↑
Failed Deployment Rate      ↑
Ticket Backlog Aging        ↑
Configuration Drift         ↑
Patch Aging Exposure        ↑

Separadamente são cinco indicadores.

Juntos podem representar uma história:

PRESSÃO OPERACIONAL
        ↓
MAIS ATALHOS
        ↓
MAIS MUDANÇAS EMERGENCIAIS
        ↓
MAIS FALHAS
        ↓
MAIS TICKETS
        ↓
MENOS TEMPO PARA CORREÇÃO
        ↓
MAIS DÍVIDA
        ↓
MAIOR EXPOSIÇÃO

Agora ficamos realmente interessados.

O melhor sinal pode não ser um KRI. Pode ser a combinação de vários KRIs.


🗄️ 12. Data & Integration — tudo pode estar UP e o negócio DOWN

O infográfico mostra:

Data Pipeline Failure Rate

Integration Error Volume

Data Availability Breach Rate

Imagine uma arquitetura:

MOBILE
  │
  ▼
API
  │
  ▼
z/OS Connect
  │
  ▼
CICS
  │
  ▼
MQ
  │
  ▼
COBOL
  │
  ▼
Db2

Nos dashboards:

NETWORK     UP
CICS        UP
MQ          UP
DB2         UP
Z/OS        UP

Cliente:

Não consigo concluir a operação.

Temos então uma diferença fundamental entre:

component availability

e

business service availability.

O cliente não compra CICS.

Não compra MQ.

Não compra Db2.

Ele compra uma capacidade de negócio.

Se essa capacidade não funciona, pouco importa que seis dashboards estejam verdes.


👻 13. Unmanaged Asset Ratio — o servidor fantasma

Agora chegamos aos ativos:

Unmanaged Asset Ratio

Patch Aging Exposure

CMDB Accuracy Gap

Pergunta aparentemente simples:

Quantos servidores temos?

Resposta da CMDB:

4.821

Scanner:

5.137

Cloud:

5.028

Security:

4.934

Financeiro:

5.316

Ops.

Temos um problema.

Porque existe uma máxima brutalmente simples:

Você não consegue gerenciar adequadamente aquilo que não sabe que existe.

O servidor desconhecido talvez esteja funcionando perfeitamente.

Isso não significa ausência de risco.

Significa ausência de visibilidade.

Riddick provavelmente chamaria isso de alguma coisa respirando no escuro.


🩹 14. Patch Aging — não conte apenas patches

Patch Aging Exposure é mais interessante do que simplesmente:

PATCHES MISSING = 187

Precisamos saber:

idade
criticidade
sistema
exposição
vulnerabilidade
business impact
owner

Um patch crítico atrasado 180 dias num servidor exposto pode ser muito mais relevante do que cinquenta atualizações pequenas atrasadas dois dias.

Novamente:

contexto transforma números em informação.


💾 15. Backup verde não significa recuperação garantida

Chegamos a Continuity & Recovery:

Backup Failure Rate

Recovery Test Failure Rate

Service Restoration Delay

Aqui está uma das minhas frases favoritas:

Backup não existe para fazer backup.

Backup existe para restaurar.

Parece piada.

Não é.

Imagine:

BACKUP SUCCESS RATE = 99.98%

Champanhe!

Agora:

Restaure o ambiente.

Silêncio.

O job:

RC=0000

não prova necessariamente que o negócio conseguirá recuperar aquilo que necessita dentro dos objetivos esperados.

É por isso que Recovery Test Failure Rate merece enorme atenção executiva.


⏱️ 16. RTO e RPO entram na caverna

Dois conceitos precisam aparecer aqui.

RPO — Recovery Point Objective

Quanto de informação podemos perder?

Exemplo:

RPO = 15 MINUTES

RTO — Recovery Time Objective

Quanto tempo podemos ficar sem o serviço?

RTO = 2 HOURS

Agora imagine:

RTO acordado      = 2 horas
Recovery test     = 7 horas

O backup funcionou.

O teste funcionou.

Mesmo assim:

o objetivo falhou.

Essa é uma diferença extremamente importante.


🎯 17. Qual KRI merece mais atenção executiva?

A publicação original termina perguntando isso.

Eu responderia:

depende do negócio e do risco.

Mas se alguém colocasse uma arma fictícia na mesa da War Room e me obrigasse a escolher um dos apresentados, eu olharia com enorme atenção para:

Recovery Test Failure Rate.

Porque descobrir durante um desastre que a última camada de recuperação não funciona é especialmente cruel.

Mas ainda prefiro observar um conjunto:

UNMANAGED ASSETS        ↑
PATCH AGING             ↑
CONFIGURATION DRIFT     ↑
EMERGENCY CHANGES       ↑
FAILED DEPLOYMENTS      ↑
RECOVERY TEST FAILURES  ↑

Isso pode revelar algo maior:

perda progressiva de controle operacional.

Esse é o monstro que realmente me interessa.


👔 18. O executivo não precisa aprender JCL

Imagine apresentar ao board:

IEF450I PAYROLL STEP030
ABEND=S0C4

Silêncio.

Talvez alguém pergunte:

Isso é ruim?

😂

Não devemos exigir que o executivo traduza detalhes operacionais.

Nosso trabalho é transformar isso em risco compreensível:

TECHNICAL EVENT
      ↓
SERVICE IMPACT
      ↓
BUSINESS IMPACT
      ↓
FINANCIAL / REGULATORY EXPOSURE
      ↓
DECISION

O executivo precisa entender:

impacto, tendência, exposição, owner, decisão necessária e prazo.

Essa é a verdadeira tradução.


🚦 19. Meu dashboard não teria apenas verde e vermelho

Eu faria algo assim:

KRI                 VALUE   TREND   LIMIT   STATUS

Patch Aging          17%      ↑      15%    ACTION
Emergency Change     12%      ↑      10%    ACTION
Failed Deployment     4%      →       5%    WATCH
Recovery Failure      1%      ↓       2%    NORMAL
Ticket Aging         27d      ↑      20d    CRITICAL

E acrescentaria:

OWNER
BUSINESS IMPACT
ACTION
DUE DATE

Porque um quadrado vermelho sem responsável é decoração corporativa.


🤖 20. E então entra IA, AIOps e análise preditiva

Agora a coisa fica realmente interessante.

Imagine armazenarmos anos de histórico.

A IA encontra repetidamente:

Ticket Aging ↑
      +
Emergency Change ↑
      +
Failed Deployment ↑
      +
Latency Exception ↑

e descobre que essa combinação frequentemente antecedeu Major Incidents.

Na próxima vez que o padrão surgir, ainda não existe incidente.

Mas podemos gerar:

RISK PATTERN DETECTED

Não estamos prevendo o futuro magicamente.

Estamos dizendo:

A situação atual se parece significativamente com situações anteriores que terminaram mal.

Isso é extremamente poderoso.

Passamos de:

MONITOR
   ↓
ALERT
   ↓
INCIDENT

para:

MONITOR
   ↓
CORRELATE
   ↓
DETECT PATTERN
   ↓
ASSESS RISK
   ↓
INTERVENE
   ↓
PREVENT

Esse é o caminho de uma operação cada vez mais inteligente.


🥚 Easter egg — o monstro nunca apareceu às 03:17

Agora apague novamente as luzes.

03:17:04

P1 INCIDENT DECLARED

Todo mundo acredita que o problema começou ali.

Riddick volta alguns passos.

90 dias antes
PATCH DEFERRED

63 dias antes
TICKET OPENED

48 dias antes
CONFIGURATION CHANGED

31 dias antes
DEPLOYMENT FAILED

17 dias antes
EMERGENCY CHANGE

8 dias antes
LATENCY EXCEPTION

3 dias antes
BACKUP WARNING

03:17
SERVICE DOWN

O incidente não nasceu às 03:17.

Às 03:17 ele apenas saiu do escuro.

E essa talvez seja a melhor maneira de explicar KRI para alguém começando no universo COBOL, z/OS ou operações.

O operador vê:

ABEND

O analista pergunta:

WHAT HAPPENED?

O investigador pergunta:

WHAT HAPPENED BEFORE THAT?

O profissional de Risk Management pergunta algo ainda melhor:

WHAT WAS ALREADY CHANGING
BEFORE ANYTHING FAILED?

É aí que deixamos de simplesmente apagar incêndios.

Começamos a procurar fumaça.

Depois calor.

Depois padrões.

Depois condições que tornam o incêndio provável.

No universo de Riddick, sobreviver no escuro exige perceber movimentos antes que as criaturas estejam sobre você.

No universo de TI acontece algo muito parecido.

Major Incident Volume mostra quantos monstros chegaram até você.

KRI tenta mostrar onde eles estão se movimentando.

E quando alguém disser:

"Mas ainda não aconteceu nada..."

talvez essa seja justamente a melhor hora para investigar.

Porque às 03:17, meu caro programador COBOL, a aula acabou.

A partir dali é produção.

E produção não perdoa quem só aprendeu a enxergar depois que acenderam a luz vermelha. ☕🌑💻

domingo, 23 de junho de 2024

O Macaco Infinito encontra o LLM: por que o ChatGPT não está simplesmente sorteando palavras até aparecer Shakespeare

 

Bellacosa Mainframe o macaco infinito encontra o llm

☕ Um Café no Bellacosa Mainframe

O Macaco Infinito encontra o LLM: por que o ChatGPT não está simplesmente sorteando palavras até aparecer Shakespeare

🐒 Tokens, probabilidade, temperatura, entropia, Markov, brute force, atenção e o dia em que descobrimos que “prever a próxima palavra” esconde um monstro matemático

Existe uma frase sobre inteligência artificial que parece muito inteligente durante aproximadamente trinta segundos:

“Esses modelos só ficam escolhendo a próxima palavra provável.”

Tecnicamente, existe alguma verdade nela.

O problema começa quando o “só” entra na sala.

É como dizer:

“Um mainframe só move elétrons.”

Correto.

Absolutamente inútil.

Ou:

“Um Boeing só empurra ar para baixo.”

Também correto.

Tente explicar assim ao passageiro sentado na poltrona 17A durante uma turbulência.

Depois da nossa aventura com Émile Borel, os macacos infinitos e Shakespeare, surge uma pergunta irresistível:

Se o macaco ficava apertando teclas aleatoriamente até eventualmente produzir Hamlet…

…um modelo de linguagem não estaria fazendo aproximadamente a mesma coisa, só muito mais rápido?

Resposta curta:

não.

Resposta longa:

Pegue café.

Muito café.

Porque vamos precisar atravessar tokens, distribuições de probabilidade, temperatura, entropia, cadeias de Markov, contexto, atenção, brute force e aquele estranho fenômeno no qual um sistema treinado para prever sequências começa a produzir código COBOL, explicar filosofia e discutir por que alguém esqueceu de fechar um IF.


Capítulo I — O macaco não sabe o que acabou de escrever

Voltemos ao nosso funcionário mais improvável do Bellacosa Mainframe.

Na sala 327-B encontramos:

FUNCIONÁRIO: MACACO-01
FUNÇÃO: DIGITAÇÃO ALEATÓRIA
SALÁRIO: BANANAS
SLA: INFINITO

O macaco recebe um teclado contendo:

ABCDEFGHIJKLMNOPQRSTUVWXYZ

Cada vez que pressiona uma tecla, suponhamos que escolha uma delas aleatoriamente.

Ele produz:

XQJHABZP...

Depois:

BANANA

Depois:

TOBEORNOTTOBE

Fantástico.

Mas aconteceu algo importante?

Para nós, sim.

Reconhecemos Shakespeare.

Para o macaco?

Nada.

A tecla anterior não influencia necessariamente a próxima.

Ele não sabe que escreveu:

TO BE OR NOT TO

Portanto a próxima letra continua sendo apenas mais uma escolha no conjunto disponível.

Ele pode produzir:

TO BE OR NOT TO X

com a mesma tranquilidade com que poderia produzir:

TO BE OR NOT TO B

O gerador aleatório clássico não possui uma ideia operacional de contexto.

Um modelo de linguagem possui.

E essa diferença muda praticamente tudo.


Capítulo II — O LLM não pergunta “qual palavra existe?”

Ele pergunta algo muito mais interessante:

dado tudo o que apareceu antes, o que provavelmente vem agora?

Simplificando brutalmente, podemos imaginar:

P(próximo token | contexto anterior)

Esse pequeno símbolo:

|

é quase o personagem principal da história.

Significa:

condicionado a.

Não estamos perguntando:

Qual é a probabilidade da palavra PERFORM?

Estamos perguntando:

Qual é a probabilidade de PERFORM
dado tudo que apareceu antes?

Veja:

IDENTIFICATION DIVISION.
PROGRAM-ID. TESTE.
PROCEDURE DIVISION.

Agora imagine as possibilidades seguintes:

PERFORM
BANANA
TARDIS
DIVORCE
WORKING-STORAGE
DISPLAY

Todas essas sequências de caracteres são fisicamente possíveis.

Mas não são igualmente plausíveis naquele contexto.

Um modelo treinado em COBOL aprendeu relações estatísticas que tornam algumas alternativas muito mais prováveis.

O macaco pensa:

QUALQUER COISA SERVE.

O modelo pensa aproximadamente:

ALGUMAS COISAS FAZEM MUITO MAIS SENTIDO AQUI.

E isso já é uma revolução.


Capítulo III — Primeiro problema: modelos não enxergam exatamente palavras

Aqui entra uma pequena criatura chamada:

TOKEN.

Quando falamos informalmente:

“o modelo prevê a próxima palavra”

estamos simplificando.

Modelos de linguagem modernos geralmente trabalham com tokens, que podem representar:

  • uma palavra inteira;

  • parte de uma palavra;

  • pontuação;

  • espaços ou combinações;

  • sequências frequentes de caracteres.

Por exemplo, dependendo do tokenizer, algo semelhante a:

programador

pode ser uma unidade ou ser dividido em pedaços.

E:

WORKING-STORAGE

pode virar vários tokens.

Pense nos tokens como peças de LEGO linguísticas.

O modelo não recebe necessariamente:

PALAVRA 1
PALAVRA 2
PALAVRA 3

Ele recebe algo mais parecido com:

PEÇA 593
PEÇA 18271
PEÇA 44
PEÇA 905

Durante treinamento, aprende como essas peças aparecem juntas.

O macaco aperta teclas.

O LLM navega num espaço de peças linguísticas.


Capítulo IV — Uma distribuição, não uma resposta pronta

Imagine esta frase:

O programador entrou no CPD e pediu um...

O modelo não necessariamente possui apenas uma resposta.

Ele poderia atribuir algo conceitualmente parecido com:

café        0,36
acesso      0,18
terminal    0,12
relatório   0,08
dump        0,06
abacaxi     0,00001
dinossauro  0,000001

Os números aqui são apenas ilustrativos.

O ponto é a estrutura:

há uma distribuição de probabilidades.

Isso é fundamental.

O modelo não pensa simplesmente:

RESPOSTA = CAFÉ

Ele produz algo mais próximo de:

POSSIBILIDADES ORDENADAS POR PLAUSIBILIDADE.

Depois algum mecanismo de seleção determina qual token será efetivamente escolhido.

E aí entra uma palavra que parece saída de previsão meteorológica:

temperatura.


Capítulo V — Temperatura: aumentando a dose de caos

Temperatura controla, de forma simplificada, quão concentrada ou espalhada fica a distribuição usada durante a geração.

Temperatura baixa:

ESCOLHA O MAIS PROVÁVEL.

Temperatura mais alta:

DÊ MAIS CHANCE PARA ALTERNATIVAS MENOS ÓBVIAS.

Imagine:

O gato subiu no...

Distribuição hipotética:

telhado      45%
muro         20%
sofá         10%
armário       8%
mainframe     0,01%
Saturno       0,0001%

Com temperatura baixa, provavelmente teremos:

telhado

Com temperatura mais alta:

armário

pode aparecer com maior frequência.

Subindo absurdamente:

mainframe

entra na reunião.

Aumentando ainda mais:

O gato subiu no checksum metafísico das quintas-feiras.

Nesse ponto talvez seja prudente desligar alguma coisa.


Capítulo VI — Então existe aleatoriedade?

Sim.

Mas isso não transforma o modelo no macaco de Borel.

Existe uma enorme diferença entre:

ESCOLHER ALEATORIAMENTE ENTRE TODOS OS SÍMBOLOS

e:

ESCOLHER A PARTIR DE UMA DISTRIBUIÇÃO
APRENDIDA SOBRE O QUE FAZ SENTIDO
DADO O CONTEXTO.

O segundo processo carrega informação.

Esse detalhe é gigantesco.

Nosso macaco poderia escrever:

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.
PROCEDURE DIVISION.
DISPLAY "HELLO WORLD".
STOP RUN.

Mas teria chegado lá por acidente.

Um LLM treinado em código percebe padrões como:

IDENTIFICATION DIVISION
→ PROGRAM-ID

ou:

DISPLAY
→ literal ou variável

Ele não precisa experimentar todas as combinações até encontrar uma compilável.

Aprendeu um relevo estatístico do território.


Capítulo VII — Imagine uma montanha de probabilidades

Pense em todas as sequências possíveis como uma paisagem gigantesca.

O macaco possui um mapa completamente plano.

Para ele:

AAABBB

e:

TO BE

são apenas coordenadas diferentes.

Já o modelo aprendeu montanhas e vales.

Algumas sequências possuem caminhos naturalmente elevados:

Era uma vez...

tende a levar para narrativa.

SELECT *
FROM

tende a levar para SQL.

IDENTIFICATION DIVISION.

tende a levar para COBOL.

Você forneceu contexto.

O espaço de possibilidades foi drasticamente reorganizado.

Essa talvez seja uma das melhores maneiras de imaginar aprendizado:

o modelo transforma um universo plano de combinações numa geografia de plausibilidades.


Capítulo VIII — E aqui encontramos Claude Shannon

Agora precisamos falar de entropia.

Calma.

Ninguém precisará usar capacete de física.

Em teoria da informação, entropia mede aproximadamente o grau de incerteza existente numa distribuição.

Se você tem:

A = 25%
B = 25%
C = 25%
D = 25%

há bastante incerteza.

Mas:

A = 99,9%
B = 0,05%
C = 0,03%
D = 0,02%

há muito menos.

O contexto reduz entropia.

Considere:

O Sol nasce no...

Existe forte expectativa de:

leste

Agora:

Ele abriu a porta e viu...

Existem muito mais continuações possíveis.

Um cachorro.

Uma pessoa.

A chuva.

Um quarto vazio.

Um macaco digitando Hamlet.

Um fiscal do Ministério de Caminhadas Bobas.

A distribuição fica mais espalhada.

Mais incerteza.

Mais entropia.


Capítulo IX — Conhecimento é redução de entropia

Esse conceito conecta maravilhosamente com programação.

Você recebe:

O SISTEMA ESTÁ COM PROBLEMA.

Entropia enorme.

Pode ser:

  • CPU;

  • memória;

  • rede;

  • banco;

  • aplicação;

  • segurança;

  • storage;

  • configuração;

  • JCL;

  • CICS;

  • Db2;

  • VSAM;

  • operador;

  • mudança;

  • dados.

Agora alguém informa:

ABEND S0C7

BUM.

O espaço reduz.

Depois:

OCORRE NA ROTINA CALC-TOTAL

reduz mais.

Depois:

CAMPO WS-VALOR RECEBEU '12A45'

Praticamente acabou o mistério.

Diagnóstico é essencialmente um processo de:

redução progressiva de incerteza.

Você não precisa investigar o Universo.

Precisa descobrir qual informação diminui mais rapidamente o espaço de possibilidades.


Capítulo X — O velho programador é uma máquina anti-entropia

Um iniciante vê:

S0C7

e pensa:

— MEU DEUS O MAINFRAME QUEBROU.

O veterano responde:

— Mostra o campo.

Por quê?

Porque sua experiência acumulou relações.

Ele sabe quais evidências são informativas.

De certa forma, cada mensagem recebida modifica sua distribuição mental:

P(causa | evidências)

Parece familiar?

Sim.

Porque agora estamos novamente perto do nosso LLM.


Capítulo XI — Antes dos Transformers havia Markov

Outra palavra importante:

Markov.

Uma cadeia de Markov trabalha, de forma simplificada, com probabilidades de transição entre estados.

Por exemplo, examinando textos poderíamos aprender:

depois de "bom" →
dia      60%
trabalho 10%
café      8%

Um modelo simples poderia olhar apenas uma ou algumas palavras anteriores.

Isso permite gerar textos surpreendentemente convincentes por pequenos trechos.

Imagine treinarmos uma cadeia de Markov com documentação COBOL.

Ela poderia aprender:

IDENTIFICATION
→ DIVISION

PROGRAM-ID
→ nome

PROCEDURE
→ DIVISION

Já seria muito superior ao macaco.

Por quê?

Porque existe memória estatística local.

Mas existe um problema.

Contexto distante importa.

Muito.


Capítulo XII — Hamlet não cabe numa janela de duas palavras

Veja:

Maria colocou o livro sobre a mesa porque precisava
consultá-lo depois da reunião.

Para saber a que:

lo

se refere, talvez precisemos relacioná-lo com algo ocorrido várias palavras antes.

Agora imagine:

  • um romance;

  • um programa;

  • documentação;

  • uma conversa;

  • código contendo funções espalhadas;

  • uma história com personagens.

Dependências podem existir a centenas ou milhares de tokens de distância.

Modelos baseados apenas em relações locais possuem dificuldade crescente nisso.

E então chegaram os Transformers.

Com eles aparece um conceito que mudou profundamente o jogo:

atenção.


Capítulo XIII — Attention, please

A ideia central de atenção é quase deliciosamente intuitiva:

para entender o elemento atual, quais partes do contexto anterior são especialmente relevantes?

Imagine:

O arquivo CUSTOMER foi aberto no início do programa.
Depois de diversas operações, o programa tentou lê-lo,
mas recebeu FILE STATUS 47.

Para entender o problema, talvez algumas palavras sejam muito mais relevantes:

arquivo
CUSTOMER
aberto
ler
FILE STATUS 47

Outras são menos importantes.

O mecanismo de atenção calcula relações entre representações dos tokens para determinar quais partes devem exercer mais influência umas sobre as outras.

Não é uma busca literal por palavra-chave.

É uma relação aprendida em espaços matemáticos de representação.


Capítulo XIV — Query, Key e Value entram num bar

No mecanismo clássico de attention aparecem três conceitos:

QUERY
KEY
VALUE

Isso parece suspeitosamente familiar para alguém que vive de sistemas.

Podemos criar uma analogia grosseira.

Cada token produz algo como:

QUERY = o que estou procurando?
KEY   = que tipo de informação eu represento?
VALUE = qual informação posso fornecer?

A Query de um token é comparada às Keys dos outros tokens.

Correspondências fortes recebem maior peso.

Depois os Values relacionados são combinados.

É muito mais complexo matematicamente, mas a intuição funciona.

Imagine uma reunião.

Você pergunta:

— Quem sabe sobre RACF?

Cinquenta pessoas estão na sala.

Um DBA levanta levemente a sobrancelha.

O sysprog RACF começa imediatamente a falar.

O estagiário continua olhando para o celular.

Sua Query:

RACF

encontrou uma Key altamente compatível.

Atenção alocada.


Capítulo XV — O macaco procura tudo; a atenção decide onde olhar

Agora nossa comparação fica bonita.

Macaco:

TODAS AS TECLAS
TODAS AS VEZES
SEM CONTEXTO

Brute force:

TODAS AS POSSIBILIDADES
ATÉ ACHAR.

Heurística:

TENTE AS MAIS PROMISSORAS.

LLM:

USE O CONTEXTO
PARA PRODUZIR UMA DISTRIBUIÇÃO
SOBRE CONTINUAÇÕES PLAUSÍVEIS.

Atenção:

DESCUBRA QUAIS PARTES DO CONTEXTO
SÃO MAIS RELEVANTES AGORA.

Estamos muito longe do macaco original.


Capítulo XVI — “Mas ele continua apenas prevendo o próximo token!”

Sim.

E seu programa COBOL continua apenas executando instruções.

O ponto não é qual operação elementar acontece.

O ponto é qual estrutura emerge da combinação de bilhões dessas operações.

Um processador faz basicamente operações muito simples.

Ainda assim executa:

  • CICS;

  • Db2;

  • compiladores;

  • criptografia;

  • sistemas bancários;

  • inteligência artificial.

Dizer:

“LLM só prevê token”

é semelhante a explicar um banco dizendo:

“O computador só altera bits.”

Não está errado.

Só deixou de explicar praticamente tudo que é interessante.


Capítulo XVII — O poder está na distribuição condicionada

Observe a diferença.

Macaco:

P(X) = aproximadamente constante

simplificando nosso modelo ideal.

Modelo:

P(X | CONTEXTO)

O contexto pode incluir:

  • palavras;

  • frases;

  • código;

  • instruções;

  • relações;

  • exemplos;

  • estilo;

  • estrutura.

Logo:

PERFORM UNTIL

faz determinadas continuações subirem de probabilidade.

E:

Era uma noite escura e tempestuosa...

faz outras subirem.

O mesmo mecanismo básico consegue trabalhar em domínios completamente diferentes porque aprendeu regularidades estatísticas extremamente amplas.


Capítulo XVIII — O treinamento é onde o mapa nasce

Durante treinamento, o modelo vê enormes quantidades de sequências.

Ele tenta prever partes seguintes.

Erra.

Os parâmetros internos são ajustados.

Tenta novamente.

Erra menos.

Repete isso incontáveis vezes.

De forma caricata:

INPUT:
IDENTIFICATION

MODELO:
BANANA

SISTEMA:
ERRADO.

AJUSTA PESOS.

INPUT:
IDENTIFICATION

MODELO:
DIVISION

SISTEMA:
MELHOR.

Claro que treinamento real é incomparavelmente mais complexo.

Mas a ideia fundamental permanece:

o modelo internaliza regularidades por otimização.

Ao final, ele não guarda simplesmente uma gigantesca tabela:

SE INPUT = X
THEN OUTPUT = Y

Existe um conjunto enorme de parâmetros representando padrões distribuídos.


Capítulo XIX — Pesos: memória sem ficha catalográfica

Isso costuma causar confusão.

As pessoas imaginam que um modelo possui algo parecido com:

DATABASE
--------
PERGUNTA 1 → RESPOSTA 1
PERGUNTA 2 → RESPOSTA 2
PERGUNTA 3 → RESPOSTA 3

Não funciona assim.

Grande parte do conhecimento aprendido está distribuída nos pesos da rede.

Podemos usar uma analogia humana.

Você sabe falar português.

Onde está armazenada a regra completa para usar:

por que
porque
por quê
porquê

no seu cérebro?

Provavelmente não existe uma gaveta física etiquetada:

PORTUGUÊS/PORQUES.DAT

Seu conhecimento está distribuído.

No modelo acontece algo matematicamente diferente, porém conceitualmente podemos dizer:

o conhecimento não está organizado como páginas numa enciclopédia interna.


Capítulo XX — E o brute force?

Aqui chegamos novamente ao macaco.

Se quiséssemos gerar uma resposta testando todas as sequências possíveis de tokens, teríamos algo monstruoso.

Suponha um vocabulário de:

50.000 tokens

Para uma sequência de apenas 10 tokens:

50.000^10

possibilidades.

Isso é:

aproximadamente 10^47

combinações.

Dez tokens!

Uma resposta real pode conter centenas ou milhares.

Brute force é simplesmente inviável.

O modelo precisa navegar inteligentemente pelas regiões de maior probabilidade.

De novo:

conhecimento reduz espaço de busca.


Capítulo XXI — Beam Search entra carregando uma lanterna

Existem estratégias de geração que ilustram esse princípio.

Uma delas, tradicional em vários sistemas de geração, é beam search.

Em vez de seguir apenas uma alternativa, mantemos algumas das melhores candidatas.

Imagine:

O café está...

Possibilidades:

quente      40%
pronto      30%
frio        20%
cantando     0,001%

Podemos manter:

quente
pronto
frio

e expandir cada caminho.

Depois descartamos alternativas cada vez menos promissoras.

Não exploramos o universo inteiro.

Mantemos uma pequena fronteira de possibilidades.

Novamente:

não seja o macaco.


Capítulo XXII — Top-k e top-p: expulsando possibilidades absurdas da reunião

Outra família de técnicas limita candidatos.

Top-k:

considere apenas os K tokens mais prováveis.

Se K = 5:

ignore todo o resto.

Top-p, ou nucleus sampling:

considere o menor conjunto de tokens
cuja probabilidade acumulada atinja determinado limite.

Essas estratégias evitam gastar probabilidade com opções extremamente improváveis.

Nosso macaco aceita tudo.

O modelo diz:

— Desculpe, ornitorrinco possui probabilidade baixa demais nesta frase.

O ornitorrinco protesta.

A reunião continua.


Capítulo XXIII — Temperatura baixa demais também causa problemas

Agora vem uma sutileza.

Se sempre escolhermos o token mais provável, podemos obter textos:

  • previsíveis;

  • repetitivos;

  • conservadores;

  • pouco variados.

Imagine um escritor que sempre escolhe a continuação estatisticamente mais comum.

Teríamos o romance:

Era uma vez um homem.
O homem foi para casa.
Na casa havia uma casa.
A casa era uma casa.
Fim.

Parabéns.

Produzimos documentação de fornecedor.

Um pouco de aleatoriedade permite diversidade.

A criatividade computacional prática vive parcialmente no equilíbrio entre:

PREVISIBILIDADE

e:

EXPLORAÇÃO.

Capítulo XXIV — Isso lembra exploração versus exploitation

Machine learning possui um dilema clássico:

EXPLOITATION

usar aquilo que já sabemos funcionar.

versus:

EXPLORATION

tentar possibilidades novas.

Temperatura baixa favorece exploitation.

Temperatura mais alta aumenta exploration.

A vida profissional possui exatamente isso.

O programador experiente pode resolver tudo sempre do mesmo jeito.

Seguro.

Previsível.

Até chegar um problema novo.

O jovem tenta vinte coisas absurdas.

Dezenove falham.

Uma revela algo que ninguém percebeu.

Uma boa equipe mistura ambos.


Capítulo XXV — LLM não possui uma “frase escondida” esperando ser revelada

Outra ideia errada:

“A resposta já está dentro do modelo.”

Não exatamente.

A geração é sequencial.

Cada token produzido passa a fazer parte do contexto para os tokens seguintes.

Assim:

TOKEN 1
↓
modifica contexto

TOKEN 2
↓
modifica contexto

TOKEN 3
↓
...

A resposta vai sendo construída.

Isso significa que uma escolha inicial pode alterar profundamente o caminho posterior.

Quase como uma execução de programa.

Só que probabilística.


Capítulo XXVI — Um pequeno desvio pode criar outro universo

Imagine que o modelo começa:

Existem três causas principais...

Agora provavelmente continuará estruturando três causas.

Mas se começar:

A causa principal é...

criou outra trajetória textual.

Cada token não é apenas output.

Ele também vira input subsequente.

Temos feedback.

Não exatamente no sentido de treinamento, mas no sentido de condicionamento da próxima geração.

Uma espécie de:

MOVE OUTPUT-TOKEN TO NEXT-INPUT-CONTEXT

Isso explica por que pequenas diferenças iniciais podem produzir respostas bastante diferentes.


Capítulo XXVII — E aqui mora a alucinação

Um modelo produz aquilo que parece provável linguisticamente.

Isso não garante que seja verdadeiro.

Essa distinção é fundamental.

Imagine:

FORMA PLAUSÍVEL
≠
FATO VERIFICADO

O modelo pode gerar uma referência com aparência perfeita:

Autor,
ano,
título,
revista,
volume,
página.

Tudo linguisticamente impecável.

E inexistente.

Por quê?

Porque o objetivo básico da geração não é:

EXECUTE FACT-CHECK

antes de cada token.

É produzir uma continuação plausível segundo o contexto e os mecanismos adicionais do sistema.

É por isso que ferramentas externas, recuperação de documentos, pesquisa e verificação são tão importantes em tarefas factuais.


Capítulo XXVIII — O macaco erra de forma idiota; o LLM pode errar de forma elegante

O macaco produz:

XJSQWERTYZZZZ

Você olha e diz:

— Errado.

Fim.

O modelo pode produzir:

“Segundo o estudo realizado pela Universidade Real de Copenhagen em 1987…”

Você pensa:

— Parece plausível.

Esse erro é muito mais perigoso.

Fluência gera confiança.

Portanto existe uma regra prática maravilhosa:

quanto mais importante o fato, menos você deve confundir boa escrita com prova.

No mainframe isso já era conhecido há décadas.

Um job pode terminar com:

RC=0000

e ainda produzir resultado logicamente errado.

Compilar não significa estar correto.

Soar convincente também não.


Capítulo XXIX — O LLM encontrou Shakespeare sem digitar infinitamente

Aqui finalmente fechamos o círculo.

O macaco precisa de:

TENTATIVAS ABSURDAMENTE NUMEROSAS

porque não possui conhecimento.

O LLM aprendeu estrutura.

Por isso consegue navegar diretamente para regiões onde texto coerente vive.

Em vez de procurar Hamlet em:

TODAS AS SEQUÊNCIAS POSSÍVEIS

ele aprendeu:

  • sintaxe;

  • relações semânticas;

  • estilos;

  • formas narrativas;

  • convenções;

  • padrões estatísticos.

Shakespeare deixa de ser uma agulha completamente escondida num universo plano.

O modelo possui um mapa imperfeito de onde “coisas parecidas com linguagem humana” costumam existir.


Capítulo XXX — Mas isso é inteligência?

Excelente pergunta.

O Ministério das Perguntas Filosóficas informa que sua senha é:

8.391.274

Atendimento atual:

12

Existe debate enorme sobre o que constitui inteligência, compreensão, raciocínio e significado.

Mas uma coisa podemos afirmar operacionalmente:

o comportamento de um LLM não é equivalente ao de um gerador uniforme de caracteres aleatórios.

Existe estrutura aprendida.

Existe condicionamento pelo contexto.

Existem representações internas complexas.

Existe atenção.

Existe uma distribuição de probabilidades profundamente moldada pelo treinamento.

Compará-lo ao macaco infinito é uma metáfora divertida.

Como explicação técnica, porém, ela desaba rapidamente.


Capítulo XXXI — O programador COBOL iniciante pode aprender muito com isso

Primeira lição:

contexto vale ouro.

Se você pedir:

me explique esse erro

existe enorme incerteza.

Mas:

Tenho um programa COBOL rodando em z/OS,
recebendo S0C7 após um COMPUTE.
O campo WS-AMOUNT é PIC 9(7)V99
e recebeu dados vindos deste arquivo.

Você reduziu brutalmente o espaço de possibilidades.

Para humanos e para modelos.

Segunda:

forneça evidências, não apenas conclusões.

Em vez de:

DB2 está lento.

forneça:

query
access path
elapsed
CPU
getpages
locks

Informação reduz entropia.

Terceira:

não aceite fluência como confirmação.

Sempre valide:

  • comandos;

  • versões;

  • parâmetros;

  • comportamento;

  • fatos importantes.

Quarta:

aprenda padrões.

Quanto mais padrões você conhece, menor fica seu espaço de busca.

Quinta:

quando tudo parece possível, procure a informação que mais elimina hipóteses.

Essa talvez seja uma das melhores técnicas de troubleshooting que existem.


Capítulo XXXII — A atenção no dia a dia do mainframe

Imagine um dump com milhares de linhas.

O iniciante lê:

LINHA 1
LINHA 2
LINHA 3
...
LINHA 9000

O experiente procura:

ABEND CODE
PSW
OFFSET
MODULE
REGISTER
FILE STATUS
SQLCODE
MESSAGE ID

Isso é uma espécie de attention humana.

Não no sentido matemático do Transformer, claro.

Mas no sentido cognitivo:

algumas partes do contexto merecem muito mais peso.

A habilidade de investigar sistemas complexos depende enormemente disso.

Você nunca consegue observar tudo.

Precisa saber onde olhar.


Capítulo XXXIII — O macaco recebeu atenção e pediu aumento

Nosso macaco original finalmente descobre o conceito.

Ele chama o gerente.

— Durante cem anos eu digitei aleatoriamente.

— Sim.

— Agora descobri que existe um sistema que usa contexto.

— Sim.

— E vocês sabiam disso?

— É complicado.

— Quantas bananas eu desperdicei?

Silêncio.

O macaco abre sindicato.

O projeto entra em negociação coletiva.


Capítulo XXXIV — Easter egg: Monty Python entra no laboratório

Um funcionário do Ministério da Inteligência Artificial entra carregando uma pasta.

— Precisamos determinar se esta máquina pensa.

O cientista pergunta:

— Como?

— Se ela responder corretamente, pensa.

— E qual a pergunta?

— Ainda estamos decidindo.

— Quem decide?

— O Comitê para Definir Perguntas que Determinam Pensamento.

— Onde fica?

— Dentro do Departamento de Definições Indefinidas.

— E eles pensam?

— Isso ainda está sendo avaliado.

Enquanto isso, o macaco já foi embora com a máquina de escrever.

Provavelmente tomou a decisão mais inteligente da sala.


Capítulo XXXV — Existe ainda um fantasma chamado determinismo

Se definirmos determinados parâmetros e mecanismos de seleção, podemos tornar a geração mais determinística.

Em outros cenários, sampling introduz variação.

Isso explica por que o mesmo prompt pode produzir respostas diferentes.

Não significa que o modelo:

MUDOU DE OPINIÃO

como um humano necessariamente faria.

O processo de geração percorreu outra trajetória probabilística.

Pense numa bifurcação:

           CONTEXTO
              |
      -----------------
      |       |       |
    TOKEN A TOKEN B TOKEN C
      |       |       |
    ...      ...      ...

Cada escolha abre um caminho diferente.

A linguagem é uma árvore gigantesca de possibilidades.


Capítulo XXXVI — Do macaco para a árvore

Essa talvez seja a imagem definitiva.

O macaco olha para uma árvore contendo bilhões de bilhões de galhos e escolhe aleatoriamente qualquer um.

O LLM possui um mapa dizendo:

ESSE GALHO PARECE PROMISSOR.
ESSE TAMBÉM.
AQUELE É ESTRANHO.
AQUELE OUTRO PROVAVELMENTE TERMINA NUM ORNITORRINCO.

Não possui certeza absoluta.

Mas possui orientação.

E orientação muda completamente a complexidade prática do problema.


Capítulo XXXVII — O segredo não é prever; é prever muito bem

Agora podemos reinterpretar aquela frase:

“O modelo apenas prevê o próximo token.”

Sim.

Mas para prever bem o próximo token em linguagem humana, precisa capturar enormes quantidades de estrutura.

Considere:

Se João colocou o copo sobre a mesa
e Maria esbarrou na mesa...

Qual consequência é provável?

Talvez o copo caia.

Para prever continuações plausíveis, o modelo precisa representar relações sobre:

  • objetos;

  • ações;

  • linguagem;

  • física cotidiana;

  • causalidade;

  • convenções narrativas.

Não significa necessariamente possuir compreensão humana.

Mas mostra por que o problema de previsão pode forçar a aprendizagem de estruturas surpreendentemente profundas.


Capítulo XXXVIII — Previsão como compressão

Existe outra forma fascinante de olhar para isso.

Um sistema que prevê bem encontrou regularidades.

Se você sabe que:

IDENTIFICATION

quase sempre é seguido por:

DIVISION

não precisa tratar cada ocorrência como informação completamente nova.

Você capturou uma regularidade.

Nesse sentido, modelar é parcialmente comprimir padrões.

Quanto melhor entendemos a estrutura, menos surpresa existe.

Isso conecta:

  • probabilidade;

  • entropia;

  • compressão;

  • aprendizado.

Claude Shannon provavelmente pediria café neste ponto.


Capítulo XXXIX — Quando a surpresa é útil

Um texto em que cada próxima palavra é totalmente previsível é entediante.

Um texto em que cada palavra é completamente imprevisível é ruído.

Boa linguagem vive entre ambos.

Compare:

O gato é um gato que é gato e gato.

Entropia baixa demais.

Agora:

XQZ RTM PFJK WLLZ.

Entropia inútil.

Agora:

O gato dormia sobre o terminal 3270 enquanto o operador tentava explicar ao auditor por que aquilo constava no inventário como dispositivo biométrico.

Surpresa.

Mas coerência.

Esse equilíbrio é uma parte importante da produção de linguagem interessante.


Capítulo XL — E criatividade talvez more nessa fronteira

Talvez criatividade não seja:

ALEATORIEDADE PURA

nem:

PREVISIBILIDADE ABSOLUTA.

Talvez esteja em algo como:

ESTRUTURA
+
VARIAÇÃO
+
CONTEXTO
+
SELEÇÃO

Humanos fazem isso.

Modelos fazem algo matematicamente diferente, mas também exploram uma região entre ordem e surpresa.

O macaco infinito possui surpresa demais.

Um autocomplete rígido possui surpresa de menos.

O desafio interessante mora no meio.


Epílogo — O macaco pede acesso ao Transformer

Depois de cem anos no Bellacosa Mainframe, MONKEY01 finalmente encontra o novo sistema.

Na tela:

PROMPT:
Escreva uma frase no estilo de Shakespeare.

Resposta:

A noite pesa sobre a torre,
e cada sino parece contar
os segundos que restam ao rei.

O macaco olha.

Olha para sua máquina de escrever.

Olha novamente para a tela.

Depois chama o sysprog.

— Quanto tempo isso levou?

— Alguns segundos.

— Quantos macacos?

— Nenhum.

— Quantas tentativas?

— Não funciona exatamente assim.

O macaco permanece em silêncio.

Depois pergunta:

— Então durante todos esses anos vocês estavam esperando que eu encontrasse Shakespeare no espaço completo de possibilidades...

— Sim.

— ...quando poderiam aprender quais sequências parecem linguagem?

— Tecnicamente...

O macaco vira a mesa.

E está certo.

Porque essa é a grande mudança entre o Macaco Infinito e o Modelo de Linguagem.

O primeiro depende de:

TEMPO
+
ALEATORIEDADE
+
SORTE.

O segundo depende de:

TREINAMENTO
+
ESTRUTURA
+
CONTEXTO
+
PROBABILIDADE
+
ATENÇÃO.

O macaco explora um universo indiferenciado.

O modelo aprendeu que algumas regiões desse universo são muito mais interessantes que outras.

Brute force diz:

Tente tudo.

Probabilidade diz:

Algumas coisas são mais prováveis.

Entropia pergunta:

Quanto ainda não sabemos?

Contexto responde:

Agora sabemos um pouco mais.

Markov diz:

O passado recente ajuda.

Attention acrescenta:

Nem todo passado é igualmente importante.

O Transformer junta tudo numa arquitetura capaz de manipular relações em escala gigantesca.

E o velho programador COBOL, que assistiu a toda a discussão enquanto tomava café, finalmente fecha o dump e comenta:

— Interessante.

— O quê?

— Passamos cem anos tentando criar máquinas que procurassem respostas.

Ele aponta para o terminal.

— Agora estamos criando máquinas que aprendem onde vale a pena procurar.

Silêncio.

O macaco olha para o programador.

O programador olha para o macaco.

Ambos olham para o gerente.

O gerente pergunta:

— Isso reduz headcount?

O macaco imediatamente volta para a máquina de escrever.

Era melhor lidar com o infinito.

☕🐒🤖

No console aparece:

MONKEY01   ENDED
LLM0001    STARTED

O operador verifica.

MAXCC=0000

Cinco segundos depois:

WARNING:
OUTPUT PLAUSIBLE.
FACT CHECK REQUIRED.

O velho COBOLzeiro sorri.

Finalmente uma máquina que aprendeu uma das regras fundamentais de produção:

parecer correto nunca foi a mesma coisa que estar correto.

sábado, 22 de junho de 2024

Worldbuilding nos Animes: Quando o Mundo é o Verdadeiro Protagonista

Bellacosa Mainframe e os 20 animes worldbuilding

 

☕ Um Café no Bellacosa Mainframe

Worldbuilding nos Animes: Quando o Mundo é o Verdadeiro Protagonista

Introdução

Existe um momento mágico em que um anime deixa de ser apenas uma boa história e passa a parecer um universo vivo. Você não está apenas acompanhando um protagonista; está visitando um lugar que parece existir muito antes do primeiro episódio e que continuará existindo muito depois do último. Esse é o poder do worldbuilding.

Para um programador COBOL Padawan, esse conceito é surpreendentemente familiar. Um grande sistema bancário em um IBM Z não é apenas um conjunto de programas COBOL. Ele possui regras, arquitetura, dependências, segurança, bancos de dados, filas MQ, transações CICS, rotinas batch, usuários, auditoria e décadas de evolução. Da mesma forma, um grande anime não é apenas uma sequência de episódios. Ele possui história, geografia, política, economia, religião, idiomas, tecnologias, ecossistemas, culturas e até leis físicas próprias.

É exatamente isso que diferencia obras memoráveis de produções esquecíveis.

Neste café do Bellacosa Mainframe, vamos embarcar em uma jornada pelos 20 maiores exemplos de worldbuilding da história dos animes. Encontraremos mundos gigantescos, cidades futuristas, reinos medievais, civilizações espaciais, masmorras vivas e continentes cheios de mistérios.

Prepare seu PADD da Frota Estelar, ajuste os sensores de longo alcance e acompanhe o Sr. Spock nesta missão.

"Um universo coerente é apenas lógica aplicada à imaginação."


O que torna um worldbuilding excelente?

Um bom universo normalmente possui:

  • História própria

  • Geografia consistente

  • Cultura e costumes

  • Economia

  • Política

  • Religiões

  • Idiomas

  • Sistema de poder bem definido

  • Fauna e flora

  • Evolução tecnológica

  • Mistérios ainda não revelados

Quanto mais esses elementos parecem existir independentemente do protagonista, maior costuma ser a qualidade do worldbuilding. 


Os 20 maiores worldbuildings dos animes

1. ONE PIECE (ワンピース)

Ano: 1999

Resumo

Um planeta formado por centenas de ilhas independentes, mares únicos, governos, culturas e histórias próprias.

Personagens

  • Monkey D. Luffy

  • Zoro

  • Nami

  • Sanji

  • Robin

Censura

Não relevante.

Easter Eggs

Quase todo detalhe apresentado centenas de episódios antes retorna posteriormente.

Curiosidades

O Governo Mundial, os Tenryuubito, os Road Poneglyphs e o Século Perdido foram planejados ao longo de décadas.

Vale assistir por

Provavelmente o maior worldbuilding já criado em um anime.  


2. Shingeki no Kyojin (進撃の巨人)

Ano: 2013

Resumo

O mundo parece pequeno... até descobrirmos que praticamente tudo era apenas uma pequena parte da realidade.

Personagens

  • Eren

  • Mikasa

  • Armin

  • Levi

Censura

Violência reduzida em algumas transmissões.

Curiosidades

A política, história militar e geopolítica foram planejadas cuidadosamente.

Vale assistir por

Cada revelação redefine completamente o universo.


3. Fullmetal Alchemist: Brotherhood (鋼の錬金術師)

Ano

2009

Resumo

Amestris parece um país verdadeiro.

Personagens

Edward, Alphonse, Mustang.

Sistema

Alquimia baseada em troca equivalente.

Curiosidade

A geografia influencia diretamente a história.


4. Hunter × Hunter (ハンター×ハンター)

Ano

2011

Resumo

Cada continente possui fauna, economia e política distintas.

Personagens

Gon

Killua

Kurapika

Hisoka

Curiosidade

O Continente Negro amplia drasticamente a escala do universo.


5. Made in Abyss (メイドインアビス)

Ano

2017

Resumo

O Abismo funciona quase como um personagem.

Personagens

Riko

Reg

Nanachi

Censura

Pouca.

Curiosidade

Cada camada possui ecossistema próprio.


6. Mushoku Tensei (無職転生)

Ano

2021

Resumo

Um dos mundos medievais mais completos dos isekais.

Personagens

Rudeus

Eris

Sylphiette

Ponto forte

Idiomas próprios.


7. Frieren (葬送のフリーレン)

Ano

2023

Resumo

Explora o mundo décadas após o fim da grande aventura.

Curiosidade

Mostra como a história transforma sociedades.


8. Log Horizon (ログ・ホライズン)

Ano

2013

Resumo

Economia, política e administração de um MMORPG.

Personagens

Shiroe

Naotsugu

Akatsuki


9. Dungeon Meshi (ダンジョン飯)

Ano

2024

Resumo

A dungeon possui ecologia própria.

Curiosidade

Monstros fazem parte da cadeia alimentar.


10. Legend of the Galactic Heroes (銀河英雄伝説)

Ano

1988

Resumo

Talvez a melhor política espacial dos animes.


11. Gundam Universal Century (機動戦士ガンダム)

Ano

1979

Resumo

Séculos de guerras espaciais.


12. Shinsekai Yori (新世界より)

Ano

2012

Resumo

Civilização reconstruída após um colapso.


13. Dorohedoro (ドロヘドロ)

Ano

2020

Resumo

Cidade caótica e brutal.


14. Made in Abyss

Já citado, mas merece destaque pelo ecossistema praticamente científico.


15. Re:Zero kara Hajimeru Isekai Seikatsu (Re:ゼロから始める異世界生活)

Ano

2016

Resumo

Política, religiões e magia extremamente detalhadas.


16. Magi (マギ)

Ano

2012

Resumo

Inspirado nas Mil e Uma Noites.


17. Psycho-Pass (サイコパス)

Ano

2012

Resumo

Toda a sociedade gira em torno do Sistema Sibyl.


18. Ghost in the Shell (攻殻機動隊)

Ano

1995

Resumo

Cyberpunk extremamente consistente.


19. Aria (ARIA)

Ano

2005

Resumo

Neo Venezia em Marte parece uma cidade real.


20. Naruto (ナルト)

Ano

2002

Resumo

Cinco grandes nações ninja.

Curiosidade

Cada vila possui cultura, economia e tradição distintas.


Curiosidades

  • One Piece possui centenas de ilhas com culturas próprias.

  • Gundam mantém cronologias por mais de quatro décadas.

  • Made in Abyss possui um dos ecossistemas fictícios mais detalhados da animação.

  • Dungeon Meshi trata monstros como espécies biológicas.

  • Log Horizon dedica episódios inteiros à economia e administração pública.

  • Frieren mostra como o tempo altera cidades, reinos e memórias.

  • Attack on Titan revela gradualmente a verdadeira dimensão do seu mundo, mudando completamente a percepção do espectador.  


Easter Egg Bellacosa Mainframe

O melhor worldbuilding do mundo da computação talvez seja justamente o IBM Z.

Pense nisso.

Existe uma história iniciada em 1964.

Há "reinos" (LPARs).

Idiomas (COBOL, PL/I, Assembler).

Religiões (JCL, RACF).

Leis físicas (ACID, consistência transacional).

Ecossistemas (CICS, IMS, Db2, MQ).

Habitantes (Sysprog, DBA, operadores, desenvolvedores).

E uma quantidade gigantesca de conhecimento acumulado ao longo de décadas.

No fundo, um grande ambiente corporativo é um universo fictício... que existe de verdade.


Conclusão

Os maiores animes da história não conquistaram milhões de fãs apenas por seus protagonistas ou pelas batalhas memoráveis. Eles permaneceram vivos na imaginação do público porque construíram mundos que parecem respirar por conta própria. Em um excelente worldbuilding, cada cidade possui identidade, cada povo tem tradições, cada sistema de poder segue regras claras e cada detalhe contribui para a sensação de que aquele universo existia muito antes da chegada do herói.

Para um programador COBOL Padawan, essa é uma lição valiosa. Grandes sistemas corporativos também são mundos complexos, compostos por décadas de evolução, processos, arquiteturas, integrações e pessoas. Assim como um bom anime, um ambiente IBM Z só pode ser compreendido quando enxergamos o todo, e não apenas uma única rotina COBOL ou um programa CICS.

Da próxima vez que assistir a um anime, tente observar além da narrativa principal. Repare na geografia, nas leis daquele universo, na economia, na política e nas pequenas pistas deixadas pelos autores. É nesse cuidado invisível que nascem os mundos inesquecíveis — e é exatamente essa mesma atenção aos detalhes que transforma um desenvolvedor comum em um verdadeiro arquiteto de sistemas.

Como diria o Sr. Spock:

"A lógica constrói sistemas. A imaginação constrói universos. Os maiores mestres aprendem a dominar ambos."

sexta-feira, 21 de junho de 2024

Tsuki ga Michibiku Isekai Dōchū - Segunda temporada

 

Bellacosa Mainframe e a segunda temporada de tsuki ga michibiku isekai

☕ Um Café no Bellacosa Mainframe

Tsuki ga Michibiku Isekai Dōchū 2nd Season (月が導く異世界道中 第二幕)

Quando um Programador COBOL Descobre que Escalar um Sistema é Muito Mais Difícil do que Criá-lo

Se a primeira temporada de Tsuki ga Michibiku Isekai Dōchū mostrou como um jovem rejeitado construiu sua própria comunidade, a segunda temporada muda completamente o foco. Agora, o desafio não é mais sobreviver, mas administrar um mundo em expansão.

Para um Programador COBOL Padawan, a comparação é direta: criar um programa batch simples é relativamente fácil; difícil é transformá-lo em um sistema corporativo integrado, com milhares de usuários, múltiplas interfaces e alta disponibilidade. É exatamente essa evolução que Tsukimichi: Moonlit Fantasy 2nd Season apresenta.


Dados da obra

Título original: 月が導く異世界道中 第二幕 (Tsuki ga Michibiku Isekai Dōchū Dai Ni Maku)

Título internacional: Tsukimichi: Moonlit Fantasy – Season 2

Autor original: Kei Azumi

Ilustrações: Mitsuaki Matsumoto

Mangá: Kotora Kino

Exibição: 8 de janeiro de 2024 a 24 de junho de 2024.


Estúdio

J.C.Staff

A segunda temporada passou a ser produzida pelo tradicional J.C.Staff, conhecido por obras como:

  • A Certain Magical Index

  • Toradora!

  • Food Wars!

  • DanMachi (temporadas posteriores)

A mudança permitiu:

  • melhor ritmo narrativo;

  • animações mais consistentes;

  • maior número de episódios;

  • adaptação de arcos políticos e econômicos mais complexos.

Visualmente, a série tornou-se mais refinada, especialmente nas cenas de magia e nas batalhas em larga escala.


Quantidade de episódios

25 episódios

É praticamente o dobro da primeira temporada.

Isso deu espaço para desenvolver personagens secundários e explorar o mundo com muito mais profundidade.


Classificação

  • Fantasia

  • Isekai

  • Aventura

  • Magia

  • Política

  • Construção de Reino (Kingdom Building)

  • Comédia

  • Slice of Life

  • Estratégia


Sinopse

Após consolidar sua comunidade em Asora, Makoto Misumi percebe que manter uma sociedade funcional é muito mais difícil do que criá-la.

Enquanto administra comércio, diplomacia e educação, ele também precisa lidar com a guerra entre humanos e demônios, com a hostilidade da deusa e com novas alianças que colocarão sua neutralidade à prova.


Resumo da história

A narrativa amplia significativamente a escala do universo.

Makoto deixa de ser apenas um aventureiro poderoso e passa a atuar como:

  • comerciante internacional;

  • líder político;

  • professor;

  • diplomata;

  • estrategista militar;

  • administrador de uma sociedade multicultural.

Ao mesmo tempo, ele ingressa na Academia de Rotsgard, onde conhece novos aliados e observa de perto as limitações e preconceitos da sociedade humana.

Enquanto isso, Tomoe, Mio e Shiki continuam fortalecendo Asora, transformando-a em uma potência econômica e militar.


Personagens

Makoto Misumi

Nesta temporada, Makoto amadurece.

Ele compreende que poder absoluto não resolve problemas sociais.

Sua preocupação passa a ser criar estabilidade.

É um líder que prefere negociar antes de lutar.


Tomoe

Recebe maior desenvolvimento.

Além de guerreira, atua como conselheira política e estrategista.

Sua experiência torna-se essencial para administrar Asora.


Mio

Continua oferecendo momentos cômicos, mas demonstra crescimento emocional e maior autocontrole.

Também se torna uma das maiores protetoras da comunidade.


Shiki

Assume papel fundamental na pesquisa, educação e planejamento estratégico.

É praticamente o arquiteto intelectual de Asora.


Estudantes da Academia

A temporada introduz diversos personagens ligados ao ambiente acadêmico, mostrando como Makoto influencia uma nova geração por meio do conhecimento, e não apenas da força.


O que há de diferente na segunda temporada?

1. Menos batalhas, mais estratégia

Embora existam excelentes confrontos, o foco principal é:

  • diplomacia;

  • comércio;

  • educação;

  • desenvolvimento econômico;

  • administração pública.


2. Expansão do universo

O mundo torna-se muito maior.

Conhecemos:

  • novas cidades;

  • novas culturas;

  • novos conflitos;

  • novas organizações.

A sensação é semelhante à expansão de um sistema monolítico para uma arquitetura corporativa integrada.


3. Economia importa

Poucos animes dedicam tanto tempo ao funcionamento do comércio.

Makoto cria rotas comerciais.

Negocia produtos.

Resolve crises econômicas.

Investe em inovação.


4. Educação

A Academia representa um dos melhores arcos.

Makoto ensina de forma prática.

Valoriza observação.

Experimentação.

Pensamento crítico.

Ele ensina como um verdadeiro mentor técnico.


Temáticas

Liderança

Liderar significa assumir responsabilidades.

Makoto aprende que nem todos ficarão satisfeitos.


Neutralidade

Ele evita tomar partido na guerra entre humanos e demônios.

Nem sempre existe apenas um lado certo.


Diversidade

Asora reúne inúmeras espécies diferentes.

O anime demonstra que inovação surge quando diferentes culturas colaboram.


Conhecimento

Mais importante que poder é compreender como o mundo funciona.

Esse conceito permeia toda a temporada.


Aventuras

Os desafios incluem:

  • exploração de novas regiões;

  • relações diplomáticas;

  • conflitos militares;

  • ensino na academia;

  • batalhas contra adversários poderosos;

  • fortalecimento de Asora;

  • negociações comerciais;

  • administração de crises.

Cada aventura gera impacto duradouro no mundo, reforçando a sensação de evolução contínua.


Mensagens ocultas

O verdadeiro poder está na organização

Makoto poderia resolver muitos conflitos apenas com sua força.

Mas prefere construir instituições.

O anime mostra que sociedades fortes dependem de regras, cooperação e planejamento.


Preconceito continua sendo um obstáculo

Mesmo após provar seu valor, Makoto ainda enfrenta desconfiança.

A série lembra que competência nem sempre elimina preconceitos.


Conhecimento é multiplicador

Ao ensinar seus alunos, Makoto cria líderes capazes de resolver problemas sem depender dele.

Essa é uma mensagem poderosa sobre educação e autonomia.


Bellacosa Mainframe

Imagine que a primeira temporada foi a criação de um sistema COBOL.

Na segunda temporada, esse sistema precisa:

  • integrar Db2;

  • conversar com CICS;

  • publicar APIs REST;

  • enviar mensagens pelo MQ;

  • automatizar deploy com Jenkins;

  • monitorar desempenho via RMF e SMF;

  • atender milhões de usuários.

O desafio deixa de ser "escrever código" e passa a ser governar um ecossistema.

Makoto faz exatamente isso.

Ele não administra apenas pessoas.

Administra processos, recursos, riscos e crescimento.

É o equivalente a um arquiteto corporativo IBM Z.


Curiosidades

  • A segunda temporada adapta arcos muito aguardados pelos leitores da light novel.

  • O formato de 25 episódios permitiu reduzir cortes presentes na primeira temporada.

  • A Academia de Rotsgard tornou-se um dos cenários favoritos dos fãs por ampliar o desenvolvimento dos personagens.

  • A confirmação da terceira temporada ocorreu logo após o encerramento da exibição da segunda, refletindo o bom desempenho da série.


Impacto cultural

A segunda temporada consolidou Tsukimichi entre os grandes isekais contemporâneos. Em vez de depender apenas de batalhas e poderes exagerados, a obra mostrou que temas como economia, educação, diplomacia e administração podem ser tão envolventes quanto confrontos épicos. A série passou a ser frequentemente comparada a That Time I Got Reincarnated as a Slime e Log Horizon por seu foco em construção de sociedades e gestão estratégica, reforçando a tendência dos chamados "kingdom-building isekai".


Conclusão — A lição para um Programador COBOL Padawan

A segunda temporada de Tsuki ga Michibiku Isekai Dōchū ensina uma verdade que todo profissional de tecnologia acaba descobrindo: criar um sistema é apenas o começo; mantê-lo crescendo com estabilidade é o verdadeiro desafio.

Makoto deixa de ser apenas um aventureiro poderoso e torna-se um arquiteto de um ecossistema complexo. Ele integra culturas diferentes, resolve conflitos sem recorrer sempre à força, cria processos sustentáveis e investe na formação de novos talentos.

No universo IBM Z, essa mesma filosofia aparece todos os dias. Um programa COBOL pode resolver um problema imediato, mas somente uma arquitetura bem planejada, com integração, governança, monitoramento e evolução contínua, permanece útil por décadas. Assim como Asora prospera porque foi construída sobre confiança, planejamento e colaboração, os grandes sistemas corporativos sobrevivem porque alguém pensou além do código e enxergou o sistema como um organismo vivo.

Essa é a principal mensagem da segunda temporada: o verdadeiro herói não é quem vence sozinho, mas quem cria um ambiente onde todos podem evoluir juntos.


quinta-feira, 20 de junho de 2024

Não existe a melhor IA para programar. Existe a IA certa para cada etapa do desenvolvimento.

 

Bellacosa Mainframe e ia para programar

☕ Um Café no Bellacosa Mainframe

Não existe a melhor IA para programar. Existe a IA certa para cada etapa do desenvolvimento.

Durante muitos anos, nós, desenvolvedores, fizemos uma pergunta que parecia fazer todo o sentido:

"Qual é a melhor ferramenta para programar?"

Hoje, essa pergunta está ficando ultrapassada.

O mercado de Inteligência Artificial evoluiu tão rapidamente que não estamos mais escolhendo apenas um editor de código ou um assistente de programação. Estamos montando uma verdadeira equipe de especialistas digitais.

Assim como em um ambiente IBM Mainframe ninguém espera que o COBOL substitua o DB2, ou que o RACF faça o trabalho do JES2, as novas ferramentas de IA possuem responsabilidades diferentes dentro do ciclo de desenvolvimento de software.

Essa talvez seja a maior mudança da Engenharia de Software desde o surgimento do Git e do DevOps.

E, se você é um programador COBOL iniciante ou um desenvolvedor que deseja entrar no universo IBM Z, compreender essa transformação agora pode representar uma enorme vantagem profissional.

Pegue seu café.

Hoje vamos conversar sobre como Claude Code, OpenAI Codex, Cursor e GitHub Copilot estão mudando completamente a forma como escrevemos software.


A evolução das ferramentas de programação

Para entender o presente, precisamos olhar rapidamente para o passado.

Durante décadas, os IDEs eram apenas editores inteligentes.

No Visual Studio, Eclipse ou IDz (IBM Developer for z/OS), a maior ajuda era completar automaticamente uma variável ou sugerir o nome de um método.

Isso era fantástico para a época.

Mas ainda era você quem fazia praticamente todo o trabalho.

Depois surgiu uma nova geração.

Ferramentas como GitHub Copilot começaram a sugerir blocos inteiros de código.

Em vez de completar apenas uma linha, elas conseguiam escrever funções completas.

Foi um salto enorme.

Mesmo assim, a IA continuava esperando ordens.

Ela respondia.

Ela não agia.

Hoje estamos entrando em uma terceira fase.

As IAs deixaram de ser apenas "assistentes" e começaram a atuar como verdadeiros agentes de software.

Agora elas conseguem:

  • entender milhares de arquivos;

  • navegar pelo projeto inteiro;

  • modificar dezenas de programas;

  • executar testes;

  • corrigir erros;

  • atualizar documentação;

  • abrir Pull Requests;

  • revisar código;

  • trabalhar praticamente sozinhas.

Estamos presenciando o nascimento da Engenharia de Software Agêntica.


A analogia perfeita com o IBM Mainframe

Quem trabalha com Mainframe entende muito bem o conceito de especialização.

Pense no z/OS.

Existe o RACF.

Existe o DB2.

Existe o JES2.

Existe o WLM.

Existe o RMF.

Existe o CICS.

Existe o IMS.

Todos fazem parte do mesmo ambiente.

Mas nenhum substitui o outro.

Cada componente resolve um problema específico.

Com as novas IAs acontece exatamente a mesma coisa.

Não existe uma ferramenta capaz de fazer tudo melhor que todas as outras.

Existe uma ferramenta mais adequada para cada tarefa.

Esse conceito é extremamente importante para um desenvolvedor júnior.

Não caia na armadilha de procurar "a melhor IA".

Procure entender qual delas resolve melhor o problema que você possui naquele momento.


Cursor: o parceiro ideal para o desenvolvimento diário

Imagine que você acabou de abrir seu projeto COBOL.

Você precisa criar uma nova rotina.

Alterar uma consulta SQL.

Modificar um programa CICS.

Escrever um serviço Java.

Criar uma API REST.

Nesse cenário, o Cursor provavelmente será seu melhor companheiro.

Sua filosofia é simples:

"Programamos juntos."

Enquanto você escreve, ele acompanha seu raciocínio.

Você pode selecionar um trecho de código e perguntar:

"Explique essa lógica."

Ou:

"Como posso melhorar essa rotina?"

Ou ainda:

"Transforme esse código em algo mais legível."

O Cursor responde praticamente em tempo real.

Ele foi criado para acelerar o trabalho diário do desenvolvedor.

Não tenta substituir você.

Ele trabalha ao seu lado.

É como um colega extremamente experiente sentado na mesa ao lado.


Claude Code: pensando como um arquiteto

Agora imagine outro cenário.

Sua empresa possui um sistema desenvolvido há vinte anos.

Existem:

  • 3.000 programas COBOL;

  • centenas de COPYBOOKS;

  • milhares de JCLs;

  • dezenas de bibliotecas.

O cliente decidiu mudar uma regra de negócio.

Essa alteração afeta praticamente todo o sistema.

Abrir arquivo por arquivo seria inviável.

É exatamente aqui que Claude Code se destaca.

Sua especialidade é compreender o repositório inteiro.

Ele consegue localizar padrões repetidos.

Entender dependências.

Planejar alterações.

Modificar dezenas ou centenas de arquivos.

Executar testes.

Verificar impactos.

Tudo isso praticamente sozinho.

É como colocar um arquiteto de software trabalhando em tempo integral sobre o projeto.


OpenAI Codex: o conceito de delegação

Talvez essa seja a mudança mais revolucionária.

Até pouco tempo atrás, todas as ferramentas funcionavam da mesma maneira.

Você fazia uma pergunta.

A IA respondia.

Fim da história.

OpenAI Codex muda completamente essa lógica.

Agora você pode simplesmente delegar tarefas.

Imagine dizer:

"Corrija todos os problemas encontrados pelo SonarQube."

Ou:

"Atualize toda a documentação deste projeto."

Ou ainda:

"Crie testes automatizados para todas essas classes."

Você envia a tarefa.

Fecha a janela.

Continua trabalhando.

Enquanto isso, agentes executam tudo em segundo plano.

Mais tarde eles retornam com o resultado.

Esse conceito lembra bastante um ambiente Batch do Mainframe.

No z/OS enviamos um JOB para o JES2.

Ele entra na fila.

É executado.

Depois consultamos o SDSF para verificar o resultado.

OpenAI Codex aplica exatamente essa filosofia ao desenvolvimento moderno.

Você não fica esperando.

Você delega.


GitHub Copilot: muito além do autocomplete

Muitas pessoas ainda associam GitHub Copilot apenas ao preenchimento automático de código.

Essa visão já ficou no passado.

Hoje ele faz parte de um ecossistema muito maior.

Ele conversa com o GitHub.

Analisa Pull Requests.

Sugere melhorias.

Resume alterações.

Ajuda em revisões.

Integra-se ao GitHub Actions.

Interage com Issues.

Auxilia equipes inteiras.

Para organizações que já utilizam GitHub Enterprise, essa integração representa um enorme ganho de produtividade.

Não é apenas escrever código.

É participar de todo o ciclo de vida do software.


O erro que muitos iniciantes cometem

É muito comum ver perguntas como:

"Qual IA programa melhor?"

Essa pergunta possui o mesmo problema de perguntar:

"O que é melhor: COBOL ou DB2?"

Ou:

"JCL ou CICS?"

A resposta é:

Depende da tarefa.

Se você precisa escrever código rapidamente, Cursor pode ser excelente.

Se precisa modificar centenas de arquivos, Claude Code provavelmente será superior.

Se deseja executar tarefas em paralelo, Codex é extremamente interessante.

Se trabalha intensamente com GitHub, Copilot oferece uma integração fantástica.

Não existe vencedor.

Existe contexto.


A nova profissão: Orquestrador de IA

Talvez o desenvolvedor do futuro escreva menos código manualmente.

Mas isso não significa que ele será menos importante.

Muito pelo contrário.

Seu trabalho passará a ser:

  • definir arquitetura;

  • validar regras de negócio;

  • revisar resultados;

  • garantir qualidade;

  • supervisionar agentes.

É parecido com a evolução do administrador de Mainframe.

Antigamente muitas tarefas eram feitas manualmente.

Hoje grande parte é automatizada.

Mesmo assim, o conhecimento do profissional continua indispensável.

Porque alguém precisa tomar decisões.


E onde entra o DevOps?

DevOps sempre buscou automatizar o ciclo completo do software.

Agora a Inteligência Artificial amplia esse conceito.

Imagine um pipeline moderno.

O desenvolvedor implementa uma funcionalidade.

Cursor ajuda durante a codificação.

Claude Code revisa impactos em todo o projeto.

OpenAI Codex gera testes automatizados.

GitHub Copilot analisa o Pull Request.

GitHub Actions executa CI/CD.

Tudo praticamente integrado.

Estamos caminhando para pipelines onde humanos e agentes trabalham lado a lado.


O que isso significa para quem programa COBOL?

Muita gente acredita que essas ferramentas servem apenas para JavaScript ou Python.

Isso está longe da realidade.

Hoje diversas IAs já conseguem compreender:

  • COBOL;

  • JCL;

  • PL/I;

  • SQL;

  • REXX;

  • Java;

  • CICS;

  • DB2;

  • VSAM.

Elas conseguem explicar programas antigos.

Criar documentação.

Encontrar dependências.

Sugerir melhorias.

Escrever testes.

Migrar código.

Até mesmo analisar impacto entre COPYBOOKS.

Para quem trabalha em sistemas legados, isso representa um ganho gigantesco de produtividade.


MCP: a próxima grande revolução

Outro conceito que começa a ganhar força é o MCP (Model Context Protocol).

Imagine uma IA que não conhece apenas seu código.

Ela também consegue consultar:

  • Wiki da empresa;

  • documentação interna;

  • banco de dados;

  • APIs;

  • ServiceNow;

  • GitHub;

  • Jira;

  • Confluence;

  • ambiente z/OS.

Tudo usando um protocolo padronizado.

Em vez de copiar informações manualmente, a IA busca o contexto necessário diretamente na origem.

Isso reduz erros e aumenta a precisão das respostas.


Agentes conversando com agentes

Outro conceito importante é o A2A (Agent-to-Agent).

Hoje normalmente um agente resolve uma tarefa.

No futuro próximo teremos vários agentes colaborando entre si.

Imagine uma equipe composta por:

  • Arquiteto;

  • Desenvolvedor;

  • Especialista em testes;

  • Especialista em segurança;

  • Especialista DevOps;

  • Revisor técnico.

Todos eles serão agentes especializados.

Enquanto um programa, outro cria testes.

Enquanto outro verifica vulnerabilidades.

Enquanto outro prepara a documentação.

É praticamente uma fábrica de software funcionando vinte e quatro horas por dia.


Como isso se conecta ao IBM Mainframe?

No mundo IBM Z já convivemos há décadas com ambientes altamente especializados.

Um programa COBOL conversa com DB2.

DB2 conversa com o Storage.

JES2 agenda execução.

WLM distribui carga.

RMF monitora desempenho.

RACF protege recursos.

A nova geração de agentes segue exatamente essa filosofia.

Especialização.

Integração.

Orquestração.

Essa semelhança explica por que muitos profissionais Mainframe conseguem compreender rapidamente esse novo paradigma.

Eles já trabalham em um ambiente distribuído por responsabilidades há muitos anos.


Qual ferramenta um programador júnior deveria aprender primeiro?

Se eu estivesse começando hoje, faria um caminho semelhante a este.

Primeiro aprenderia Git.

Depois dominaria um bom IDE.

Em seguida utilizaria Cursor para acelerar o desenvolvimento.

Quando estivesse confortável, começaria a explorar Claude Code para grandes refatorações.

Depois aprenderia OpenAI Codex para delegação de tarefas.

Finalmente aprofundaria o uso do GitHub Copilot integrado ao fluxo de Pull Requests, revisão e entrega contínua.

Essa sequência acompanha a evolução natural da carreira.

Primeiro você aprende a escrever código.

Depois aprende a melhorar código.

Depois aprende a automatizar tarefas.

Por fim aprende a coordenar equipes — humanas e artificiais.


O futuro pertence a quem sabe combinar ferramentas

Existe uma frase muito conhecida:

"Quando tudo o que você possui é um martelo, todos os problemas parecem pregos."

Com Inteligência Artificial acontece exatamente o contrário.

Quanto mais ferramentas você conhecer, maior será sua capacidade de escolher a solução certa para cada desafio.

Esse é o verdadeiro diferencial.

Não decorar comandos.

Não depender de uma única plataforma.

Mas compreender como cada agente pode contribuir em uma etapa específica do desenvolvimento.


Conclusão

Estamos vivendo um momento histórico na Engenharia de Software. As IAs deixaram de ser simples geradoras de código para se tornarem participantes ativos de todo o ciclo de desenvolvimento. Elas ajudam a planejar, implementar, testar, documentar, revisar e entregar software com uma velocidade antes inimaginável.

Para um programador júnior, especialmente no universo IBM Mainframe, a maior oportunidade não está em encontrar "a ferramenta perfeita". Está em desenvolver uma mentalidade de orquestrador. Aprenda os fundamentos de programação, entenda profundamente o negócio, domine Git e DevOps, e então utilize cada IA de acordo com sua especialidade.

No estilo Bellacosa Mainframe, vale lembrar uma última analogia: um bom sistema IBM Z não depende de um único componente extraordinário, mas da integração harmoniosa entre vários componentes especializados. O mesmo acontecerá com as ferramentas de IA. O profissional que mais se destacará será aquele capaz de montar sua própria "stack de especialistas", sabendo quando usar o Cursor para construir, o Claude Code para refatorar, o OpenAI Codex para delegar tarefas e o GitHub Copilot para revisar e entregar.

O futuro do desenvolvimento de software não será dominado por uma única inteligência artificial. Será construído por desenvolvedores que souberem coordenar inteligências humanas e artificiais para criar soluções mais robustas, seguras, eficientes e inovadoras. E essa transformação já começou.

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...