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

quarta-feira, 29 de abril de 2026

🚀💥 CICS: O “CONTROLADOR DE TRÁFEGO” DO MAINFRAME — ONDE TASKS NASCEM, EXECUTAM… E ÀS VEZES PRECISAM SER ELIMINADAS 💥🚀

 

Bellacosa Mainframe CICS para Sysprogs

🚀💥 CICS: O “CONTROLADOR DE TRÁFEGO” DO MAINFRAME — ONDE TASKS NASCEM, EXECUTAM… E ÀS VEZES PRECISAM SER ELIMINADAS 💥🚀

Se você é SysProg raiz, sabe: o IBM CICS não é só um subsistema — é um organismo vivo.
Milhares de transações pulsando por segundo, usuários conectados, filas, locks, DB2, MQ… e no meio disso tudo: você, com a responsabilidade de manter tudo fluindo.

Aqui vai um guia no estilo “mão na massa + café forte” pra dominar o gerenciamento do CICS no dia a dia.


🧠🔥 VISÃO MENTAL DO CICS (ANTES DE OPERAR)

Pense no CICS como:

  • Dispatcher → controla quem executa
  • Tasks (TCA) → unidades de trabalho
  • Terminal/User → origem da transação
  • Programs → lógica (COBOL, PL/I…)
  • Resources → VSAM, DB2, MQ

👉 Cada ENTER do usuário vira uma task
👉 Cada task consome CPU, storage e locks
👉 E sim… algumas tasks travam tudo 😄


🕵️‍♂️🔍 1. VENDO LOGS COMO UM DETETIVE

No CICS, erro nunca vem sozinho. Ele deixa rastro.

📌 Principais logs:

  • CSMT → mensagens gerais
  • CSM1 → log auxiliar
  • Transient Data Queue (TDQ) → logs customizados
  • SMF 110 → performance e auditoria

🔎 Exemplo clássico:

DFHAC2001 TRANSACTION ABCD ABENDED WITH CODE ASRA

👉 Tradução Bellacosa:

“Alguém fez besteira no programa — provavelmente S0C4 disfarçado” 😄


👤🆔 2. IDENTIFICANDO USER E TASK EM TEMPO REAL

Aqui começa o jogo de verdade.

📌 Transação chave:

CEMT I TASK

Isso mostra:

  • Task Number
  • Transaction ID
  • UserID
  • Status (RUNNING, WAITING…)
  • CPU Time

🔥 Exemplo:

Tas(000123) Tra(ABCD) Use(USER01) Sta(RUN)

👉 Você já sabe:

  • Quem → USER01
  • O quê → ABCD
  • Qual → Task 123

💡 Dica de ouro:

CEMT I TASK USE(USER01)

👉 Filtra direto no usuário (perfeito pra incidentes)


☠️💣 3. DERRUBANDO TASK (QUANDO O CAOS CHEGA)

Quando uma task trava:

  • segura recurso
  • explode CPU
  • trava fila inteira

👉 Você entra com autoridade:

💥 Comando:

CEMT SET TASK(123) PURGE

⚠️ Versão nuclear:

CEMT SET TASK(123) FORCEPURGE

👉 Diferença:

  • PURGE → educado
  • FORCEPURGE → “sai ou eu te mato” 😄

💡 Cuidado:

  • Pode deixar dados inconsistentes
  • Use quando não há alternativa

📊⚡ 4. MONITORANDO PERFORMANCE E CONSUMO

Aqui mora o SysProg de elite.

📌 Transações importantes:

  • CEMT I SYS → visão geral
  • CEMT I TASK → consumo por task
  • CEMT I TRAN → estatísticas de transação

🔎 Indicadores críticos:

  • CPU time alto
  • Tasks WAITING (lock?)
  • Storage crescente
  • Response time degradando

🧠 Dica avançada (nível hard):

Use SMF 110 + ferramentas como:

  • IBM OMEGAMON
  • IBM RMF

👉 Isso revela:

  • Top consumidores
  • Gargalos invisíveis
  • Tendência de carga

🛠️📋 5. CHECKLIST DE SOBREVIVÊNCIA DO SYSPROG CICS

Quando der problema, siga isso:

✅ Passo a passo real:

  1. Ver logs (CSMT)
  2. Identificar erro (abend?)
  3. Listar tasks

    CEMT I TASK
  4. Filtrar usuário/transação
  5. Ver consumo
  6. Decidir ação
    • aguardar
    • PURGE
    • FORCEPURGE
  7. Validar impacto
  8. Registrar ocorrência

🧩💡 EASTER EGGS DE QUEM VIVE CICS

👉 😄 “Toda ASRA tem uma história triste por trás”
👉 😄 “Se precisa dar FORCEPURGE… alguém fez deploy na sexta”
👉 😄 “Task WAITING sem motivo = lock escondido no DB2”


🏛️📜 CURIOSIDADES QUE POUCA GENTE SABE

  • O IBM CICS nasceu nos anos 60 (!!)
  • Ainda hoje processa bilhões de transações/dia
  • Grande parte dos caixas eletrônicos do mundo passam por ele
  • Ele é um dos sistemas mais resilientes já criados

🎯💬 COMENTÁRIO FINAL (NA VEIA)

Gerenciar CICS não é rodar comando.

É:

  • entender comportamento
  • prever problema
  • agir rápido
  • e às vezes… tomar decisões duras

👉 Porque no fim do dia:

“CICS parado não é sistema fora — é empresa parada.”

 

domingo, 5 de abril de 2026

☕💥 Seu DB2 não é lento… você que não está ouvindo ele: Um guia de Database Management para COBOListas raiz (com história, bastidores e prática real)

 

Bellacosa Mainframe fala sobre db2 database management

☕💥 Seu DB2 não é lento… você que não está ouvindo ele

Um guia de Database Management para COBOListas raiz (com história, bastidores e prática real)


🧠 Introdução — o erro clássico do dev COBOL experiente

Se você já escreveu toneladas de código em COBOL, rodou JCL de olhos fechados e fez commit no IBM Db2 como quem toma café…

👉 deixa eu te provocar:

Você domina DB2… ou só usa ele?

Porque existe uma diferença brutal entre:

  • quem usa SELECT
  • e quem entende o comportamento do banco em produção

Esse artigo é pra te levar do segundo nível ao terceiro 😈


🏛️ Origem — quando o banco virou protagonista

Antes do relacional:

  • dados eram hierárquicos (tipo IBM IMS)
  • dependência total da aplicação

