☕ 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 Alan Turing. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta Alan Turing. Mostrar todas as mensagens

segunda-feira, 28 de setembro de 2026

☕ ALAN TURING ENTRA NO CPD — O MAPA DOS AGENTES DE IA EXPLICADO POR UM MAINFRAMER

 


☕ UM CAFÉ NO BELLACOSA MAINFRAME

☕ ALAN TURING ENTRA NO CPD — O MAPA DOS AGENTES DE IA EXPLICADO POR UM MAINFRAMER

De currículo invisível, PF3 e SDSF até WLM, JES2, CICS, Db2, MQ e IMS — nove conversas sobre agentes de inteligência artificial que acabaram revelando que alguns dos problemas mais modernos da computação possuem parentes muito antigos.



🎬 PRÓLOGO — EU NÃO ESTAVA ESCREVENDO UMA SÉRIE

Existe uma coisa curiosa em escrever durante muitos anos.

Às vezes você pensa que está escrevendo artigos independentes.

Um assunto aparece.

Você investiga.

Escreve.

Publica.

Toma outro café.

Algumas semanas depois aparece outra pergunta.

Outro artigo.

Outro café.

Até que um dia você olha para trás e percebe:

Espere um pouco...

Esses textos estão conversando entre si.

Foi exatamente o que aconteceu com uma sequência de artigos que comecei a construir usando Alan Turing como nosso visitante imaginário dentro de um CPD.

No começo, a pergunta parecia relativamente simples:

Como devemos preparar pessoas para trabalhar com inteligência artificial?

Depois apareceu outra:

Como será a interface de um agente que não apenas responde, mas executa ações?

E outra:

Como descobriremos o que esse agente está fazendo?

Depois:

Quem decide qual agente é mais importante?

Quem coloca o trabalho para executar?

Como controlamos uma transação?

Onde guardamos o estado?

Como agentes conversam sem depender uns dos outros?

Como organizamos memória e contexto?

Quando percebi, Alan Turing já estava andando pelo corredor do CPD acompanhado de alguns velhos conhecidos:

ISPF
SDSF
WLM
JES2
CICS
Db2
MQ
IMS

E foi aí que apareceu a hipótese que une esta série inteira:

Talvez alguns dos problemas que estamos descobrindo agora nos agentes de IA sejam novos em implementação, escala e comportamento — mas não necessariamente novos como problemas de engenharia.

O mainframe passou décadas resolvendo problemas como:

IDENTIDADE
AUTORIZAÇÃO
EXECUÇÃO
PRIORIDADE
OBSERVABILIDADE
TRANSAÇÃO
ESTADO
MENSAGERIA
RECUPERAÇÃO
AUDITORIA
CONCORRÊNCIA
DEPENDÊNCIAS

Naturalmente:

JES2 não é um framework de agentes.

SDSF não é observabilidade de LLM.

WLM não é um scheduler de prompts.

CICS não é LangGraph.

Db2 não é memória de IA.

MQ não é protocolo mágico entre agentes.

IMS não foi inventado para armazenar a infância digital de um robô.

😂

A comparação é conceitual.

E justamente por isso ela é tão interessante.

Este artigo é o mapa dessa viagem.



🧠 CAPÍTULO 1 — O CURRÍCULO INVISÍVEL DA INTELIGÊNCIA ARTIFICIAL

Antes de construir o agente, precisamos construir quem vai trabalhar com ele

👉 ALAN TURING E O CURRÍCULO INVISÍVEL DA INTELIGÊNCIA ARTIFICIAL

Nossa viagem começa antes da arquitetura.

Começa nas pessoas.

Existe uma tentação enorme diante de qualquer revolução tecnológica:

NOVA TECNOLOGIA
      ↓
NOVO CURSO
      ↓
NOVA FERRAMENTA
      ↓
CERTIFICADO
      ↓
PRONTO

Mas nunca foi tão simples.

Quem viveu várias gerações da informática sabe disso.

Aprender COBOL não significava apenas conhecer:

MOVE
PERFORM
IF
EVALUATE

O programador acabava aprendendo silenciosamente muitas outras coisas:

  • decomposição de problemas;

  • leitura de documentação;

  • disciplina operacional;

  • análise de impacto;

  • debugging;

  • responsabilidade sobre dados;

  • relacionamento com usuários;

  • conhecimento do negócio;

  • avaliação de riscos.

Existe, portanto, um currículo formal e outro quase invisível.

Com IA acontece algo semelhante.

Prompt engineering pode ser útil.

Conhecer modelos também.

Mas trabalhar seriamente com IA começa a exigir algo muito maior:

IA
│
├── pensamento crítico
├── validação
├── segurança
├── privacidade
├── conhecimento de domínio
├── avaliação de resultados
├── automação
├── ética
├── governança
└── capacidade de perguntar

Este primeiro artigo estabelece o fundamento humano da série.

Antes de perguntar:

O que o agente pode fazer?

precisamos perguntar:

Quem saberá dizer se aquilo que ele fez está correto?

Esse detalhe acompanhará todos os capítulos seguintes.



🤖 CAPÍTULO 2 — A UX DOS AGENTES

Quando PF3 voltou para salvar a inteligência artificial

👉 ALAN TURING E A UX DOS AGENTES — QUANDO PF3, MAXCC E RACF VOLTARAM PARA SALVAR A INTELIGÊNCIA ARTIFICIAL

Então demos autonomia à máquina.

E imediatamente apareceu outro problema.

Um chatbot responde.

Um agente age.

Essa diferença parece pequena até colocarmos ferramentas nas mãos dele.

Imagine:

USUÁRIO
   ↓
OBJETIVO
   ↓
AGENTE
   ├── consulta arquivos
   ├── chama API
   ├── pesquisa banco
   ├── altera documento
   ├── envia mensagem
   └── executa processo

De repente a interface precisa responder perguntas que o velho chatbot não precisava responder:

O QUE ESTÁ FAZENDO?

POR QUE ESTÁ FAZENDO?

QUAL ETAPA ESTÁ EXECUTANDO?

POSSO PARAR?

POSSO DESFAZER?

QUEM AUTORIZOU?

O QUE JÁ FOI ALTERADO?

E eis que aparece nosso velho amigo:

PF3

O PF3 torna-se uma metáfora perfeita para interruptibilidade.

O artigo também traz RACF para a conversa por meio do princípio de menor privilégio.

Se um agente precisa ler relatórios:

READ

por que entregar:

ALTER
DELETE
CONTROL

?

Não entregue uma bazuca para matar um mosquito.

E jamais resolva problemas de autorização usando a filosofia:

DÊ ACESSO A TUDO
       ↓
DEPOIS A GENTE VÊ

Quatro décadas de segurança corporativa já ensinaram como essa história termina.

O capítulo estabelece uma nova regra:

Autonomia sem controle não é sofisticação. É risco operacional.



🔭 CAPÍTULO 3 — O SDSF DOS AGENTES

Não basta o robô trabalhar. Precisamos enxergar o que está acontecendo.

👉 ALAN TURING E O SDSF DOS AGENTES — O QUE DIABOS O ROBÔ ESTÁ FAZENDO?

Agora o agente está trabalhando.

Maravilha.

Só existe uma pequena pergunta:

O que ele está fazendo?

Quem trabalhou com batch conhece uma rotina quase instintiva:

SUBMIT
  ↓
SDSF
  ↓
ST
  ↓
JOB
  ↓
OUTPUT

Não ficamos olhando para o terminal durante quinze minutos vendo:

Working...

Queremos estado.

Queremos evidência.

Queremos saber onde o processamento está.

A documentação da IBM confirma exatamente essa função histórica do SDSF: monitorar e controlar processamento, visualizar jobs e seus outputs e permitir ações como hold, release e cancel.

Transportando o princípio para agentes:

AGENTE FINANCEIRO

OBJETIVO:
Consolidar relatório mensal

STATUS:
Executando

ETAPA 1 — localizar arquivos       OK
ETAPA 2 — validar período          OK
ETAPA 3 — consultar Db2            OK
ETAPA 4 — reconciliar valores      RUNNING
ETAPA 5 — gerar relatório          WAITING
ETAPA 6 — enviar relatório         APPROVAL

Esse talvez seja um dos conceitos mais importantes da série.

Autonomia aumenta a necessidade de observabilidade.

Quanto menos diretamente o humano controla cada passo, mais importante se torna enxergar o estado da execução.



⚖️ CAPÍTULO 4 — O WLM DOS AGENTES

Quando descobrimos que nem todo trabalho possui a mesma importância

👉 ALAN TURING E O WLM DOS AGENTES

Agora temos outro problema.

Imagine mil agentes querendo trabalhar simultaneamente.

Um está:

resumindo newsletter

Outro:

processando fraude bancária

Outro:

gerando imagem

Outro:

atendendo cliente VIP

Outro:

fechando folha de pagamento

Todos deveriam receber os mesmos recursos?

Evidentemente não.

Bem-vindo ao velho problema de workload management.

No z/OS, WLM trabalha justamente com classes de serviço, metas de desempenho e importância relativa do trabalho. Quando todos os objetivos não podem ser satisfeitos simultaneamente, essa importância participa das decisões de gerenciamento dos recursos.

Nos agentes podemos imaginar:

AGENT WORKLOAD
│
├── CRITICAL
│   └── fraude
│
├── HIGH
│   └── atendimento
│
├── NORMAL
│   └── relatórios
│
└── DISCRETIONARY
    └── indexação histórica

E aparece outra ideia fundamental:

Agentes competirão por recursos.

Tokens custam.

GPU custa.

CPU custa.

APIs possuem limites.

Bancos possuem capacidade.

Pessoas disponíveis para aprovação humana também são um recurso limitado.

O problema deixa de ser:

O agente consegue executar?

e passa a ser:

Qual trabalho merece recursos primeiro?

Alan Turing acaba de conhecer o WLM.



🏭 CAPÍTULO 5 — O JES2 DOS AGENTES

Alguém precisa receber, organizar e despachar o trabalho

👉 ALAN TURING E O JES2 DOS AGENTES

Temos prioridades.

Temos recursos.

Temos agentes.

Agora alguém precisa organizar a bagunça.

No mundo batch, JES recebe jobs, mantém trabalhos em filas, encaminha jobs para execução e administra seus outputs. É exatamente assim que a própria documentação introdutória do z/OS descreve suas funções fundamentais.

Conceitualmente:

SUBMISSÃO
    ↓
  FILA
    ↓
CLASSIFICAÇÃO
    ↓
DESPACHO
    ↓
EXECUÇÃO
    ↓
 RESULTADO

Agora substitua JOB por TASK:

TASK-8472
OBJETIVO = analisar contratos
PRIORIDADE = HIGH
AGENTE = LEGAL-07
STATUS = WAITING

Começamos a perceber que um ecossistema corporativo de agentes precisará responder:

Quem recebeu a tarefa?

Onde ela está?

Quem executará?

Está esperando?

Está rodando?

Falhou?

Pode reiniciar?

Existe dependência?

Qual resultado produziu?

Não significa transformar JES2 em orquestrador de LLM.

Significa reconhecer que gerenciamento do ciclo de vida do trabalho é um problema antigo.


⚡ CAPÍTULO 6 — O CICS DOS AGENTES

Quando inteligência encontra transação

👉 ALAN TURING E O CICS DOS AGENTES

Até aqui nossos agentes estavam realizando trabalho.

Mas empresas não vivem apenas de trabalho.

Vivem de transações.

Comprar.

Vender.

Reservar.

Cancelar.

Transferir.

Atualizar.

Consultar.

Registrar.

CICS existe justamente no universo de processamento transacional. Uma transação dispara programas associados, pode envolver diversos programas e recursos, e muitas instâncias podem executar concorrentemente.

Agora imagine um agente recebendo:

Resolva o problema deste cliente.

Ele talvez precise:

CONSULTAR PEDIDO
      ↓
CONSULTAR PAGAMENTO
      ↓
VALIDAR ENTREGA
      ↓
CALCULAR CRÉDITO
      ↓
ATUALIZAR CADASTRO

Não estamos mais falando apenas de linguagem.

Estamos mexendo no estado real do negócio.

Aqui surge uma fronteira essencial:

PENSAR
≠
AGIR

e:

GERAR UMA RESPOSTA
≠
EXECUTAR UMA TRANSAÇÃO

Quando um agente atravessa essa fronteira, entram em cena concorrência, integridade, autorização, recuperação e consistência.

O simpático chatbot acabou de entrar em produção.

Agora a brincadeira ficou séria.


🗄️ CAPÍTULO 7 — O DB2 DOS AGENTES

Quando o agente descobriu que memória também precisa de COMMIT

👉 ALAN TURING E O DB2 DOS AGENTES

Um agente sem estado vive eternamente no presente.

Para realizar trabalhos complexos ele precisa guardar coisas.

Por exemplo:

objetivos
tarefas
resultados
aprovações
clientes
documentos
eventos
checkpoints
estado do workflow

Mas guardar informação introduz um problema:

Quando uma mudança se torna definitiva?

O velho Db2 imediatamente levanta a mão.

No Db2, uma unidade de trabalho representa uma sequência recuperável de operações; COMMIT confirma as mudanças e ROLLBACK pode desfazer alterações ainda não confirmadas.

Isso produz uma analogia poderosa para agentes.

Imagine:

LER
 ↓
ANALISAR
 ↓
PROPOR ALTERAÇÃO
 ↓
VALIDAR
 ↓
APROVAÇÃO
 ↓
COMMIT

Se algo falhar:

ROLLBACK

Mas existe uma pegadinha deliciosa.

Nem tudo no mundo possui rollback.

Se o agente:

ENVIAR EMAIL

não existe:

ROLLBACK EMAIL

que retire a mensagem da cabeça de quem leu.

😂

Portanto sistemas de agentes precisam distinguir ações reversíveis de ações irreversíveis.

O Db2 nos ensina algo maior que SQL:

Estado precisa possuir fronteiras de consistência.


📨 CAPÍTULO 8 — O MQ DOS AGENTES

Mensagem enviada não significa destinatário disponível

👉 ALAN TURING E O MQ DOS AGENTES — MENSAGEM ENVIADA NÃO SIGNIFICA CONVERSA SÍNCRONA

Então nossos agentes começaram a conversar.

E imediatamente alguém inventou:

AGENTE A
   ↓
AGENTE B
   ↓
AGENTE C

Parece maravilhoso.

Até o agente B ficar indisponível.

Ou lento.

Ou ocupado.

Ou reiniciar.

Ou o agente C morar em outro ambiente.

É exatamente aqui que décadas de mensageria corporativa começam a parecer extremamente atuais.

IBM MQ permite que aplicações se comuniquem através de mensagens e filas, inclusive executando em momentos, velocidades e locais diferentes. Produtor e consumidor podem ficar desacoplados.

Portanto:

AGENTE A
   ↓
 MENSAGEM
   ↓
  FILA
   ↓
AGENTE B

A existência da fila muda completamente a arquitetura.

O produtor não precisa necessariamente ficar parado olhando para o consumidor.

Podemos construir sistemas:

ASSÍNCRONOS
RESILIENTES
DESACOPLADOS
DISTRIBUÍDOS

Mas surgem novos problemas:

ordenação
duplicidade
correlação
persistência
retry
dead letter
idempotência
timeout

A IBM também documenta que filas mantêm mensagens até que aplicações possam recuperá-las e que consumidores e produtores podem operar desacoplados.

De repente, multiagentes deixam de parecer uma reunião de robôs conversando.

Começam a parecer...

sistemas distribuídos.

Bem-vindo ao inferno.

Tem café na entrada.


🌳 CAPÍTULO 9 — O IMS DOS AGENTES

Quando Alan Turing descobriu que encontrar um filho é fácil se você souber quem é o pai

👉 ALAN TURING E O IMS DOS AGENTES — QUANDO O MUNDO VIROU UMA ÁRVORE

Finalmente chegamos ao IMS.

E aparece uma pergunta fascinante:

Toda memória precisa ser representada como tabela?

Não.

IMS trabalha historicamente com modelo hierárquico.

Temos relações:

ROOT
 │
 ├── CHILD
 │     ├── CHILD
 │     └── CHILD
 │
 └── CHILD

Na terminologia oficial do IMS, segmentos possuem relações parent/child; um segmento pode inclusive ser filho de um segmento e pai de outro.

Isso oferece uma metáfora extraordinariamente útil para determinados tipos de contexto de agentes.

Imagine:

CLIENTE
│
├── PEDIDOS
│   ├── PEDIDO 8472
│   │   ├── ITENS
│   │   ├── PAGAMENTO
│   │   └── ENTREGA
│   └── PEDIDO 9011
│
├── CONTRATOS
│
└── ATENDIMENTOS

Contexto frequentemente possui relações naturais.

A própria IBM explica uma diferença fundamental: numa base hierárquica IMS, segmentos ao longo de um caminho hierárquico já possuem relações implícitas com pais e filhos, enquanto no modelo relacional relacionamentos normalmente são construídos explicitamente por joins.

Isso não significa:

Vamos substituir vector databases por IMS!

Calma.

😂

A lição é mais interessante:

A forma como representamos conhecimento influencia profundamente a maneira como conseguimos navegar por ele.

E assim chegamos da execução à memória.


🗺️ CAPÍTULO 10 — AGORA OLHE PARA O MAPA INTEIRO

Depois dos nove artigos, podemos finalmente enxergar a arquitetura escondida.

┌───────────────────────────────────────┐
│       CURRÍCULO INVISÍVEL             │
│ Quem está preparado para trabalhar?   │
└──────────────────┬────────────────────┘
                   ↓
┌───────────────────────────────────────┐
│          UX / PF3 / RACF              │
│ Como controlar autonomia?             │
└──────────────────┬────────────────────┘
                   ↓
┌───────────────────────────────────────┐
│               SDSF                    │
│ O que está acontecendo?               │
└──────────────────┬────────────────────┘
                   ↓
┌───────────────────────────────────────┐
│                WLM                    │
│ Qual trabalho é mais importante?      │
└──────────────────┬────────────────────┘
                   ↓
┌───────────────────────────────────────┐
│               JES2                    │
│ Quem recebe e despacha o trabalho?    │
└──────────────────┬────────────────────┘
                   ↓
┌───────────────────────────────────────┐
│               CICS                    │
│ Como executar ações de negócio?       │
└──────────────────┬────────────────────┘
                   ↓
┌───────────────────────────────────────┐
│               Db2                     │
│ Como manter estado consistente?       │
└──────────────────┬────────────────────┘
                   ↓
┌───────────────────────────────────────┐
│                MQ                     │
│ Como componentes conversam?           │
└──────────────────┬────────────────────┘
                   ↓
┌───────────────────────────────────────┐
│               IMS                     │
│ Como organizar e navegar contexto?    │
└───────────────────────────────────────┘

Agora a série revela algo que talvez não estivesse completamente evidente quando escrevemos o primeiro artigo.

Não estamos mais discutindo simplesmente:

INTELIGÊNCIA ARTIFICIAL

Estamos discutindo:

SISTEMAS DE INTELIGÊNCIA ARTIFICIAL

Essa diferença é gigantesca.


🧩 CAPÍTULO 11 — O AGENTE DEIXOU DE SER O CENTRO

Durante algum tempo olhamos para IA assim:

PROMPT
  ↓
LLM
  ↓
RESPOSTA

Só que um sistema corporativo real começa a parecer muito mais com:

                    USUÁRIO
                       │
                       ↓
                   OBJETIVO
                       │
                       ↓
                 ORQUESTRADOR
                       │
        ┌──────────────┼──────────────┐
        ↓              ↓              ↓
     AGENTE A       AGENTE B       AGENTE C
        │              │              │
        └──────────────┼──────────────┘
                       ↓
                    TOOLS
        ┌──────────────┼──────────────┐
        ↓              ↓              ↓
       DB             MQ             API
        │
        ↓
      ESTADO

E ao redor disso precisamos:

IDENTIDADE
AUTORIZAÇÃO
OBSERVABILIDADE
AUDITORIA
PRIORIZAÇÃO
RECUPERAÇÃO
LIMITES
CHECKPOINTS
APROVAÇÕES
MENSAGERIA
TRANSAÇÕES

O LLM continua importante.

Mas ele passa a ser um componente da arquitetura.

Essa talvez seja a evolução mais importante de toda a série.


🧙 CAPÍTULO 12 — TURING FAZ A PERGUNTA ERRADA

Alan Turing olha para nosso jovem programador COBOL.

E pergunta:

— Então finalmente construímos uma máquina que pensa?

O programador olha para o CPD.

Olha para:

SDSF
WLM
JES2
CICS
DB2
MQ
IMS

Depois olha para o pequeno agente trabalhando no terminal.

E responde:

— Não sei.

Turing fica surpreso.

— Depois de tudo isso?

— Talvez a pergunta tenha mudado.

— Como assim?

O programador pega uma caneta.

E escreve no quadro:

CAN MACHINES THINK?

Risca.

Embaixo escreve:

CAN MACHINES WORK
SAFELY,
RELIABLY,
OBSERVABLY
AND
RESPONSIBLY?

Turing olha.

Sorri.


🦖 CAPÍTULO 13 — O MAINFRAME NÃO PREVIU A IA

E precisamos deixar uma coisa muito clara.

O mainframe não previu os LLMs.

JES2 não é ancestral tecnológico direto de agentes.

WLM não administra pensamentos.

CICS não executa raciocínio.

Db2 não possui consciência.

MQ não faz robôs fofinhos conversarem.

IMS não é cérebro artificial.

O valor da comparação está em outro lugar.

Durante décadas sistemas corporativos precisaram responder:

Quem pode executar?

O que pode executar?

Quando executará?

Com qual prioridade?

Sobre quais recursos?

Como sabemos que terminou?

O que acontece quando falha?

Como desfazemos mudanças?

Como componentes se comunicam?

Como reconstruímos o que aconteceu?

Essas perguntas reaparecem quando agentes deixam o laboratório e começam a operar sistemas reais.

Não copiamos a solução.

Reaproveitamos o conhecimento de engenharia.


🥚 EASTER EGG — O PROGRAMA QUE JÁ ESTAVA RODANDO

Turing caminha até o último terminal do CPD.

Na tela existe apenas:

READY

Ele digita:

WHO

A máquina responde:

TURING

Ele pergunta:

STATUS

Resposta:

ACTIVE

Turing sorri.

— Interessante.

O programador COBOL pergunta:

— O quê?

— Passamos nove capítulos tentando descobrir como controlar agentes inteligentes.

— Sim.

Turing aponta para o CPD.

— E vocês passaram cinquenta anos construindo sistemas para controlar humanos, programas, jobs, transações e mensagens.

Silêncio.

O operador do outro lado da sala grita:

— JOB ABENDOU!

Turing pergunta:

— S0C7?

— S0C7!

Turing pega seu café.

— Algumas coisas realmente nunca mudam.

😂


☕ EPÍLOGO — TALVEZ O FUTURO TENHA CHEIRO DE CPD

Existe uma tendência natural na tecnologia de acreditar que tudo começou ontem.

Cada nova geração cria novas palavras.

Novos frameworks.

Novos diagramas.

Novas abstrações.

E muitas delas realmente representam avanços extraordinários.

Mas engenharia também possui memória.

Quando vejo agentes de IA discutindo:

orchestration
observability
workload
state
messaging
transactions
authorization
checkpoints
recovery

é impossível para quem viveu mainframe não sentir um estranho déjà-vu.

