☕ 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

terça-feira, 21 de março de 2023

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

 

Bellacosa Mainframe e a ux do agente

☕ UM CAFÉ NO BELLACOSA MAINFRAME

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

Agentes de IA, human-in-the-loop, least privilege, permissões, observabilidade, auditabilidade, rollback, checkpoints, guardrails, RACF, JCL, JES2, SDSF, CICS — e o dia em que o programador COBOL descobriu que dar autonomia a uma IA sem botão de emergência era quase como entregar SPECIAL no RACF para o estagiário.



🎬 PRÓLOGO — TURING VOLTOU AO CPD

Alan Turing estava novamente sentado diante do terminal.

Da última vez, nossa conversa havia começado com algo muito simples:

C:\>

O computador esperava.

Nos tempos do CP/M e DOS, ele não tentava adivinhar o que queríamos. Precisávamos conhecer o comando, sua sintaxe e muitas vezes até o caminho completo do arquivo.

Depois vieram as interfaces gráficas.

Em vez de lembrar:

COPY
DEL
REN
DIR

passamos a reconhecer ícones, menus, janelas e botões.

Depois chegaram os sistemas de inteligência artificial generativa.

E a relação mudou novamente.

Em vez de explicar:

COMO FAZER

começamos a dizer:

O QUE QUEREMOS

Mas agora havia uma pequena criatura sobre a mesa.

Parecia um robô simpático.

Turing apontou para ela.

— Este não é apenas um chatbot.

— O que ele faz?

— Você dá um objetivo. Ele pode planejar etapas, consultar ferramentas, buscar informações e executar ações.

O jovem programador COBOL ficou alguns segundos olhando para a criatura.

Então perguntou:

— E se ele fizer besteira?

Turing sorriu.

— Finalmente chegamos à pergunta importante.



🧠 CAPÍTULO 1 — CHATBOT NÃO É A MESMA COISA QUE AGENTE

Precisamos começar pela base.

Quando conversamos com um chatbot tradicional, existe normalmente um ciclo relativamente simples:

USUÁRIO
   ↓
PROMPT
   ↓
MODELO
   ↓
RESPOSTA
   ↓
USUÁRIO

Você pergunta:

Explique este trecho COBOL.

A máquina responde.

Você continua no controle do fluxo.

Agora imagine algo diferente:

Analise todos os programas deste projeto, descubra quais utilizam o copybook CLIENTE, identifique possíveis impactos de uma alteração de layout, crie um relatório e abra tarefas para os responsáveis.

Observe o tamanho da mudança.

A IA talvez precise:

entender o objetivo
      ↓
descobrir onde estão os programas
      ↓
pesquisar arquivos
      ↓
identificar dependências
      ↓
analisar código
      ↓
correlacionar resultados
      ↓
gerar relatório
      ↓
consultar responsáveis
      ↓
criar tarefas
      ↓
informar o resultado

Não estamos mais diante de uma simples geração de texto.

Temos um workflow.

E quando o sistema consegue controlar partes desse workflow e utilizar ferramentas para atingir o objetivo, entramos no território dos agentes.

É aqui que a UX muda radicalmente.



🪄 CAPÍTULO 2 — O BOTÃO “ENVIAR” NÃO É MAIS SUFICIENTE

Quando uma IA apenas escreve um texto, o principal objeto da interface é a resposta.

Você lê.

Gostou?

Usa.

Não gostou?

Descarta.

Mas imagine que o agente possa:

  • enviar e-mail;

  • alterar arquivo;

  • consultar banco de dados;

  • executar programa;

  • abrir ticket;

  • cancelar pedido;

  • modificar configuração;

  • criar usuário;

  • iniciar processo;

  • chamar uma API.

Agora a interface precisa responder perguntas completamente diferentes.

Por exemplo:

O que o agente está fazendo?

Por que está fazendo?

Qual ferramenta está usando?

Quais dados recebeu?

Qual informação enviará para fora?

Quanto já gastou?

Posso interrompê-lo?

Posso desfazer aquilo que ele acabou de fazer?

Quem autorizou esta ação?

Existe log?

Ele ultrapassou o objetivo original?

Essas perguntas parecem modernas.

Mas Turing olha para o jovem COBOL e pergunta:

— Tem certeza?



🏛️ CAPÍTULO 3 — O MAINFRAME JÁ CONHECE PARTE DESSE PROBLEMA

Imagine submeter um job:

//PAYROLL JOB ...
//STEP01  EXEC PGM=PAYCALC
//INFILE  DD DSN=EMPRESA.FOLHA.INPUT,DISP=SHR
//OUTFILE DD DSN=EMPRESA.FOLHA.OUTPUT,
//            DISP=(NEW,CATLG,DELETE)

Você não entrega simplesmente um objetivo abstrato para o sistema.

Existe uma estrutura.

Sabemos:

  • qual programa será executado;

  • quais datasets entram;

  • quais datasets saem;

  • qual identidade submeteu;

  • quais recursos podem ser acessados;

  • qual foi o resultado;

  • qual etapa falhou.

O job entra no JES.

Você pode observá-lo no SDSF.

Depois aparecem informações como:

JOB12345
PAYROLL
CC 0000

ou:

CC 0008

ou:

ABEND S0C7

Existe estado.

Existe identidade.

Existe execução.

Existe resultado.

Existe evidência.

Não estamos dizendo que JCL seja um sistema de agentes de IA.

Não é.

Mas muitos dos problemas de governança que estamos redescobrindo na IA possuem parentes conceituais muito antigos no processamento corporativo.



🚪 CAPÍTULO 4 — PF3: TODO AGENTE PRECISA SABER PARAR

Quem passou algum tempo em ISPF conhece a sensação.

Você entrou numa tela.

Terminou.

Quer voltar.

PF3

Fim.

É claro que PF3 não é literalmente um mecanismo universal de emergência.

Mas ele oferece uma analogia excelente para uma propriedade fundamental da UX dos agentes:

INTERRUPTIBILIDADE

Se um agente está executando uma sequência de vinte ações, o usuário precisa saber:

  1. que ele ainda está executando;

  2. em qual etapa está;

  3. o que já realizou;

  4. o que pretende realizar;

  5. como interrompê-lo.

Imagine uma interface mostrando apenas:

Working...

Cinco minutos.

Dez minutos.

Quinze minutos.

O usuário começa a pensar:

Trabalhando em quê?

Essa é péssima UX para sistemas autônomos.

Uma interface melhor poderia apresentar:

OBJETIVO:
Preparar relatório mensal

[✓] Localizar arquivos
[✓] Validar período
[✓] Consolidar planilhas
[>] Consultar sistema financeiro
[ ] Gerar relatório
[ ] Enviar para aprovação

E ao lado:

PAUSAR
CANCELAR
VER DETALHES

O velho PF3 acaba de renascer.

Só que agora possui barba de IA.


🚦 CAPÍTULO 5 — CANCELAR NÃO É A MESMA COISA QUE DESFAZER

Aqui encontramos um detalhe importantíssimo.

Suponha que o agente tenha realizado:

1. leu relatório
2. criou arquivo
3. alterou cadastro
4. enviou e-mail
5. atualizou banco

Você interrompe na etapa 5.

Ótimo.

Mas as etapas anteriores aconteceram.

Portanto existem dois conceitos diferentes:

STOP

e:

UNDO

Parar significa:

Não continue.

Rollback significa:

Tente retornar a um estado anterior seguro.

Em sistemas transacionais, isso é assunto antigo.

No universo de bancos de dados, pensamos em operações, transações, COMMIT e ROLLBACK.

Num fluxo simplificado:

BEGIN
   ↓
ALTERAÇÕES
   ↓
VALIDAÇÃO
   ↓
COMMIT

Se alguma condição impedir a conclusão:

ROLLBACK

Mas existe um problema.

Nem toda ação do mundo real é reversível.

Se o agente enviou um e-mail, não existe ROLLBACK mágico que retire a mensagem da memória do destinatário.

Se publicou informação externamente, a informação pode ter sido copiada.

Se efetuou um pagamento, o estorno pode constituir outra transação.