Então veio Edgar F. Codd (1970) com o modelo relacional.

👉 Resultado:

  • nasce SQL
  • nasce o DB2
  • nasce o conceito de independência de dados

💡 Easter egg histórico:

DB2 foi um dos primeiros DBMS comerciais a implementar o modelo relacional de forma prática em larga escala.


🧩 O que é Database Management (na prática real)

Você já viu no módulo:

Criar banco é fácil.
Manter banco é o jogo.


🔥 O DBA mindset que você precisa absorver

Criar → Carregar → Monitorar → Proteger → Otimizar → Evoluir

🏗️ PARTE 1 — CRIAÇÃO (onde tudo começa… ou dá errado)

🧠 Modelagem (não pule isso)

🔹 Conceitual

  • negócio (cliente, pedido)

🔹 Lógico

  • tabelas e relacionamentos

🔹 Físico

  • DB2 real (tablespace, index, etc)

💡 Insight:

COBOL sem modelagem vira gambiarra persistente


💻 Exemplo (estilo produção)

CREATE TABLE CLIENTES (
ID INTEGER NOT NULL,
NOME VARCHAR(100) NOT NULL,
SALDO DECIMAL(10,2),
PRIMARY KEY (ID)
);

👉 Aqui você definiu:

  • estrutura
  • tipo
  • integridade

⚙️ PARTE 2 — FIELD ATTRIBUTES (onde mora o perigo silencioso)

💥 Escolhas erradas que você já viu:

  • PIC X(100) pra tudo 😬
  • DECIMAL mal definido
  • campos NULL sem controle

💡 Regra de ouro

Tipo correto = performance + qualidade + economia

🧠 Exemplo clássico

❌ errado:

SALDO VARCHAR(50)

✅ correto:

SALDO DECIMAL(10,2)

💾 PARTE 3 — BACKUP (ou como sobreviver)

💡 Verdade dura:

Backup não testado = backup inexistente


🔧 No mundo real

  • full backup
  • incremental
  • logs

👉 DB2 usa logs pra recovery fino


💥 Cenário real:

00:00 backup
10:32 falha

👉 Recovery:

  • restore backup
  • aplicar logs até 10:31

🧾 PARTE 4 — LOGGING (a caixa preta do sistema)

Logs registram:

  • INSERT
  • UPDATE
  • DELETE
  • erros

💡 Easter egg:

Sem log, DB2 vira só um arquivo caro


⚡ PARTE 5 — PERFORMANCE (onde o bicho pega)

🔍 O erro clássico do COBOLista

SELECT * FROM CLIENTES;

👉 sem índice
👉 sem filtro
👉 sem plano


💥 Ferramenta essencial

EXPLAIN PLAN FOR ...

👉 mostra:

  • table scan
  • index usage
  • custo

🧠 Insight de produção

Query lenta não é azar
👉 é falta de análise


🛠️ PARTE 6 — PROBLEM DETERMINATION

🧨 Situações reais

  • deadlock
  • tabela bloqueada
  • job travado
  • programa COBOL falhando

🔍 Ferramentas

  • logs
  • return codes (SQLCODE 👀)
  • traces

💡 Easter egg COBOL:

IF SQLCODE NOT = 0

👉 esse é o grito silencioso do DB2


🔁 PARTE 7 — REPLICATION (escala nível banco)

👉 cópia do banco:

  • leitura distribuída
  • alta disponibilidade

💡 Exemplo

  • DB2 PROD → DB2 READ ONLY

🔄 PARTE 8 — ETL (o mundo além do transacional)

Fluxo:

  • Extract → DB2
  • Transform → regras
  • Load → Data Warehouse

💡 Insight:

DB2 alimenta o negócio invisível


🗄️ PARTE 9 — ARCHIVING (o segredo da performance)

💥 Problema:

Tabela cresce sem controle

✅ Solução:

  • arquivar dados antigos

💡 Exemplo:

  • transações > 5 anos → archive

🧹 PARTE 10 — DATA QUALITY (o mais negligenciado)

💡 Pergunta brutal:

Você confia nos dados?


🔧 Técnicas:

  • validação
  • constraints
  • scripts

💥 Exemplo

saldo negativo indevido
data inválida
cliente duplicado

📊 PARTE 11 — REPORTING (onde o dinheiro aparece)

👉 Dados → Informação → Decisão


🚀 RESUMO FINAL (nível senior)

DB2 não é banco…
é sistema crítico de negócio

☕ INSIGHT FINAL ESTILO BELLACOSA

Você pode escrever COBOL perfeito…
👉 mas se o DB2 estiver errado, tudo está errado 😈


🎯 FECHAMENTO

Se você chegou até aqui:

👉 você não é mais só dev COBOL
👉 você começou a pensar como DBA


segunda-feira, 29 de maio de 2023

☕🔥 PROMETHEUS, MIMIR E O “SMF DO MUNDO CLOUD” — O UNIVERSO DA OBSERVABILIDADE EXPLICADO PARA UM SYSPROG JÚNIOR 🔥☕

 

Bellacosa Mainframe o mundo da observabilidade mainframe

☕🔥 PROMETHEUS, MIMIR E O “SMF DO MUNDO CLOUD” — O UNIVERSO DA OBSERVABILIDADE EXPLICADO PARA UM SYSPROG JÚNIOR 🔥☕

Se o Grafana é o “painel do operador moderno”…

Então:

  • Prometheus é o coletor de métricas
  • Mimir é o mega repositório escalável
  • Loki é o “SYSLOG gigante”
  • Tempo é o rastreador de transações
  • OpenTelemetry virou o “SMF universal”

E tudo isso junto forma o que o mercado chama hoje de:

☕ OBSERVABILIDADE

Mas um sysprog veterano olha isso e pensa:

“Isso parece RMF + SMF + OMEGAMON + SYSLOG + CICS MONITORING misturados…”

E honestamente?

Está certíssimo. ☕💾


☕ O QUE É OBSERVABILIDADE?

Observabilidade é a capacidade de:

  • enxergar o sistema
  • entender comportamento
  • prever falhas
  • diagnosticar problemas rapidamente

Ela normalmente trabalha em 3 pilares:

PilarEquivalente Mainframe
MétricasRMF / SMF
LogsSYSLOG / JESMSGLG
TracesCICS trace / Db2 accounting

☕ O QUE É PROMETHEUS?

O Prometheus é:

  • banco de métricas
  • coletor temporal
  • motor de queries
  • sistema de alertas