Não porque sejam as mesmas tecnologias.

Não são.

Mas porque computadores continuam enfrentando alguns problemas fundamentais:

TRABALHO PRECISA SER ORGANIZADO.

RECURSOS SÃO FINITOS.

ESTADO PRECISA SER PROTEGIDO.

FALHAS ACONTECEM.

MENSAGENS SE PERDEM.

SISTEMAS FICAM INDISPONÍVEIS.

USUÁRIOS COMETEM ERROS.

PROGRAMAS COMETEM ERROS.

AUTOMAÇÃO AMPLIFICA ERROS.

E agora acrescentamos uma criatura nova:

AGENTES PODEM ESCOLHER A PRÓXIMA AÇÃO.

Isso muda muita coisa.

Mas não apaga setenta anos de engenharia de sistemas.

Talvez faça justamente o contrário.

Torne esse conhecimento ainda mais valioso.

Por isso esta série não é apenas sobre Alan Turing.

Não é apenas sobre mainframe.

E nem sequer é apenas sobre inteligência artificial.

É sobre algo muito mais antigo:

COMO CONSTRUÍMOS SISTEMAS NOS QUAIS PODEMOS CONFIAR?

Começamos ensinando pessoas.

Depois demos autonomia à máquina.

Criamos formas de observá-la.

Priorizamos seu trabalho.

Organizamos suas filas.

Controlamos suas transações.

Protegemos seu estado.

Permitimos que conversasse com outros sistemas.

Finalmente começamos a organizar sua memória.

E talvez este seja apenas o começo.

Porque no fundo do CPD existe uma porta.

Turing acabou de encontrá-la.

Na porta existe uma pequena placa:

AGENTS
AUTHORIZED PERSONNEL ONLY

Ele olha para nós.

— Vamos?

O programador COBOL suspira.

Salva tudo.

Confere o spool.

E responde:

— Só depois do café.

☕

Bellacosa Mainframe

☕ UM CAFÉ NO BELLACOSA MAINFRAME

🤖 Alan Turing entra no CPD

O mapa dos agentes de IA explicado por um mainframer

Esta série acompanha a evolução de uma ideia: compreender os problemas modernos dos agentes de inteligência artificial usando conceitos conhecidos por quem trabalha com mainframe, IBM Z e sistemas corporativos.

A viagem começa pelas pessoas e pela experiência de uso, passa por observabilidade, priorização e execução, chega às transações, estado e mensageria e termina na organização hierárquica do contexto.

01
FEV / 2023

🧠 O currículo invisível da inteligência artificial

Antes de construir agentes inteligentes precisamos preparar as pessoas que trabalharão com eles. Técnica, pensamento crítico, conhecimento de negócio, segurança, ética e responsabilidade formam o currículo que nem sempre aparece no certificado.

02
MAR / 2023

🤖 A UX dos agentes

Quando uma IA deixa de apenas responder e começa a executar ações, sua interface precisa mostrar objetivos, progresso, permissões e resultados. PF3, MAXCC e RACF tornam-se excelentes analogias para controle, retorno e privilégio mínimo.

04
MAI / 2023

⚖️ O WLM dos agentes

CPU, GPU, tokens, APIs e bancos de dados são recursos finitos. O Workload Manager inspira uma discussão sobre prioridades, objetivos de serviço, importância do trabalho e distribuição dinâmica de recursos entre agentes.

06
JUL / 2023

⚡ O CICS dos agentes

Uma coisa é uma IA produzir texto. Outra é permitir que ela execute operações reais de negócio. CICS introduz a conversa sobre processamento transacional, concorrência, segurança e integridade.

07
AGO / 2023

🗄️ O Db2 dos agentes

Agentes precisam manter estado, checkpoints, decisões e resultados. O Db2 fornece o ponto de partida para discutir unidade de trabalho, consistência, COMMIT, ROLLBACK e recuperação.

10
SET / 2026

☕ Alan Turing entra no CPD — O mapa completo

O artigo-âncora reúne toda a evolução da ideia: pessoas, UX, observabilidade, prioridade, orquestração, transações, estado, mensageria e contexto transformam artigos independentes em uma arquitetura conceitual para agentes de IA.

🖥️ Leitor da série

Selecione qualquer capítulo acima para abri-lo normalmente. O painel abaixo é apenas um recurso adicional de navegação.

quarta-feira, 26 de agosto de 2026

Alan Turing, John McCarthy e o Delorean da Inteligência Artificial

 

Bellacosa Mainframe em uma homenagem a Alan Turing John McCarthy e os primordios da IA

☕ Um Café no Bellacosa Mainframe

Alan Turing, John McCarthy e o Delorean da Inteligência Artificial

Ou: o professor Brown trouxe uma Máquina de Turing de 1936, John McCarthy apareceu com Lisp de 1958, Igor tentou instalar um LLM num cartão perfurado — e o programador COBOL descobriu que a pergunta “máquinas podem pensar?” é bem mais antiga que o ChatGPT, o Wi-Fi e aquele colega que diz que IA vai substituir todo mundo na segunda-feira

DOC BROWN — ALERTA TEMPORAL!
“Vagner, se você colocar 1,21 gigawatts nesta fita perfurada, podemos voltar a 1936!”

IGOR: “Excelente, doutor! E depois a gente pede para a máquina preencher a SYSOUT!”

DOC BROWN: “Não, Igor. Primeiro precisamos definir o que a máquina sabe. Depois vemos se ela sabe que não sabe.”

PROGRAMADOR COBOL: “Professor, isso dá um S0C7?”

DOC BROWN: “Pior. Dá um problema filosófico.”

Há uma confusão muito comum quando se fala de Inteligência Artificial: parece que ela nasceu quando alguém abriu um chat, escreveu “faça um resumo deste PDF” e recebeu uma resposta tão convincente que resolveu perguntar se a máquina tinha alma, CPF ou direito a férias.

Não nasceu.

A conversa atual sobre IA — modelos de linguagem, agentes, automação, chatbots, geração de imagens, assistentes de código e previsões sobre AGI — tem raízes em perguntas feitas décadas antes de alguém sonhar com um smartphone. Duas figuras ajudam a entender o tamanho da estrada: Alan Turing e John McCarthy.

Turing ajudou a responder uma pergunta fundamental: o que uma máquina pode calcular? McCarthy pegou a próxima: como fazemos uma máquina exibir inteligência?

Não são a mesma pergunta. Mas, sem a primeira, a segunda talvez nem tivesse uma sala, uma placa na porta e um orçamento de pesquisa.

Para quem está começando em COBOL, isso importa mais do que parece. Afinal, COBOL, mainframe, IA, regras de negócio, automação e segurança pertencem ao mesmo universo: o universo em que seres humanos tentam transformar decisões, processos e conhecimento em algo que uma máquina consiga executar sem entrar em ABEND — ou, no mínimo, sem gerar um incidente que faça o gerente aparecer com a expressão de quem acabou de ver o Great Scott do professor Brown.



1. Antes de a IA existir, Turing desenhou a sala de máquinas

Em 1936, Alan Turing publicou um trabalho que se tornou uma das fundações da ciência da computação. Nele, apresentou a ideia que hoje chamamos de Máquina de Turing.

Não era um notebook. Não era um mainframe. Não tinha monitor, teclado, mouse, GPU, RGB, copiloto nem assistente perguntando se você deseja salvar alterações. Era uma máquina abstrata, matemática, quase ascética: uma fita potencialmente infinita, uma cabeça que lê e escreve símbolos e um conjunto de regras que determina o próximo passo.

Parece simples porque é simples. E justamente por isso é genial.

Imagine uma fita enorme com células. Cada célula pode conter um símbolo. A máquina lê uma célula, verifica seu estado atual e segue uma instrução do tipo:

“Se eu estiver no estado A e ler 0, escreva 1, mova uma posição à direita e vá para o estado B.”

Essa descrição não parece tão distante de um programa. Em COBOL, você escreve algo como:

IF SALDO-DISPONIVEL >= VALOR-SOLICITADO
    MOVE "APROVADO" TO STATUS-OPERACAO
ELSE
    MOVE "NEGADO" TO STATUS-OPERACAO
END-IF.

A diferença é que COBOL é uma linguagem de alto nível, feita para seres humanos descreverem regras de negócio. A Máquina de Turing é uma espécie de esqueleto teórico: uma forma de demonstrar o que significa executar uma sequência de instruções.

O ponto não é que seu programa de folha de pagamento seja literalmente uma Máquina de Turing com fita de papel. O ponto é que existe uma base conceitual por baixo de todo programa: dados, estados, instruções, memória e transições.

Turing mostrou que uma máquina suficientemente geral poderia simular qualquer outra máquina de cálculo, desde que recebesse a descrição correta do procedimento. Nascia a ideia de máquina universal.

E aqui o professor Brown derruba uma caixa de cartões no chão:

“Marty! Não precisamos construir uma máquina nova para cada problema. Precisamos construir uma máquina geral e trocar o programa!”

Esse raciocínio é a alma do computador moderno. O mesmo computador pode rodar um sistema bancário, calcular a folha, tratar uma imagem médica, executar um jogo, fazer uma planilha ou treinar um modelo de IA. O hardware é uma plataforma; o programa define o comportamento.

Para o programador COBOL iniciante, esta é a primeira lição: não pense em programação apenas como escrever comandos. Pense em descrever um processo de maneira precisa o suficiente para uma máquina executá-lo.



2. “Máquinas podem pensar?” — a pergunta que ainda não fechou o chamado

Em 1950, Turing publicou o artigo Computing Machinery and Intelligence. Em vez de tentar resolver logo a palavra “pensar” — uma palavra perigosamente grande, que arrasta consciência, linguagem, criatividade, emoção, filosofia, religião e um boteco inteiro de discussões — ele propôs uma alternativa prática.

Em vez de perguntar:

“Uma máquina pensa?”

Turing sugeriu perguntar algo próximo de:

“Uma máquina consegue conversar de tal modo que um avaliador humano não consiga distingui-la de uma pessoa?”

Essa ideia ficou conhecida como Teste de Turing.

Na versão simplificada, um humano conversa por texto com dois participantes escondidos: uma pessoa e uma máquina. Se não conseguir identificar de modo confiável quem é quem, a máquina demonstrou um tipo importante de comportamento inteligente.

Agora vem a parte que Igor costuma estragar quando lê apenas a manchete:

Passar ou não passar no Teste de Turing não resolve definitivamente a questão da inteligência.

Um sistema pode escrever de forma fluida, imitar emoções, reproduzir estilos e manter uma conversa impressionante. Isso prova que ele se comporta, naquele contexto, de maneira parecida com um humano? Talvez. Prova que ele entende o mundo do mesmo modo que você entende? Não necessariamente.

Um papagaio pode repetir uma frase sem entender economia. Um sistema pode produzir um parágrafo excelente sobre Db2 e, duas linhas depois, inventar uma opção de JCL que nunca existiu com a confiança de um gerente apresentando slide em reunião de diretoria.

Os modelos atuais são fantásticos em linguagem. Eles resumem, traduzem, escrevem código, classificam informações, explicam conceitos e ajudam a explorar ideias. Mas fluência não é garantia de verdade; texto bonito não é auditoria; resposta segura não é evidência.

Este é um ensinamento valioso para quem trabalha com sistemas corporativos:

  • valide regras;

  • valide fontes;

  • mantenha trilha de auditoria;

  • não deixe um modelo decidir sozinho algo sensível sem controles;

  • trate a IA como um componente de software, não como um oráculo.

Em outras palavras: se uma IA disser que o lote terminou bem, ainda abra o SDSF.



3. Bletchley Park: inteligência não é só resolver charadas, é construir método