Por isso a UX precisa distinguir:

REVERSÍVEL

de:

IRREVERSÍVEL

E ações irreversíveis merecem controles adicionais.


✋ CAPÍTULO 6 — HUMAN-IN-THE-LOOP: O HUMANO NÃO PRECISA APROVAR TUDO

Surge então uma solução aparentemente maravilhosa:

Coloque aprovação humana em tudo!

Problema resolvido?

Não.

Imagine um agente que execute 300 ações e pergunte:

Posso ler este arquivo?

Sim.

Posso abrir este diretório?

Sim.

Posso consultar esta tabela?

Sim.

Posso ordenar os resultados?

SIM!

Posso gerar...

SIM, RAIO!

😂

Depois da centésima confirmação, o usuário começa a clicar em Sim automaticamente.

A aprovação continua existindo tecnicamente.

Mas perdeu seu valor cognitivo.

Isso é semelhante ao problema clássico de alert fatigue.

Se tudo é emergência, nada parece emergência.

Human-in-the-loop precisa ser colocado nos pontos em que o julgamento humano realmente acrescenta valor.

Por exemplo:

LER ARQUIVO AUTORIZADO
→ automático

GERAR RESUMO LOCAL
→ automático

ALTERAR DOCUMENTO
→ talvez confirmar

ENVIAR DOCUMENTO EXTERNAMENTE
→ confirmar

EXCLUIR DADOS
→ confirmar

TRANSFERIR DINHEIRO
→ confirmar fortemente

A boa UX não pergunta tudo.

Ela pergunta quando importa.


🛡️ CAPÍTULO 7 — RACF ENTRA NA SALA

Turing coloca outro livro sobre a mesa.

Na capa:

RACF

O jovem programador sorri.

Agora estamos em casa.

O princípio fundamental é simples:

Uma identidade não deveria possuir mais autoridade do que necessita para executar sua função.

É a ideia de least privilege.

Suponha que um agente tenha como objetivo:

Leia os relatórios de produção e prepare um resumo.

Por que ele precisaria de autorização para:

DELETE

?

Não precisa.

Então não dê.

Talvez ele necessite:

READ

sobre determinados recursos.

Só isso.

Imagine:

AGENTE-RELATORIO
     │
     ├── RELATORIOS.*   READ
     ├── DOCUMENTACAO.* READ
     ├── EMAIL           NONE
     ├── PAYROLL.*       NONE
     └── PROD.ADMIN      NONE

Se o agente sofrer uma interpretação errada, receber uma instrução maliciosa ou simplesmente tomar uma decisão ruim, o estrago potencial fica limitado.

É exatamente por isso que permissões são tão importantes.


💀 CAPÍTULO 8 — NÃO DÊ SPECIAL AO ROBÔ

No RACF, atributos administrativos poderosos devem ser tratados com extremo cuidado.

Imagine então alguém criando um agente corporativo e dizendo:

Para evitar problemas de permissão, vou dar acesso a tudo.

Turing derruba o café.

O administrador RACF sente uma perturbação na Força a quilômetros de distância.

😂

Essa é uma das piores maneiras de resolver problemas de integração.

Funciona?

Provavelmente.

Até deixar de funcionar espetacularmente.

O princípio correto deveria ser:

COMECE COM ZERO
      ↓
DESCUBRA O NECESSÁRIO
      ↓
CONCEDA O MÍNIMO
      ↓
MONITORE
      ↓
REVISE

Nunca:

DÊ TUDO
↓
REZE

Isso vale para humanos.

Vale para aplicações.

Vale para service accounts.

E vale ainda mais para agentes capazes de escolher dinamicamente quais ferramentas utilizar.


📊 CAPÍTULO 9 — MAXCC: “FUNCIONOU” PRECISA TER SIGNIFICADO

Agora chegamos ao nosso segundo ancestral mainframe.

MAXCC=0000

Todo programador iniciante rapidamente aprende a gostar dessa visão.

Mas também aprende uma lição mais importante:

MAXCC=0000 significa que aquilo que o sistema mediu terminou de determinada maneira. Não significa automaticamente que o negócio alcançou o resultado correto.

Um programa pode executar sem erro técnico e produzir informação logicamente errada.

O mesmo vale para agentes.

Imagine:

TASK COMPLETED

Ótimo.

Mas...

O que significa completed?

O arquivo foi criado?

O conteúdo foi validado?

O destinatário correto recebeu?

Todos os registros foram processados?

Alguma exceção foi ignorada?

O resultado corresponde ao objetivo?

Portanto agentes precisam de critérios de sucesso observáveis.

Não basta:

STATUS = DONE

Precisamos de algo semelhante a:

OBJETIVO: Consolidar 12 relatórios mensais

Arquivos esperados: 12
Arquivos encontrados: 12
Arquivos processados: 12
Erros: 0
Divergências: 2
Aprovação humana: pendente
Entrega externa: NÃO EXECUTADA

Agora temos informação útil.


🔭 CAPÍTULO 10 — OBSERVABILIDADE: O SDSF DOS AGENTES

Imagine um agente trabalhando durante vinte minutos.

Depois alguém pergunta:

O que ele fez?

Resposta:

Não sei. Mas terminou.

Isso seria inaceitável num ambiente corporativo sério.

Queremos algo conceitualmente parecido com a experiência de observar processamento através de ferramentas como JES e SDSF.

Para agentes, gostaríamos de enxergar:

AGENTE
  ↓
OBJETIVO
  ↓
PLANO
  ↓
FERRAMENTA UTILIZADA
  ↓
ENTRADA
  ↓
RESULTADO
  ↓
DECISÃO
  ↓
PRÓXIMA AÇÃO

Não necessariamente precisamos mostrar todo detalhe interno de raciocínio do modelo.

O que precisamos é telemetria operacional.

Por exemplo:

10:01:03  Tarefa iniciada
10:01:04  Consultando catálogo
10:01:08  42 documentos encontrados
10:01:09  Aplicado filtro: setembro/2026
10:01:12  7 documentos selecionados
10:01:14  Análise iniciada
10:02:31  2 divergências encontradas
10:02:33  Aguardando aprovação humana

Isso é observabilidade.


🕵️ CAPÍTULO 11 — OBSERVABILIDADE E AUDITORIA NÃO SÃO A MESMA COISA

Essa distinção é importantíssima.

Observabilidade responde principalmente:

O que está acontecendo?

Auditoria responde:

O que aconteceu, quem autorizou e quais evidências ficaram?

Imagine uma operação:

ALTERAR LIMITE DO CLIENTE

Um registro auditável poderia conter:

Agente: CREDIT-AGENT-07
Usuário solicitante: OPERADOR123
Data/hora: 14:32:11
Objetivo: revisão cadastral
Registro: CLIENTE 938271
Valor anterior: 10000
Valor proposto: 15000
Aprovação humana: GERENTE42
Resultado: executado

Meses depois, alguém consegue reconstruir o evento.

Isso é fundamental em ambientes regulados.

O agente não pode ser uma criatura mágica que responde:

Confia em mim.

Mainframe corporativo não sobreviveu décadas com:

SOURCE: VOZES DA MINHA CABEÇA

😂

Governança exige evidência.


📸 CAPÍTULO 12 — CHECKPOINTS: SALVE ANTES DE ENTRAR NO BOSS

Quem jogou RPG entende imediatamente.

Você atravessou uma dungeon enorme.

Encontrou uma porta gigantesca.

Música sinistra.

O que faz?

SAVE.

O conceito de checkpoint é igualmente interessante para workflows de agentes.

Imagine:

ESTADO 0
↓
coleta de documentos
↓
CHECKPOINT 1
↓
análise
↓
CHECKPOINT 2
↓
alterações propostas
↓
APROVAÇÃO
↓
execução

Se algo falhar depois da análise, talvez não seja necessário repetir toda a coleta.

Checkpoints podem ajudar em:

  • recuperação;

  • continuidade;

  • auditoria;

  • revisão humana;

  • controle de custos;

  • debugging.

Para um mainframer isso lembra diversas estratégias históricas de restart e recuperação de processamento batch.