Criado em:

  • 2012
  • pela SoundCloud
  • open source
  • depois adotado pela CNCF

Site oficial:


☕ O PROBLEMA QUE ELE RESOLVEU

Antes do Prometheus:

  • monitoramento era caro
  • proprietário
  • complicado
  • cheio de agentes pesados

O Prometheus trouxe:

  • simplicidade
  • coleta HTTP
  • métricas em texto
  • integração cloud-native

Foi um divisor de águas.


☕ COMO O PROMETHEUS FUNCIONA?

☕ Modelo “Pull”

O Prometheus vai até o servidor e pergunta:

“Me mostre suas métricas.”

Isso é chamado:

  • scrape

☕ Exemplo de endpoint

Servidor exportando:

http://server:9100/metrics

Saída:

node_cpu_seconds_total 12345
node_memory_MemFree_bytes 987654321

Parece simples…

E é exatamente essa simplicidade que tornou o Prometheus gigante.


☕ EXPORTERS — O “COLETOR SMF” DO MUNDO MODERNO

Prometheus usa exporters.

Eles convertem dados do sistema para métricas.


☕ EXPORTERS MAIS FAMOSOS

ExporterFunção
node_exporterLinux
windows_exporterWindows
blackbox_exporterRede
mysqld_exporterMySQL
postgres_exporterPostgreSQL
jmx_exporterJava
snmp_exporterEquipamentos

☕ ANALOGIA MAINFRAME

MainframePrometheus
SMF Type RecordsMetrics
RMF Monitornode_exporter
OMEGAMONGrafana + Prometheus
Performance MonitorTime Series DB

☕ PROMQL — O “JCL DAS MÉTRICAS”

O Prometheus possui uma linguagem chamada:

☕ PromQL

Isso é o coração do sistema.


☕ Exemplo simples

CPU:

rate(node_cpu_seconds_total[5m])

☕ Média de memória

avg(node_memory_MemAvailable_bytes)

☕ Detectar servidor offline

up == 0

☕ O QUE TORNA O PROMETHEUS ESPECIAL?

☕ 1 — Time Series Database

Ele guarda:

  • métricas no tempo
  • compressão eficiente
  • consultas rápidas

Perfeito para:

  • tendências
  • capacity planning
  • troubleshooting

☕ 2 — Labels

Toda métrica pode ter rótulos:

http_requests_total{job="api",status="500"}

Isso lembra:

  • classificação SMF
  • accounting records
  • classes de workload

☕ 3 — Alertas

Exemplo:

CPU > 90%

Aciona:

  • email
  • Slack
  • Teams
  • PagerDuty

Equivalente moderno de:

“OPERADOR! O SISTEMA ESTÁ PEGANDO FOGO!” ☕💥


☕ LIMITAÇÕES DO PROMETHEUS

Aqui começa o lado “sysprog raiz”.

Prometheus é excelente…

Mas:

  • retenção longa é complicada
  • clustering nativo é limitado
  • escala massiva dói
  • multi-tenant é complexo

E foi exatamente daí que nasceu:

☕ MIMIR


☕ O QUE É MIMIR?

O Grafana Mimir é:

  • backend distribuído
  • armazenamento massivo de métricas
  • compatível com Prometheus

Site:


☕ A IDEIA DO MIMIR

Imagine:

Prometheus sozinho:

  • ótimo para ambientes pequenos/médios

Mas empresas gigantes precisam:

  • bilhões de métricas
  • retenção longa
  • HA
  • multi datacenter
  • multi tenant

Mimir resolve isso.


☕ ANALOGIA MAINFRAME

Mundo ModernoMundo Mainframe
PrometheusRMF local
MimirSMF central corporativo
Object StorageTape library
Long retentionArquivamento histórico

☕ COMO O MIMIR FUNCIONA?

Ele separa componentes:

ComponenteFunção
Distributorrecebe métricas
Ingestergrava dados
Querierfaz consultas
Compactorcompacta blocos
Store Gatewayacessa storage

Parece familiar?

Sim…

É praticamente arquitetura de subsistema enterprise:

  • filas
  • cache
  • storage
  • distribuído
  • paralelismo

Muito parecido com mentalidade mainframe.


☕ STORAGE

Mimir normalmente usa:

  • S3
  • MinIO
  • GCS
  • Azure Blob

Isso permite:

  • retenção gigantesca
  • baixo custo
  • alta escalabilidade

☕ LOKI — O “SYSLOG GIGANTE”

☕ O QUE É?

O Loki é:

  • sistema de logs
  • feito pela Grafana Labs

Site:


☕ DIFERENÇA IMPORTANTE

Elasticsearch indexa tudo.

Loki indexa:

  • apenas labels

Resultado:

  • menos custo
  • menos storage
  • mais eficiência

☕ EXEMPLO

{job="nginx"} |= "ERROR"

☕ ANALOGIA MAINFRAME

LokiMainframe
Logs distribuídosSYSLOG
LabelsClasses JES
QueriesSDSF filtros

☕ TEMPO — O “CICS TRACE MODERNO”

Tempo trabalha com:

  • distributed tracing

Site:


☕ O QUE É TRACE?

Imagine:

  • usuário clica no app
  • passa API
  • banco
  • microserviço
  • MQ
  • cache

Tempo rastreia:

  • toda jornada

☕ ANALOGIA MAINFRAME

Quase igual:

  • CICS trace
  • Db2 accounting trace
  • MQ activity trace

☕ OPEN TELEMETRY — O “SMF UNIVERSAL”

☕ O QUE É?

Framework padronizado de:

  • métricas
  • logs
  • traces

Site:


☕ POR QUE ISSO MUDOU O MERCADO?

Antes:

  • cada ferramenta tinha padrão próprio

Agora:

  • tudo fala OpenTelemetry

Virou:

“o TCP/IP da observabilidade”


☕ DATA SOURCES MAIS IMPORTANTES NO GRAFANA

Data SourceUso
PrometheusMétricas
LokiLogs
TempoTraces
ElasticsearchLogs/search
InfluxDBIoT/time series
PostgreSQLDados SQL
MySQLAnalytics
CloudWatchAWS
Azure MonitorAzure
SplunkEnterprise logs
OpenSearchObservabilidade

☕ O QUE UM SYSPROG JÚNIOR PRECISA APRENDER?

☕ PRIORIDADE 1

Aprender:

  • Grafana
  • Prometheus
  • PromQL

Isso já abre MUITAS portas.


☕ PRIORIDADE 2