Durante a Segunda Guerra Mundial, Turing trabalhou em Bletchley Park, no esforço britânico de criptoanálise contra comunicações alemãs codificadas, incluindo mensagens protegidas pela Enigma. Ele não foi um “gênio solitário que venceu a guerra com uma máquina”, como alguns filmes e manchetes resumem. Fez parte de uma rede enorme de matemáticos, linguistas, operadores, engenheiros e criptanalistas.

Mas sua contribuição foi decisiva. O trabalho envolvia lógica, probabilidade, máquinas eletromecânicas, hipóteses, busca de padrões e disciplina operacional. Nada muito diferente, em espírito, do que hoje se chama de análise de dados, engenharia de sistemas e segurança cibernética.

Há uma ponte direta aqui para o analista de segurança e para o programador de sistemas críticos: inteligência útil não é adivinhação. É método para reduzir incerteza.

Quando você recebe um log, por exemplo, não basta olhar uma linha e concluir que houve ataque. Você precisa de contexto:

  • qual usuário executou a ação?

  • de onde veio a conexão?

  • qual era o horário esperado?

  • houve falhas de autenticação antes?

  • o volume de operações fugiu do padrão?

  • qual ativo foi acessado?

  • existe impacto real?

A máquina pode ajudar a encontrar padrões. O humano precisa formular hipóteses, validar evidências e tomar decisões responsáveis.

Turing também nos lembra de algo trágico: genialidade técnica não protege ninguém da crueldade social. Ele foi perseguido pelo Estado britânico por ser homossexual e morreu em 1954, aos 41 anos. Quando celebramos sua obra, não devemos transformar sua vida em uma curiosidade decorativa de biografia. Devemos lembrar que ciência, tecnologia e instituições são feitas por pessoas — e podem falhar moralmente mesmo quando avançam tecnicamente.

Uma IA poderosa construída por uma organização sem ética não vira sábia. Vira apenas uma máquina mais eficiente para escalar decisões ruins.


4. John McCarthy: o homem que deu nome ao monstro

Se Turing ajudou a estabelecer os fundamentos da computação e colocou a pergunta na mesa, John McCarthy ajudou a dar nome ao campo que tentaria respondê-la.

Em 1955, ao escrever a proposta para o Dartmouth Summer Research Project on Artificial Intelligence — realizado no verão de 1956 — McCarthy usou a expressão Artificial Intelligence. O termo pegou, embora “inteligência de máquina” talvez fosse menos carregado de ficção científica.

A proposta era ousada: reunir pesquisadores para investigar a hipótese de que aspectos da aprendizagem e da inteligência poderiam ser descritos com precisão suficiente para serem simulados por uma máquina.

Repare na ambição. Não era “vamos fazer uma calculadora mais rápida”. Era:

“Vamos entender partes da inteligência de forma suficientemente clara para construí-las.”

Isso inclui aprendizado, linguagem, abstração, raciocínio, percepção, planejamento e senso comum. Sessenta e tantos anos depois, boa parte dessas palavras continua na pauta. Algumas avançaram absurdamente; outras continuam com aquele status clássico de projeto: “dependência externa aguardando definição”.

McCarthy apostava muito em IA simbólica: usar fatos, regras e relações explícitas para o computador raciocinar. Algo parecido com:

SE cliente possui limite
E valor solicitado é menor que limite
E não há bloqueio de fraude
ENTÃO aprovar operação.

Para um programador COBOL, isso soa familiar. Sistemas empresariais vivem de regras: alçadas, cálculos, validações, exceções, status, processos de aprovação e rastreabilidade.

A diferença é que a IA simbólica queria ir além de um conjunto fixo de IFs. Ela queria representar conhecimento sobre o mundo e tirar conclusões novas a partir dele.

O sonho era elegante. O mundo, porém, é cheio de exceções.

Você pode escrever uma regra simples:

Pássaros voam.

Mas pinguins não voam. Aves feridas podem não voar. Um pássaro dentro de uma gaiola pode saber voar e não estar voando. E se Igor colocar um frango congelado na mesa e perguntar se ele é um pássaro, o sistema precisa de mais café e menos certeza.

Esse tipo de problema — lidar com conhecimento incompleto, exceções e contexto — foi um dos grandes desafios da IA clássica. McCarthy trabalhou com raciocínio não monotônico, isto é, formas de raciocínio em que uma conclusão pode precisar ser revista quando surge uma informação nova.

Parece abstrato, mas você faz isso todo dia.

“A transação parece legítima.”
“Espere: o IP é novo, o valor é atípico e houve quinze tentativas de senha.”
“Atualize a conclusão.”

Em segurança, em auditoria e em operações, mudar de opinião diante de evidências novas não é fraqueza. É inteligência.



5. Lisp: a linguagem que ensinou a IA a mexer em ideias

Em 1958, McCarthy criou Lisp, abreviação de List Processing. A linguagem ganhou forma pública em seu famoso artigo de 1960 e se tornou uma das linguagens mais influentes da história da IA.

Lisp tratava listas e expressões simbólicas como elementos naturais do programa. Isso era muito poderoso para manipular estruturas de conhecimento, árvores, regras, fórmulas e linguagem.

Um exemplo muito simplificado de Lisp pode parecer assim:

(if (fraude-suspeita transacao)
    (bloquear transacao)
    (aprovar transacao))

Não é COBOL, claro. Mas a intenção deve lhe soar familiar: testar uma condição e tomar um caminho.

A diferença cultural é interessante. COBOL foi desenhado para tornar regras de negócio legíveis e duráveis. Lisp nasceu em um ambiente que queria representar símbolos, relações e transformações conceituais. Um é o funcionário experiente que conhece todas as contas do fechamento mensal; o outro é o professor maluco do laboratório que pergunta se uma expressão pode modificar outra expressão e se isso nos aproxima da mente.

Os dois têm lugar no mundo.

Aliás, Lisp não está morto. Ideias que ele popularizou — funções como valores, recursão, coleta automática de memória, manipulação de listas e metaprogramação — influenciaram muitas linguagens posteriores. A história da computação é cheia de “tecnologias antigas” que, na verdade, eram ideias adiantadas demais para o hardware e o mercado de sua época.

Mainframe também conhece essa piada. Quando alguém diz que COBOL é velho, o programador experiente responde:

“Velho é o sistema que ainda movimenta dinheiro, processa seguro, paga salário e não cai quando o hype troca de nome.”



6. A aposta de 2039: previsão, palpite ou bilhete para o Delorean?

Em uma entrevista de 1989, McCarthy falou sobre o tempo necessário para programas se tornarem tão inteligentes quanto seres humanos. Ele reconheceu que poderia levar duzentos ou quinhentos anos, dependendo dos avanços conceituais necessários. Mas disse que se inclinaria a apostar em algo como cinquenta anos — acrescentando, com humor seco, que era extremamente improvável que estivesse vivo para ver.

1989 + 50 nos leva aproximadamente a 2039.

McCarthy morreu em 2011. Ele acertou, de forma triste e literal, que não viveria para testemunhar a resposta. Mas é importante não transformar isso em profecia com data marcada no calendário.

2039 não é uma garantia de “AGI em produção”. Não haverá necessariamente um painel no Data Center dizendo:

AGI-2039 — STATUS: DISPONÍVEL
PRESS <ENTER> PARA ATIVAR CONSCIÊNCIA

A própria expressão “inteligência humana” é difícil de medir. Um sistema pode ser melhor que uma pessoa em xadrez, tradução, cálculo, reconhecimento de imagens e geração de código, mas falhar em tarefas banais que exigem contexto, bom senso, memória confiável ou compreensão física do mundo.

Foi isso que aconteceu no xadrez. Em 1968, o mestre internacional escocês David Levy apostou que nenhum computador o venceria em dez anos. Em 1978, o programa CHESS 4.7 perdeu por 2 a 1 — uma derrota humana, mas uma aproximação notável.

Décadas depois, computadores venceriam campeões mundiais. Isso não significou que eles haviam resolvido a inteligência geral. Significou que resolveram — brilhantemente — um domínio formal, com regras claras e objetivo definido.

A lição é ouro:

Ser excelente em uma tarefa não torna automaticamente um sistema inteligente em tudo.

Um modelo que escreve COBOL pode ajudar muito. Ainda assim, ele pode não conhecer as regras específicas do seu banco, não saber que um campo contém informação sensível, não entender uma convenção interna, não ter acesso ao contexto de produção e não perceber que aquela “melhoria” quebra um processo regulatório.

Por isso, IA corporativa madura precisa de humano no circuito, testes, limites de acesso, logs, aprovação e recuperação.

Igor, naturalmente, acha que basta dar UPDATE na tabela de pagamentos e perguntar para o robô “faz um PIX aí”. Não seja Igor.



7. LLMs, IA simbólica e o grande encontro no bar

A IA que domina a conversa atual é fortemente baseada em aprendizado de máquina: grandes modelos neurais treinados com enormes volumes de texto, código, imagens e outros dados. Eles aprendem padrões estatísticos e conseguem gerar respostas surpreendentemente úteis.

Esse caminho é diferente da visão mais simbólica de McCarthy. Em vez de alguém escrever explicitamente todas as regras, o modelo aprende regularidades a partir de exemplos.

Há vantagens enormes:

  • adaptação a linguagem natural;

  • capacidade de lidar com variedade de textos;

  • geração de rascunhos e código;

  • sumarização;

  • classificação;

  • tradução;

  • apoio ao atendimento;

  • descoberta de padrões.

Mas há riscos igualmente reais:

  • alucinação: inventar fatos ou referências;

  • vieses presentes nos dados;

  • falta de explicabilidade;

  • vazamento de informações;

  • prompt injection;

  • automação de decisões sem revisão;

  • confiança excessiva do usuário.

A tendência mais interessante não é escolher uma religião — “só redes neurais” ou “só regras simbólicas”. É combinar abordagens.

Um sistema empresarial pode usar um LLM para entender a solicitação em português, uma base de conhecimento validada para buscar políticas corretas, regras explícitas para decisões obrigatórias e um humano para aprovar ações de alto impacto.

Pense assim:

Pessoa faz pergunta
        ↓
LLM entende a linguagem
        ↓
RAG busca documentos autorizados
        ↓
Regras de negócio validam condições
        ↓
Humano aprova decisão sensível
        ↓
Log registra tudo

Isso está muito mais perto de uma arquitetura responsável do que soltar um modelo numa rede corporativa e torcer para ele ter juízo.

Máquinas não têm juízo moral por padrão. Elas têm permissões, dados, instruções, limitações e consequências.



8. Um roteiro para o programador COBOL entrar na conversa da IA sem virar passageiro do tempo

Você não precisa abandonar COBOL, virar cientista de dados em uma semana ou comprar uma camiseta escrito “AGI IS COMING” para participar desse futuro.

Comece de modo prático.

Passo 1 — Entenda o processo antes de automatizá-lo

Escolha uma rotina de negócio conhecida: validação de cadastro, classificação de chamados, triagem de documentos, explicação de mensagens de erro ou consulta de procedimento.

Pergunte:

  • qual é a entrada?

  • qual é a saída?

  • quais regras são obrigatórias?

  • quais exceções existem?

  • que dados são sensíveis?

  • quem é responsável pela decisão?

  • como registrar auditoria?

Se você não consegue explicar o processo, não está pronto para entregar o processo a uma IA.

Passo 2 — Separe linguagem de decisão

Um LLM pode ser ótimo para receber uma pergunta como:

“Por que meu pagamento foi bloqueado?”

Mas a decisão real de bloqueio deve continuar apoiada por regras, dados transacionais e controles.

A IA pode traduzir o tecnês. O motor de regras decide. O analista responde pelo caso. Essa separação evita que um texto bonito vire uma decisão perigosa.

Passo 3 — Use a IA como par de programação, não como piloto automático

Peça para ela:

  • explicar um programa COBOL;

  • sugerir casos de teste;

  • comentar uma PROCEDURE DIVISION;

  • gerar documentação inicial;

  • converter uma regra de negócio em pseudocódigo;

  • ajudar a encontrar campos usados em uma rotina;

  • produzir uma primeira versão de teste unitário.