Nada particularmente glamouroso.

Mas extremamente importante às três da manhã.


🧱 CAPÍTULO 13 — GUARDRAILS: O AGENTE PRECISA CONHECER AS PAREDES

Imagine dar esta instrução:

Resolva o problema do cliente.

Parece razoável.

Mas quais ações são permitidas?

Pode oferecer desconto?

Quanto?

Pode cancelar contrato?

Pode devolver dinheiro?

Pode acessar histórico financeiro?

Pode enviar dados para terceiros?

Pode apagar registros?

Um objetivo sem limites pode ser perigoso.

Portanto precisamos de guardrails.

Exemplo:

OBJETIVO
Resolver reclamação do cliente

PERMITIDO
✓ consultar pedido
✓ consultar entrega
✓ gerar resposta
✓ oferecer crédito até R$ 50

EXIGE APROVAÇÃO
! crédito entre R$ 50 e R$ 500
! cancelamento

PROIBIDO
✗ alterar dados financeiros
✗ revelar dados de outro cliente
✗ excluir histórico
✗ executar pagamentos acima do limite

Observe que isso começa a parecer uma mistura de:

REQUISITOS
+
SEGURANÇA
+
REGRAS DE NEGÓCIO
+
UX

Exatamente.


🧪 CAPÍTULO 14 — SANDBOX: DEIXE O ROBÔ BRINCAR LONGE DA PRODUÇÃO

Programadores COBOL conhecem perfeitamente esta conversa:

Vamos testar direto em produção?

Silêncio no CPD.

Alguém começa a procurar a saída de emergência.

😂

Agentes também deveriam possuir ambientes seguros para experimentação.

Em desenvolvimento:

AGENTE
↓
SANDBOX
↓
DADOS DE TESTE
↓
APIs SIMULADAS
↓
RESULTADO

Antes de:

AGENTE
↓
PRODUÇÃO

Podemos simular:

  • APIs;

  • arquivos;

  • usuários;

  • transações;

  • erros;

  • timeouts;

  • indisponibilidade;

  • dados inesperados.

Inclusive devemos testar comportamento adverso.

O que acontece quando a API responde algo incompleto?

E quando uma ferramenta fica indisponível?

E quando o documento contém uma instrução tentando desviar o agente?

E quando duas fontes discordam?

A inteligência do modelo não elimina testes.

Ela cria novas categorias de teste.


🔁 CAPÍTULO 15 — IDEMPOTÊNCIA: POSSO EXECUTAR DE NOVO?

Aqui aparece um conceito técnico extremamente útil.

Imagine que o agente tente:

Efetuar pagamento de R$ 1.000.

A chamada é enviada.

A conexão cai.

O agente não sabe se o pagamento aconteceu.

Então pensa:

Vou tentar novamente.

Parabéns.

Talvez tenhamos acabado de pagar R$ 2.000.

Por isso operações precisam considerar idempotência.

Uma operação idempotente pode ser repetida sem produzir efeitos adicionais indesejados.

Por exemplo, conceitualmente:

PROCESSAR PAGAMENTO
ID_TRANSACAO = ABC123

Se ABC123 já foi processada:

NÃO PROCESSAR NOVAMENTE

Agentes tornam esse tipo de engenharia ainda mais importante porque podem decidir repetir ações diante de falhas.

Retries cegos são perigosos.


⏱️ CAPÍTULO 16 — TIMEOUT, RETRY E CIRCUIT BREAKER

Imagine:

AGENTE
↓
API
↓
TIMEOUT

O que fazer?

Tentar novamente?

Quantas vezes?

Imediatamente?

Depois de cinco segundos?

Depois de um minuto?

Precisamos de políticas.

Por exemplo:

Tentativa 1
↓ falhou

espera 2 s

Tentativa 2
↓ falhou

espera 4 s

Tentativa 3
↓ falhou

STOP

Agora imagine que a API inteira esteja indisponível.

Mil agentes continuam tentando.

Você acaba transformando uma falha em uma avalanche.

É aqui que conceitos como circuit breaker entram.

Depois de determinado número de falhas:

CIRCUITO ABERTO

Pare temporariamente de chamar o serviço.

Isso não nasceu com IA.

São princípios conhecidos de sistemas distribuídos.

Mas agentes precisam respeitá-los.

A IA não aboliu engenharia de software.

Ela entrou na fila para aprender engenharia de software.


🧙 CAPÍTULO 17 — TURING DESENHA O AGENTE CORPORATIVO

Turing pega o giz.

Desenha:

            HUMANO
               │
               ▼
            OBJETIVO
               │
               ▼
        ┌─────────────┐
        │   AGENTE    │
        └─────────────┘
               │
       ┌───────┼────────┐
       ▼       ▼        ▼
     DADOS    APIs   FERRAMENTAS
       │       │        │
       └───────┼────────┘
               ▼
            AÇÕES

Depois coloca uma muralha ao redor:

┌─────────────────────────────────┐
│          GOVERNANÇA             │
│                                 │
│ IDENTIDADE                      │
│ PERMISSÕES                      │
│ LEAST PRIVILEGE                 │
│ GUARDRAILS                      │
│ CHECKPOINTS                     │
│ LOGS                            │
│ AUDITORIA                       │
│ HUMAN-IN-THE-LOOP               │
│ ROLLBACK                        │
│ OBSERVABILIDADE                 │
└─────────────────────────────────┘

— Agora — diz Turing — você possui algo mais próximo de um sistema corporativo.


🏰 CAPÍTULO 18 — PF3, MAXCC E RACF FORMAM UMA TRÍADE

Finalmente percebemos a brincadeira.

Três velhos conhecidos representam três perguntas fundamentais.

PF3 — POSSO PARAR?

INTERRUPTIBILIDADE

O usuário precisa manter autoridade para interromper.

MAXCC — FUNCIONOU?

OBSERVABILIDADE

Precisamos saber o estado e o resultado.

RACF — PODIA FAZER ISSO?

AUTORIZAÇÃO

Precisamos limitar autoridade.

Portanto:

PF3
↓
CONTROLE

MAXCC
↓
EVIDÊNCIA

RACF
↓
AUTORIDADE

Esses três princípios são extraordinariamente modernos.

Embora suas implementações sejam diferentes, as perguntas permanecem.


🧠 CAPÍTULO 19 — A UX DO AGENTE NÃO É “UMA CAIXA DE CHAT MAIS BONITA”

Aqui está talvez a grande conclusão técnica.

Durante os primeiros anos da IA generativa, muita interface foi construída como:

┌─────────────────────────────┐
│                             │
│       CONVERSA              │
│                             │
├─────────────────────────────┤
│ Digite uma mensagem...      │
└─────────────────────────────┘

Perfeito para conversa.

Mas um agente exige muito mais.

Talvez precisemos mostrar:

OBJETIVO
ESTADO
PLANO
PROGRESSO
FERRAMENTAS
PERMISSÕES
CUSTO
RISCO
AÇÕES
RESULTADOS
APROVAÇÕES
LOGS

E ainda assim não podemos transformar a tela num cockpit de Boeing para alguém que só queria organizar a agenda.

Esse é o grande desafio de UX:

mostrar controle suficiente sem devolver toda a complexidade ao usuário.


🎚️ CAPÍTULO 20 — AUTONOMIA DEVERIA SER UM CONTINUUM

Não existe apenas:

MANUAL

versus:

AUTÔNOMO

Podemos imaginar níveis.

Nível 0 — Assistência

IA sugere.
Humano executa.

Nível 1 — Preparação

IA prepara.
Humano confirma.

Nível 2 — Execução limitada

IA executa ações de baixo risco.
Confirma ações críticas.

Nível 3 — Autonomia supervisionada

IA executa workflow.
Humano acompanha exceções.

Nível 4 — Autonomia ampla dentro de limites

IA executa.
Humano audita e intervém quando necessário.

A UX deveria deixar claro em qual regime estamos.

Um usuário nunca deveria descobrir depois que aquilo que parecia uma sugestão era uma ação real.


