☕ 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

Mostrar mensagens com a etiqueta mainframe. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta mainframe. Mostrar todas as mensagens

sexta-feira, 11 de setembro de 2026

🧠 Microservices sob a Batuta de Chris Knight — Real Genius, Arquitetura e a Arte de Não Construir um Laser para Aquecer Pipoca

 

Bellacosa Mainframe apresenta microservices

☕ Um Café no Bellacosa Mainframe

🧠 Microservices sob a Batuta de Chris Knight — Real Genius, Arquitetura e a Arte de Não Construir um Laser para Aquecer Pipoca

Quando todo mundo está fascinado pela tecnologia, talvez o verdadeiro gênio seja justamente aquele que pergunta: “Legal... mas por que estamos construindo isso?”

Existe uma cena mental perfeita para explicar boa parte da arquitetura de software moderna.

Imagine uma sala cheia de engenheiros brilhantes. Há diagramas nas paredes, notebooks abertos, APIs sendo desenhadas, Kubernetes em algum canto, Kafka atravessando o desenho, containers surgindo aos montes e alguém acaba de pronunciar palavras capazes de provocar arrepios em qualquer apresentação corporativa:

“Precisamos migrar para microservices.”

Todos concordam.

Alguém acrescenta:

— E microfrontends.

Outro melhora:

— Event-driven!

Do fundo da sala:

— Service mesh!

Então aparece Chris Knight, de Real Genius, observa o quadro por alguns segundos e provavelmente pergunta:

“Tá... qual problema vocês estão tentando resolver?”

Silêncio.

E é justamente aí que começa nossa conversa.

Porque transformar um desenvolvedor em arquiteto não significa ensiná-lo a colocar mais tecnologias dentro de um desenho.

Significa ensiná-lo a questionar o desenho.

Para um programador COBOL começando a olhar para arquitetura moderna, existe uma excelente notícia: você provavelmente já conhece vários dos princípios fundamentais. Talvez apenas os conheça por outros nomes.

Pegue seu café.

Hoje vamos entrar no laboratório de Chris Knight.

E alguém, por favor, esconda a pipoca.



🎬 1. Primeiro precisamos falar sobre Real Genius

Real Genius, lançado em 1985, acompanha estudantes extremamente talentosos envolvidos em um projeto científico universitário. Chris Knight, interpretado por Val Kilmer, é um daqueles personagens que parecem estar permanentemente brincando enquanto enxergam coisas que outras pessoas não percebem.

E isso combina maravilhosamente com arquitetura.

O estereótipo do arquiteto costuma ser alguém extremamente sério diante de um enorme diagrama.

Chris Knight representa quase o contrário.

Ele domina a tecnologia, mas não é hipnotizado por ela.

Essa distinção é fundamental.

Existe uma diferença enorme entre:

saber construir algo

e

saber se aquilo deveria ser construído.

Na arquitetura corporativa encontramos frequentemente pessoas extremamente competentes resolvendo brilhantemente problemas que talvez nem precisassem existir.

Microservices são um excelente exemplo.



🧱 2. “Monólito” não é palavrão

Durante alguns anos, dizer que uma aplicação era monolítica parecia quase uma confissão.

“Nosso sistema ainda é um monólito...”

Pronunciado quase como:

“Temos ratos no datacenter.”

Mas precisamos separar duas coisas:

MONÓLITO

e:

MONÓLITO RUIM

Não são sinônimos.

Imagine:

SISTEMA DE PEDIDOS
│
├── CLIENTES
├── PRODUTOS
├── PEDIDOS
├── ESTOQUE
├── PAGAMENTOS
└── FATURAMENTO

Tudo pode existir dentro da mesma aplicação.

Isso não significa necessariamente que temos uma arquitetura ruim.

Podemos possuir módulos claramente definidos, responsabilidades separadas e interfaces controladas.

Temos então aquilo que costuma ser chamado de:

Modular Monolith.

Agora compare com:

SISTEMA
│
├── tudo acessa tudo
├── qualquer módulo altera qualquer tabela
├── regras aparecem duplicadas
├── dependências circulares
└── ninguém sabe quem é dono de quê

Isso é ruim.

Mas dividir esse segundo sistema em 50 containers não elimina magicamente seus problemas.

Talvez apenas consigamos transformar:

um monólito ruim

em:

50 pequenos pedaços ruins conversando pela rede.

Chris Knight certamente acharia isso divertido.

O pessoal de produção, provavelmente menos.



🧠 3. COBOL já ensinava modularidade antes de ela ganhar slides coloridos

Vamos colocar nosso programador COBOL iniciante diante disso.

Imagine:

       CALL 'CALCJURO'
           USING WS-SALDO
                 WS-TAXA
                 WS-JUROS.

O programa principal não precisa conhecer cada detalhe do cálculo.

Ele conhece uma interface.

Existe entrada.

Existe processamento.

Existe saída.

Isso é uma forma de separação de responsabilidade.

Podemos ter:

PROGRAMA PRINCIPAL
       │
       ├── VALIDCPF
       ├── CALCJURO
       ├── CONSULTA
       └── GRAVAPGTO

Isso não são microservices.

É importante não cair nessa simplificação.

Um subprograma COBOL normalmente não possui várias características associadas a um microservice moderno, como deployment independente, isolamento operacional, endpoint de rede próprio, escalabilidade independente e ownership autônomo.

Mas existe uma ancestralidade conceitual.

Estamos falando de:

modularidade.

coesão.

baixo acoplamento.

contratos.

Esses princípios não nasceram com Docker.


🔬 4. Chris Knight perguntaria onde está a fronteira

Agora imagine que alguém encontre:

PGM001
PGM002
PGM003
...
PGM500

e proponha:

“Vamos transformar cada programa COBOL em um microservice.”

Chris Knight provavelmente levantaria a sobrancelha.

Porque programa não é necessariamente domínio de negócio.

Um sistema bancário poderia possuir algo conceitualmente parecido com:

CONTA
├── abrir
├── consultar
├── bloquear
├── movimentar
└── encerrar

Essas operações possuem relação.

Talvez façam parte de uma capacidade coerente.

Por outro lado, transformar mecanicamente:

PGM001 → SERVICE001
PGM002 → SERVICE002
PGM003 → SERVICE003

não constitui arquitetura.

É conversão de inventário.

Uma boa fronteira deveria tentar responder:

Quem é responsável por esta capacidade?

Quais dados pertencem a ela?

Quem pode modificá-los?

Que contrato oferecemos ao restante do sistema?

Esse raciocínio nos aproxima de conceitos como bounded contexts e Domain-Driven Design.


🚪 5. Então aparece o API Gateway

Nos diagramas modernos frequentemente encontramos:

                 FRONTEND
                    │
                    ▼
              API GATEWAY
                    │
        ┌───────────┼───────────┐
        ▼           ▼           ▼
     PRODUCT      BASKET      ADVERT
     SERVICE      SERVICE     SERVICE

O gateway funciona como uma porta de entrada.

Ele pode participar de tarefas como roteamento, autenticação, autorização, controle de tráfego, transformação e observabilidade.

Isso evita que o consumidor precise conhecer detalhes demais da infraestrutura interna.

Para quem trabalha com mainframe, existe aqui uma conexão importantíssima.

Suponha:

MOBILE
   │
   ▼
REST API
   │
   ▼
API LAYER
   │
   ▼
CICS
   │
   ▼
COBOL
   │
   ▼
Db2

O aplicativo móvel não precisa saber que existe COBOL.

Aliás, ele não deveria precisar saber.

Para ele existe:

GET /accounts/123

Atrás disso pode existir uma transação CICS construída anos atrás.

Isso nos leva a uma das ideias mais importantes deste artigo:

Modernizar a interface de um sistema não exige necessariamente reescrever seu coração.


⚡ 6. “Mas microservices escalam!”

Sim.

E aqui Chris Knight provavelmente responderia:

“Qual parte precisa escalar?”

Imagine uma loja:

CATÁLOGO
50.000 req/s

PAGAMENTO
2.000 req/s

RELATÓRIOS
200 req/s

Se tudo estiver dentro de uma aplicação indivisível, talvez seja necessário escalar todo o conjunto.

Com serviços independentes, podemos ter:

CATÁLOGO
████████████████████

PAGAMENTO
████

RELATÓRIO
█

Agora temos uma vantagem concreta.

Não estamos usando microservices porque são modernos.

Estamos usando porque determinadas capacidades possuem características operacionais diferentes.

Esse é pensamento arquitetural.


🌐 7. Só existe um pequeno problema chamado rede

No COBOL podemos ter:

CALL 'VALIDA' USING WS-DADOS.

Agora transforme conceitualmente essa interação em:

SERVICE-A
    │
    │ HTTP
    ▼
SERVICE-B

Parece semelhante no PowerPoint.

Na operação, não é.

O Service B pode estar indisponível.

A rede pode estar congestionada.

O DNS pode falhar.

A resposta pode demorar.

A conexão pode cair.

A solicitação pode ser processada e a resposta se perder.

Aí Service A pensa:

“Não recebi resposta. Vou tentar novamente.”

Só que Service B executou a operação.

Parabéns.

Talvez você tenha cobrado o cliente duas vezes.


🔁 8. Bem-vindo ao maravilhoso mundo dos retries

Precisamos começar a pensar em:

timeout
retry
backoff
circuit breaker
idempotency
correlation ID
distributed tracing

Suponha:

POST /payment

A chamada chega.

O pagamento é processado.

A resposta desaparece.

O consumidor repete:

POST /payment

O sistema precisa conseguir perceber:

“Eu já processei esta operação.”

Daí surge a importância de idempotência.

Por exemplo:

IDEMPOTENCY-KEY: TX-928374

Se a mesma operação chegar novamente, podemos reconhecer que ela já aconteceu.

Observe como algo que parecia simplesmente:

A → B

acabou se tornando uma discussão arquitetural inteira.

Essa é uma das contas escondidas dos sistemas distribuídos.