Depois:

  • Loki
  • Alertmanager
  • OpenTelemetry

☕ PRIORIDADE 3

Avançado:

  • Mimir
  • Tempo
  • Thanos
  • Kubernetes observability

☕ THA NOS — O “PRIMO DO MIMIR”

Outro projeto famoso:

Também resolve:

  • escala
  • retenção longa
  • HA

Muito usado em Kubernetes.


☕ CURIOSIDADES INSANAS

☕ Netflix, Uber, bancos e bolsas usam isso

Hoje observabilidade é:

  • missão crítica
  • core business

☕ Um dashboard ruim pode derrubar operação

Porque:

  • operador não vê problema
  • alerta errado gera caos
  • excesso de métricas vira ruído

Exatamente como:

  • console floodado no JES2 ☕💥

☕ MÉTRICA DEMAIS VIRA O NOVO “SPAGHETTI”

Empresas geram:

  • bilhões de métricas por dia

Sem governança:

  • storage explode
  • custo explode
  • queries ficam lentas

☕ O FUTURO

A nova onda:

  • AIOps
  • IA analisando métricas
  • detecção automática
  • previsão de falhas
  • correlação inteligente

Mas o princípio continua o mesmo desde os tempos do MVS:

“Monitorar, entender e agir antes do desastre.” ☕💾🔥

sábado, 22 de abril de 2023

🔭 ALAN TURING E O SDSF DOS AGENTES — O QUE DIABOS A INTELIGÊNCIA ARTIFICIAL ESTÁ FAZENDO AGORA?

 

Bellacosa Mainframe monitorando a ia

☕ UM CAFÉ NO BELLACOSA MAINFRAME

🔭 ALAN TURING E O SDSF DOS AGENTES — O QUE DIABOS A INTELIGÊNCIA ARTIFICIAL ESTÁ FAZENDO AGORA?

Observabilidade, logs, métricas, traces, spans, OpenTelemetry, tokens, custos, latência, estados, workflows, auditoria, SDSF, JES2, SMF, RMF, CICS — e o dia em que Alan Turing descobriu que “AGENT RUNNING...” era quase tão informativo quanto um operador responder “sei lá, está processando”.



🎬 PRÓLOGO — O ROBÔ ESTAVA “TRABALHANDO”

Alan Turing entrou novamente no CPD.

O pequeno agente de IA estava diante de um terminal.

Na tela:

AGENT STATUS
============

RUNNING...

Turing esperou.

Um minuto.

Dois minutos.

Cinco minutos.

Continuava:

RUNNING...

O jovem programador COBOL apareceu carregando café.

— Bom dia, professor.

Turing apontou para a tela.

— O que ele está fazendo?

— Trabalhando.

— Em quê?

— Não sei.

— Em qual etapa?

— Também não sei.

— Encontrou algum erro?

— Acho que não.

— Quanto já gastou?

— Não faço ideia.

— Está esperando alguma coisa?

— Talvez.

Turing olhou novamente para:

RUNNING...

e sentenciou:

— Então vocês construíram uma máquina capaz de tomar decisões, utilizar ferramentas e executar ações... mas colocaram nela a mesma lâmpada de “ocupado” de uma impressora de 1987?

Silêncio.

No fundo do CPD alguém apertou Enter tentando não rir.

Turing puxou uma cadeira.

— Abra o SDSF.

E assim começou nossa terceira aventura.



🏛️ CAPÍTULO 1 — NO MAINFRAME, “ESTÁ RODANDO” NUNCA FOI RESPOSTA SUFICIENTE

Imagine que você submeta:

//PAYROLL JOB ...
//STEP01  EXEC PGM=PAYCALC
//STEP02  EXEC PGM=REPORT
//STEP03  EXEC PGM=ARCHIVE

Você pergunta ao operador:

Como está o PAYROLL?

E ele responde:

Está fazendo coisas.

Provavelmente essa resposta não sobreviveria muitos minutos no CPD.

Queremos saber:

JOBNAME
JOBID
OWNER
STATUS
QUEUE
STEP
RETURN CODE
OUTPUT

O SDSF existe justamente nesse universo de monitorar e controlar processamento z/OS. A documentação da IBM descreve painéis capazes de acompanhar jobs desde a fila de entrada do JES, passando pelo processamento, até as filas de saída; o painel ST, por exemplo, é central para gerenciamento de jobs e output.

Podemos encontrar algo como:

JOBNAME   JOBID      OWNER      ST      CC
PAYROLL   JOB12345   BELLACOSA  OUTPUT  0000
FATURAM   JOB12346   FINANCE    OUTPUT  0008
BACKUP    JOB12347   OPERADOR   EXEC
REPORT    JOB12348   BELLACOSA  ABEND   S0C7

Isso muda tudo.

Não sabemos apenas:

“O computador está ocupado.”

Sabemos quem, o quê, onde e em qual estado.

É exatamente esse salto que precisamos fazer com agentes.



🤖 CAPÍTULO 2 — O AGENTE PRECISA DE UM JOBNAME

Imagine vários agentes corporativos:

AGENT-PAYROLL
AGENT-REPORT
AGENT-SUPPORT
AGENT-COBOL
AGENT-AUDIT

Agora imagine dezenas de execuções simultâneas.

Dizer:

AGENT RUNNING

é quase inútil.

Precisamos de identidade para a execução.

Por exemplo:

AGENT        RUN-ID       OWNER       STATUS
REPORT       A000471      VAGNER      RUNNING
COBOLSCAN    A000472      DEVTEAM     WAITING
SUPPORT      A000473      SERVICE     APPROVAL
PAYROLL      A000474      FINANCE     FAILED

Perceba a analogia:

JOBNAME  → AGENT/WORKFLOW
JOBID    → RUN-ID
OWNER    → USUÁRIO/SERVIÇO
STATUS   → ESTADO DO WORKFLOW

Não são equivalências técnicas perfeitas.

São equivalências conceituais.

E são extremamente úteis para pensar UX.

Porque quando alguém disser:

O agente fez besteira!

a primeira pergunta deveria ser:

Qual execução?



🚦 CAPÍTULO 3 — “RUNNING” NÃO É UM ESTADO SUFICIENTE

Um agente pode estar em situações completamente diferentes enquanto a interface simplesmente mostra:

RUNNING

Ele pode estar:

PLANNING
READING
WAITING_TOOL
EXECUTING_TOOL
RETRYING
WAITING_APPROVAL
PAUSED
ROLLING_BACK
COMPLETED
FAILED
CANCELLED