👨‍💻 CAPÍTULO 21 — O PROGRAMADOR COBOL PODE TER UMA VANTAGEM SURPREENDENTE

Alguém poderia imaginar que toda essa revolução torna experiência em sistemas antigos irrelevante.

Pode acontecer exatamente o contrário em algumas áreas.

Quem trabalha com sistemas corporativos já pensa naturalmente em:

IDENTIDADE
TRANSAÇÃO
AUTORIZAÇÃO
LOG
RECOVERY
COMMIT
ROLLBACK
RESTART
AUDITORIA
SLA
PRODUÇÃO

São exatamente os problemas que reaparecem quando transformamos modelos inteligentes em sistemas capazes de agir.

Um chatbot divertido pode sobreviver a:

“Ops, respondi errado.”

Um agente financeiro não.

Um chatbot pode inventar o nome de um livro e gerar uma situação engraçada.

Um agente alterando uma base de produção precisa de outro nível de engenharia.

Portanto o futuro da IA empresarial não pertence apenas a quem entende modelos.

Também pertence a quem entende:

sistemas.


🥚 EASTER EGG — O AGENTE PEDE SPECIAL

Às 03:17 da manhã, o agente envia uma mensagem:

AGENT01:
Preciso de acesso administrativo total
para concluir minha tarefa.

O jovem programador olha para Turing.

Turing olha para o administrador RACF.

O administrador RACF olha para o agente.

Silêncio.

Finalmente:

ICH408I USER(AGENT01)
ACCESS INTENT(UPDATE)
ACCESS ALLOWED(NONE)

O agente pergunta:

Posso tentar novamente?

O administrador responde:

NO.

Turing sorri.

— Excelente sistema de alinhamento.


☕ EPÍLOGO — TALVEZ A INTERFACE MAIS IMPORTANTE SEJA O FREIO

Durante décadas pensamos em UX perguntando:

Como tornar computadores mais fáceis?

Depois:

Como reduzir cliques?

Depois:

Como tornar aplicativos intuitivos?

Com IA generativa perguntamos:

Como tornar natural conversar com a máquina?

Mas agentes introduzem uma pergunta nova:

Como tornar compreensível, controlável e reversível aquilo que a máquina está fazendo em nosso nome?

Isso muda tudo.

O botão mais importante talvez não seja:

EXECUTAR

Pode ser:

PARAR

A informação mais importante talvez não seja:

CONCLUÍDO

Pode ser:

CONCLUÍDO
COM 2 EXCEÇÕES
E 1 AÇÃO AGUARDANDO APROVAÇÃO

E a configuração mais importante talvez não seja:

SEJA MAIS INTELIGENTE

Mas:

VOCÊ NÃO TEM AUTORIZAÇÃO PARA ISSO

Curiosamente, quanto mais inteligente a máquina se torna, mais importantes ficam algumas das disciplinas aparentemente antigas da computação corporativa.

Permissões.

Logs.

Auditoria.

Transações.

Checkpoints.

Rollback.

Recovery.

Observabilidade.

Segregação de funções.

Least privilege.

Human-in-the-loop.

Porque autonomia sem controle não é sofisticação.

É apenas uma maneira extremamente moderna de produzir um incidente extremamente antigo.

Alan Turing fecha o terminal.

Antes de sair, escreve três linhas no quadro:

PF3    → POSSO PARAR?

MAXCC  → FUNCIONOU?

RACF   → PODIA FAZER?

E abaixo acrescenta:

AGENTE DE IA
=
OBJETIVO
+ AUTONOMIA
+ LIMITES
+ EVIDÊNCIA
+ CONTROLE HUMANO

O jovem programador COBOL olha para aquilo.

Finalmente entende.

A grande revolução dos agentes não será simplesmente construir máquinas capazes de trabalhar por nós.

Será construir sistemas nos quais saibamos:

o que delegamos,

o que elas fizeram,

o que ainda pretendem fazer,

até onde podem ir,

quando precisam perguntar,

como podemos interrompê-las,

e o que fazer quando alguma coisa der errado.

No velho CPD aprendemos a perguntar:

QUAL JOB ESTÁ RODANDO?

Na era dos agentes perguntaremos:

QUAL OBJETIVO ESTÁ RODANDO?

Mudou a abstração.

Não mudou nossa responsabilidade.

E talvez esta seja uma das maiores ironias da inteligência artificial:

quanto mais autonomia entregamos às máquinas, mais precisamos reaprender algumas das lições que os grandes sistemas corporativos levaram décadas para descobrir.

Não basta fazer funcionar.

Temos que saber quem executou.

Por que executou.

Com qual autoridade.

Contra quais dados.

Qual foi o resultado.

E, principalmente...

como apertar o equivalente moderno de:

PF3

quando o robô resolver que teve uma ideia brilhante demais.

READY

Sempre existe outro job esperando.

☕ 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, 15 de março de 2023

O Software Vale Milhões. O Programador Recebe Apenas Uma Vez?

 

Bellacosa Mainframe e a propriedade autoral em software

☕ Um Café no Bellacosa Mainframe

O Software Vale Milhões. O Programador Recebe Apenas Uma Vez?

O Que Todo Programador COBOL Padawan Precisa Saber Sobre Direitos Autorais, Contratos, Propriedade Intelectual e o Futuro da Engenharia de Software

"Quando um software gera bilhões para uma empresa durante décadas, quem realmente criou esse valor? Apenas quem investiu dinheiro ou também quem investiu conhecimento?"

Essa não é uma pergunta jurídica.

Também não é uma pergunta econômica.

É uma pergunta que, cedo ou tarde, todo profissional de tecnologia faz.

Principalmente quem trabalha em grandes empresas, bancos, seguradoras, indústrias e governos.

Imagine a seguinte situação.

Em 1998, uma equipe de desenvolvedores COBOL construiu um sistema de crédito.

Eles analisaram requisitos, desenharam arquitetura, modelaram bancos de dados, criaram algoritmos, implementaram regras de negócio, escreveram milhares de linhas de código e passaram meses testando a solução.

Hoje, quase trinta anos depois, esse mesmo sistema continua processando milhões de transações diariamente.

Movimenta bilhões de reais.

Sustenta parte do negócio.

Mas aqueles profissionais provavelmente não receberam um centavo além do salário ou do valor do contrato.

A pergunta inevitável surge.

Isso é justo?

Não existe resposta simples.

E justamente por isso vale a pena refletir.


Antes de tudo: software possui direito autoral?

Sim.

Existe um mito muito difundido de que software "não possui direito autoral".

Isso não é verdade.

No Brasil, programas de computador possuem proteção jurídica específica, inspirada no direito autoral.

Ou seja, quando um desenvolvedor escreve um algoritmo, cria uma arquitetura ou implementa uma solução original, existe autoria.

O código não surge espontaneamente.

Ele é fruto de conhecimento técnico, criatividade, experiência e capacidade intelectual.

Da mesma forma que um escritor escreve um livro ou um engenheiro projeta uma ponte, um desenvolvedor cria uma obra intelectual.

A diferença está em quem pode explorar economicamente essa obra.


Autor não é necessariamente proprietário

Esse é um dos pontos que mais confundem profissionais iniciantes.

Ser autor não significa possuir os direitos econômicos.

Na maioria dos contratos corporativos acontece exatamente isso.

O profissional continua sendo o criador intelectual.

Entretanto, os direitos de exploração comercial pertencem ao contratante.

Na prática, a empresa pode:

  • comercializar;

  • modificar;

  • distribuir;

  • licenciar;

  • integrar o software a outros produtos;

  • obter lucro durante décadas.

Tudo isso porque houve uma cessão contratual dos direitos patrimoniais.

Não significa que o desenvolvedor deixou de ser o criador.

Significa apenas que vendeu os direitos econômicos daquela criação.


O salário remunera apenas o tempo?

Aqui começa uma discussão extremamente interessante.

Muitos dizem:

"Você foi contratado para desenvolver software. O salário já paga isso."

Parece lógico.

Mas será que paga mesmo?

Vamos imaginar dois profissionais.

Ambos recebem exatamente o mesmo documento de requisitos.