💾 9. E então chegamos aos dados

Aqui começa a diversão de verdade.

Em um monólito podemos encontrar:

APPLICATION
     │
     ▼
    DB2

Uma transação pode executar várias operações e depois:

COMMIT

ou:

ROLLBACK

É uma ideia maravilhosa.

Tudo funcionou?

COMMIT.

Alguma coisa falhou?

ROLLBACK.

Agora distribua:

ORDER SERVICE
      │
      ▼
ORDER DB

PAYMENT SERVICE
      │
      ▼
PAYMENT DB

STOCK SERVICE
      │
      ▼
STOCK DB

Uma compra precisa:

criar pedido
reservar estoque
autorizar pagamento
emitir nota
solicitar entrega

Quem controla a transação?

Agora a resposta pode envolver eventos, mensagens, compensações, Saga Pattern e consistência eventual.


🍿 10. O microservice que virou laser de pipoca

Aqui está nossa metáfora Real Genius.

Imagine que o requisito fosse:

aquecer pipoca.

A primeira equipe sugere:

panela

Outra diz:

micro-ondas

Então o arquiteto extremamente entusiasmado apresenta:

satélite
     ↓
laser de alta potência
     ↓
espelho orbital
     ↓
sistema de coordenadas
     ↓
pipoca

Funciona?

Provavelmente conseguimos inventar uma maneira.

É impressionante?

Sem dúvida.

Era necessário?

Aí está a pergunta.

Em software fazemos exatamente isso.

Requisito:

600 usuários
CRUD
4 desenvolvedores
1 release mensal

Arquitetura proposta:

37 microservices
Kubernetes
Kafka
service mesh
Redis
API Gateway
15 databases
distributed tracing
GitOps
multi-cloud

E alguém precisa perguntar:

“Nós estamos construindo uma aplicação ou tentando ganhar a feira de ciências?”


🕸️ 11. O monólito distribuído

Existe uma criatura particularmente cruel.

Ela possui microservices no diagrama:

A → B → C → D → E

Mas A não consegue funcionar sem B.

B depende de C.

C depende de D.

Todos compartilham dados.

Precisam ser publicados juntos.

Uma alteração em E exige mudanças em A.

Temos então algo parecido com:

Distributed Monolith.

Conseguimos preservar o acoplamento do monólito e adicionar:

latência
rede
timeouts
deployment
containers
observabilidade
versionamento
falhas distribuídas

É quase uma obra de arte.

Chris Knight estaria impressionado.


📡 12. Observabilidade deixa de ser luxo

Imagine uma operação:

APP
 ↓
GATEWAY
 ↓
ORDER
 ↓
PAYMENT
 ↓
BROKER
 ↓
FRAUD
 ↓
BANK

Às 03:17, toca o telefone.

Easter egg encontrado. ☕

O cliente foi cobrado, mas o pedido não existe.

Agora precisamos reconstruir a viagem daquela transação.

Precisamos de algo parecido com:

TRACE-ID = ABC938271

Esse identificador acompanha a operação:

Gateway  ABC938271
Order    ABC938271
Payment  ABC938271
Fraud    ABC938271
Bank     ABC938271

Finalmente podemos reconstruir a história.

Esse é o valor do distributed tracing.

Em sistemas distribuídos, logs isolados deixam de contar a história completa.

Precisamos correlacioná-los.


🎯 13. Microservices não são principalmente uma decisão tecnológica

Aqui encontramos uma das maiores curiosidades da arquitetura.

Microservices também são uma decisão organizacional.

Imagine uma empresa com 300 desenvolvedores divididos em equipes:

CATALOG TEAM
PAYMENT TEAM
ORDER TEAM
SHIPPING TEAM
CUSTOMER TEAM

Se cada equipe puder controlar uma capacidade com ciclo próprio:

code
 ↓
test
 ↓
deploy
 ↓
operate

a independência arquitetural pode trazer enorme valor.

Agora imagine quatro desenvolvedores mantendo tudo.

Criar 40 serviços talvez não proporcione autonomia.

Talvez proporcione 40 coisas para quatro pessoas cuidarem.

Arquitetura precisa considerar a organização que vai operá-la.


🧩 14. Microfrontends repetem a experiência

Depois dos microservices alguém percebeu:

“E o frontend?”

Surge então:

Microfrontends.

Podemos ter:

BASE APPLICATION
│
├── PRODUCT
├── BASKET
└── ADVERT

Equipes diferentes podem desenvolver partes da experiência.

Em organizações enormes isso pode oferecer independência.

Mas imediatamente surgem novas perguntas.

Quem controla o design?

Quem controla as bibliotecas?

Como evitamos duplicação?

Como mantemos performance?

Como garantimos experiência consistente?

Outra vez:

Todo benefício arquitetural compra alguma complexidade.

A pergunta é se vale o preço.


🤖 15. “Micro/vibe everything” é mais perigoso do que parece

A imagem original contém uma pequena provocação maravilhosa:

Micro/vibe everything.

Em plena era da IA generativa, isso merece atenção.

Hoje podemos pedir:

“Crie 15 microservices para uma plataforma de vendas.”

E minutos depois receber:

/auth
/customer
/product
/order
/payment
/shipping
/inventory
/notification
/recommendation
...

Temos Dockerfiles.

APIs.

Testes.

YAML.

Filas.

Bancos.

Tudo parece extraordinariamente profissional.

Só existe uma questão:

Por que 15?

Talvez fossem necessários três.

Talvez oito.

Talvez nenhum.

IA reduziu dramaticamente o custo de produzir código.

Mas isso não reduz automaticamente o custo de:

possuir o código.

Alguém terá que entender, testar, proteger, atualizar, observar e recuperar aquilo.

Esta talvez seja uma das maiores mudanças para o arquiteto moderno:

Quanto mais barato fica criar complexidade, mais valiosa fica a capacidade de recusá-la.


🏛️ 16. O velho mainframe entra no laboratório

Aqui nosso programador COBOL pode sorrir.

Mainframes corporativos carregam décadas de lições sobre:

contratos
compatibilidade
transações
workload
segurança
mensageria
recuperação
disponibilidade
observabilidade

Sistemas antigos sobreviveram não porque nunca mudaram.

Sobreviveram justamente porque conseguiram mudar preservando contratos importantes.

Podemos encontrar algo como:

React
   ↓
REST
   ↓
API
   ↓
CICS
   ↓
COBOL
   ↓
Db2

E isso não deveria provocar vergonha arquitetural.

Talvez seja uma arquitetura excelente.

O frontend pode ser substituído.

A API pode evoluir.

A camada de integração pode mudar.

Enquanto isso, uma rotina COBOL comprovada durante bilhões de transações continua fazendo exatamente aquilo para que foi construída.

Chris Knight provavelmente perguntaria:

“Se funciona, escala, é seguro e atende ao negócio... exatamente por que vocês querem reescrever?”

Excelente pergunta.


🧠 17. O que realmente transforma Engineer em Architect

Não é Kubernetes.

Não é Kafka.

Não é AWS, Azure ou qualquer outra plataforma.

Não é conhecer cinquenta design patterns.

A transformação acontece quando mudamos de:

COMO CONSTRUO?

para:

POR QUE CONSTRUIR?

QUAL PROBLEMA?

QUAL ESCALA?

QUAL SLA?

QUAL CUSTO?

COMO FALHA?

COMO RECUPERA?

COMO OBSERVAMOS?

QUEM MANTÉM?

COMO EVOLUI?

QUAL É A ALTERNATIVA MAIS SIMPLES?

Um arquiteto não deveria ser simplesmente o profissional capaz de desenhar mais caixas.

Às vezes sua maior contribuição é pegar o desenho:

□ → □ → □ → □ → □
       ↓
       □
       ↓
   □ → □ → □

e perguntar:

“Podemos fazer isso com três?”


⚖️ 18. A regra Bellacosa-Chris Knight

Podemos transformar toda esta conversa em uma pequena regra:

Não escolha uma arquitetura porque consegue construí-la. Escolha porque consegue justificar sua existência.

Microservices podem ser extraordinários.

Um modular monolith também.

Event-driven architecture pode resolver problemas difíceis.

Uma chamada síncrona simples também.

Kafka pode ser fantástico.

Uma fila MQ pode continuar sendo exatamente aquilo que o problema exige.

REST pode ser perfeito.

Uma transação CICS pode estar executando sua função impecavelmente há décadas.

O arquiteto não deveria possuir religião tecnológica.

Deveria possuir critérios.


🔬 19. Passo a passo: antes de escolher microservices

Quando alguém disser:

“Precisamos de microservices.”

Faça o exercício Chris Knight.

Primeiro pergunte:

Qual problema atual queremos resolver?

Depois:

Precisamos de deployment independente?

Depois:

Partes diferentes precisam escalar independentemente?

Depois:

Existem boundaries de negócio claros?

Depois:

As equipes realmente possuem autonomia?

Depois:

Temos CI/CD maduro?

Depois:

Temos observabilidade?

Depois:

Sabemos operar sistemas distribuídos?

Depois:

Como trataremos consistência de dados?

Finalmente:

Um modular monolith resolveria?

Se ninguém consegue responder à primeira pergunta, não precisamos discutir a décima.


🎓 20. A lição para o programador COBOL iniciante

Se você está começando COBOL e olha para diagramas modernos pensando:

“Meu Deus, preciso aprender tudo isso antes de entender arquitetura.”

Não.

Comece pelos fundamentos.

Entenda profundamente:

dados
interfaces
responsabilidades
transações
dependências
falhas
contratos
estado
recuperação

Aprenda por que existe:

CALL

Entenda por que existe:

COMMIT

Entenda por que existe:

ROLLBACK

Entenda arquivos, Db2, VSAM, CICS e mensageria.

Depois olhe novamente para microservices.

Você começará a reconhecer velhos problemas usando roupas novas.