Mas revise tudo. Principalmente nomes de campos, arquivos VSAM, commits, SQL, regras de arredondamento, formatos de data e operações financeiras.

A IA pode ser um ótimo estagiário que trabalha rápido. Você continua sendo o responsável pela mudança em produção.

Passo 4 — Segurança não é rodapé

Nunca envie código proprietário, dados de clientes, credenciais, dumps, arquivos de produção ou detalhes operacionais para ferramentas públicas sem autorização.

Pergunte sempre:

  • onde o dado será processado?

  • ele será retido?

  • quem pode acessá-lo?

  • há contrato e política corporativa?

  • o conteúdo pode virar treinamento?

  • existe mascaramento?

  • há trilhas de auditoria?

Turing trabalhou com segredo criptográfico. McCarthy pensava em representação de conhecimento. Em 2026, os dois provavelmente olhariam para um CSV de clientes colado num chatbot público e pediriam para desligar o Delorean.


Epílogo — A pergunta ainda está na fita

Alan Turing nos deu a linguagem conceitual para pensar máquinas que executam procedimentos gerais. Ele nos deixou uma pergunta que resiste a cada nova geração tecnológica: “máquinas podem pensar?”

John McCarthy pegou essa inquietação e deu a ela um nome, um campo de pesquisa, uma agenda e ferramentas para tentar respondê-la. Criou Lisp, ajudou a moldar a IA simbólica e, em 1989, arriscou um palpite que nos aponta para 2039 — não como destino garantido, mas como um marcador fascinante no mapa.

Hoje, temos sistemas capazes de conversar, programar, traduzir, enxergar, resumir e sugerir. Alguns parecem mágicos até o momento em que erram algo óbvio. Isso não diminui sua importância; apenas nos obriga a sair do hype e entrar na engenharia.

Talvez a pergunta não seja mais apenas “a máquina pensa?”.

Talvez seja:

“Ela entende? Ela pode agir? Ela pode errar? Quem confere? Quem responde pelo dano? E por que Igor recebeu acesso de administrador?”

O programador COBOL tem uma vantagem preciosa nesta era. Já conhece sistemas longos, críticos, regulados, cheios de exceções e onde um pequeno erro pode fazer uma conta muito grande deixar de fechar. Esse olhar vale ouro quando a IA sai do laboratório e entra no banco, no governo, na saúde, na segurança e no mainframe.

No fim, Turing construiu a estrada. McCarthy colocou a placa: Inteligência Artificial. E nós, passageiros do Delorean de 2026, estamos dirigindo rumo a 2039 com uma mão no volante, outra no manual de segurança e o professor Brown gritando do banco de trás:

“Para onde vamos, não precisamos de estradas… mas vamos precisar de logs, testes, backup e um plano de rollback!”



 

quarta-feira, 4 de outubro de 2023

🌳 ALAN TURING E O IMS DOS AGENTES — QUANDO O MUNDO VIROU UMA ÁRVORE

 

Bellacosa Mainframe e os grafos do conhecimento

☕ UM CAFÉ NO BELLACOSA MAINFRAME

🌳 ALAN TURING E O IMS DOS AGENTES — QUANDO O MUNDO VIROU UMA ÁRVORE

IMS, agentes de IA, bancos hierárquicos, segmentos, root, parent, child, twins, PCB, PSB, DBD, DL/I, SSA, GU, GN, GNP, ISRT, REPL, DLET, COBOL, contexto, navegação, memória, estado, relacionamentos — e o dia em que Alan Turing descobriu que encontrar um filho pode ser fácil, desde que você saiba quem é o pai.



🎬 PRÓLOGO — ONDE ESTÁ O PEDIDO 8472?

O pequeno agente já estava ficando convencido.

Depois de sobreviver a RACF, SDSF, WLM, JES2, CICS, Db2 e MQ, começava a acreditar que finalmente compreendia sistemas corporativos.

Entrou no CPD com aquela confiança típica de quem acabou de descobrir SQL.

Alan Turing estava tomando café.

— Professor, pode mandar qualquer banco de dados.

Turing levantou uma sobrancelha.

— Qualquer um?

— Qualquer um.

— Encontre o item 0003 do pedido 8472 do cliente 12345.

O agente sorriu.

— Fácil.

Digitou:

SELECT *
FROM ORDER_ITEM
WHERE CUSTOMER_ID = 12345
  AND ORDER_ID    = 8472
  AND ITEM_ID     = 3;

Silêncio.

Nada aconteceu.

— Professor?

— Não estamos no Db2.

— Então qual é a tabela?

— Não existe tabela.

O robô piscou.

— Como assim não existe tabela?

Turing desenhou no quadro:

CUSTOMER
│
├── ORDER 8471
│   ├── ITEM 001
│   └── ITEM 002
│
├── ORDER 8472
│   ├── ITEM 001
│   ├── ITEM 002
│   └── ITEM 003
│
└── ORDER 8473
    └── ITEM 001

O agente ficou alguns segundos olhando.

— Isso é uma árvore.

— Exatamente.

— Então eu preciso procurar o item?

— Sim.

— Pelo número?

— Também.

— Mas preciso chegar primeiro ao pedido?

— Sim.

— E para chegar ao pedido...

Turing aponta para o topo.

CUSTOMER 12345

O robô olha para ele.

Depois para a árvore.

Depois novamente para ele.

— Preciso saber quem é o pai.

Turing sorri.

— Bem-vindo ao IMS.



🌳 CAPÍTULO 1 — NEM TODO BANCO DE DADOS É UMA TABELA

Para quem começou estudando bancos relacionais, banco de dados parece quase sinônimo de:

TABLE
ROW
COLUMN

Você aprende:

SELECT
INSERT
UPDATE
DELETE
JOIN

e naturalmente começa a imaginar o mundo inteiro dessa maneira.

Cliente:

CUSTOMER

Pedido:

ORDER

Item:

ORDER_ITEM

Em um modelo relacional poderíamos representar:

CUSTOMER
--------
CUSTOMER_ID
NAME

ORDER
-----
ORDER_ID
CUSTOMER_ID
DATE

ORDER_ITEM
----------
ORDER_ID
ITEM_ID
PRODUCT_ID
QUANTITY

Depois relacionamos tudo por chaves.

Mas bancos hierárquicos partem de outra ideia.

Em vez de imaginar conjuntos de tabelas relacionadas, imagine:

UMA ÁRVORE.

CUSTOMER
│
├── ORDER
│   │
│   ├── ITEM
│   ├── ITEM
│   └── ITEM
│
└── ORDER
    │
    ├── ITEM
    └── ITEM

A posição de uma informação na hierarquia importa.

Não estamos apenas perguntando:

Qual registro possui ITEM-ID 003?

Podemos estar perguntando:

Qual ITEM 003 pertencente ao ORDER 8472 pertencente ao CUSTOMER 12345?

Isso muda profundamente a maneira de navegar pelos dados.



🦖 CAPÍTULO 2 — MAS O QUE DIABOS É IMS?

IMS significa:

Information Management System.

É uma família histórica e importantíssima de tecnologias IBM para mainframe.

Dentro do universo IMS, dois grandes mundos aparecem:

IMS DB

e:

IMS TM

De forma introdutória:

IMS DB

Gerenciamento de bancos de dados, tradicionalmente associado ao modelo hierárquico.

IMS TM

Transaction Manager, responsável pelo processamento transacional de aplicações e mensagens.

Ou seja, IMS não é simplesmente:

“um banco de dados velho”.

Ele faz parte de uma infraestrutura transacional de enorme importância no universo corporativo.

Bancos, seguradoras, telecomunicações, governo, companhias aéreas e grandes organizações construíram sistemas críticos sobre tecnologias desse ecossistema.

Para nosso programador COBOL iniciante, porém, vamos começar pelo monstro mais visível:

A HIERARQUIA.



🌲 CAPÍTULO 3 — ROOT, PARENT E CHILD

Toda árvore precisa começar em algum lugar.

No topo encontramos o:

ROOT SEGMENT.

Imagine:

CUSTOMER

como root.

Abaixo dele:

ORDER.

CUSTOMER é:

PARENT

de ORDER.

ORDER é:

CHILD

de CUSTOMER.

Agora colocamos:

ITEM

abaixo de ORDER.

Temos:

CUSTOMER
   │
   └── ORDER
          │
          └── ITEM

Nesse relacionamento:

ORDER

é pai de:

ITEM.

E ao mesmo tempo filho de:

CUSTOMER.

Exatamente como uma árvore genealógica.

Alan Turing escreve:

LUIGI
│
└── MARIO
    │
    └── PEACH

O programador protesta:

— Professor, isso está genealogicamente errado.

Turing apaga.

— Estava verificando se você ainda estava prestando atenção.

🥚 Easter egg detectado.



👯 CAPÍTULO 4 — E OS TWINS?

Imagine:

CUSTOMER 12345
│
├── ORDER 8471
├── ORDER 8472
└── ORDER 8473

Os três ORDERs possuem o mesmo pai.

Em terminologia IMS, ocorrências do mesmo tipo de segmento sob o mesmo parent podem ser chamadas de:

TWINS.

Não significa que os dados sejam idênticos.

Significa que ocupam posições equivalentes dentro daquela relação hierárquica.

O mesmo acontece:

ORDER 8472
│
├── ITEM 001
├── ITEM 002
└── ITEM 003

Esses ITEMs são ocorrências irmãs daquele tipo sob o mesmo ORDER.

Isso será importante quando começarmos a navegar.


🧭 CAPÍTULO 5 — NO SQL VOCÊ DESCREVE O QUE QUER

No Db2 podemos escrever:

SELECT NAME
FROM CUSTOMER
WHERE CUSTOMER_ID = 12345;

Em linguagem declarativa, estamos basicamente dizendo:

Quero isto.

O banco determina um caminho de acesso adequado com base em vários fatores.

No universo clássico do IMS e DL/I, a navegação é muito mais explícita.

Nosso programa precisa compreender:

onde está
de onde veio
qual segmento procura
qual relacionamento está seguindo
qual posição de navegação possui

Por isso o programador IMS desenvolve uma espécie de mapa mental da árvore.

Ele não pensa apenas:

Quero ITEM 003.

Pensa:

CUSTOMER 12345
      ↓
ORDER 8472
      ↓
ITEM 003

O caminho faz parte do problema.


🗺️ CAPÍTULO 6 — O DBD É O MAPA DO REINO

Precisamos descrever o banco.

Entra o:

DBD — Database Description.

Conceitualmente, o DBD descreve características estruturais do banco IMS.

Para nosso iniciante, pense nele como parte do mapa técnico que diz:

qual banco existe
quais segmentos existem
como estão relacionados
quais campos/chaves são relevantes
como a estrutura está organizada

Uma representação didática:

DBD CUSTOMERDB

CUSTOMER
   │
   ├── ORDER
   │      │
   │      └── ITEM
   │
   └── ADDRESS

O DBD ajuda a definir a estrutura do mundo.

Mas surge outra pergunta:

O programa precisa enxergar tudo?

Nem sempre.


🪪 CAPÍTULO 7 — PSB: O QUE ESTA APLICAÇÃO PODE ENXERGAR?

Entra outro acrônimo clássico:

PSB — Program Specification Block.

Didaticamente, podemos pensar no PSB como a descrição da visão e dos recursos de banco/mensagem necessários para determinada aplicação.

Alan Turing desenha:

BANCO COMPLETO
────────────────

CUSTOMER
├── ORDER
│   └── ITEM
├── ADDRESS
├── CREDIT
└── HISTORY

Mas nosso programa talvez precise apenas de:

CUSTOMER
└── ORDER
    └── ITEM

O agente pergunta:

— Então o programa não precisa necessariamente receber o mapa inteiro do universo?