O primeiro entrega um sistema funcional.

O segundo entrega um sistema:

  • mais rápido;

  • mais seguro;

  • mais escalável;

  • mais simples de manter;

  • preparado para integração futura;

  • com excelente tratamento de erros.

Os requisitos eram idênticos.

O salário também.

O resultado, porém, possui valores completamente diferentes.

O que fez a diferença?

Conhecimento.

Experiência.

Criatividade.

Arquitetura.

Engenharia.

Ou seja, aquilo que nenhum requisito consegue especificar completamente.


O software não é apenas código

Existe uma visão equivocada de que programar significa apenas transformar requisitos em linhas de código.

Na realidade, software envolve decisões intelectuais constantes.

Escolher uma estrutura de dados.

Criar um algoritmo eficiente.

Definir arquitetura.

Evitar débito técnico.

Projetar APIs.

Garantir segurança.

Melhorar desempenho.

Antecipar problemas futuros.

Nenhuma dessas atividades é totalmente mecânica.

São decisões humanas.

E essas decisões criam valor econômico.

Muito valor.


O paradoxo da engenharia de software

Curiosamente, quanto melhor um software é construído, menos as pessoas percebem sua importância.

Sistemas estáveis passam anos sem chamar atenção.

Ninguém elogia.

Ninguém comenta.

Mas basta ocorrer uma falha para todos lembrarem que aquele sistema existe.

Esse é o paradoxo da engenharia.

O sucesso costuma ser invisível.


O caso dos sistemas IBM Mainframe

Quem trabalha com IBM Z conhece esse fenômeno perfeitamente.

Existem sistemas COBOL escritos há décadas.

Foram mantidos por gerações de profissionais.

Receberam novas funcionalidades.

Migraram versões.

Ganharam APIs.

Integraram microsserviços.

Continuam processando bilhões de transações.

Quanto vale esse conhecimento acumulado?

Difícil responder.

Porque boa parte desse valor não está apenas no código.

Está nas decisões tomadas ao longo do tempo.


E os freelancers?

Talvez seja aqui que a discussão fique ainda mais delicada.

Imagine um desenvolvedor independente.

Ele dedica seis meses ao desenvolvimento de uma solução.

Recebe pelo projeto.

Entrega.

Assina a cessão dos direitos.

Cinco anos depois, aquele software tornou-se o principal produto da empresa.

Fatura milhões.

O desenvolvedor não participa desse crescimento.

Isso significa que houve injustiça?

Não necessariamente.

Mas certamente existe um debate legítimo.

O profissional vendeu apenas seu tempo?

Ou vendeu também um patrimônio intelectual que continuará produzindo riqueza durante muitos anos?


O argumento das empresas

Também é importante compreender o outro lado.

Empresas assumem riscos enormes.

Investem em:

  • infraestrutura;

  • marketing;

  • vendas;

  • suporte;

  • certificações;

  • advogados;

  • impostos;

  • treinamento;

  • aquisição de clientes.

Nem todo software gera lucro.

Muitos projetos fracassam.

Alguns sequer entram em produção.

Nesses casos, normalmente o desenvolvedor recebeu integralmente pelo trabalho.

Quem absorveu o prejuízo foi o contratante.

Esse é um argumento forte.

Quem assume o risco tende a receber o retorno.


Mas será que existem apenas duas opções?

Não.

Talvez o maior erro seja imaginar que existem somente dois modelos.

Modelo 1.

Pagamento único.

Modelo 2.

Royalties eternos.

Na realidade existe um enorme espaço intermediário.


Modelos que começam a surgir

Algumas empresas já experimentam soluções diferentes.

Por exemplo:

• participação nos lucros;

• bônus vinculados a metas;

• stock options;

• participação societária;

• contratos de manutenção recorrente;

• licenciamento em vez de cessão definitiva;

• remuneração variável baseada em indicadores de sucesso.

Nenhum modelo é perfeito.

Mas todos procuram aproximar quem cria valor de quem captura valor.


A Inteligência Artificial mudará essa discussão?

Provavelmente.

Hoje um desenvolvedor não entrega apenas código.

Entrega:

  • prompts especializados;

  • arquiteturas RAG;

  • agentes inteligentes;

  • pipelines de dados;

  • automações complexas;

  • bases de conhecimento;

  • estratégias de integração.

Grande parte desse conhecimento continua gerando valor muito depois da entrega do projeto.

Isso faz surgir uma nova pergunta.

Estamos vendendo software?

Ou estamos vendendo conhecimento especializado?

Talvez a resposta seja as duas coisas.


O conhecimento é um ativo

Durante décadas ouvimos que "dados são o novo petróleo".

Talvez exista uma afirmação ainda mais correta.

Conhecimento é o ativo mais valioso da economia digital.

É justamente esse conhecimento que transforma um requisito comum em uma solução extraordinária.

Nenhuma inteligência artificial consegue substituir décadas de experiência em negócios bancários, seguros, logística ou telecomunicações sem que alguém ensine esses conceitos.

E quem ensina?

Os profissionais.


Uma reflexão para quem contrata

Empresas precisam proteger seus investimentos.

Isso faz sentido.

Mas também precisam reter talentos.

Talvez um contrato que reconheça, ainda que parcialmente, o sucesso gerado pelo software seja mais eficiente do que simplesmente aumentar salários.

Profissionais valorizados permanecem.

Conhecimento permanece.

Qualidade permanece.


Uma reflexão para quem desenvolve

Também existe uma lição importante.

Nem todo projeto precisa significar cessão total dos direitos.

Em muitos casos é possível negociar.

Por exemplo:

  • manter propriedade sobre bibliotecas próprias;

  • reutilizar frameworks desenvolvidos anteriormente;

  • estabelecer contratos de manutenção;

  • prever bônus por desempenho;

  • licenciar componentes reutilizáveis.

Nem sempre o cliente aceitará.

Mas conversar sobre isso já representa uma evolução profissional.


O verdadeiro patrimônio do programador

Existe algo que nenhum contrato consegue retirar.

Sua experiência.

Cada projeto aumenta seu repertório.

Cada problema resolvido amplia sua capacidade de criar soluções futuras.

Esse patrimônio permanece com você.

E vale muito mais do que qualquer linguagem de programação.

COBOL.

Java.

Python.

Go.

Rust.

Todas mudarão.

Mas a capacidade de resolver problemas continuará sendo o maior diferencial de um engenheiro de software.


Uma pergunta que merece ser feita

Talvez o objetivo deste artigo não seja responder.

Talvez seja provocar reflexão.

Quando um sistema desenvolvido hoje continuar funcionando em 2055...

Quando ele ainda movimentar bilhões...

Quando dezenas de empresas dependerem dele...

Quando milhares de pessoas utilizarem seus serviços diariamente...

Quem criou esse valor?

A empresa?

O investidor?

O cliente?

O arquiteto?

O analista?

O programador?

O testador?

A resposta talvez seja simples.

Todos.

E justamente por isso talvez o futuro da engenharia de software caminhe para modelos de remuneração mais colaborativos, equilibrando investimento, risco e reconhecimento intelectual.

Não para transformar cada desenvolvedor em sócio de todos os projetos, mas para reconhecer que software não nasce apenas de computadores. Nasce de pessoas.

No fim, talvez a maior riqueza produzida por um programador nunca tenha sido o código-fonte. Sempre foi sua capacidade de transformar conhecimento em valor. O código apenas registra essa transformação.

Enquanto discutimos inteligência artificial, automação e produtividade, vale lembrar que toda tecnologia começa com uma ideia humana. É essa ideia que merece ser protegida, valorizada e, sempre que possível, reconhecida de forma justa.

Porque um software pode durar décadas.

Mas é o conhecimento de quem o construiu que faz toda a diferença desde o primeiro dia.

 


A pensar


Quando um software gera valor durante décadas, quem realmente construiu esse patrimônio? Este artigo analisa a relação entre autoria, contratos, propriedade intelectual e reconhecimento profissional, explorando diferentes modelos de remuneração para desenvolvedores, freelancers e equipes de tecnologia, sempre sob uma perspectiva técnica e de mercado, sem assumir um posicionamento jurídico definitivo.