Naturalmente, sistemas distribuídos trouxeram desafios e soluções próprias. Não devemos fingir que um CALL COBOL e uma chamada HTTP são equivalentes.

Mas ambos obrigam o arquiteto a pensar:

Quem chama quem?

Qual é o contrato?

O que acontece quando falha?

Essas perguntas atravessam gerações tecnológicas.


🍿 Epílogo — alguém trouxe pipoca?

No final, talvez essa seja a melhor contribuição de Chris Knight para nossa imaginária aula de arquitetura.

Tecnologia pode — e deve — ser divertida.

Precisamos experimentar.

Precisamos construir protótipos.

Precisamos estudar microservices, containers, APIs, eventos, IA e tudo aquilo que surgir depois.

Mas devemos conservar uma pequena irreverência diante das modas.

Quando uma apresentação disser:

“Todo mundo está migrando para microservices.”

Pergunte:

Por quê?

Quando disserem:

“Precisamos quebrar o monólito.”

Pergunte:

Onde exatamente ele está nos prejudicando?

Quando disserem:

“Precisamos de 70 serviços.”

Pergunte:

Por que 70?

E quando alguém apresentar uma arquitetura gigantesca para resolver um problema relativamente pequeno, imagine Chris Knight entrando na reunião, olhando aquele maravilhoso laser tecnológico apontado para uma simples panela de milho e perguntando:

“Vocês sabem que existe um jeito mais fácil de fazer pipoca, não sabem?”

Essa é a diferença entre conhecer tecnologia e compreender arquitetura.

O desenvolvedor aprende a construir o laser.

O engenheiro aprende a fazê-lo funcionar.

O arquiteto calcula potência, disponibilidade, segurança e custo.

Mas o Real Genius olha para o requisito e pergunta:

“A gente precisava mesmo do laser?”

Bellacosa Mainframe — porque às 03:17 da madrugada, simplicidade também é uma feature.

quinta-feira, 3 de setembro de 2026

Leonardo da Vinci Entra no CPD — O Dia em que o IBM Z Aprendeu Arm sem Esquecer COBOL

 

Bellacosa Mainframe e o ibm z aprendendo Arm o proximo passo nos cpds

☕ Um Café no Bellacosa Mainframe

Leonardo da Vinci Entra no CPD — O Dia em que o IBM Z Aprendeu Arm sem Esquecer COBOL

Ou: como um processador de 2 nm, onze núcleos, três alfabetos de máquina e vinte e dois milhões de desenvolvedores transformaram o mainframe numa oficina renascentista — sem ninguém recompilar a folha de pagamento numa tarde de sexta-feira

Imagine que Leonardo da Vinci, depois de desenhar máquinas voadoras, estudar o corpo humano, projetar pontes e encher cadernos com anotações escritas ao contrário, receba um crachá temporário para visitar um moderno CPD.

Ele atravessa a porta dupla, observa as luzes do IBM Z e pergunta:

— Qual é a função desta grande máquina negra?

O programador COBOL iniciante responde:

— Processar contas bancárias, cartões, seguros, folhas de pagamento, reservas, impostos e quase tudo que não pode dar errado.

Leonardo examina os cabos, aproxima o ouvido do gabinete e conclui:

— Então não é apenas uma máquina. É uma cidade fortificada feita de silício.

Em agosto de 2026, a IBM anunciou um projeto que pode abrir um novo portão nessa cidade: seu primeiro processador de mainframe com duas arquiteturas, preparado para executar nativamente instruções IBM Z e Arm. O futuro chip, destinado a gerações posteriores do IBM Z e LinuxONE, foi anunciado com tecnologia de 2 nanômetros, 11 núcleos acima de 5,7 GHz, aceleradores de inteligência artificial, uma DPU dedicada a I/O e uma grande estrutura de cache.

Mas o que significa colocar Arm no mainframe? COBOL passará a executar em celular? Um aplicativo Android poderá entrar no JES2? O z/OS será substituído? E onde entram x86-64, AArch64 e s390x nessa oficina?

Vamos abrir o capô sob a tutela imaginária de Leonardo da Vinci.



Prólogo — O computador não entende COBOL

Esta revelação costuma assustar o padawan: o processador não entende COBOL, Java, Python ou C.

O processador entende instruções de máquina.

Quando escrevemos:

COMPUTE TOTAL = PRECO * QUANTIDADE

o compilador examina a frase COBOL e produz uma sequência de instruções compatível com a arquitetura de destino. Em um IBM Z, o resultado contém instruções da arquitetura Z. O fonte é legível para humanos; o executável é preparado para o processador e para o ambiente operacional.

Leonardo talvez comparasse isso aos seus projetos. O desenho de uma ponte representa uma ideia. Para construí-la, porém, alguém precisa converter o desenho em medidas, cortes, encaixes e operações compatíveis com os materiais disponíveis.

O código-fonte é o desenho. O compilador é o mestre da oficina. O binário é a coleção de ordens entregues às ferramentas.


1. ISA: o alfabeto secreto do processador

ISA significa Instruction Set Architecture, ou arquitetura do conjunto de instruções. Ela define o contrato entre software e processador:

  • instruções reconhecidas;

  • registradores disponíveis;

  • maneiras de acessar memória;

  • operações matemáticas e lógicas;

  • desvios e chamadas;

  • tratamento de exceções;

  • operações atômicas;

  • estados privilegiados usados pelo sistema operacional.

Três arquiteturas importantes nesta conversa são:

ArquiteturaOnde aparece principalmenteNome visto em ferramentas
x86-64PCs e servidores Intel/AMDx86_64, amd64
AArch64Arm de 64 bits, celulares, Apple Silicon e cloudaarch64, arm64
IBM ZMainframes e LinuxONEs390x em Linux

Elas podem realizar tarefas equivalentes, mas codificam as ordens de maneiras diferentes. É como escrever a mesma receita em português, italiano e japonês: o bolo pode ser o mesmo, mas não se lê um texto japonês aplicando automaticamente as regras do italiano.

Um programa compilado para x86-64 não se transforma em AArch64 apenas porque foi copiado. Da mesma forma, uma imagem arm64 não roda nativamente numa máquina que compreenda somente s390x.

Curiosidade de oficina

AMD64 e x86-64 normalmente designam a mesma arquitetura básica. O nome AMD64 existe porque foi a AMD que criou a extensão de 64 bits do x86 que venceu no mercado; a Intel depois adotou uma implementação compatível, comercialmente chamada Intel 64.

O pequeno detalhe histórico rende um belo easter egg: durante anos muita gente associou “x86” automaticamente à Intel, mas a estrada de 64 bits usada pela maioria dos PCs foi traçada pela concorrente.



2. x86-64: o palácio construído sem demolir as alas antigas

A linhagem x86 começou com o Intel 8086, lançado em 1978, e atravessou diversas gerações. Sua grande força foi preservar compatibilidade.

8086 → 80286 → 80386 → x86 de 32 bits → x86-64

É um palácio ampliado durante décadas. Novas alas foram construídas, corredores foram modernizados, elevadores foram instalados, mas várias portas antigas continuam ali porque alguém ainda pode precisar atravessá-las.

Essa herança aparece nos registradores:

RAX = 64 bits
EAX = 32 bits inferiores
 AX = 16 bits inferiores
 AL = 8 bits inferiores
 AH = outros 8 bits históricos

Também aparece nas instruções de comprimento variável. Uma instrução x86-64 pode ocupar quantidades diferentes de bytes. O processador precisa decodificar onde cada instrução começa, quais prefixos possui, quais operandos utiliza e onde termina.

Historicamente, x86 é classificada como CISC — Complex Instruction Set Computer. Algumas instruções podem realizar operações relativamente complexas ou trabalhar diretamente com valores na memória.

Mas não confunda complexidade da ISA com incompetência. Processadores AMD e Intel modernos são extraordinárias obras de engenharia. Internamente, eles frequentemente decompõem instruções x86 complexas em micro-operações menores, executam-nas fora de ordem, especulam desvios e reorganizam resultados mantendo a aparência exigida pelo programa.

Leonardo reconheceria a técnica: uma alavanca visível ao operador pode acionar uma engrenagem, que aciona três rodas, que movem seis peças. A interface externa parece simples; o mecanismo interno faz uma coreografia.



3. AArch64: uma nova oficina para os 64 bits

AArch64 é o estado de execução de 64 bits introduzido pela arquitetura Armv8-A. Também aparece como ARM64.

Ao contrário do x86-64, que estendeu uma longa linhagem, AArch64 foi desenhada como uma arquitetura de 64 bits mais regular. Suas instruções normalmente possuem 32 bits de comprimento, ou quatro bytes.

Ela oferece 31 registradores gerais visíveis, normalmente chamados X0 a X30. Para acessar os 32 bits inferiores, usa-se W0 a W30.

X0 = registrador de 64 bits
W0 = parte de 32 bits de X0

AArch64 segue a tradição RISC — Reduced Instruction Set Computer — e uma filosofia load/store. Operações aritméticas trabalham principalmente com registradores. Para manipular um valor guardado na memória, normalmente fazemos três movimentos conceituais:

  1. carregar o valor;

  2. executar a operação;

  3. gravar o resultado, se necessário.

Exemplo didático:

ldr x0, [x1]      // traz um valor da memória
add x0, x0, x2    // soma usando registradores
str x0, [x1]      // devolve o resultado à memória

Isso não quer dizer que Arm seja uma arquitetura “simples” ou “fraca”. Apple Silicon, AWS Graviton, Ampere e outros projetos demonstram que Arm pode alimentar computadores pessoais e servidores de alto desempenho.

RISC e CISC explicam estilos arquiteturais, não determinam sozinhos quem vence uma corrida. Frequência, cache, memória, processo de fabricação, unidades vetoriais, quantidade de núcleos, compilador e workload pesam enormemente.

Dica para o padawan

Nunca escreva numa apresentação que “Arm é mais rápido porque é RISC” ou “x86 é melhor porque possui instruções mais poderosas”. Isso seria como afirmar que COBOL sempre vence Java porque COMPUTE parece mais empresarial.