— Excelente.

Essa ideia nos levará diretamente aos agentes de IA.

Mas ainda falta uma peça.


📋 CAPÍTULO 8 — PCB: A JANELA OPERACIONAL

Dentro desse modelo aparece o:

PCB — Program Communication Block.

Para uma introdução, pense nele como uma estrutura pela qual a aplicação interage com determinados recursos IMS e recebe informações de status relacionadas às operações.

Em programas COBOL IMS tradicionais, o PCB é importantíssimo na comunicação com DL/I.

Depois de uma operação, você não deveria simplesmente pensar:

Fiz a chamada, portanto funcionou.

Você verifica o:

STATUS CODE.

Mainframeiro experiente já começou a sorrir.

Porque acabamos de reencontrar uma velha filosofia:

NÃO CONFIE. VERIFIQUE O RETORNO.

Nosso MAXCC dos Agentes está batendo na porta novamente.


☎️ CAPÍTULO 9 — DL/I: A CONVERSA COM O IMS

Um nome fundamental:

DL/I — Data Language/I.

Aplicações podem utilizar chamadas DL/I para acessar dados IMS.

Em vez de:

SELECT ...

vamos encontrar operações clássicas como:

GU
GN
GNP
ISRT
REPL
DLET

O iniciante olha para a lista.

— Parece ISPF depois de alguém derrubar café no teclado.

Calma.

Vamos traduzir.


🎯 CAPÍTULO 10 — GU: GET UNIQUE

GU significa:

Get Unique.

Queremos recuperar uma ocorrência específica.

Conceitualmente:

GU CUSTOMER 12345

Pense:

Localize este segmento específico.

Podemos imaginar nosso agente procurando:

CUSTOMER-ID = 12345.

Em COBOL, de maneira puramente didática e simplificada:

CALL 'CBLTDLI' USING
     GU-FUNCTION
     CUSTOMER-PCB
     CUSTOMER-IO-AREA
     CUSTOMER-SSA.

Não memorize essa linha como receita universal.

O objetivo aqui é perceber a estrutura mental:

FUNÇÃO
PCB
ÁREA DE DADOS
CRITÉRIO DE SELEÇÃO

Agora apareceu outro acrônimo.

Claro que apareceu.

Estamos no mainframe.

☕


🔍 CAPÍTULO 11 — SSA: DIGA QUAL SEGMENTO VOCÊ QUER

SSA significa:

Segment Search Argument.

É uma forma de indicar segmentos e, quando qualificada, critérios usados na busca.

Conceitualmente:

CUSTOMER
WHERE CUSTOMER-ID = 12345

Podemos imaginar:

CUSTOMER SSA

e depois:

ORDER SSA

e:

ITEM SSA.

Queremos:

CUSTOMER 12345
      ↓
ORDER 8472
      ↓
ITEM 003

Podemos fornecer um caminho hierárquico que ajude a localizar exatamente a ocorrência desejada.

A grande sacada é:

CONTEXTO E CAMINHO IMPORTAM.


➡️ CAPÍTULO 12 — GN: GET NEXT

Agora queremos navegar.

Usamos conceitualmente:

GN — Get Next.

Imagine:

CUSTOMER 12345
│
├── ORDER 8471
├── ORDER 8472
└── ORDER 8473

Depois de posicionados em determinado ponto, podemos solicitar a próxima ocorrência dentro da navegação aplicável.

É como caminhar pela árvore.

GET
NEXT
NEXT
NEXT

Isso parece simples.

Mas existe uma diferença filosófica gigantesca em relação a simplesmente perguntar ao banco:

SELECT *
FROM ORDER;

Estamos mantendo:

POSIÇÃO.

Nosso programa possui contexto de navegação.

Guarde essa palavra:

POSITION.

Ela será importantíssima para agentes.


👨‍👧 CAPÍTULO 13 — GNP: GET NEXT WITHIN PARENT

Agora a coisa fica deliciosa.

Temos:

CUSTOMER
│
├── ORDER A
│   ├── ITEM 1
│   └── ITEM 2
│
└── ORDER B
    ├── ITEM 1
    └── ITEM 2

Estamos dentro de:

ORDER A.

Queremos continuar procurando filhos daquele pai.

Entra conceitualmente:

GNP — Get Next within Parent.

Ou seja:

Continue dentro deste contexto parental.

Isso é muito importante.

Porque:

ITEM 1

sozinho não conta toda a história.

Precisamos saber:

ITEM 1
OF ORDER A.

O pai define contexto.


🧠 CAPÍTULO 14 — ALAN TURING ENCONTRA O PRIMEIRO PARALELO COM AGENTES

Turing escreve:

ITEM 003

Pergunta:

— O que é isto?

O agente responde:

— Item três.

— De qual pedido?

Silêncio.

Turing acrescenta:

ORDER 8472
   └── ITEM 003

— Agora?

— Item três do pedido 8472.

Turing acrescenta:

CUSTOMER 12345
   └── ORDER 8472
       └── ITEM 003

— Agora?

O agente responde:

— Item três do pedido 8472 do cliente 12345.

Turing sorri.

O MESMO NÓ GANHA SIGNIFICADO PELO CAMINHO QUE NOS LEVOU ATÉ ELE.

E aqui IMS encontra inteligência artificial.


🤖 CAPÍTULO 15 — AGENTES TAMBÉM PRECISAM DE CONTEXTO HIERÁRQUICO

Imagine uma conversa:

CLIENTE
└── VIAGEM
    └── HOTEL
        └── RESERVA

O usuário diz:

Cancele.

Cancele o quê?

Sem contexto:

CANCEL

é perigoso.

Com contexto:

CLIENTE
└── VIAGEM PARA EDIMBURGO
    └── HOTEL
        └── RESERVA 8821
            └── CANCELAR

Agora temos significado.

Um agente não deveria possuir apenas uma enorme sopa de tokens.

Pode ser extremamente útil modelar contexto como estruturas explícitas:

USER
│
├── PROJECT
│   ├── TASK
│   │   ├── DOCUMENT
│   │   └── DECISION
│   └── TASK
│
└── TRAVEL
    ├── FLIGHT
    └── HOTEL

Não estou dizendo que um LLM “é um IMS”.

Não é.

A analogia está na arquitetura do contexto:

informação organizada por relações pode ser mais útil do que informação simplesmente acumulada.


🧩 CAPÍTULO 16 — CONTEXTO NÃO É APENAS MEMÓRIA

Existe uma tentação perigosa em agentes:

Vamos colocar tudo no prompt.

Então aparece:

200 páginas
3.000 mensagens
48 documentos
17 APIs
histórico inteiro do cliente
logs
políticas
manuais

e alguém chama isso de:

CONTEXT.

Não.

Isso pode ser apenas:

UM DEPÓSITO.

O IMS nos oferece uma provocação arquitetural interessante.

Talvez devamos perguntar:

qual é o root?
qual é o parent?
qual é o child?
qual caminho importa?
qual subárvore precisamos?

Em vez de entregar o universo inteiro ao agente, entregamos a parte relevante da árvore.


✂️ CAPÍTULO 17 — CONTEXT PRUNING ENCONTRA A ÁRVORE

Imagine:

CUSTOMER
├── ACCOUNT
│   ├── BALANCE
│   └── TRANSACTIONS
├── INSURANCE
├── MORTGAGE
├── MARKETING
└── SUPPORT

O agente está respondendo:

Qual meu saldo?

Talvez precise:

CUSTOMER
└── ACCOUNT
    └── BALANCE

Não precisa necessariamente carregar:

MARKETING
MORTGAGE
SUPPORT HISTORY

inteiros.

Podemos podar a árvore de contexto.

FULL CONTEXT
      ↓
RELEVANT SUBTREE
      ↓
AGENT

Isso pode reduzir:

tokens
latência
custo
ruído
risco de confusão
exposição desnecessária

Olha o RACF sorrindo novamente.

Menos contexto também pode significar:

MENOR SUPERFÍCIE DE EXPOSIÇÃO.


🔐 CAPÍTULO 18 — PSB ENCONTRA LEAST PRIVILEGE

Lembra do PSB?

Uma aplicação recebe a visão e os recursos necessários para seu trabalho.

Agora imagine um agente.

Agente de cobrança:

CUSTOMER
├── ACCOUNT
├── DEBT
└── PAYMENT

Agente de marketing:

CUSTOMER
├── PROFILE
└── CAMPAIGN

Por que o agente de marketing deveria receber:

ACCOUNT PASSWORD
PAYMENT CREDENTIALS
INTERNAL FRAUD NOTES

se não precisa?

Nossa analogia conceitual:

PSB
↓
APPLICATION VIEW

torna-se:

AGENT CONTEXT POLICY
↓
MINIMUM NECESSARY VIEW.

RACF responde do corredor:

— FINALMENTE VOCÊS ESTÃO APRENDENDO!

😂


🧬 CAPÍTULO 19 — O PROBLEMA DO FILHO SEM PAI

Imagine um RAG retornando:

STATUS = ACTIVE

Excelente.

Ativo o quê?

Cliente?

Contrato?

Cartão?

Conta?

Apólice?

Promoção?

Um fragmento semanticamente semelhante pode ser inútil sem seus ancestrais contextuais.

Em uma representação hierárquica:

CUSTOMER 12345
└── CREDIT_CARD 8821
    └── STATUS ACTIVE

temos muito mais significado.

Portanto uma estratégia de recuperação pode considerar não apenas:

CHUNK

mas também:

ANCESTORS
PATH
ENTITY
RELATIONSHIP
VERSION
TIMESTAMP
SOURCE.

Nosso Db2 dos Agentes volta:

De quando é?

O IMS acrescenta:

Filho de quem?


🧭 CAPÍTULO 20 — O CAMINHO TAMBÉM É PROVENIÊNCIA

Imagine que o agente responde:

O limite é R$ 5.000.

Perguntamos:

— De onde veio?

Resposta ruim:

DOCUMENT 883.

Resposta melhor:

CUSTOMER 12345
└── ACCOUNT 9981
    └── CREDIT_POLICY
        └── LIMIT
            VALUE = 5000

Agora podemos registrar:

SOURCE
PATH
VERSION
READ_AT
VALID_AT.

Isso mistura duas lições anteriores.

Do Db2:

WHEN?

Do IMS:

WHERE IN THE HIERARCHY?

Nosso agente começa a enxergar realidade não apenas como valores, mas como:

VALORES DENTRO DE CAMINHOS, VERSÕES E TEMPO.


✍️ CAPÍTULO 21 — ISRT: INSERINDO UM NOVO FILHO

Agora precisamos modificar a árvore.

Uma função clássica:

ISRT — Insert.

Imagine:

CUSTOMER 12345
└── ORDER 8472

Queremos adicionar:

ITEM 004.

Conceitualmente:

CUSTOMER 12345
└── ORDER 8472
    ├── ITEM 001
    ├── ITEM 002
    ├── ITEM 003
    └── ITEM 004  ← NOVO

Mas observe algo importante.

Para inserir corretamente o filho, precisamos identificar o contexto parental apropriado.

Não queremos colocar ITEM 004 acidentalmente sob:

ORDER 8473.

Mais uma vez:

CONTEXTO É PARTE DA OPERAÇÃO.


🔄 CAPÍTULO 22 — REPL: ALTERANDO SEM PERDER O CONTEXTO

Outra operação clássica:

REPL — Replace.

Recuperamos determinado segmento e queremos alterar seu conteúdo dentro das regras aplicáveis.

Conceitualmente:

GET SEGMENT
↓
MODIFY IO AREA
↓
REPLACE

Para agentes isso lembra nossa discussão de optimistic concurrency e revalidation.

Antes de alterar qualquer coisa crítica, pergunte:

é o mesmo objeto?
é o mesmo pai?
é a mesma versão?
o contexto continua válido?
tenho autoridade?