❤️🔥 O Guia Definitivo das Waifus e Husbandos

Bellacosa Mainframe introduz waifus e husbandos


❤️🔥 O Guia Definitivo das Waifus e Husbandos

Como escolher seu crush perfeito (ou pelo menos rir tentando)

Se você é padawan da cultura otaku, já ouviu falar de waifus e husbandos. Mas, cuidado: o mundo dos amores animados é traiçoeiro. Um deslize, e você passa a madrugada discutindo quem é mais fofinho, ou pior… chorando pela ausência de aprovação do fandom 😭✨

Vamos navegar nesse universo sem spoilers, mas com muita risada.


🎯 1) O que é uma waifu / husbando?

  • Waifu: personagem feminina que você ama e idolatra ❤️

  • Husbando: personagem masculino que você ama e idolatra 💙

Não importa se ela/ele é protagonista, coadjuvante ou o NPC que só aparece no episódio 7… se conquistou seu coração, é oficialmente parte do seu catálogo.


🤓 2) Tipos de waifus/husbandos

Aqui a coisa fica séria (ou quase 😎):

TipoCaracterísticasExemplo
TsundereFrio/agressivo por fora, caloroso por dentroTaiga (Toradora), Katsuki (MHA)
YandereAmor intenso + tendências assassinasYuno Gasai (Mirai Nikki)
KuudereFrio, calmo, sérioRei Ayanami (Evangelion)
DandereSilencioso, tímido, fofinhoHinata (Naruto)
Genki Girl / BoyEnergia infinita, alegria contagianteUsagi (Sailor Moon), Naruto
Macho exagerado / O poderosoHerói ou vilão cômico, exageradoLuffy (One Piece), Guts (Berserk)

🧠 3) Como reconhecer seu “ideal”

1️⃣ Observe personalidade → ela/ele combina com você ou te desafia?
2️⃣ Observe estilo visual → cabelo, roupa, armas, expressão exagerada
3️⃣ Observe química → com outros personagens ou só com você?
4️⃣ Não ignore humor → waifus/husbandos engraçados são perfeitos ❤️😂

Dica de ouro: nem sempre a fofura vence a praticidade… mas sempre vence no coração do fandom.


🔥 4) Arquétipos cômicos e memes

Muitas waifus e husbandos viram meme oficial por suas reações exageradas:

  • Explosões de raiva → tsundere clássico

  • Olhar mortal → yandere intenso

  • Gritos histéricos → genki girl/husbando energético

  • Silêncio mortal → kuudere/dandere irônico

Ou seja: quanto mais exagero, mais icônico.


🎲 5) Como escolher sem culpa

  • Não precisa limitar: ter 3 waifus e 2 husbandos é totalmente normal

  • Colecione experiências: leia shoujos, shonens, isekais, slice of life

  • Aceite o absurdo: personagens impossíveis são parte do charme

  • Discuta com amigos otakus: memes + debates = diversão garantida


🌟 6) Curiosidades divertidas

  • Alguns fandoms criam “casamentos” e rankings online

  • Existem apps para simular interações com sua waifu/husbando

  • Na internet, há universos alternativos só com “casais impossíveis”

  • Waifus podem ter mais seguidores que youtubers reais 😎


🎤 Conclusão do narrador apaixonado

Waifus e husbandos não são apenas personagens. São companheiros imaginários, fontes de risadas, memes e discussões acaloradas.

O guia definitivo? Escolha o que te faz sorrir, aceite o fandom e nunca, jamais, subestime o poder de um personagem exagerado 💖😂 

terça-feira, 14 de março de 2023

🎭 EXPRESSÕES CÔMICAS JAPONESAS PARA TREINO

Bellacosa Mainframe e as expresso comicas em anime

 

🎭 EXPRESSÕES CÔMICAS JAPONESAS PARA TREINO


🎭 Introdução — Quando um Simples “EH?!” Vale Mais que Mil Palavras

Quem assiste anime há algum tempo já percebeu: os personagens japoneses não precisam terminar uma frase para explicar o que estão sentindo. Às vezes basta um “Eh?!”, uma gota de suor imaginária, três segundos de silêncio ou aquele olhar lateral capaz de dizer: “não acredito que estou participando desta conversa”.

A comédia nos animes desenvolveu uma linguagem visual e sonora própria, construída pela combinação de expressões faciais exageradas, gestos, interjeições, pausas e timing cômico. O rosto pode abandonar completamente a anatomia normal durante alguns segundos: olhos desaparecem, bocas ocupam metade da cabeça, personagens ficam petrificados ou assumem uma expressão tão absurda que quase se transformam em outra criatura.

E justamente aí está a diversão.

Expressões como “Nani kore?”, “Chotto matte!”, “Muri muri muri!” ou o interminável “Eeeeeeh?!” não são apenas palavras japonesas. Quando utilizadas na comédia, voz, rosto e corpo trabalham juntos para amplificar a reação.

Nesta pequena academia de caretas do Bellacosa Mainframe, vamos transformar essas convenções em exercícios divertidos de interpretação. Não para criar um catálogo rígido do comportamento japonês — afinal, anime é linguagem artística, não documentário —, mas para compreender como exagero, contraste e ritmo transformam uma reação banal em comédia.

Prepare o espelho.

Solte as sobrancelhas.

Aqueça a mandíbula.

E quando alguém perguntar por que você está fazendo caretas sozinho diante do computador…

😳 EEEEEEEEEH?!

🥸 1. “Eh?!” (えっ?!) — Surpresa Confusa

  • Expressão: olhos bem abertos, sobrancelhas levantadas, boca semiaberta em “O”.

  • Uso: quando algo inexplicável acontece (por exemplo, uma regra social absurda).

  • Dica de treino: pratique olhando no espelho e abrindo os olhos como se visse algo impossível (“eles fazem fila até pra pedir desculpa??”).




😤 2. “Chotto matte yo!” (ちょっと待ってよ!) — Protesto desesperado

  • Expressão: sobrancelhas franzidas, lábios esticados, corpo projetado pra frente.

  • Uso: quando o personagem tenta intervir mas o caos segue (ex: festival vira confusão).

  • Dica: treine com gestos exagerados e um leve tom de tragédia shakespeariana.




😳 3. “Ehhhhh?!?!” (ええええ〜っ!?) — Choque prolongado

  • Expressão: boca aberta por mais tempo que o normal, olhos piscando, maxilar caído.

  • Uso: clássico de animes e programas humorísticos. Quando algo “inacreditável” é dito.

  • Dica: pratique segurando o “Ehhhhh” por 3 a 5 segundos, como um grito mudo.




😅 4. “Aa... sou desu ka…” (あぁ…そうですか…) — constrangimento educado

  • Expressão: sorriso tenso, suor imaginário escorrendo, olhar lateral.

  • Uso: quando tenta manter a compostura diante de uma situação bizarra.

  • Dica: sorria forçado e mova lentamente o olhar para o lado, como se dissesse “socorro”.




🤨 5. “Nani kore?” (何これ?) — estranhamento total

  • Expressão: sobrancelhas arqueadas, olhos semicerrados, canto da boca caído.

  • Uso: ao ver um costume incompreensível.

  • Dica: combine cara de nojo + curiosidade, como quem cheira algo duvidoso.




🤯 6. “Muri muri muri!” (ムリムリムリ!) — “Impossível, impossível!”

  • Expressão: testa franzida, olhos apertados, lábios contraídos.

  • Uso: quando o personagem é forçado a fazer algo impensável (ex: banho coletivo).

  • Dica: pratique com microexpressões rápidas e respiração acelerada.




😈 7. “Yatta!” (やったー!) — Vitória exagerada

  • Expressão: sorriso largo, braços pro alto, olhos brilhando.

  • Uso: quando o personagem finalmente acerta algo simples (e se gaba demais).

  • Dica: segure a pose de vitória com orgulho infantil por 2 segundos.