Peça o benchmark, conheça o workload e verifique o custo total.

4. A mesma aplicação, binários diferentes

Considere este pequeno programa em C:

int soma(int a, int b) {
    return a + b;
}

Um compilador para x86-64 poderia gerar, de forma simplificada:

mov eax, edi
add eax, esi
ret

Em AArch64, o mesmo fonte poderia resultar em:

add w0, w0, w1
ret

A finalidade é igual. Os registradores, instruções e bytes produzidos são diferentes.

Daí nasce uma regra essencial:

Fonte portátil não significa binário portátil.

Para portar uma aplicação, talvez baste recompilar. Porém, talvez o programa contenha assembler, bibliotecas fechadas, suposições sobre tamanho de dados, drivers particulares ou dependências não disponíveis. Nesses casos, a travessia torna-se mais trabalhosa.

Em COBOL conhecemos esse problema. Um fonte escrito seguindo padrões pode ser adaptado entre plataformas, mas um executável compilado para z/OS não é simplesmente copiado para IBM i, Windows ou Linux e executado como se nada tivesse acontecido.

5. ISA não é sistema operacional

Mesmo dois computadores que usem a mesma arquitetura podem não executar o mesmo binário.

Compare:

AArch64 + Linux
AArch64 + macOS
AArch64 + Windows

Todos podem usar processadores que entendem AArch64. Entretanto, os programas dependem também de:

  • formato do executável;

  • ABI, a interface binária da aplicação;

  • convenções de chamada;

  • bibliotecas;

  • carregador;

  • chamadas de sistema;

  • serviços do sistema operacional.

Portanto, um programa Linux Arm não se torna automaticamente um aplicativo macOS apenas porque ambos usam Arm.

Leonardo desenharia camadas concêntricas:

Aplicação
Bibliotecas e runtime
Sistema operacional
Virtualização e firmware
ISA
Microarquitetura e silício

O anúncio da IBM começa profundamente nas camadas inferiores, mas seu valor comercial dependerá de todas as camadas superiores.

6. Containers: o contêiner leva a casa, não leva o terreno

Existe um mito segundo o qual um container roda em qualquer lugar. Ele roda em qualquer ambiente compatível, o que é diferente.

Uma imagem OCI pode ser publicada para:

linux/amd64
linux/arm64
linux/s390x
linux/ppc64le

Um fornecedor pode manter o mesmo nome lógico, mas armazenar variantes com binários apropriados. O registry examina a arquitetura solicitada e entrega a imagem correta por meio de um índice ou manifesto multiarch.

O container empacota aplicação, bibliotecas e configuração, mas normalmente compartilha o kernel do host e continua dependendo da ISA. Ele leva os móveis e as paredes internas; não leva um planeta novo debaixo da casa.

Passo a passo para verificar uma imagem

  1. Consulte a documentação do fornecedor.

  2. Procure amd64, arm64 ou s390x nas plataformas suportadas.

  3. Examine o manifesto multiarch com uma ferramenta OCI ou Docker.

  4. Confirme que todas as dependências possuem a mesma arquitetura.

  5. Teste em ambiente controlado.

  6. Não confunda “iniciou” com “é oficialmente suportado”.

Essa última diferença evita muitos ABENDs administrativos. Uma aplicação pode funcionar no laboratório e ainda assim não possuir suporte do fabricante para produção.

7. Endianness: quando Leonardo escreve os bytes ao contrário

Leonardo ficou famoso por suas anotações espelhadas. Isso nos oferece uma analogia perfeita para endianness: a ordem em que os bytes de um número aparecem na memória.

Considere 0x12345678:

Big-endian:     12 34 56 78
Little-endian:  78 56 34 12

x86-64 é normalmente little-endian. Linux AArch64 também é normalmente little-endian. Linux s390x tradicionalmente trabalha em big-endian.

Ao trocar JSON, XML, mensagens MQ ou Protocol Buffers corretamente serializados, a camada de comunicação trata a representação. Ao compartilhar estruturas binárias brutas, o programador precisa ter cuidado.

Imagine gravar o tamanho de um pagamento em quatro bytes e o destinatário lê-los na ordem oposta. O valor de um cafezinho pode chegar ao sistema de liquidação vestido de aquisição corporativa.

Easter egg número 1

Se encontrar 0x4C454F perdido num exemplo hexadecimal, converta os bytes para ASCII. Leonardo deixou sua assinatura na oficina.

8. Emulação não é execução nativa

Quando um processador não entende a ISA de um programa, um tradutor pode intervir.

Binário x86-64
      ↓ tradução
Instruções AArch64
      ↓
Processador Arm

Rosetta 2 nos Macs Apple Silicon e mecanismos do Windows on Arm mostram que tradução pode oferecer excelente experiência. QEMU consegue emular diversas arquiteturas. Porém, existe uma camada adicional e nem toda instrução, extensão ou comportamento terá desempenho idêntico ao nativo.

Execução nativa ocorre quando o hardware compreende diretamente a ISA para a qual o binário foi produzido.

É exatamente por isso que o anúncio da IBM chama atenção: a empresa declara que não está colocando núcleos Arm separados nem oferecendo mera emulação. A proposta é integrar a ISA Arm aos próprios núcleos do futuro processador de mainframe.

9. O processador bilíngue da IBM

Segundo a IBM, cada núcleo poderá executar nativamente instruções IBM Z e Arm. Ambientes Linux Arm-native poderão operar simultaneamente com z/OS e Linux on IBM Z.

Isso não significa misturar instruções Arm dentro de um programa COBOL arbitrariamente. Tampouco significa copiar um APK para uma biblioteca de carga e executar:

//LEONARDO JOB CLASS=A,MSGCLASS=X
//STEP01   EXEC PGM=MONALISA
//STEPLIB  DD DSN=ANDROID.ARM64.LOAD,DISP=SHR

O JES2 provavelmente responderia com a serenidade de um monge e a crueldade de um auditor.

O cenário é de ambientes distintos sobre a mesma plataforma:

Processador dual-architecture
├── contexto IBM Z
│   ├── z/OS
│   └── Linux s390x
└── contexto Arm
    └── Linux AArch64

O hardware fala dois idiomas; sistemas operacionais e aplicações ainda ocupam seus ambientes apropriados.

10. O grande prêmio: levar o cálculo até os dados

Mainframes guardam dados críticos de bancos, seguradoras, governos, companhias aéreas e grandes varejistas. Hoje, um componente moderno frequentemente consulta esses dados atravessando redes, gateways e camadas de integração.

Aplicação externa → API → integração → CICS → Db2

Cada seta pode significar latência, criptografia, credenciais, filas, cópias, custo e um novo ponto de falha.

Se um serviço Arm-native puder operar dentro da mesma plataforma física, próximo ao CICS, IMS e Db2, torna-se possível mover parte do processamento até os dados em vez de exportar dados para todo processamento novo.

Exemplo: autorização de cartão

  1. CICS recebe a solicitação.

  2. COBOL valida conta, limite e regras consolidadas.

  3. Db2 fornece histórico relevante.

  4. Um serviço Arm-native executa uma biblioteca de análise comportamental.

  5. Um acelerador de IA calcula a probabilidade de fraude.

  6. O resultado volta à transação.

  7. RACF, criptografia e auditoria protegem e registram o processo.

COBOL não é substituído pela IA. O programa transacional ganha um conselheiro especializado.

O chip anunciado também inclui aceleração de inferência voltada a fraude durante transações e uma DPU dedicada a I/O. Isso combina com a tradição Z de não tratar movimentação de dados como tarefa secundária.

11. DPU: o mestre de logística da oficina

DPU significa Data Processing Unit. Ela pode descarregar tarefas relacionadas à movimentação e ao processamento de dados que, de outra forma, ocupariam os núcleos gerais.

Leonardo provavelmente desenharia a DPU como o encarregado do porto:

  • recebe cargas;

  • organiza filas;

  • movimenta contêineres;

  • controla rotas;

  • deixa o mestre artesão trabalhar na peça principal.

No mainframe, isso é quase uma tradição familiar. A plataforma sempre utilizou inteligência e componentes especializados para I/O, evitando que a CPU central carregue sozinha todos os baldes da cidade.

12. Frequência não é desempenho

O processador foi anunciado com mais de 5,7 GHz. O número impressiona, mas não pode ser usado sozinho para comparar máquinas.

Desempenho depende de:

  • instruções concluídas por ciclo;

  • previsão de desvios;

  • latência e tamanho dos caches;

  • largura de memória;

  • unidades vetoriais;

  • aceleração específica;

  • quantidade de núcleos;

  • sistema operacional;

  • compilador;

  • comportamento do workload.

Um motor girando mais depressa não necessariamente transporta mais carga. Precisamos conhecer torque, transmissão, peso e terreno.

No IBM Z importam também throughput sustentado, disponibilidade, isolamento, capacidade de recuperação e latência previsível. Ganhar uma corrida de dez segundos é diferente de processar milhões de transações diariamente sem derrubar a ponte.

13. O ecossistema Arm entra no castelo

A IBM aponta um universo superior a 22 milhões de desenvolvedores Arm. Esse é um dos argumentos estratégicos mais fortes.

Muitos projetos modernos são publicados primeiro para amd64 e arm64. Algumas bibliotecas, agentes, ferramentas de IA e imagens de containers não chegam a s390x, ou chegam posteriormente.

Ao executar Arm nativamente, o IBM Z pode reduzir a necessidade de portar cada componente antes de usá-lo. Isso poderá ampliar opções para:

  • containers;

  • microsserviços;

  • inferência de IA;

  • agentes de automação;

  • observabilidade;

  • segurança;

  • processamento de eventos;

  • ferramentas cloud-native.

Mas ampliar o mercado também amplia a cadeia de suprimentos. Uma imagem abandonada e repleta de vulnerabilidades não se torna segura apenas porque entrou num mainframe.