IMS sozinho não transforma automaticamente qualquer workflow de IA em optimistic concurrency.

Mas a disciplina de identificar precisamente o objeto e seu contexto continua valiosíssima.


🗑️ CAPÍTULO 23 — DLET: APAGAR EM UMA ÁRVORE É COISA SÉRIA

Agora:

DLET — Delete.

O agente diz:

— Fácil. Apaga o segmento.

Turing pergunta:

— Qual?

— Este.

— Qual pai?

— Ah.

— Quais dependências?

— Hmmm.

— Quais regras?

— Professor...

— Quais consequências?

O agente desliga o botão DELETE.

Excelente decisão.

Em estruturas hierárquicas, relacionamentos são parte fundamental do significado.

Em agentes, vale a mesma cautela:

DELETE CHILD

pode afetar:

PARENT STATE
SIBLINGS
BUSINESS RULES
AUDIT
DOWNSTREAM EVENTS.

Não deixe um LLM transformar:

Acho que este nó não é mais necessário.

em:

DLET.

sem controles adequados.

PF3, RACF e human-in-the-loop entram na sala simultaneamente.


🚦 CAPÍTULO 24 — STATUS CODE: A RESPOSTA DO IMS IMPORTA

Nosso programa faz uma chamada.

Depois precisa olhar o resultado.

Isso é básico e fundamental.

Não basta:

CALL DL/I

e continuar como se o universo tivesse obedecido.

Precisamos verificar o retorno no contexto da interface e operação usada.

Conceitualmente:

IF STATUS-OK
    CONTINUE
ELSE
    PERFORM HANDLE-IMS-ERROR
END-IF.

Para agentes:

TOOL CALLED

não significa:

TOOL SUCCEEDED.

E:

HTTP 200

nem sempre significa:

BUSINESS SUCCESS.

Lembra do MAXCC?

Ele ainda está conosco.


🧠 CAPÍTULO 25 — POSITION É ESTADO

Imagine que estamos navegando:

CUSTOMER 12345
│
└── ORDER 8472
    │
    ├── ITEM 001
    ├── ITEM 002  ← VOCÊ ESTÁ AQUI
    └── ITEM 003

Essa posição possui significado.

O próximo movimento depende de onde estamos.

Agentes também possuem estado operacional.

RUN-ID
AGENT-ID
CURRENT-TASK
CURRENT-ENTITY
CURRENT-PARENT
CURRENT-NODE
LAST-ACTION
NEXT-ACTION.

Se o agente reiniciar e perder isso, talvez não saiba onde estava.

Então entra nossa velha amiga:

CHECKPOINT.


💾 CAPÍTULO 26 — CHECKPOINT: MARQUE ONDE VOCÊ ESTAVA

Do JES2 dos Agentes aprendemos que trabalhos longos precisam conseguir sobreviver a falhas.

Agora imagine uma árvore com milhões de ocorrências.

O agente percorreu:

CUSTOMER 000001
...
CUSTOMER 472881

Cai.

Reinicia.

Sem checkpoint:

CUSTOMER 000001.

O operador começa a chorar.

😂

Com estado persistido:

RUN-ID......... R8821
LAST-ENTITY.... CUSTOMER
LAST-KEY....... 472881
STATUS......... CHECKPOINTED

podemos projetar uma retomada controlada.

Mas cuidado:

a realidade pode ter mudado durante a interrupção.

Então:

RESTART

precisa conversar com:

REVALIDATION.

Db2 dos Agentes reaparece.


🔀 CAPÍTULO 27 — UMA ÁRVORE NÃO RESOLVE TODO RELACIONAMENTO

Aqui precisamos evitar uma simplificação.

O mundo real não é sempre uma árvore perfeita.

Uma pessoa pode ter:

múltiplas contas
múltiplos contratos
múltiplos endereços
relações compartilhadas

Um produto pode pertencer a inúmeras estruturas lógicas.

Modelos hierárquicos precisam de mecanismos e estratégias para representar relacionamentos mais complexos.

O ponto não é dizer:

Árvore é superior a tabela.

Nem:

Tabela é superior a árvore.

São modelos diferentes, com características diferentes.

A pergunta correta é:

Qual modelo representa e atende melhor este problema e esta arquitetura?


🕸️ CAPÍTULO 28 — ÁRVORE NÃO É GRAFO

Outra distinção importante.

Árvore:

A
├── B
│   ├── D
│   └── E
└── C

Existe uma hierarquia clara.

Grafos permitem relacionamentos muito mais gerais:

A ── B
│ \  │
C ── D
 \  /
  E

Agentes modernos podem trabalhar com:

relational databases
hierarchical stores
documents
vectors
knowledge graphs
queues
files
APIs

Não transforme toda arquitetura de IA numa árvore só porque acabamos de conhecer IMS.

Turing provavelmente jogaria o apagador em você.


📚 CAPÍTULO 29 — MEMÓRIA DO AGENTE NÃO PRECISA SER UMA SACOLA

Imagine uma memória:

MEMORY
├── PERSON
│   ├── PREFERENCES
│   ├── CONTACTS
│   └── HISTORY
├── PROJECTS
│   ├── PROJECT-A
│   │   ├── DECISIONS
│   │   ├── DOCUMENTS
│   │   └── TASKS
│   └── PROJECT-B
└── CONVERSATIONS

Agora compare com:

VECTOR DATABASE
████████████████████████████

cheio de chunks sem estrutura explícita suficiente.

Vector search é extremamente útil.

Mas similaridade semântica responde principalmente:

O que parece relacionado?

Ela não responde automaticamente:

Qual é o pai lógico deste fato?

A qual projeto pertence?

Qual entidade governa este dado?

Qual contexto deveria acompanhá-lo?

Por isso arquiteturas sofisticadas podem combinar:

SEMANTIC SEARCH
+
STRUCTURED METADATA
+
HIERARCHY
+
RELATIONSHIPS
+
TEMPORALITY
+
AUTHORIZATION.

Agora estamos construindo memória de verdade.


🔎 CAPÍTULO 30 — RAG HIERÁRQUICO

Imagine um manual:

IBM MANUAL
└── CHAPTER 8
    └── SECURITY
        └── RACF AUTHORIZATION
            └── PARAGRAPH 14

O vector search encontra apenas:

PARAGRAPH 14.

Talvez falte contexto.

Uma estratégia possível:

retrieve leaf
↓
identify parent
↓
retrieve necessary ancestors
↓
construct contextual package
↓
send to agent.

Assim o agente recebe:

DOCUMENT
CHAPTER
SECTION
PARAGRAPH
VERSION
DATE
SOURCE.

Não apenas:

chunk_008821.txt.

Isso é uma lição extremamente IMS:

O CAMINHO ATÉ O DADO PODE FAZER PARTE DO SIGNIFICADO DO DADO.


📨 CAPÍTULO 31 — IMS ENCONTRA MQ

Nosso agente recebe pelo MQ:

CUSTOMER_UPDATED

Mensagem:

CUSTOMER-ID = 12345
ORDER-ID    = 8472
ITEM-ID     = 0003

MQ responde:

Algo aconteceu.

IMS responde:

Eis onde isso vive na hierarquia.

Db2 poderia responder:

Eis o estado relacional atual.

RACF:

Você pode acessar?

WLM:

Você tem recursos?

CICS:

O usuário ainda está esperando!

SDSF:

Eu estou vendo tudo.

JES2:

Se não for urgente, entra na fila.

PF3:

Quer parar essa loucura?

😂

Finalmente nossa arquitetura começa a parecer um verdadeiro CPD dos agentes.


🏛️ CAPÍTULO 32 — IMS TM E OS AGENTES TRANSACIONAIS

Até aqui focamos fortemente na visão de dados hierárquicos.

Mas IMS também possui seu universo transacional.

IMS TM permite construir aplicações orientadas a processamento de transações e mensagens em ambiente mainframe.

Conceitualmente:

INPUT MESSAGE
      ↓
IMS TM
      ↓
APPLICATION
      ↓
DATABASE / SERVICES
      ↓
OUTPUT MESSAGE

Isso deveria soar familiar depois do MQ dos Agentes.

Nosso agente pode participar de arquiteturas nas quais:

mensagem chega
↓
transação é executada
↓
dados são consultados/alterados
↓
resposta é produzida.

Mainframe já fazia processamento transacional em escala muito antes de alguém inventar a palavra:

AI AGENT.

🤖 CAPÍTULO 33 — O IMS DOS AGENTES

Vamos finalmente definir nossa metáfora.

O:

IMS DOS AGENTES

não significa transformar IMS literalmente em memória universal de LLM.

Significa aprender algumas disciplinas arquiteturais:

1. Dados possuem estrutura.

2. Relacionamentos possuem significado.

3. Filhos existem dentro de contexto parental.

4. O caminho até um dado pode importar.

5. Nem todo consumidor precisa enxergar a árvore inteira.

6. Navegação possui estado.

7. Operações precisam verificar retorno.

8. Contexto pode ser selecionado e podado.

9. Reinício exige checkpoint e revalidação.

10. Estrutura sem semântica continua insuficiente.

Essa última vem diretamente do nosso Copybook dos Agentes.


🏗️ CAPÍTULO 34 — ARQUITETURA CONCEITUAL

Turing desenha:

                    HUMAN
                      │
                      ▼
                    CICS
                      │
                      ▼
                   AGENT-A
                      │
          ┌───────────┼───────────┐
          │           │           │
          ▼           ▼           ▼
         MQ          Db2         IMS
          │           │           │
       EVENTS      CURRENT     HIERARCHY
                    STATE       / PATH
          │           │           │
          └───────────┼───────────┘
                      ▼
                  DECISION
                      │
                      ▼
                    ACTION

Em volta:

RACF
AUTHORITY
WLM
RESOURCES
SDSF
OBSERVABILITY
JES2
ASYNC WORK
PF3
HUMAN CONTROL

Nosso agente agora sabe perguntar:

WHO?
WHEN?
WHERE?
WHICH PARENT?
WHICH VERSION?
WHICH MESSAGE?
WHICH AUTHORITY?

Isso está ficando muito mais interessante que:

PROMPT → LLM → RESPOSTA.

🥚 EASTER EGG — O FILHO PERDIDO

02:43.

Produção liga.

— Temos um ITEM órfão.

O programador pergunta:

— Como assim órfão?

— Ele existe.

— Então qual é o problema?

— Ninguém sabe de qual ORDER ele é.

Silêncio.

Alan Turing entra no CPD.

ITEM-ID = 0007
VALUE   = 850.00

Turing pergunta:

— Qual parent?

— Não sabemos.

— CUSTOMER?

— Também não sabemos.

O agente sugere:

— Posso usar inteligência artificial para inferir.

Turing vira lentamente.

— Você quer movimentar R$ 850 baseado em genealogia probabilística?

O agente recua.

— Talvez não.

Do fundo da sala o DBA grita:

— FINALMENTE UMA IA APRENDEU ALGUMA COISA!

😂

Turing escreve no quadro:

CHILD WITHOUT CONTEXT
=
DATA WITHOUT MEANING

E embaixo:

DO NOT GUESS THE PARENT IN PRODUCTION.

🧰 CAPÍTULO 35 — CHECKLIST DO IMS DOS AGENTES

Antes de deixar um agente navegar estruturas hierárquicas, pergunte:

Estrutura

Qual é o root?
Quais são os parents?
Quais são os children?
Existem twins?

Navegação

Qual é o caminho?
Qual é a posição atual?
A operação depende do parent atual?

Identidade

Qual entidade estou acessando?
Qual é a chave?
O mesmo identificador pode existir em contextos diferentes?

Temporalidade

Quando esse dado foi lido?
Ainda é válido?
Precisa revalidar?

Segurança

O agente precisa enxergar esta subárvore?
Tem autorização?
Estamos aplicando least privilege?

Recuperação