Isso importa muito.

Compare:

AGENT: REPORT
STATUS: RUNNING

com:

AGENT: REPORT
RUN-ID: A000471

OBJECTIVE:
Consolidar relatórios de setembro

CURRENT STATE:
WAITING_APPROVAL

CURRENT STEP:
5/7 - Enviar relatório financeiro

WAITING FOR:
Aprovação humana

WAIT TIME:
00:03:42

Agora sabemos o que está acontecendo.

Talvez o agente nem esteja consumindo processamento significativo.

Está simplesmente esperando alguém.

Uma boa interface precisa diferenciar:

TRABALHANDO

de:

ESPERANDO

e de:

TRAVADO

Parece óbvio.

Até você encontrar sistemas que tratam os três como:

PROCESSING...


🪵 CAPÍTULO 4 — LOG: O DIÁRIO DE BORDO

Primeiro instrumento da nossa caixa de observabilidade:

LOG.

Log é basicamente o registro de eventos ocorridos.

O OpenTelemetry define logs como registros de eventos e suporta informações estruturadas como timestamp, severidade, corpo, atributos e também identificadores de trace e span, permitindo correlação com outros sinais.

Um log simples:

10:01:03 Agent started
10:01:04 Reading report
10:01:12 Report loaded
10:01:13 Calling model
10:01:18 Analysis completed

Já ajuda.

Mas podemos fazer melhor.

timestamp=10:01:03
agent=REPORT
run_id=A000471
event=workflow.started
owner=VAGNER

Depois:

timestamp=10:01:12
agent=REPORT
run_id=A000471
event=file.read
file=REPORT-09
status=success
duration_ms=284

Agora temos structured logging.

Em vez de texto para seres humanos lerem manualmente, possuímos campos que sistemas podem consultar.

Podemos perguntar:

event = tool.error

ou:

run_id = A000471

ou:

duration_ms > 5000

Isso é tremendamente mais poderoso.


📜 CAPÍTULO 5 — O SYSOUT DO ROBÔ

Aqui o programador COBOL começa a sorrir.

Porque o conceito não é estranho.

Quando um job termina, frequentemente vamos investigar sua saída.

SDSF permite navegar pelos outputs de jobs e pelas informações de processamento; historicamente, muito output destinado ao JES sequer precisava ser fisicamente impresso — podia ser inspecionado no SDSF.

Nosso agente também deveria deixar evidências.

Algo como:

RUN A000471

AGENT........ REPORT
START........ 10:01:03
END.......... 10:02:44
DURATION..... 00:01:41

MODEL CALLS.. 4
TOOL CALLS... 7
FILES READ... 12
FILES WRITE.. 1
WARNINGS..... 2
ERRORS....... 0

RESULT........ COMPLETED_WITH_WARNINGS

Não precisamos literalmente transformar agentes em JES.

Mas precisamos abandonar a filosofia:

“Ele respondeu, então provavelmente deu tudo certo.”


📊 CAPÍTULO 6 — MÉTRICA NÃO É LOG

Turing escreve:

LOG
≠
METRIC

Log responde muito bem a:

O que aconteceu?

Métrica responde melhor a:

Quanto está acontecendo?

Por exemplo:

agent_runs_total = 15420
agent_failures_total = 327
average_duration = 18.4 s
tool_calls_total = 92481
approval_wait_time = 47.2 s
input_tokens = ...
output_tokens = ...

OpenTelemetry é hoje um framework vendor-neutral para instrumentar, gerar, coletar e exportar telemetria, incluindo traces, metrics e logs.

Para aplicações GenAI, suas convenções incluem atributos relacionados ao uso de tokens e identificação de workflows/agentes; essas convenções específicas continuam evoluindo, portanto não devemos tratá-las como uma pedra gravada para toda a eternidade.


💰 CAPÍTULO 7 — AGORA A TELEMETRIA TEM CONTA PARA PAGAR

No mainframe sempre aprendemos que recurso computacional custa.

CPU.

I/O.

Storage.

Elapsed time.

Consumo não é abstração filosófica.

Com IA, aparece outro recurso:

TOKENS

Uma execução pode fazer:

CALL 1 → modelo
CALL 2 → modelo
CALL 3 → ferramenta
CALL 4 → modelo
CALL 5 → ferramenta
CALL 6 → modelo

Talvez obtenha a resposta correta.

Mas quanto custou?

Um dashboard poderia mostrar:

RUN-ID............ A000471
MODEL CALLS....... 8
INPUT TOKENS...... 34,812
OUTPUT TOKENS..... 8,401
TOOL CALLS........ 14
DURATION.......... 01:47
ESTIMATED COST.... ...

As convenções de GenAI do OpenTelemetry contemplam métricas e atributos de uso de tokens; a observabilidade pode então ajudar a detectar prompts excessivamente grandes, regressões de latência e padrões de consumo.

E aqui aparece um velho fantasma mainframe:

EFICIÊNCIA.

Um agente que consegue resolver uma tarefa em:

3 chamadas

pode ser operacionalmente preferível a outro que precisa:

37 chamadas

mesmo que ambos terminem corretamente.


⏱️ CAPÍTULO 8 — LATÊNCIA: O AGENTE DEMOROU, MAS ONDE?

Imagine:

TOTAL = 18 segundos

Isso não nos diz muita coisa.

Talvez:

LLM............. 2 s
DATABASE........ 1 s
API............. 1 s
FILE............ 1 s

Então onde foram parar os outros 13 segundos?

Precisamos decompor.

É aí que entramos no mundo do distributed tracing.


🧵 CAPÍTULO 9 — TRACE: SIGA O FIO DE ARIADNE

Imagine uma execução completa:

Usuário
  ↓
Agente
  ↓
LLM
  ↓
Busca
  ↓
Db2
  ↓
LLM
  ↓
API
  ↓
Resultado

Um trace acompanha a operação através dessas etapas.

Dentro dele encontramos spans.

Podemos imaginar:

TRACE A000471
│
├─ SPAN 1 invoke_agent ........ 18.2s
│
├─ SPAN 2 plan ................  1.1s
│
├─ SPAN 3 model_call ..........  2.4s
│
├─ SPAN 4 search_documents ....  4.8s
│
│   ├─ SPAN 5 api_call ........  3.9s
│   └─ SPAN 6 parse ...........  0.7s
│
├─ SPAN 7 analyze .............  5.2s
│
└─ SPAN 8 write_report ........  1.4s

Agora descobrimos:

Ahá!