🥺 8. “Gomen nasai…” (ごめんなさい…) — desculpa exageradamente arrependida

  • Expressão: olhos de cachorro, boca em arco, ombros encolhidos.

  • Uso: após uma gafe cultural (ex: pisar no tatame com sapato).

  • Dica: pratique pedindo desculpas a um espelho, inclinando o corpo em 30°.





🤡 9. “Omae wa... baka ka?” (お前はバカか?) — indignação cômica

  • Expressão: meio sorriso irônico + testa franzida + olhar de julgamento.

  • Uso: quando vê algo ridículo, mas tenta parecer superior.

  • Dica: pratique alternando o olhar sério e o risinho debochado.




😭 10. “Uwaaah!” (うわーん!) — Choro teatral

  • Expressão: olhos fechados, boca aberta em “A”, corpo curvado pra frente.

  • Uso: para exagerar a frustração (ex: perder o trem por 2 segundos).

  • Dica: solte o corpo e o queixo, respiração curta e soluços falsos.


💡 DICAS DE INTERPRETAÇÃO GERAL

  • Ritmo: o humor japonês ama pausas e silêncios constrangedores (use o timing).

  • Contraste: o engraçado vem do contraste entre o “seriedade ocidental” e o “excesso japonês”.

  • Som facial: experimente pronunciar sons japoneses (えっ, うわっ, あぁ) enquanto treina — isso ajuda a soltar a expressão.

  • Treino em espelho: filme-se e observe como pequenas tensões (olhos, sobrancelhas, lábios) mudam totalmente o tom.


segunda-feira, 13 de março de 2023

Os Holocrons Esquecidos do Tratamento de Erros no IBM Z – O Lado Sombrio das Exceções - Parte III

 

Bellacosa Mainframe e o tratamento de erros em cobol parte III



EXCEPTION/ERROR Procedures em COBOL

Os Holocrons Esquecidos do Tratamento de Erros no IBM Z

Parte 3 – O Lado Sombrio das Exceções

LE, CICS HANDLE CONDITION, ON EXCEPTION, CEEHDLR, Dumps, Fault Analyzer, IPCS e os Monstros do S0C4

Por Bellacosa Mainframe


"Um Padawan trata FILE STATUS. Um Cavaleiro domina DECLARATIVES. Um Mestre Bellacosa sabe conversar com o Language Environment enquanto observa um CEEDUMP às três horas da manhã."

Mestre Bellacosa Sysprog Jedi


Introdução

Na Parte 1 aprendemos:

  • DECLARATIVES

  • USE AFTER ERROR PROCEDURE

  • Tratamento centralizado

Na Parte 2 aprendemos:

  • FILE STATUS

  • VSAM

  • Retry

  • Logging

  • Frameworks corporativos

Mas existe um outro universo.

Muito mais sombrio.

Muito mais antigo.

Muito mais poderoso.

O universo chamado:

Language Environment

Ou simplesmente.

LE


O que é LE?

LE significa.

Language Environment.


É o runtime comum.

De várias linguagens.

No z/OS.

Suporta.

COBOL

PL/I

C

C++

Metal C

Assembler


Visualmente.

Programa COBOL

↓

Language Environment

↓

z/OS

↓

Hardware

O que acontece quando ocorre um erro?

Exemplo.

DIVIDE A

BY B

B.

Vale.

Zero.


Resultado.

Exceção.


LE detecta.


Avalia.

Condition Handler.


Decide.

Continuar.

Terminar.

Gerar dump.


Condition Handling

LE trabalha.

Com condições.


Exemplos.

CEE3207S

CEE0813S

CEE0198S

CEE3250C


Muito conhecidos.


Exemplo

Overflow.

COMPUTE TOTAL

=

99999999999999

*

99999999999999

LE.

Captura.


Mensagem.

CEE3207S

ON SIZE ERROR

Primeira linha.

De defesa.


Exemplo.

ADD A TO B

ON SIZE ERROR

DISPLAY 'ERRO'

Muito elegante.


ON EXCEPTION

Outro mecanismo.


JSON.

JSON PARSE

WS-JSON


ON EXCEPTION


DISPLAY 'ERRO'

XML.

Também.


STRING.

Também.


CEEHDLR

Aqui começa.

A magia.


Pouquíssimos conhecem.


CEEHDLR.

Permite.

Criar.

Condition Handlers.

Personalizados.


Arquitetura.

Erro


↓

LE


↓

CEEHDLR


↓

Handler


↓

Aplicação

Muito sofisticado.


CEESGL

Outra API.


Sinalização.

Condições.


Pouco usada.


Muito poderosa.


Exemplo conceitual

CALL 'CEEHDLR'

Handler.

Registrado.


Toda exceção.

Passa.

Por ele.


CICS HANDLE CONDITION

Outro Holocron.

Muito famoso.


Exemplo.

EXEC CICS

HANDLE CONDITION

NOTFND(ERRO1)

ENDFILE(ERRO2)

END-EXEC

Muito elegante.


CICS.

Intercepta.

Condição.


Transfere.

Controle.


HANDLE ABEND

Mais poderoso.


Exemplo.

EXEC CICS

HANDLE ABEND

LABEL(ABEND1)

END-EXEC

Padawan.

Protegido.


S0C4

O rei.

Dos monstros.


Endereço inválido.


Overlay.


Heap.

Corrompido.


Pointer.

Errado.


Resultado.

SOC4.


SOC7

Muito comum.


Decimal inválido.


Exemplo.

Campo.

COMP-3.

Corrompido.


SOC7.


S0CB

Divide.

Por zero.


Muito clássico.


S878

Storage.

Exhausted.


Leak.

Heap.


Muito desagradável.


Dumps

O arqueólogo.

Do IBM Z.

Ama.

Dumps.


Tipos.

SYSUDUMP

CEEDUMP

SYSABEND

SNAP


CEEDUMP

Excelente.

Mostra.

Heap.

Stack.

Pointers.

Condition Handlers.


Muito útil.


Fault Analyzer

Fantástico.


Exemplo.

Mostra.

Linha COBOL.

Offset.

Variável.

Registradores.


Tempo.

Economizado.

Enorme.


Abend-AID

Outro clássico.


Muito amado.

Por bancos.


IPCS

O Holocron Supremo.


Ferramenta.

Dos sysprogs.


Comandos.

VERBX

IPCS

LIST

TRACE


Pouco amigável.


Muito poderosa.


Como funciona na memória?

LE mantém.

Stack.

Heap.

Tabela.

Condition Handlers.


Visualmente.

Stack


↓


Programa



↓


LE



↓


Handler

Erro.


LE consulta.

Tabela.


Executa.

Handler.


Performance

Excelente.


Handlers.

Quase.

Zero overhead.


Só atuam.

Quando necessário.


Segurança

Importante.


Permite.

Mascarar.

Informações.

Sensíveis.


Evita.

Expor.

Dados.

No dump.


Muito útil.

LGPD.

PCI.

SOX.


Framework Bellacosa

Arquitetura.

Erro


↓

LE


↓

CEEHDLR


↓

Logger


↓

MQ


↓

Splunk


↓

OpenTelemetry


↓

SOC Team

Muito moderna.


Curiosidades

Muitos bancos.

Possuem.

Condition Handlers.

Criados.

Há décadas.


Funcionam.

Até hoje.


Curiosidade 2

Grande parte.

Dos SOC4.

Não acontece.

Em teste.


Aparece.

Produção.


Sexta-feira.


23h58.


Naturalmente.


Curiosidade 3

Muitos desenvolvedores.

Nunca.

Viram.

CEEHDLR.


Mesmo após.

20 anos.

COBOL.


Bellacosa Best Practices

Sempre.

ON EXCEPTION.


Sempre.

ON SIZE ERROR.


Sempre.

Fault Analyzer.


Sempre.

CEEDUMP.


Sempre.

Logging.


Nunca.

Ignorar.

SOC7.


Nunca.

Ignorar.

SOC4.


Documente.

Tudo.


O Conselho do Mestre Bellacosa

Os erros mais perigosos do IBM Z raramente são aqueles previstos nos requisitos.

Eles vivem escondidos.

Nos registradores.

Nos heaps.

Nas pilhas.