Serão indispensáveis:

  • SBOM;

  • assinatura de imagens;

  • verificação de procedência;

  • varredura de vulnerabilidades;

  • controle de privilégios;

  • política de atualização;

  • suporte do fornecedor;

  • observabilidade.

O RACF não asperge água benta sobre um container com senha admin123.

14. As perguntas que ainda não possuem resposta completa

O anúncio descreve uma direção tecnológica, não um manual de planejamento.

Ainda precisamos conhecer detalhes como:

  1. Uma LPAR será definida como Z ou Arm?

  2. PR/SM administrará os dois contextos de que maneira?

  3. z/VM ou KVM hospedarão guests Arm?

  4. Como HMC mostrará capacidade e consumo?

  5. Como serão dumps, traces e contadores de desempenho?

  6. OpenShift agendará pods s390x e arm64 no mesmo conjunto?

  7. Como funcionará compartilhamento de I/O e memória?

  8. Quais sistemas operacionais e versões serão suportados?

  9. Como será o licenciamento?

  10. Workloads Arm afetarão métricas tradicionais de software?

A TechChannel estimou disponibilidade em aproximadamente dois anos com base na cadência da IBM. Isso apontaria para algo por volta de 2028, mas não é uma data oficial de produto. A própria IBM classifica declarações futuras como objetivos sujeitos a alteração.

Dica de arquiteto

Separe sempre três colunas em suas anotações:

CategoriaExemplo
Confirmado2 nm, 11 núcleos, mais de 5,7 GHz e duas ISAs nativas
Objetivo declaradoLinux Arm-native ao lado de z/OS e Linux Z
Ainda não detalhadoLPAR, preços, licenciamento e versões suportadas

Essa disciplina impede que uma promessa de arquitetura seja apresentada ao cliente como feature disponível na próxima terça-feira.

15. Um roteiro de estudos para o programador COBOL

O iniciante não precisa abandonar COBOL e correr desesperadamente para assembler Arm. Pode avançar por etapas.

Etapa 1 — Entenda a pilha

Aprenda a distinguir:

fonte → compilador → objeto → linkedição → executável → sistema operacional → ISA

No mundo z/OS, relacione isso a compile, link-edit/binder, load module ou program object e execução via batch ou subsistema.

Etapa 2 — Reconheça arquiteturas

Memorize os três rótulos:

amd64  = x86-64
arm64  = AArch64
s390x  = IBM Z em Linux

Etapa 3 — Observe imagens multiarch

Escolha uma imagem conhecida, consulte seu manifesto e veja quais plataformas são publicadas. Perceba que o nome lógico pode esconder binários diferentes.

Etapa 4 — Aprenda integração

Estude:

  • APIs REST;

  • JSON;

  • MQ;

  • z/OS Connect;

  • CICS web services;

  • autenticação e autorização.

O futuro profissional valioso será a ponte entre o core e os serviços modernos.

Etapa 5 — Faça um laboratório mental

Desenhe uma aplicação COBOL que consulta Db2 e chama um serviço antifraude. Marque:

  • onde começa a transação;

  • quais dados saem;

  • qual identidade é usada;

  • qual timeout existe;

  • o que acontece se o serviço falhar;

  • como a operação será auditada.

Etapa 6 — Nunca esqueça o rollback

Se a análise Arm demorar ou ficar indisponível, a transação deve saber se recusa, aprova com limites ou encaminha para revisão. Modernização sem tratamento de falha é apenas uma demonstração com gravata.

16. O que isso representa para a carreira mainframe

O anúncio não reduz o valor do especialista Z; ele aumenta o território que esse profissional pode conectar.

As empresas precisarão de pessoas que compreendam simultaneamente:

COBOL + CICS + IMS + Db2 + RACF
                 ↕
Linux + Arm + containers + APIs + IA

O profissional raro não será necessariamente quem sabe decorar toda instrução de três arquiteturas. Será quem entende os contratos entre elas, reconhece riscos e desenha uma solução suportável.

O padawan COBOL deve aprender a conversar com desenvolvedores cloud sem desprezar o legado e sem aceitar que toda arquitetura nova seja automaticamente revolucionária.

Leonardo dominava pintura, anatomia, mecânica e hidráulica não porque confundia as disciplinas, mas porque sabia enxergar relações entre elas.

Esse é o modelo do novo arquiteto de mainframe.

17. Easter eggs da sala de máquinas

Alguns pequenos segredos para quem chegou até aqui:

  • Leonardo escrevia parte de suas notas de maneira espelhada; por isso ele foi escolhido como tutor da seção de endianness.

  • “A máquina voadora” simboliza tecnologias que podem ser tecnicamente brilhantes e ainda depender de materiais, operação e contexto para funcionar comercialmente.

  • O programa MONALISA no JCL não existe — ao menos até algum chimpanzé do Bellacosa Mainframe registrá-lo num PDS.

  • Se a futura plataforma receber um serviço chamado VITRUVIAN, verifique se ele escala proporcionalmente ou apenas posa dentro de um círculo.

  • O verdadeiro boss final não apareceu no silício: chama-se licenciamento.


Conclusão — O códice do mainframe bilíngue

x86-64, AArch64 e s390x são alfabetos de máquina diferentes. Um mesmo código-fonte pode ser compilado para mais de um deles, mas os binários produzidos não são intercambiáveis. Containers carregam aplicações e dependências, porém continuam presos à arquitetura e ao kernel compatível. Emulação traduz; execução nativa entrega as instruções diretamente ao hardware apropriado.

O projeto da IBM é histórico porque pretende colocar duas ISAs dentro dos próprios núcleos do futuro processador: IBM Z e Arm. Isso poderá permitir ambientes Linux AArch64 ao lado de z/OS e Linux s390x, aproximando software moderno dos dados e das transações centrais.

Não significa que z/OS executará qualquer aplicativo Arm, que COBOL será substituído ou que todas as dificuldades de integração desaparecerão. Sistemas operacionais, ABIs, bibliotecas, segurança, virtualização, endianness, suporte e licenciamento continuarão importando.

A grande mudança é outra:

Durante décadas, o software precisou aprender o idioma do mainframe. Agora o próprio mainframe está aprendendo um novo idioma sem esquecer aquele que protegeu sua história.

Leonardo fecha o caderno, observa o IBM Z e faz seu último desenho: de um lado, um programa COBOL sustentando as contas do banco; do outro, um serviço Arm trazendo IA e software cloud-native. Entre ambos, uma ponte feita de APIs, segurança, virtualização e disciplina operacional.

Antes de sair, ele escreve no quadro — desta vez da esquerda para a direita:

ISA NÃO É SISTEMA OPERACIONAL.
CONTAINER NÃO É EMULADOR.
FREQUÊNCIA NÃO É DESEMPENHO.
MODERNIZAÇÃO NÃO É APAGAR O PASSADO.

O programador iniciante pergunta:

— Mestre Leonardo, então qual é a verdadeira inovação?

Ele aponta para a máquina e responde:

— Não obrigar o passado e o futuro a disputarem a mesma cadeira. Construir uma mesa grande o suficiente para que ambos trabalhem juntos.

No fundo do CPD, alguém submete um job. O JES2 aceita. O serviço Arm responde. O Db2 confirma o COMMIT.

E, por uma vez, ninguém recebeu S0C7 por tentar interpretar os bytes ao contrário.


Fontes consultadas



quarta-feira, 2 de setembro de 2026

Isaac Asimov Entra no CPD — O Dia em que o COBOL Conheceu a Inteligência Artificial e Descobriu que o Robô Também Precisava de JCL, Dados e Supervisão Humana

 

Bellacosa Mainframe apresenta inteligencia artificial para padawan

☕ Um Café no Bellacosa Mainframe

Isaac Asimov Entra no CPD — O Dia em que o COBOL Conheceu a Inteligência Artificial e Descobriu que o Robô Também Precisava de JCL, Dados e Supervisão Humana

Ou: por que a IA generativa não pensa como um ser humano, um prompt não é feitiço, RAG não é um novo comando do IDCAMS e nenhuma empresa deveria entregar RACF SPECIAL a um agente autônomo depois de apenas quinze minutos de laboratório



Prólogo — “Computador, resolva isso”, disse o humano sem fornecer o arquivo de entrada

Imagine que Isaac Asimov visite um CPD moderno.

Ele atravessa a porta de segurança, observa os racks, escuta o ruído constante da refrigeração e encontra, em um canto, um terminal com letras verdes. Na tela, um programa COBOL processa milhões de registros sem reclamar, sem pedir café e sem publicar no LinkedIn que concluiu mais um badge.

Ao lado do terminal, há uma interface de inteligência artificial.

O operador escreve:

Analise este programa, explique o erro e sugira uma solução.

A IA responde em segundos. Ela descreve o programa, aponta uma possível falha e apresenta uma alteração aparentemente elegante.

Asimov ajusta os óculos e pergunta:

— A resposta está correta?

Silêncio no CPD.



O operador olha para o desenvolvedor. O desenvolvedor olha para o analista. O analista olha para o programa. O programa olha para ninguém, porque um batch COBOL respeitável não participa de reunião sem necessidade.

Essa é a primeira grande lição sobre inteligência artificial: gerar uma resposta convincente não é a mesma coisa que produzir uma resposta verdadeira.

A IA moderna consegue escrever textos, criar imagens, gerar código, resumir documentos, conversar com usuários, procurar informações e até acionar ferramentas. Entretanto, ela não deixa de precisar de contexto, dados confiáveis, controles de acesso, validação e supervisão humana.

Em outras palavras, a inteligência artificial pode entrar no CPD. Mas primeiro precisa preencher a requisição, apresentar a identificação e explicar por que deseja acesso ao dataset de produção.



1. Afinal, o que é inteligência artificial?

Inteligência artificial é um conjunto de técnicas que permite aos computadores executar atividades normalmente associadas à inteligência humana.