A busca documental está custando quase cinco segundos.

Um span representa uma execução individual de uma operação significativa dentro de um trace; as convenções do OpenTelemetry padronizam atributos para facilitar correlação entre tecnologias diferentes.


🔬 CAPÍTULO 10 — TRACE É O “QUAL STEP ESTÁ DEMORANDO?” DO MUNDO DISTRIBUÍDO

Um programador batch entende isso rapidamente.

Imagine:

STEP01  00:00:01
STEP02  00:00:02
STEP03  00:14:37
STEP04  00:00:01

Onde investigar?

Não precisa chamar Sherlock Holmes.

STEP03

Tracing faz algo conceitualmente semelhante em sistemas distribuídos.

Mas existe uma complicação.

Um agente pode decidir dinamicamente qual ferramenta chamar.

Portanto duas execuções do mesmo objetivo podem seguir caminhos diferentes.

RUN A
Agent
 ├─ LLM
 ├─ Search
 ├─ Db2
 └─ Report

enquanto:

RUN B
Agent
 ├─ LLM
 ├─ Search
 ├─ API
 ├─ Search novamente
 ├─ LLM
 └─ Report

Agora tracing deixa de ser luxo.

Torna-se instrumento para entender o caminho realmente escolhido.


🧠 CAPÍTULO 11 — O AGENTE POSSUI UM “STEP” QUE NÃO EXISTIA NO JCL

No JCL tradicional, normalmente declaramos etapas.

//STEP01 EXEC PGM=A
//STEP02 EXEC PGM=B
//STEP03 EXEC PGM=C

O agente pode raciocinar:

Talvez A.

Não.

Preciso consultar B.

Resultado incompleto.

Vou tentar C.

Agora preciso voltar para A.

Isso é poderoso.

Mas torna a execução menos previsível.

Portanto precisamos registrar:

OBJETIVO
↓
DECISÃO
↓
FERRAMENTA ESCOLHIDA
↓
RESULTADO
↓
PRÓXIMA DECISÃO

Não precisamos — nem devemos — exigir exposição irrestrita de raciocínio interno privado do modelo.

Precisamos registrar decisões e eventos operacionalmente relevantes.

Por exemplo:

STEP 4
ACTION: customer_lookup
REASON: Dados insuficientes para validar pedido
RESULT: 1 customer found
NEXT: order_lookup

Isso é auditável e útil sem transformar telemetria em uma descarga indiscriminada de conteúdo interno.


🔗 CAPÍTULO 12 — TRACE ID: O CPF DA EXECUÇÃO

Imagine receber:

ERROR 500

Fantástico.

Onde?

Quando?

Para quem?

Em qual execução?

Precisamos de correlação.

Um identificador como:

trace_id = 7A91...

pode acompanhar uma operação através de vários componentes.

E então um log pode carregar:

TraceId
SpanId

O modelo de logs do OpenTelemetry prevê justamente essa correlação, permitindo conectar registros a traces e spans.

Assim podemos sair de:

ERROR: timeout

para:

RUN A000471
TRACE 7A91
SPAN DB2_QUERY
ERROR timeout

Agora temos pista.


🚨 CAPÍTULO 13 — MÉDIA É O MIMIC DA OBSERVABILIDADE

Você olha o dashboard:

Average latency = 2 seconds

Maravilhoso.

Só que alguns usuários esperam 40 segundos.

A média esconde caudas.

Por isso sistemas modernos frequentemente observam percentis:

p50
p95
p99

Exemplo:

p50 = 1.4 s
p95 = 5.8 s
p99 = 21.7 s

Agora percebemos que uma pequena parcela das execuções sofre muito.

Isso vale especialmente para agentes porque workflows podem variar enormemente.

Uma execução consulta duas ferramentas.

Outra consulta vinte.

A média olha para ambas e diz:

Está tudo razoável.

O p99 começa a gritar no corredor.


❤️ CAPÍTULO 14 — MÉTRICAS DO AGENTE NÃO DEVEM SER APENAS TÉCNICAS

Imagine este dashboard:

CPU........ OK
MEMORY..... OK
LATENCY.... OK
ERRORS..... 0

Excelente.

Mas o agente resolveu o problema?

Precisamos também de métricas funcionais.

Por exemplo:

TASK SUCCESS RATE
HUMAN ESCALATION RATE
ROLLBACK RATE
APPROVAL REJECTION RATE
RETRY RATE
TOOL FAILURE RATE
AVERAGE STEPS PER TASK
COST PER SUCCESSFUL TASK

E aqui aparece uma métrica especialmente interessante:

TASK COMPLETED

não deveria significar apenas:

O workflow chegou ao último nó.

Deveria significar:

O critério de sucesso foi realmente atingido.

É a diferença entre:

MAXCC=0000

e:

O relatório contém os números corretos.

Velho problema.

Roupa nova.


🧾 CAPÍTULO 15 — OBSERVABILIDADE NÃO É AUDITORIA

Turing escreve no quadro:

OBSERVABILIDADE
≠
AUDITORIA

Observabilidade pergunta:

O que está acontecendo com o sistema?

Auditoria pergunta:

Quem fez o quê, quando, com qual autoridade e qual foi o resultado?

Exemplo operacional:

tool_call duration=840ms

Isso é ótimo para observabilidade.

Mas uma trilha de auditoria pode precisar:

AGENT........ AGENT-CREDIT
RUN-ID....... A001991
REQUESTER.... USER471
ACTION....... CREDIT_LIMIT_CHANGE
CUSTOMER..... 98127
OLD_VALUE.... 10000
NEW_VALUE.... 15000
APPROVER..... MANAGER08
TIMESTAMP.... 14:32:11
RESULT....... SUCCESS

Agora podemos reconstruir o evento.

Auditoria é particularmente importante quando o agente age em vez de apenas responder.


🔐 CAPÍTULO 16 — CUIDADO: OBSERVABILIDADE TAMBÉM PODE VAZAR SEGREDOS

Aqui aparece uma armadilha enorme.

Você decide:

Quero registrar tudo!

Prompt.

Resposta.

Documentos.

Argumentos das ferramentas.

Resultados.

Fantástico para debugging.

Talvez terrível para segurança.

Logs podem acabar contendo:

dados pessoais
segredos comerciais
credenciais
tokens
informação financeira
código proprietário
documentos confidenciais

A própria documentação de observabilidade GenAI chama atenção para o fato de que conteúdo de mensagens e tool calls pode ser capturado quando habilitado, enquanto implementações podem permitir desativar a exportação desse conteúdo.