Nos ponteiros esquecidos.

Nos buffers corrompidos.

E aguardam pacientemente o fechamento contábil do mês para se manifestar.

O jovem Padawan aprende FILE STATUS.

O Cavaleiro domina DECLARATIVES.

Mas o Mestre Bellacosa conversa com o Language Environment, lê um CEEDUMP como quem consulta um antigo manuscrito e utiliza CEEHDLR para interceptar exceções antes que elas se transformem em monstros capazes de derrubar uma galáxia inteira de jobs batch.

Porque talvez a maior lição desta jornada seja simples.

Um programa COBOL verdadeiramente robusto não é aquele que nunca falha.

É aquele que sabe exatamente o que fazer quando inevitavelmente a falha decide aparecer.


Continua na Parte 4

O Mestre Bellacosa – Frameworks Corporativos de Tratamento de Erros, MQ Dead Letter Queue, APIs JSON, OpenTelemetry, Splunk, Elastic, Observabilidade e a Arte Jedi de Transformar Falhas em Conhecimento.


quinta-feira, 9 de março de 2023

🌌 A Filosofia do Desejo em Anime — Parte 3: O Fetiche da Solidão

 

Bellacosa Mainframe e a filosofia do desejo parte III o fetiche da solidão

🌌 A Filosofia do Desejo em Anime — Parte 3: O Fetiche da Solidão

O século XXI transformou o amor num arquivo de nuvem.
O toque virou notificação.
O olhar, um emoji.
E o desejo — esse bicho antigo, irracional, cheio de ruídos — foi domesticado pelo algoritmo.

Nos animes modernos, o fetiche já não está no corpo, nem na roupa.
Está na distância.
No “quase toque”, no “quase beijo”, no “quase amor”.
O novo prazer é o que não se concretiza, mas permanece aceso na tela — eterno, mas intocável.


📱 1. Your Name (君の名は。)

Ano: 2016 | Direção: Makoto Shinkai

Dois jovens que se apaixonam sem se conhecer.
Trocam corpos, vidas, sonhos — mas nunca o toque.
O fetiche aqui é a impossibilidade.
O amor se torna sublime justamente porque não cabe no real.
Shinkai nos lembra: a saudade é o novo erotismo.

🔎 Curiosidade Bellacosa: No Japão, muitos fãs chamam o filme de “o romance do quase”.


🎭 2. Oshi no Ko (推しの子)

Ano: 2023 | Autor: Aka Akasaka

Um espelho da indústria do desejo.
Idols, fama e aparência: tudo é performance.
O fetiche aqui é o da imagem perfeita, construída para ser amada, mas nunca tocada.
É o amor pelo holograma, pela ilusão cuidadosamente editada.

🔎 Curiosidade Bellacosa: Oshi no Ko é o tratado moderno sobre o “amor de consumo”.
A idol não é mulher — é marca registrada de afeto.


🕹️ 3. Sword Art Online (ソードアート・オンライン)

Ano: 2012 | Autor: Reki Kawahara

No mundo virtual, o corpo é descartável e o toque é dado por circuitos.
Kirito e Asuna vivem um amor de código — intenso, sincero, mas simulado.
O fetiche é a imortalidade do sentimento digital:
enquanto o corpo dorme, o amor luta, sobrevive e reprograma o medo de morrer.

🔎 Curiosidade Bellacosa: SAO é o “Romeu e Julieta” da era digital: morrer no jogo é amar demais.


💔 4. Violet Evergarden (ヴァイオレット・エヴァーガーデン)

Ano: 2018 | Estúdio: Kyoto Animation

Violet é uma boneca que aprende a escrever cartas.
Ela busca entender o que significa “eu te amo”,
mas vive num mundo onde as palavras substituem o toque.
O fetiche aqui é emocional — amar sem compreender, desejar sem saber por quê.

🔎 Curiosidade Bellacosa: cada carta escrita é uma confissão disfarçada — um orgasmo sentimental.


☕ Epílogo de Balcão

O fetiche moderno não é o corpo.
É a solidão estilizada.
É o desejo de ser visto, mesmo que por uma tela.
É o medo de se entregar — travestido de conforto digital.

O Japão, com sua sensibilidade silenciosa, apenas deu forma estética a um fenômeno universal:
a geração que prefere amar por Wi-Fi a sofrer por alguém real.

E talvez, no fundo, o novo fetiche seja este:
amar sem tocar, desejar sem possuir, viver sem arriscar.
Porque o toque dói, mas o pixel consola.
E o anime — esse espelho sensível do inconsciente coletivo — apenas nos mostra que
até o vazio pode ser bonito, se tiver trilha sonora.


quarta-feira, 8 de março de 2023

💖😂 Guia do Humor Romântico nos Shoujos

 


💖😂 Guia do Humor Romântico nos Shoujos

Como rir e suspirar sem perder a dignidade (ou a cabeça)

Se você acha que shoujo é só drama + romance + suspiros eternos… bom, você ainda não viu o lado cômico. Porque, se olhar de perto, os shoujos são um verdadeiro laboratório de gags românticas, onde tropeços emocionais viram piada e crushes são armas de destruição em massa 💥💘

Vamos destrinchar esse universo sem filtros.


🎭 1) A clássica “confusão de sentimentos”

Sabe aquele momento que o protagonista quer falar, mas tropeça no próprio pé?
É basicamente comédia física + sofrimento emocional, versão shoujo.

Exemplos clássicos:

  • Tsubaki caindo em cima do protagonista

  • Olhar romântico interrompido por objeto voador

  • Mal-entendido eterno (sim, o amigo errado sempre escuta a conversa)

O humor aqui vem do descompasso entre intenção e execução — e do timing perfeito da autora.


💌 2) O triângulo amoroso (ou quadrado, ou pentágono…)

Todo shoujo respeitável tem:

  • A garota indecisa

  • O crush idealizado

  • O rival desastrado

  • O amigo que atrapalha

E, claro, cada interação gera uma gag:

  • Quedas ridículas

  • Beijos inesperados

  • Ciúmes exagerados

  • Olhares dramáticos + zoom na reação 🤯

É um jogo de encaixe cômico: você ri porque sabe que vai dar errado.


👀 3) Expressões visuais do humor

Shoujos são mestres em traduzir emoção em desenho exagerado:

  • Olhos enormes = choque ou surpresa 💥

  • Boca minúscula = indignação

  • Veias pulsando na testa = raiva cômica 😤

  • Fundo psicodélico ou flores = drama elevado ao quadrado 🌸

O melhor: às vezes a mesma cena é tão over que você não sabe se chora ou ri 😂


🤣 4) Personagens “quase caricatos”

Alguns arquétipos garantem risadas quase automáticas:

  • O amigo atrapalhado – tropeça, derruba coisas, arruina planos

  • O rival ciumento – dramático e exagerado

  • A protagonista distraída – parece uma heroína épica, mas cai no próprio cabelo

  • O crush perfeito, mas meio inútil – fala errado ou faz escolhas absurdas

Esses personagens criam um humor que não mata o romance, mas mantém a comédia viva.


🎬 5) Situações recorrentes que nunca envelhecem

  • Primeira confissão atrapalhada

  • Beijo acidental (ou mal interpretado)

  • Cena de banho/mal-entendido = caos absoluto

  • Competição romântica que termina em desastre

  • Falta de comunicação = risada garantida

O segredo? Repetição + exagero. Como um gag de anime, só que com suspiros.


✨ 6) Como o humor fortalece o romance

  • Faz a relação parecer mais humana

  • Cria momentos memoráveis

  • Permite a identificação do leitor

  • Equilibra drama com leveza

Ou seja: sem piadas, o shoujo seria apenas:

Suspiro… tensão… suspense… Suspiro… e fim. 😐


🎤 Conclusão do narrador apaixonado

O humor romântico nos shoujos não é acidente. É engenharia emocional: personagens exagerados + situações improváveis + timing perfeito = risada + coração acelerado.

E o mais incrível: mesmo depois de tropeçar mil vezes, os personagens continuam cativando e fazendo a gente torcer 💖😂

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