Essas atividades incluem:

  • reconhecer imagens;

  • compreender linguagem;

  • identificar padrões;

  • fazer previsões;

  • recomendar ações;

  • tomar decisões dentro de regras;

  • gerar textos, imagens, sons, vídeos e código;

  • interagir com pessoas por meio de chatbots e assistentes.



A definição é ampla porque IA não representa uma única tecnologia. Ela funciona como um grande condomínio tecnológico no qual moram aprendizado de máquina, redes neurais, processamento de linguagem natural, visão computacional, robótica, sistemas especialistas e modelos generativos.

Para um programador COBOL iniciante, uma comparação útil é pensar em “mainframe”.

Mainframe não significa somente COBOL. Dentro desse universo existem z/OS, CICS, IMS, Db2, VSAM, RACF, JCL, JES2, SDSF, TCP/IP, MQ, APIs e muitas outras tecnologias.

Da mesma forma, IA não significa apenas ChatGPT. Um chatbot generativo é somente uma das aplicações possíveis.

Um sistema de detecção de fraude pode usar IA sem conversar com ninguém. Um banco pode utilizar modelos preditivos para identificar transações suspeitas. Uma indústria pode empregar visão computacional para localizar defeitos em peças. Um hospital pode analisar exames médicos. Um supermercado pode prever demanda de produtos.

A inteligência artificial é o campo. Os modelos, algoritmos e aplicações são os moradores desse campo.



2. Inteligência artificial ou inteligência aumentada?

Existe uma diferença importante entre inteligência artificial e inteligência aumentada.

A expressão “inteligência artificial” pode sugerir que a máquina está substituindo integralmente o ser humano. Já “inteligência aumentada” enfatiza que a tecnologia amplia a capacidade humana.

Essa segunda interpretação é especialmente valiosa nos ambientes corporativos.

Um sistema pode analisar milhares de registros e apontar anomalias. Entretanto, um profissional experiente deve interpretar o contexto, verificar impactos e decidir a ação adequada.

Pense em um incidente de produção.

A IA pode:

  • resumir mensagens do job;

  • relacionar o erro com incidentes anteriores;

  • localizar a documentação;

  • sugerir os programas envolvidos;

  • gerar uma hipótese para a causa;

  • preparar uma consulta SQL;

  • recomendar testes.

Mas ela não deveria promover uma alteração diretamente em produção sem autorização, validação e rastreabilidade.

A IA funciona como um assistente extremamente rápido, capaz de consultar uma biblioteca enorme e preparar hipóteses. O especialista continua responsável por avaliar se aquelas hipóteses fazem sentido.

Asimov provavelmente reconheceria aqui uma versão corporativa de suas famosas Leis da Robótica: quanto maior a capacidade de uma máquina agir, maiores devem ser os controles destinados a impedir danos.



3. IA estreita, IA geral e superinteligência

A inteligência artificial também pode ser classificada por sua capacidade.

IA estreita ou fraca

É criada para executar uma tarefa específica ou um conjunto limitado de tarefas.

Exemplos:

  • filtro de spam;

  • recomendação de filmes;

  • reconhecimento facial;

  • previsão de demanda;

  • assistente de programação;

  • chatbot de atendimento;

  • sistema antifraude.

Praticamente todas as aplicações de IA atualmente disponíveis pertencem a essa categoria.

Uma IA pode jogar xadrez melhor que quase todos os seres humanos e ainda ser incapaz de preencher uma declaração de imposto de renda. Ela domina uma tarefa, mas não possui uma compreensão geral do mundo.

É como um programa COBOL excelente em calcular folha de pagamento. Ele pode processar milhões de salários corretamente, mas não saberá reservar uma passagem aérea, a menos que alguém desenvolva essa funcionalidade.

IA geral ou forte

Seria uma inteligência capaz de aprender, compreender e executar diversas tarefas intelectuais, transferindo conhecimento entre domínios de maneira semelhante a um ser humano.

Essa inteligência ainda não foi alcançada de forma comprovada.

Modelos generativos modernos são versáteis e podem aparentar inteligência geral durante uma conversa. Contudo, continuam apresentando limitações importantes, como erros factuais, dificuldades de raciocínio consistente e ausência de compreensão humana completa.

Superinteligência

É uma hipótese na qual a inteligência da máquina superaria a humana em praticamente todos os domínios.

Esse conceito aparece com frequência na ficção científica, desde os robôs de Asimov até computadores que decidem que a melhor forma de proteger a humanidade é trancá-la em casa.

É um tema legítimo para pesquisa e reflexão, mas não descreve os sistemas corporativos atuais. Seu chatbot de Recursos Humanos ainda está longe de dominar o planeta. Algumas vezes ele sequer consegue interpretar corretamente “segunda via do comprovante”.



4. Como uma máquina aprende?

A inteligência artificial moderna depende fortemente do aprendizado de máquina, ou machine learning.

Em vez de programar todas as regras explicitamente, fornecemos dados para que um algoritmo encontre padrões.

No desenvolvimento tradicional, temos algo parecido com:

DADOS + REGRAS PROGRAMADAS → RESULTADO

No aprendizado de máquina, o processo pode ser representado assim:

DADOS + RESULTADOS CONHECIDOS → MODELO

Depois de treinado:

NOVOS DADOS + MODELO → PREVISÃO

Isso não elimina a programação. Alguém ainda precisa desenvolver o pipeline, preparar dados, escolher algoritmos, configurar infraestrutura, testar o modelo, monitorar resultados e integrar tudo aos sistemas existentes.

A máquina não acorda numa terça-feira e decide aprender sozinha sobre crédito bancário. Ela recebe dados selecionados por pessoas, dentro de um processo criado por pessoas e com objetivos definidos por pessoas.

Existem três formas clássicas de aprendizado.

Aprendizado supervisionado

O modelo recebe exemplos com respostas conhecidas.

Se quisermos ensinar um sistema a identificar operações fraudulentas, podemos fornecer transações classificadas como “fraude” ou “legítima”.

O modelo aprende relações entre os atributos e as classificações.

Dentro do aprendizado supervisionado temos, entre outras técnicas:

  • classificação, para escolher categorias;

  • regressão, para estimar valores contínuos.

Classificar uma transação como fraude ou não fraude é classificação. Estimar o valor provável de uma propriedade é regressão.

Aprendizado não supervisionado

Os dados não possuem rótulos prontos. O algoritmo procura estruturas, agrupamentos e comportamentos incomuns.

Ele pode descobrir, por exemplo, grupos de clientes com hábitos semelhantes ou transações muito diferentes do padrão habitual.

É particularmente útil para clustering e detecção de anomalias.

Aprendizado por reforço

Um agente executa ações, observa os resultados e recebe recompensas ou penalidades.

Aos poucos, aprende estratégias que maximizam a recompensa.

Essa abordagem pode ser utilizada em jogos, robótica, navegação e otimização de decisões.

É quase como treinar um operador virtual:

  • executou a ação correta: recompensa;

  • derrubou a produção: penalidade;

  • executou DELETE ... PURGE no dataset errado: reunião extraordinária com a gerência e possível exílio para uma lua distante.



5. Treinamento, validação e teste: não vale estudar com o gabarito aberto

Os dados normalmente são separados em três conjuntos.

Conjunto de treinamento

É usado para ensinar os padrões ao modelo.

Conjunto de validação

Ajuda a ajustar parâmetros e comparar versões durante o desenvolvimento.

Conjunto de teste

É utilizado para avaliar o desempenho final com dados que o modelo não deveria ter visto durante o treinamento.

Se usarmos os mesmos dados para treinar e avaliar, o modelo pode simplesmente memorizar exemplos sem aprender a generalizar.

Esse problema é conhecido como overfitting.

Uma analogia simples: o aluno memoriza todas as respostas do simulado, obtém nota máxima nele e depois fracassa quando a prova apresenta perguntas diferentes.

No mainframe, seria como testar uma alteração somente com o registro feliz, perfeitamente preenchido, enquanto a produção contém datas inválidas, campos com espaços, valores inesperados, copybooks antigas e aquele arquivo criado em 1998 que ninguém deseja investigar.

Um modelo confiável precisa enfrentar dados representativos da realidade.



6. Redes neurais e deep learning

Redes neurais são modelos computacionais inspirados, de forma simplificada, na organização de neurônios biológicos.

Elas possuem:

  • uma camada de entrada;

  • uma ou mais camadas intermediárias;

  • uma camada de saída.

Cada conexão trabalha com valores ajustados durante o treinamento. O modelo modifica esses valores para reduzir seus erros.

Quando existem muitas camadas, entramos no campo do deep learning.

O aprendizado profundo tornou possíveis grandes avanços em:

  • reconhecimento de voz;

  • tradução automática;

  • visão computacional;

  • reconhecimento facial;

  • análise de imagens médicas;

  • veículos autônomos;

  • processamento de linguagem;

  • geração de conteúdo.

Há diversos tipos de redes neurais, como perceptrons, redes feed-forward, redes convolucionais e redes recorrentes.

Para o iniciante, o mais importante é entender que uma rede neural não contém pequenas regras escritas em português. Ela aprende representações matemáticas distribuídas.

Por isso, pode ser difícil explicar exatamente por que determinado resultado foi produzido. Surge o problema da “caixa-preta”: o modelo apresenta ótima precisão, mas seu caminho de decisão pode não ser facilmente interpretável.

Em áreas reguladas, como bancos, seguros, saúde e governo, essa falta de explicabilidade pode ser crítica.



7. O que torna a IA generativa diferente?

A IA tradicional costuma classificar, prever ou recomendar.

A IA generativa cria novos conteúdos com base nos padrões aprendidos.

Ela pode gerar:

  • textos;

  • imagens;

  • músicas;

  • vozes;

  • vídeos;

  • código;

  • designs;

  • resumos;

  • conversas;

  • dados sintéticos.

Isso não significa que a máquina cria da mesma maneira que um artista humano. O modelo aprende estruturas estatísticas presentes nos dados e produz uma nova combinação considerada provável dentro do contexto solicitado.