Portanto:

Observabilidade não significa registrar tudo indiscriminadamente.

Precisamos pensar em:

REDACTION
MASKING
SAMPLING
RETENTION
ACCESS CONTROL
ENCRYPTION

O log também é dado.

E dado precisa de governança.


🧹 CAPÍTULO 17 — NÃO TRANSFORME O LOG NUM DEPÓSITO DE LIXO

Outro clássico.

DEBUG 1
DEBUG 2
ENTROU AQUI
PASSOU AQUI
TESTE
XYZ
AAAA

😂

Todo programador já encontrou algum parente dessa criatura.

Logs úteis precisam responder perguntas.

Uma boa estrutura pode incluir:

timestamp
severity
service
agent
run_id
trace_id
span_id
event
tool
duration
status
error_type

E usar níveis coerentes:

DEBUG
INFO
WARN
ERROR

Não transforme tudo em:

ERROR

senão o erro perde significado.

É o equivalente moderno de um painel inteiro piscando vermelho.

Depois de quinze minutos ninguém mais olha.


🌉 CAPÍTULO 18 — OPENTELEMETRY: UMA LÍNGUA COMUM

Em sistemas distribuídos temos:

Java
Python
Node
API Gateway
Kubernetes
Db2
MQ
CICS
Cloud
Mainframe
LLM
Agent

Cada componente poderia produzir telemetria de maneira completamente diferente.

Correlação viraria pesadelo.

OpenTelemetry tenta fornecer uma linguagem e arquitetura vendor-neutral para sinais de observabilidade, especialmente traces, metrics e logs.

Podemos imaginar:

APLICAÇÕES
     ↓
INSTRUMENTAÇÃO
     ↓
OpenTelemetry
     ↓
COLLECTOR
     ↓
BACKEND DE OBSERVABILIDADE

O Collector pode receber, processar e exportar telemetria.

O objetivo não é:

“Comprar um dashboard bonito.”

É:

Padronizar a forma de produzir e transportar evidência operacional.


🏷️ CAPÍTULO 19 — CONVENÇÕES SEMÂNTICAS: CHAME A MESMA COISA PELO MESMO NOME

Imagine:

Sistema A:

duration

Sistema B:

elapsed

Sistema C:

execution_time

Sistema D:

how_long_this_thing_took

😂

Agora tente construir um dashboard corporativo.

Convenções semânticas procuram padronizar nomes e significados para operações e dados observáveis. O OpenTelemetry mantém convenções para traces, métricas, logs, profiles e resources.

No universo GenAI isso é especialmente importante.

Queremos poder falar de conceitos como:

agent
model
operation
tool
token usage
workflow

de maneira consistente.

As convenções GenAI ainda estão evoluindo, o que é natural numa área que também está mudando rapidamente.


🧬 CAPÍTULO 20 — SDSF + SMF + RMF + OTEL: NÃO SÃO A MESMA COISA

Aqui precisamos evitar uma simplificação perigosa.

Não podemos dizer:

SDSF = OpenTelemetry

Não é.

Nem:

SMF = logs
RMF = metrics

como equivalências técnicas exatas.

São tecnologias com histórias, escopos e arquiteturas diferentes.

Mas podemos construir uma ponte didática.

SDSF

Ajuda o operador a ver e controlar execução.

SMF

Produz enorme quantidade de registros operacionais e de accounting sobre atividades do sistema.

RMF

Historicamente fornece medição e análise de performance e recursos.

OpenTelemetry

Padroniza instrumentação e transporte de sinais modernos de observabilidade.

Então, pedagogicamente:

MAINFRAME
                     MUNDO DISTRIBUÍDO

SDSF        ←→       Operational UI
SMF         ←→       Telemetry records
RMF         ←→       Performance metrics
Job/Step    ←→       Trace/Span
JobID       ←→       Run/Trace correlation
SYSOUT      ←→       Logs / execution evidence

A seta significa:

“pense na função conceitual”

e não:

“são a mesma tecnologia”.

Essa diferença é importantíssima.


🖥️ CAPÍTULO 21 — COMO SERIA O “SDSF DOS AGENTES”?

Agora podemos desenhar.

Imagine:

AGENT OPERATIONS FACILITY
────────────────────────────────────────────────────

AGENT       RUN-ID    OWNER     STATE       TIME
REPORT      A00471    VAGNER    EXECUTING   00:01:47
COBOLSCAN   A00472    DEV       COMPLETE    00:00:38
PAYROLL     A00473    FINANCE   APPROVAL    00:03:12
SUPPORT     A00474    CRM       FAILED      00:00:09
BACKUP      A00475    OPS       RETRYING    00:00:41

Coloque:

S

ao lado de REPORT.

Abre:

OBJECTIVE
Consolidar relatórios mensais

CURRENT STEP
4/7 Analyze financial data

MODEL CALLS
5

TOOL CALLS
8

TOKENS
18,471 / 4,901

ELAPSED
00:01:47

WARNINGS
2

STATUS
EXECUTING

Agora:

L

para logs.

T

para trace.

M

para metrics.

P

para pause.

C

para cancel.

A

para approvals.

Meu Deus.

Acabamos de reinventar uma workstation operacional para agentes.

O barbudo do mainframe começa a sorrir.


🧰 CAPÍTULO 22 — PASSO A PASSO: INSTRUMENTANDO MENTALMENTE UM AGENTE

Mesmo que você seja um COBOL iniciante e não vá implementar OpenTelemetry amanhã, aprenda o raciocínio.

PASSO 1 — IDENTIFIQUE A EXECUÇÃO

Nunca dependa apenas de:

agent_name

Tenha algo equivalente a:

run_id
trace_id

PASSO 2 — DEFINA OS ESTADOS

Por exemplo:

QUEUED
PLANNING
RUNNING
WAITING_TOOL
WAITING_HUMAN
PAUSED
COMPLETED
FAILED
CANCELLED

PASSO 3 — REGISTRE EVENTOS IMPORTANTES

Não cada suspiro eletrônico.

Mas:

workflow.started
tool.called
tool.failed
approval.requested
approval.received
checkpoint.created
rollback.started
workflow.completed

PASSO 4 — MEÇA

latência
tokens
tool calls
retries
erros
tempo aguardando humano
custo

PASSO 5 — TRACE AS DEPENDÊNCIAS

Quando a execução atravessar:

agent → API → Db2 → MQ → CICS

preserve correlação.

PASSO 6 — PROTEJA A TELEMETRIA