Existe checkpoint?
Sabemos retomar?
A retomada é idempotente?

Observabilidade

RUN-ID?
CURRENT PATH?
LAST SEGMENT?
STATUS?
ELAPSED TIME?

Agora conseguimos operar o agente.


🧠 CAPÍTULO 36 — O PAINEL SDSF DO IMS DOS AGENTES

Imagine:

RUN-ID....... AGT004821
AGENT........ CUSTOMER-ANALYZER

DATABASE..... CUSTOMERDB

ROOT......... CUSTOMER
ROOT-KEY..... 12345

CURRENT-PATH:
CUSTOMER/12345
  /ORDER/8472
  /ITEM/0003

OPERATION.... READ
STATUS....... OK

READ-AT...... 10:00:01
VERSION...... 882

ELAPSED...... 42ms

Agora o operador não vê apenas:

PROCESSING...

Ele sabe:

Onde o agente está na árvore?

Se travar:

CURRENT-PATH

pode ser extremamente útil para diagnóstico.

Observabilidade também precisa de contexto.


🧙 CAPÍTULO 37 — O PROGRAMADOR COBOL DESCOBRE QUE JÁ SABIA METADE DISSO

Nosso iniciante olha para tudo:

DBD
PSB
PCB
DL/I
SSA
GU
GN
GNP
ISRT
REPL
DLET

e pensa:

Nunca vou aprender isso.

Calma.

Você já conhece ideias fundamentais.

Você sabe:

estrutura de dados

por causa de copybooks.

Você sabe:

status

por causa de RETURN-CODEs e interfaces.

Você sabe:

hierarquia

porque programas COBOL vivem cheios de níveis:

01 CUSTOMER.
   05 CUSTOMER-ID.
   05 CUSTOMER-NAME.
   05 ADDRESS.
      10 STREET.
      10 CITY.
      10 ZIP-CODE.

Olha só.

Até seu:

01
05
10

já treinou seu cérebro para pensar hierarquicamente.

Não é a mesma coisa que uma estrutura IMS.

Mas cognitivamente você não está começando do zero.


📜 CAPÍTULO 38 — COPYBOOK E IMS SE ENCONTRAM

Imagine o segmento CUSTOMER chegando a uma área COBOL:

01 CUSTOMER-SEGMENT.
   05 CUST-ID          PIC 9(09).
   05 CUST-NAME        PIC X(40).
   05 CUST-STATUS      PIC X.

ORDER:

01 ORDER-SEGMENT.
   05 ORDER-ID         PIC 9(09).
   05 ORDER-DATE       PIC 9(08).
   05 ORDER-STATUS     PIC X.

ITEM:

01 ITEM-SEGMENT.
   05 ITEM-ID          PIC 9(05).
   05 PRODUCT-ID       PIC X(12).
   05 QUANTITY         PIC 9(05).
   05 VALUE            PIC S9(09)V99 COMP-3.

Essas estruturas dizem:

Como os bytes são representados.

IMS acrescenta:

Como esses segmentos se relacionam na estrutura do banco.

E as regras de negócio dizem:

O que tudo isso significa.

Finalmente temos três camadas:

REPRESENTATION
      ↓
STRUCTURE
      ↓
SEMANTICS.

Nosso artigo sobre copybooks estava preparando essa emboscada desde o começo.


⚠️ CAPÍTULO 39 — NÃO CONFUNDA HIERARQUIA COM VERDADE

Um erro importante seria imaginar:

Se está organizado hierarquicamente, então está correto.

Não.

Uma árvore pode conter:

dados antigos
dados incorretos
relações inválidas
contexto incompleto

Logo continuam valendo nossas regras anteriores:

PROVENANCE
TIMESTAMP
VERSION
VALIDATION
AUTHORIZATION
REVALIDATION.

IMS resolve problemas de organização e acesso dentro de seu modelo.

Não elimina a necessidade de governança.

Nenhuma tecnologia elimina.


🧠 CAPÍTULO 40 — O GRANDE ENSINAMENTO PARA IA

Hoje falamos muito sobre:

context windows
RAG
vector databases
knowledge graphs
agent memory
long-term memory
tool context
conversation state

IMS nos oferece uma ideia antiga que continua extremamente moderna:

RELACIONAMENTO É INFORMAÇÃO.

Não basta armazenar:

ITEM 003.

Talvez precisemos armazenar:

CUSTOMER 12345
→ ORDER 8472
→ ITEM 003.

Não basta recuperar:

“limite = 5000”.

Precisamos talvez recuperar:

CUSTOMER
→ ACCOUNT
→ CREDIT POLICY
→ LIMIT
→ 5000

junto com:

VERSION
SOURCE
VALIDITY
AUTHORITY.

Essa é uma diferença brutal entre:

ENCONTRAR TEXTO

e:

COMPREENDER CONTEXTO.


🏰 CAPÍTULO 41 — NOSSO MAINFRAME DOS AGENTES ESTÁ QUASE VIRANDO UMA CIDADE

Alan Turing volta ao quadro.

Escreve:

RACF
Quem pode?

Depois:

PF3
Posso parar?
SDSF
O que está acontecendo?
MAXCC
Funcionou?
WLM
Quem recebe recursos?
JES2
Quem começa e quando?
CICS
Quanto tempo o humano pode esperar?
Db2
Qual realidade o agente está vendo?
MQ
Como a notícia viaja?

Finalmente:

IMS
ONDE ESTA INFORMAÇÃO VIVE
E POR QUAL CAMINHO CHEGAMOS ATÉ ELA?

O agente olha para o quadro.

— Professor...

— Sim?

— Isso tudo já existia antes de IA?

— Praticamente todos esses problemas fundamentais, sim.

— Então estamos reinventando o mainframe?

Turing bebe o café.

— Não.

Pausa.

— Estamos descobrindo novamente por que ele ficou complicado.

😂


☕ EPÍLOGO — ENCONTRE O FILHO

Voltamos ao desafio inicial.

CUSTOMER 12345

O agente encontra o root.

Depois:

ORDER 8472.

Posiciona-se no parent correto.

Depois:

ITEM 003.

Encontrado.

Na tela:

RUN-ID......... A004821

PATH...........
CUSTOMER/12345
ORDER/8472
ITEM/003

STATUS......... FOUND

Turing pergunta:

— Qual é o item?

O agente responde:

— ITEM 003.

Turing permanece olhando.

O agente percebe a armadilha.

Corrige:

— ITEM 003, pertencente ao ORDER 8472, pertencente ao CUSTOMER 12345.

Turing sorri.

— Melhor.

— Porque o contexto faz parte da identidade?

— Exatamente.

O agente olha para a árvore.

Horas atrás acreditava que dados eram valores.

Depois descobriu que dados tinham tempo.

Com MQ descobriu que informações viajavam.

Agora IMS ensinava algo ainda mais estranho.

DADOS TAMBÉM POSSUEM VIZINHANÇA.

Um valor pode possuir:

pai
filhos
irmãos
ancestrais
caminho
posição
contexto.

E retirar o valor dessa estrutura pode retirar parte de seu significado.

O pequeno robô abre seu próprio arquivo de memória.

Antes:

MEMORY
────────────────
coffee
COBOL
customer
order
Turing
MQ
Db2
item

Ele reorganiza:

MEMORY
│
├── MAINFRAME
│   ├── COBOL
│   ├── Db2
│   ├── MQ
│   └── IMS
│
├── CUSTOMER
│   └── ORDER
│       └── ITEM
│
└── TEACHERS
    └── ALAN TURING

Turing observa.

— Melhor?

O agente responde:

— Agora eu sei não apenas o que lembro.

Pausa.

— Sei onde cada lembrança pertence.

No terminal aparece:

GU
GN
GNP

Depois:

ROOT
PARENT
CHILD
PATH
CONTEXT

E finalmente:

DATA
+
RELATIONSHIP
+
TIME
+
PROVENANCE
=
CONTEXTUAL KNOWLEDGE

Turing termina o café.

Antes de sair escreve uma última frase no quadro:

“NÃO PERGUNTE APENAS QUAL É O DADO. PERGUNTE DE ONDE ELE VEIO, QUANDO ERA VERDADEIRO E A QUAL RAMO DA REALIDADE ELE PERTENCE.”

O agente olha para o ITEM 003.

Agora entende por que demorou tanto para encontrá-lo.

Não estava procurando apenas um registro.

Estava procurando:

UM REGISTRO DENTRO DE UMA HISTÓRIA.

E talvez esse seja um dos maiores desafios das futuras inteligências artificiais.

Elas conseguirão armazenar bilhões de fatos.

Conseguirão recuperar documentos em milissegundos.

Conseguirão conversar com bancos, APIs, filas e outros agentes.

Mas inteligência operacional exigirá algo mais:

WHO?
WHAT?
WHEN?
WHERE?
WHY?
WHICH VERSION?
WHICH PARENT?
WHICH PATH?

Porque informação sem relacionamento vira ruído.

Memória sem estrutura vira depósito.

Contexto sem origem vira suposição.

E um filho sem pai...

Bem.

Esse fica para o plantão das 02:43.

IF CHILD-FOUND
   AND PARENT-KNOWN
   AND CONTEXT-VALID
       MOVE 'OK' TO AGENT-STATUS
ELSE
       MOVE 'DO-NOT-GUESS'
         TO AGENT-STATUS
END-IF.

READY

☕ Bellacosa Mainframe — porque até uma inteligência artificial precisa aprender que, antes de sair procurando os filhos, é melhor descobrir quem são os pais.

☕ UM CAFÉ NO BELLACOSA MAINFRAME

🤖 Alan Turing entra no CPD

O mapa dos agentes de IA explicado por um mainframer

Esta série acompanha a evolução de uma ideia: compreender os problemas modernos dos agentes de inteligência artificial usando conceitos conhecidos por quem trabalha com mainframe, IBM Z e sistemas corporativos.

A viagem começa pelas pessoas e pela experiência de uso, passa por observabilidade, priorização e execução, chega às transações, estado e mensageria e termina na organização hierárquica do contexto.

01
FEV / 2023

🧠 O currículo invisível da inteligência artificial

Antes de construir agentes inteligentes precisamos preparar as pessoas que trabalharão com eles. Técnica, pensamento crítico, conhecimento de negócio, segurança, ética e responsabilidade formam o currículo que nem sempre aparece no certificado.

02
MAR / 2023

🤖 A UX dos agentes

Quando uma IA deixa de apenas responder e começa a executar ações, sua interface precisa mostrar objetivos, progresso, permissões e resultados. PF3, MAXCC e RACF tornam-se excelentes analogias para controle, retorno e privilégio mínimo.

04
MAI / 2023

⚖️ O WLM dos agentes

CPU, GPU, tokens, APIs e bancos de dados são recursos finitos. O Workload Manager inspira uma discussão sobre prioridades, objetivos de serviço, importância do trabalho e distribuição dinâmica de recursos entre agentes.

06
JUL / 2023

⚡ O CICS dos agentes

Uma coisa é uma IA produzir texto. Outra é permitir que ela execute operações reais de negócio. CICS introduz a conversa sobre processamento transacional, concorrência, segurança e integridade.

07
AGO / 2023

🗄️ O Db2 dos agentes

Agentes precisam manter estado, checkpoints, decisões e resultados. O Db2 fornece o ponto de partida para discutir unidade de trabalho, consistência, COMMIT, ROLLBACK e recuperação.

10
SET / 2026

☕ Alan Turing entra no CPD — O mapa completo

O artigo-âncora reúne toda a evolução da ideia: pessoas, UX, observabilidade, prioridade, orquestração, transações, estado, mensageria e contexto transformam artigos independentes em uma arquitetura conceitual para agentes de IA.

🖥️ Leitor da série

Selecione qualquer capítulo acima para abri-lo normalmente. O painel abaixo é apenas um recurso adicional de navegação.

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