Uma forma simples de explicar o processo é:

EXEMPLOS + TREINAMENTO → PADRÕES APRENDIDOS
PROMPT + PADRÕES APRENDIDOS → NOVO CONTEÚDO

O prompt é a instrução enviada pelo usuário.

Exemplo ruim:

Explique este programa.

Exemplo melhor:

Explique este programa COBOL para um desenvolvedor iniciante. Identifique as divisões, descreva o fluxo, liste arquivos utilizados, destaque possíveis riscos de dados inválidos e não invente informações ausentes.

Quanto mais claro for o objetivo, o público, o contexto, o formato e as restrições, maior a chance de obter uma resposta útil.

Um prompt não é uma frase mágica. É uma especificação de trabalho.

Programadores COBOL já conhecem esse problema. Se a especificação diz apenas “ajustar cálculo”, alguém passará a madrugada tentando descobrir qual cálculo, qual programa, qual carteira, qual vigência e qual regra de arredondamento.

A IA também precisa de contexto.



8. Os principais modelos generativos

Há diferentes arquiteturas usadas na IA generativa.

Variational Autoencoders — VAEs

Um encoder transforma os dados em uma representação compacta chamada espaço latente. Um decoder utiliza essa representação para gerar novos exemplos.

O espaço latente captura características relevantes dos dados.

Generative Adversarial Networks — GANs

Uma GAN utiliza dois componentes:

  • o gerador cria amostras;

  • o discriminador tenta identificar se elas são reais ou artificiais.

Os dois componentes competem e melhoram juntos.

É como um falsificador tentando produzir documentos cada vez mais convincentes enquanto um inspetor aprende a detectar as falsificações.

Modelos autorregressivos

Produzem dados sequencialmente, considerando os elementos anteriores.

Na geração de texto, o modelo prevê o próximo token com base nos tokens que vieram antes.

Transformers

Os Transformers revolucionaram o processamento de linguagem graças, entre outros elementos, ao mecanismo de atenção.

A atenção ajuda o modelo a identificar quais partes do contexto são mais relevantes para gerar o próximo elemento.

Eles estão na base de muitos modelos de linguagem modernos.

O easter egg aqui é inevitável: apesar do nome, um Transformer não se converte num caminhão e não luta contra Decepticons no estacionamento do data center. Seu trabalho é matemático, embora uma GPU superaquecida possa produzir efeitos especiais convincentes.



9. LLMs: os grandes modelos de linguagem

LLM significa Large Language Model, ou grande modelo de linguagem.

Esses modelos são treinados com enormes volumes de texto para aprender relações entre palavras, trechos de palavras, símbolos e estruturas.

O texto é dividido em tokens. Um token pode representar uma palavra inteira, parte de uma palavra, pontuação ou sequência de caracteres.

Ao receber um prompt, o modelo calcula probabilidades e seleciona os tokens que formarão a resposta.

Ele não procura necessariamente uma frase armazenada. Ele gera a sequência passo a passo.

Por isso, um LLM consegue produzir respostas originais e adaptar o estilo ao pedido. Também por isso pode inventar uma informação que parece perfeitamente plausível.

Um LLM é uma fantástica máquina de produzir linguagem provável.

“Provável”, entretanto, não significa “verdadeira”.

Se o modelo já viu muitos exemplos em que determinadas palavras aparecem juntas, ele pode construir uma resposta coerente mesmo sem possuir a informação correta.

Esse fenômeno é chamado de alucinação.

No mundo COBOL, seria como receber uma mensagem muito segura dizendo que FILE STATUS 97 significa “registro bloqueado por excesso de café”. A explicação pode soar memorável, mas você precisa verificar a documentação.



10. RAG: quando o modelo recebe uma biblioteca antes de responder

Retrieval-Augmented Generation, ou RAG, combina recuperação de informações com geração de conteúdo.

O processo normalmente possui três passos:

  1. o usuário faz uma pergunta;

  2. o sistema recupera documentos relevantes em uma fonte confiável;

  3. o modelo gera a resposta utilizando a pergunta e os documentos recuperados.

Imagine uma empresa com milhares de manuais, tickets, normas, programas, copybooks, runbooks e documentos técnicos.

Sem RAG, o modelo responde principalmente com base nos padrões aprendidos durante seu treinamento e no contexto colocado manualmente no prompt.

Com RAG, o sistema pode localizar trechos relacionados ao assunto e apresentá-los ao modelo.

Exemplo:

Por que o job FINP023 terminou com RC=12?

O RAG pode recuperar:

  • o manual do processo;

  • ocorrências anteriores;

  • o runbook operacional;

  • mensagens do job;

  • mudanças recentes;

  • a documentação do programa.

O LLM utiliza esse material para preparar uma resposta fundamentada.

O fluxo simplificado é:

PERGUNTA
   ↓
BUSCA DE INFORMAÇÕES
   ↓
DOCUMENTOS RELEVANTES
   ↓
PROMPT ENRIQUECIDO
   ↓
LLM
   ↓
RESPOSTA FUNDAMENTADA

RAG reduz alucinações, melhora a atualização das respostas e permite trabalhar com conhecimento privado da organização.

Mas RAG não é água benta digital.

Se a base contém documentação antiga, contraditória ou incorreta, a resposta também pode ser problemática. Se a busca recuperar o documento errado, o modelo poderá construir uma ótima resposta para a pergunta errada.

A qualidade depende dos documentos, da indexação, da recuperação, do prompt e da validação.




11. E onde entram os grafos?

Grafos representam entidades e relacionamentos.

Em um ambiente mainframe, podemos imaginar entidades como:

  • programas;

  • copybooks;

  • jobs;

  • steps;

  • arquivos;

  • tabelas;

  • transações CICS;

  • usuários;

  • regras de negócio.

Os relacionamentos podem indicar:

  • programa lê arquivo;

  • programa atualiza tabela;

  • job executa programa;

  • copybook é utilizada por programa;

  • transação chama módulo;

  • usuário possui acesso;

  • alteração afeta processo.

Um grafo permite navegar por essas conexões.

Se alguém perguntar “o que pode ser impactado pela mudança desta copybook?”, um grafo de dependências pode localizar os programas, jobs e processos relacionados.

RAG e grafos podem trabalhar juntos.

O RAG recupera documentos e trechos relevantes. O grafo ajuda a recuperar relações estruturadas entre componentes.

Para modernização de aplicações COBOL, essa combinação é poderosa. Ela pode ajudar a construir mapas de dependência, explicar fluxos, localizar regras de negócio e avaliar impactos.

Só não devemos confundir representação com certeza absoluta. Se o inventário estiver incompleto, o grafo também estará.

Um mapa incorreto continua sendo um mapa. Apenas conduz o aventureiro ao dungeon errado.



12. Chatbots, assistentes e agentes

Um chatbot é um programa criado para conversar com usuários.

Os primeiros chatbots eram fortemente baseados em regras. Eles identificavam palavras-chave e seguiam fluxos predefinidos.

Exemplo:

Se usuário escrever “segunda via”:
    apresentar menu de documentos.

Chatbots modernos podem utilizar NLP, machine learning e modelos generativos para compreender variações da linguagem e manter conversas mais naturais.

Assistentes inteligentes vão além da conversa. Eles podem executar tarefas, consultar sistemas e personalizar respostas.

Já um agente de IA percebe o ambiente, planeja ações, utiliza ferramentas e trabalha para alcançar um objetivo.

Um agente pode:

  1. receber uma meta;

  2. dividir a meta em etapas;

  3. consultar documentos;

  4. chamar uma API;

  5. executar código;

  6. avaliar o resultado;

  7. decidir o próximo passo.

É aqui que a discussão fica mais séria.

Um chatbot que escreve uma resposta incorreta pode confundir um usuário. Um agente com acesso a sistemas pode executar uma ação incorreta.

A diferença é semelhante àquela entre um colega sugerir um comando e alguém executar esse comando com autoridade de produção.

Quanto maior a autonomia, maior deve ser o controle.

Um agente corporativo precisa de:

  • identidade própria;

  • privilégios mínimos;

  • limites de ação;

  • registros de auditoria;

  • aprovação humana em operações críticas;

  • monitoramento;

  • botão de interrupção;

  • tratamento de exceções;

  • ambientes separados;

  • testes.

Nunca entregue ao agente a chave mestra porque ele passou no quiz introdutório com 100%.



13. IA, nuvem, edge e Internet das Coisas

A IA frequentemente trabalha com outras tecnologias.

Internet das Coisas — IoT

Dispositivos físicos coletam e compartilham dados.

Exemplos:

  • sensores industriais;

  • câmeras;

  • veículos;

  • dispositivos médicos;

  • equipamentos agrícolas;

  • sistemas prediais.

Computação em nuvem

Fornece armazenamento, processamento e serviços pela internet.

Ela facilita o treinamento e a disponibilização de modelos em grande escala.

Edge computing

Processa dados próximo de onde são gerados, reduzindo latência e dependência de conectividade.

Um veículo autônomo não pode enviar toda decisão para um data center distante e esperar tranquilamente a resposta enquanto se aproxima de uma parede.

A combinação dessas tecnologias permite semáforos inteligentes, agricultura de precisão, manutenção preditiva, edifícios automatizados e transporte conectado.

O mainframe pode participar desse ecossistema como sistema de registro, processador de transações e guardião de dados essenciais.

A IA não necessariamente substitui o legado. Muitas vezes ela se conecta ao legado por APIs, mensageria, eventos e camadas de integração.



14. Como a IA transforma empresas

A IA pode contribuir em diferentes áreas.

Automação

Executa tarefas repetitivas, como classificação de documentos, entrada de dados, agendamento e preparação de relatórios.

Análise de dados

Identifica padrões em grandes volumes de informação, auxilia previsões e apoia decisões.

Atendimento