Não registre segredos simplesmente porque são úteis para debugging.

PASSO 7 — DEFINA SUCESSO

Não use apenas:

DONE

Use critérios de negócio.

PASSO 8 — CONSTRUA ALERTAS ÚTEIS

Não alerte para tudo.

Alerte quando algo realmente exigir atenção.


🚨 CAPÍTULO 23 — O ALERTA QUE TOCA ÀS 3 DA MANHÃ

Todo sistema de observabilidade eventualmente encontra seu verdadeiro teste:

03:17.

Telefone toca.

ALERT:
AGENT FAILURE RATE > 25%

Você abre o painel.

Descobre:

Tool: CUSTOMER-API
p99 latency: 31s
Timeout rate: 38%
Retries: 4.2 per run

Agora existe hipótese.

Sem observabilidade:

A IA ficou burra.

Com observabilidade:

A API de clientes está degradada; o agente está repetindo chamadas e acumulando timeout.

Essa diferença é gigantesca.

Modelos inteligentes introduzem novas fontes de incerteza.

Não devemos atribuir todo problema ao modelo.

Pode ser:

modelo
prompt
tool
API
rede
Db2
MQ
permissão
rate limit
dados
timeout
bug

Observabilidade separa fantasmas de evidências.


🧙 CAPÍTULO 24 — TURING DESENHA AS QUATRO PERGUNTAS

Turing pega o giz.

Escreve:

1. O QUE ESTÁ ACONTECENDO?

Estado + logs.

2. QUANTO ESTÁ ACONTECENDO?

Métricas.

3. POR ONDE PASSOU?

Trace.

4. QUEM AUTORIZOU?

Auditoria.

O jovem COBOL acrescenta uma quinta:

5. QUANTO CUSTOU?

Turing olha.

— Muito bem.

O administrador do CPD acrescenta:

6. POSSO PARAR?

E o administrador RACF:

7. ELE PODIA FAZER ISSO?

Agora temos praticamente toda a série:

PF3
↓
POSSO PARAR?

MAXCC
↓
FUNCIONOU?

RACF
↓
PODIA FAZER?

SDSF
↓
O QUE ESTÁ FAZENDO?

🥚 EASTER EGG — S A00471

São 02:58.

O jovem operador vê:

AGENT       RUN-ID    STATE
REPORT      A00471    RUNNING

Digite:

S A00471

A tela abre.

CURRENT ACTION:
Searching documentation

ELAPSED:
02:47:31

FILES FOUND:
4,281,771

CURRENT DIRECTORY:
/

Silêncio.

Turing olha para o programador.

O programador olha para Turing.

O administrador de segurança derruba o café.

Alguém pergunta:

— Quem deu acesso ao filesystem inteiro?

Do fundo da sala vem uma voz:

— Foi para facilitar o protótipo.

O administrador RACF levanta lentamente da cadeira.

ICH408I

Fim do easter egg.


☕ EPÍLOGO — NÃO QUERO UMA IA TRANSPARENTE; QUERO UMA IA OPERÁVEL

Existe uma diferença importante.

Quando falamos em observabilidade, não estamos necessariamente exigindo enxergar todos os mecanismos internos de um modelo.

Queremos algo muito mais prático.

Queremos saber:

qual tarefa
qual execução
qual estado
qual etapa
qual ferramenta
quanto tempo
quanto recurso
qual erro
qual resultado
qual aprovação

Em outras palavras:

OPERABILIDADE.

Um agente corporativo precisa ser operável.

Precisa ser possível colocar alguém diante dele e perguntar:

O que está acontecendo?

E obter resposta melhor que:

RUNNING...

Isso parece uma discussão sobre inteligência artificial.

Mas também é uma discussão profundamente antiga sobre sistemas.

O mainframe aprendeu há décadas que executar trabalho empresarial significa deixar evidência.

Jobs possuem identidade.

Execuções possuem estados.

Etapas possuem resultados.

Output pode ser examinado.

Falhas precisam ser investigadas.

Recursos precisam ser medidos.

A IBM descreve SDSF justamente como um meio seguro de monitorar e gerenciar sistemas z/OS, jobs, output, recursos e mensagens operacionais.

O mundo distribuído acrescentou novos desafios.

Microsserviços.

APIs.

Cloud.

Containers.

Mensageria.

Agora adicionamos:

LLMs.

Tools.

RAG.

Copilotos.

Agentes.

Mas a pergunta do operador continua assustadoramente parecida.

O que diabos está acontecendo agora?

OpenTelemetry nos oferece uma linguagem moderna para parte dessa investigação, reunindo logs, métricas e traces e permitindo correlação entre componentes.

E os agentes tornam essa disciplina ainda mais importante.

Porque não estamos observando apenas software executando um caminho predeterminado.

Podemos estar observando software escolhendo dinamicamente qual caminho executar.

Quanto maior a autonomia...

maior a necessidade de evidência.

Quanto mais ferramentas disponíveis...

mais importante a correlação.

Quanto mais passos dinâmicos...

mais necessário o tracing.

Quanto maior o custo variável...

mais importantes as métricas.

Quanto maior o poder de ação...

mais importante a auditoria.

Alan Turing volta ao terminal.

A tela agora mostra:

AGENT: REPORT
RUN-ID: A00471

STATUS........ WAITING_APPROVAL
STEP.......... 6/7
ELAPSED....... 00:01:48
MODEL CALLS... 5
TOOL CALLS.... 8
WARNINGS...... 2
ERRORS........ 0

ACTION........ SEND REPORT
RISK.......... EXTERNAL ACTION
APPROVAL...... REQUIRED

[P] PAUSE
[C] CANCEL
[L] LOG
[T] TRACE
[M] METRICS
[A] APPROVE

Turing toma um gole de café.

— Melhor.

O programador pergunta:

— Agora sabemos tudo?

Turing sorri.

— Claro que não.

— Então o que sabemos?

Ele aponta para a tela.

— Sabemos onde procurar.

Para um operador, um SRE, um programador COBOL ou qualquer pessoa que já tenha passado algumas horas tentando descobrir por que um sistema parou às três da manhã...

isso já é uma diferença gigantesca.

Porque o futuro talvez esteja cheio de agentes inteligentes.

Mas quando alguma coisa der errado, alguém ainda precisará abrir uma tela e perguntar:

ST

Qual é o status?

Algumas perguntas sobrevivem a todas as revoluções tecnológicas.

READY

E, naturalmente...

há outro agente na fila.

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