Chatbots oferecem disponibilidade contínua, atendem muitos usuários e encaminham casos complexos para pessoas.

Desenvolvimento de produtos

A IA generativa cria alternativas de design, protótipos, descrições, simulações e ideias.

Marketing

Pode auxiliar na produção de conteúdo, segmentação, personalização e análise de comportamento.

Desenvolvimento de software

Pode explicar código, sugerir testes, completar trechos, gerar documentação e apoiar modernizações.

Para adotar IA de forma responsável, a empresa deve:

  1. definir o problema de negócio;

  2. estabelecer objetivos mensuráveis;

  3. selecionar casos de uso adequados;

  4. avaliar a disponibilidade e a qualidade dos dados;

  5. preparar pessoas e infraestrutura;

  6. desenvolver ou adquirir a solução;

  7. testar;

  8. integrar;

  9. monitorar;

  10. melhorar continuamente.

Comprar uma licença de IA não constitui estratégia.

É como instalar um compilador COBOL e anunciar que o sistema bancário está pronto.



15. A oportunidade para o desenvolvedor COBOL

O profissional COBOL possui uma vantagem frequentemente subestimada: conhecimento do negócio.

Modelos podem gerar código, mas não compreendem automaticamente décadas de decisões incorporadas aos sistemas.

Um programa antigo pode conter:

  • regras fiscais;

  • exceções contratuais;

  • convenções históricas;

  • adaptações regulatórias;

  • comportamentos esperados por outros sistemas;

  • tratamentos criados após incidentes esquecidos.

A IA pode ajudar o desenvolvedor COBOL a:

  • explicar programas;

  • produzir pseudocódigo;

  • documentar copybooks;

  • sugerir casos de teste;

  • localizar riscos;

  • traduzir regras para linguagem natural;

  • preparar consultas SQL;

  • analisar mensagens de erro;

  • criar exemplos de APIs;

  • comparar versões;

  • construir inventários;

  • estudar novas tecnologias.

Mas o desenvolvedor deve proteger dados empresariais. Código, credenciais, informações de clientes e regras proprietárias não devem ser enviados indiscriminadamente para ferramentas públicas.

Antes de utilizar uma IA, verifique:

  • a política da organização;

  • o tipo de dado permitido;

  • onde o conteúdo será processado;

  • se os prompts serão armazenados;

  • se serão usados para treinamento;

  • quais controles de privacidade existem;

  • quem é responsável pela validação.

O PROCEDURE DIVISION pode ser antigo. A obrigação de confidencialidade continua perfeitamente atual.


16. Ética: as novas Leis da Robótica corporativa

A IA apresenta riscos relacionados a:

  • privacidade;

  • segurança;

  • viés;

  • discriminação;

  • transparência;

  • direitos autorais;

  • desinformação;

  • deepfakes;

  • falta de explicabilidade;

  • autonomia excessiva;

  • desigualdade de acesso;

  • consumo de energia.

Os dados usados no treinamento podem conter preconceitos históricos. O modelo aprende esses padrões e pode reproduzi-los.

Informações confidenciais podem aparecer em datasets, prompts, logs ou respostas.

Conteúdos generativos podem parecer autênticos e ser utilizados para fraude ou manipulação.

Sistemas automatizados podem tomar decisões que afetam pessoas sem oferecer uma explicação adequada.

A resposta não é abandonar a IA. É desenvolver governança.

Asimov criou leis fictícias para limitar os robôs. Empresas precisam de mecanismos muito menos literários e muito mais verificáveis:

  • políticas;

  • responsabilidades definidas;

  • avaliação de risco;

  • gestão de dados;

  • controles técnicos;

  • auditorias;

  • documentação;

  • testes de viés;

  • monitoramento;

  • gestão de incidentes;

  • conformidade regulatória;

  • supervisão humana.

Entre os referenciais conhecidos estão o NIST AI Risk Management Framework e a legislação europeia sobre inteligência artificial.

Governança não é a reunião que acontece depois do incidente. É o conjunto de práticas que tenta impedir que o incidente aconteça.


17. Por que os modelos alucinam?

Um LLM não funciona como uma base de dados tradicional.

Ele foi treinado para gerar sequências linguisticamente coerentes. Quando não possui informação suficiente, pode completar a resposta com algo provável.

A alucinação pode ocorrer por:

  • falta de contexto;

  • ambiguidade no prompt;

  • conhecimento desatualizado;

  • dados de treinamento incompletos;

  • recuperação inadequada no RAG;

  • pressão para responder mesmo sem evidência;

  • tarefas que exigem precisão além da capacidade do modelo.

Algumas formas de reduzir o risco:

  • fornecer contexto confiável;

  • usar RAG;

  • solicitar fontes;

  • limitar o modelo aos documentos apresentados;

  • permitir que responda “não encontrei informação”;

  • validar resultados;

  • usar ferramentas determinísticas para cálculos;

  • testar diferentes cenários;

  • manter revisão humana.

A instrução mais importante pode ser:

Se não houver evidência suficiente, informe que não sabe.

Isso parece simples, mas contraria a tendência natural do modelo de continuar gerando uma resposta.

É o equivalente artificial daquele colega que nunca diz “não sei”, mesmo quando acabou de conhecer o sistema há três dias.



18. Um laboratório prático para o iniciante

Você pode experimentar IA generativa sem começar por uma arquitetura gigantesca.

Escolha um pequeno programa COBOL fictício, sem dados confidenciais.

Passo 1 — Peça uma explicação

Explique este programa COBOL para um iniciante. Descreva as divisões, os arquivos, o fluxo principal e a saída.

Passo 2 — Peça uma revisão crítica

Identifique riscos de dados inválidos, divisões por zero, campos não inicializados e problemas com tratamento de FILE STATUS.

Passo 3 — Solicite testes

Crie uma tabela de casos de teste contendo entrada, resultado esperado e risco coberto.

Passo 4 — Compare com o código

Verifique cada afirmação. Marque o que está correto, parcialmente correto ou inventado.

Passo 5 — Melhore o prompt

Acrescente contexto e restrições.

Passo 6 — Faça a IA revisar a própria resposta

Reanalise sua resposta. Para cada conclusão, informe qual trecho do programa oferece evidência.

Passo 7 — Registre o aprendizado

Observe onde a IA ajudou e onde precisou de supervisão.

Esse exercício ensina mais que simplesmente pedir “faça meu trabalho”. Ele demonstra a relação correta entre especialista e ferramenta.


19. O fluxo completo de uma IA generativa moderna

Podemos resumir uma solução moderna assim:

  1. o usuário envia um prompt;

  2. uma camada de segurança verifica conteúdo, identidade e permissões;

  3. o sistema interpreta a intenção;

  4. o RAG procura informações relevantes;

  5. grafos podem localizar entidades e dependências;

  6. o prompt é enriquecido com contexto;

  7. o LLM gera uma resposta;

  8. ferramentas podem ser chamadas para executar tarefas;

  9. filtros avaliam o resultado;

  10. uma pessoa revisa decisões importantes;

  11. logs registram o processo;

  12. métricas alimentam a melhoria contínua.

Observe que o LLM é apenas uma peça.

A aplicação real também precisa de:

  • autenticação;

  • autorização;

  • integração;

  • recuperação de dados;

  • observabilidade;

  • governança;

  • tratamento de erros;

  • auditoria;

  • infraestrutura;

  • experiência do usuário.

O modelo pode ser o ator famoso no cartaz, mas existe uma equipe inteira mantendo o filme em exibição.

No mainframe conhecemos bem essa realidade. O programa COBOL pode conter a regra principal, porém depende de JCL, datasets, catálogos, segurança, scheduler, mensageria, banco de dados e operação.

IA corporativa também é arquitetura, não apenas modelo.


Epílogo — O robô não substituiu o programador; apenas pediu acesso ao ambiente de homologação

Depois de visitar o CPD, Asimov observa o programa COBOL e a aplicação de IA trabalhando lado a lado.

O COBOL continua fazendo aquilo que sabe fazer muito bem: processar transações críticas de forma previsível.

A IA analisa documentação, auxilia o profissional, sugere testes e torna o conhecimento mais acessível.

Nenhum deles trabalha sozinho.

O sistema legado fornece regras e dados que sustentam o negócio. A IA oferece novas formas de interagir com esse conhecimento. O ser humano define o objetivo, avalia o contexto, administra riscos e assume a responsabilidade.

Essa talvez seja a verdadeira inteligência aumentada.

Não é o robô ocupando a cadeira do analista. É o analista ganhando uma ferramenta capaz de atravessar milhares de páginas, localizar padrões e preparar alternativas — desde que alguém experiente continue perguntando:

  • De onde veio essa informação?

  • Qual evidência sustenta a resposta?

  • Que dado foi utilizado?

  • Qual será o impacto?

  • Quem autorizou a ação?

  • Como podemos interromper o processo?

  • O resultado foi validado?

O futuro não será construído apenas por quem sabe conversar com uma IA. Será construído por quem compreende sistemas, dados, segurança, negócios e responsabilidade.

Para o programador COBOL iniciante, a mensagem é especialmente importante: você não chegou tarde.

O mundo precisa de pessoas capazes de conectar aplicações críticas a novas tecnologias sem destruir aquilo que já funciona. Precisa de profissionais que entendam que uma resposta bonita não substitui um teste, que uma automação não elimina controle e que modernização não significa apagar quarenta anos de conhecimento com um único comando.

Aprenda prompts, LLMs, RAG, agentes, grafos e APIs.

Mas continue aprendendo COBOL, JCL, Db2, CICS, VSAM, RACF e regras de negócio.

Porque, quando o robô finalmente entrar na sala de mudanças e disser “a alteração é pequena”, alguém precisará ter experiência suficiente para responder:

— Ótimo. Então mostre o impacto, apresente os testes e aguarde a janela de implementação.

Em algum lugar da Fundação, Hari Seldon provavelmente sorrirá.

E no CPD, discretamente, o JES2 continuará processando a fila.






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