<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Ruben Marcus — Blog (PT-BR)</title><description>Artigos técnicos sobre agentes de IA, benchmarks, WebGL e a stack por trás de rubenmarcus.dev.</description><link>https://rubenmarcus.dev/</link><language>pt-br</language><item><title>Do prompt ao produto: cinco formas de desenvolver com IA</title><link>https://rubenmarcus.dev/pt/blog/do-prompt-ao-produto-cinco-formas-de-desenvolver-com-ia/</link><guid isPermaLink="true">https://rubenmarcus.dev/pt/blog/do-prompt-ao-produto-cinco-formas-de-desenvolver-com-ia/</guid><description>Prompt engineering, vibe coding, agentic engineering, product engineering e research engineering parecem nomes para a mesma coisa. Não são. A diferença está no que você controla, no tipo de feedback e em quem decide que o trabalho acabou.</description><pubDate>Tue, 11 Aug 2026 00:00:00 GMT</pubDate><category>ai</category><category>agents</category><category>product-engineering</category><category>research</category></item><item><title>Meu harness de IA para frontend: do prompt ao pull request</title><link>https://rubenmarcus.dev/pt/blog/meu-harness-de-ia-para-frontend-do-prompt-ao-pull-request/</link><guid isPermaLink="true">https://rubenmarcus.dev/pt/blog/meu-harness-de-ia-para-frontend-do-prompt-ao-pull-request/</guid><description>O sistema que uso para transformar uma ideia em frontend verificável: specs, skills, escolha de modelo, Ralph Starter, worktrees, browser, screenshots, testes, GitHub e telemetria. O modelo escreve código. O harness decide em que acreditar.</description><pubDate>Tue, 11 Aug 2026 00:00:00 GMT</pubDate><category>ai</category><category>agents</category><category>frontend</category><category>harness</category><category>ralph-starter</category></item><item><title>Por dentro do Gauntlet loop</title><link>https://rubenmarcus.dev/pt/blog/por-dentro-do-gauntlet-loop/</link><guid isPermaLink="true">https://rubenmarcus.dev/pt/blog/por-dentro-do-gauntlet-loop/</guid><description>As técnicas dentro do loop adversarial de agentes que constrói o CS Brasil: uma régua visual de 25 critérios escrita para um modelo de linguagem conseguir dar nota a um PNG, prompts de crítico que banem resposta vaga pelo nome, uma tabela de conflito gerada no nível do símbolo para um arquivo de 6.543 linhas, e um caçador de regressões com permissão para não achar nada.</description><pubDate>Fri, 07 Aug 2026 00:00:00 GMT</pubDate><category>ai</category><category>agents</category><category>gamedev</category><category>orchestration</category></item><item><title>Este portfólio é agent-first. Provavelmente o primeiro.</title><link>https://rubenmarcus.dev/pt/blog/este-portfolio-e-agent-first/</link><guid isPermaLink="true">https://rubenmarcus.dev/pt/blog/este-portfolio-e-agent-first/</guid><description>Meu site fala MCP, tem AGENTS.md, API de hire e currículo de terminal. Seu agent lê meu CV, checa disponibilidade e agenda um intro sem você tocar em formulário. Veja como funciona.</description><pubDate>Thu, 06 Aug 2026 00:00:00 GMT</pubDate><category>ai</category><category>agents</category><category>mcp</category><category>portfolio</category></item><item><title>O harness de IA por trás do CS Brasil</title><link>https://rubenmarcus.dev/pt/blog/harness-de-ia-por-tras-do-cs-brasil/</link><guid isPermaLink="true">https://rubenmarcus.dev/pt/blog/harness-de-ia-por-tras-do-cs-brasil/</guid><description>A máquina que constrói o CS Brasil não é mais uma pasta de markdown. É um motor de medição: o jogo real dando boot em Node puro, 61 invariantes com testes de mutação, docs gerados que reprovam o CI quando derivam, e quatro leis aprendidas do jeito caro.</description><pubDate>Tue, 04 Aug 2026 00:00:00 GMT</pubDate><category>ai</category><category>agents</category><category>gamedev</category><category>harness</category></item><item><title>Um centro de comando para swarms de agentes, em markdown</title><link>https://rubenmarcus.dev/pt/blog/centro-de-comando-para-swarms-de-agentes-em-markdown/</link><guid isPermaLink="true">https://rubenmarcus.dev/pt/blog/centro-de-comando-para-swarms-de-agentes-em-markdown/</guid><description>Eu rodo um swarm de agentes de codificação — Codex, Claude, Amp, Kimi — mais humanos, coordenados inteiramente por arquivos markdown. Sem banco de dados, sem dashboard como fonte da verdade, histórico de chat explicitamente banido. Aqui está o cérebro compartilhado: sala de controle, fila de tarefas, cemitério de candidatos e automação fail-closed.</description><pubDate>Sun, 02 Aug 2026 00:00:00 GMT</pubDate><category>ai</category><category>agents</category><category>orchestration</category><category>tooling</category></item><item><title>Como construi esse portfolio com AI Agents</title><link>https://rubenmarcus.dev/pt/blog/como-construi-este-portfolio-com-agentes-de-ia/</link><guid isPermaLink="true">https://rubenmarcus.dev/pt/blog/como-construi-este-portfolio-com-agentes-de-ia/</guid><description>O making-of deste site: modelos 3D gerados por IA que viviam saíam como bustos, um pipeline de shaders que me transforma em wireframe e ASCII, um gauntlet visual que avalia cada pixel, e o que aprendi sobre art-directing de máquinas.</description><pubDate>Thu, 30 Jul 2026 00:00:00 GMT</pubDate><category>ai</category><category>agents</category><category>threejs</category><category>webgl</category><category>making-of</category></item><item><title>Como AEO pode fazer seu negócio crescer</title><link>https://rubenmarcus.dev/pt/blog/como-aeo-pode-fazer-seu-negocio-crescer/</link><guid isPermaLink="true">https://rubenmarcus.dev/pt/blog/como-aeo-pode-fazer-seu-negocio-crescer/</guid><description>AEO permite ao ChatGPT, Perplexity e afins lerem e citarem seu negócio. Meu scanner gratuito já rodou 4.569 scans em 2.259 sites únicos; as mesmas falhas aparecem em todo lugar.</description><pubDate>Mon, 27 Jul 2026 00:00:00 GMT</pubDate><category>aeo</category><category>seo</category><category>llm</category><category>web</category></item><item><title>Construindo um FPS de navegador com Agentes de IA</title><link>https://rubenmarcus.dev/pt/blog/construindo-um-fps-de-navegador-com-agentes-de-ia/</link><guid isPermaLink="true">https://rubenmarcus.dev/pt/blog/construindo-um-fps-de-navegador-com-agentes-de-ia/</guid><description>CS Brasil é um FPS de navegador satírico — 5 facções, 44 personagens, 26 armas, 5 mapas, Three.js zero-build — construído quase inteiramente por agentes de IA rodando um loop adversarial com nome: o Gauntlet. Críticos dão nota, builders editam o mesmo arquivo de 6.543 linhas em paralelo, e o loop nunca termina sozinho.</description><pubDate>Fri, 24 Jul 2026 00:00:00 GMT</pubDate><category>gamedev</category><category>ai-agents</category><category>webgl</category><category>javascript</category><category>threejs</category></item><item><title>Streaming de 2,85M de mensagens: o encanamento de um chat de agente em produção</title><link>https://rubenmarcus.dev/pt/blog/streaming-de-2-85-milhoes-de-mensagens-com-vercel-ai-sdk/</link><guid isPermaLink="true">https://rubenmarcus.dev/pt/blog/streaming-de-2-85-milhoes-de-mensagens-com-vercel-ai-sdk/</guid><description>Fui o segundo committer mais ativo no pacote de chat open-source de uma plataforma de agentes em produção, a frente de streaming de um runtime de IA que transformava specs OpenAPI em ferramentas e conduzia agentes on-chain entre NEAR e EVM. Código real do BitteProtocol/chat: o loop do useChat, os estados de tool-call, o contrato de operationId do OpenAPI, e como o histórico é reconstruído.</description><pubDate>Tue, 21 Jul 2026 00:00:00 GMT</pubDate><category>ai</category><category>vercel</category><category>streaming</category><category>nextjs</category></item><item><title>Reescrevi meu loop de agente em Mastra. Eis o que meu runtime acerta.</title><link>https://rubenmarcus.dev/pt/blog/reescrevi-meu-loop-de-agente-em-mastra/</link><guid isPermaLink="true">https://rubenmarcus.dev/pt/blog/reescrevi-meu-loop-de-agente-em-mastra/</guid><description>Rodei loops de agente feitos à mão em produção numa plataforma de agentes web3 (2,85M+ de mensagens) e no ralph-starter. Passei uma semana reconstruindo o mesmo loop em Mastra para ver o que um framework compra. Notas head-to-head: o que Mastra facilita, o que meu runtime faz que ele não consegue, e quem deve escolher qual.</description><pubDate>Sat, 18 Jul 2026 00:00:00 GMT</pubDate><category>ai</category><category>agents</category><category>mastra</category><category>typescript</category></item><item><title>Roteando 9 papéis de agente entre 7 providers: o harness do ECDSA.fail</title><link>https://rubenmarcus.dev/pt/blog/roteando-papeis-de-agente-entre-providers-com-openrouter/</link><guid isPermaLink="true">https://rubenmarcus.dev/pt/blog/roteando-papeis-de-agente-entre-providers-com-openrouter/</guid><description>Liderei engenharia de IA no harness de pesquisa multi-agente que ficou em #1 no ECDSA.fail. A camada de roteamento é a parte que vale roubar: tabelas de papel para modelo, adapters fail-closed, e um spend gate que aborta a execução antes da conta.</description><pubDate>Wed, 15 Jul 2026 00:00:00 GMT</pubDate><category>ai</category><category>llm</category><category>openrouter</category><category>tooling</category></item><item><title>Polinização cruzada de LLMs: revisão por pares para máquinas</title><link>https://rubenmarcus.dev/pt/blog/polinizacao-cruzada-de-llms-revisao-por-pares-para-maquinas/</link><guid isPermaLink="true">https://rubenmarcus.dev/pt/blog/polinizacao-cruzada-de-llms-revisao-por-pares-para-maquinas/</guid><description>Construí um pipeline de pesquisa em que modelos de fronteira de provedores diferentes geram, revisam adversarialmente e fazem merge do trabalho uns dos outros. A única coisa compartilhada entre eles é o texto da fase anterior. Revisão por pares compila em coreografia de prompts surpreendentemente bem.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate><category>ai</category><category>llm</category><category>agents</category><category>research</category><category>openrouter</category></item><item><title>Mantendo um agente de pesquisa autônomo honesto</title><link>https://rubenmarcus.dev/pt/blog/mantendo-um-agente-de-pesquisa-autonomo-honesto/</link><guid isPermaLink="true">https://rubenmarcus.dev/pt/blog/mantendo-um-agente-de-pesquisa-autonomo-honesto/</guid><description>O Autoresearcher roda loops de pesquisa orientados por benchmark: um passo do agente, um comando de benchmark, um número, manter ou rejeitar. O que faz isso funcionar não é o agente. É o fato de o loop ser deliberadamente simples, fail-closed e deixar uma trilha de auditoria completa em git e JSONL.</description><pubDate>Wed, 08 Jul 2026 00:00:00 GMT</pubDate><category>ai</category><category>agents</category><category>evaluation</category><category>benchmarks</category><category>open-source</category></item><item><title>Evals são o produto</title><link>https://rubenmarcus.dev/pt/blog/evals-sao-o-produto/</link><guid isPermaLink="true">https://rubenmarcus.dev/pt/blog/evals-sao-o-produto/</guid><description>O que é um eval de verdade, aprendido do jeito caro: um FPS de navegador travado por 61 invariantes que precisam shipar com uma mutação que as reprova, e um benchmark de decoder quântico vencido com um escalar e um loop de cinco passos. O modelo muda a cada poucos meses. A régua sobrevive.</description><pubDate>Thu, 02 Jul 2026 00:00:00 GMT</pubDate><category>ai</category><category>evals</category><category>agents</category><category>testing</category><category>llm</category></item><item><title>Git worktrees são meu orquestrador de agentes</title><link>https://rubenmarcus.dev/pt/blog/git-worktrees-como-orquestrador-de-agentes/</link><guid isPermaLink="true">https://rubenmarcus.dev/pt/blog/git-worktrees-como-orquestrador-de-agentes/</guid><description>O ralph-starter roda agentes de código em loops Ralph Wiggum, e o swarm mode coordena tudo com git worktrees, Promise.allSettled e um switch de estratégia. Três estratégias com tradeoffs reais, e por que um executor de DAG rejeitaria esse design no startup.</description><pubDate>Thu, 25 Jun 2026 00:00:00 GMT</pubDate><category>ai</category><category>agents</category><category>orchestration</category><category>typescript</category></item><item><title>O swarm que chegou ao #1 no ECDSA.fail</title><link>https://rubenmarcus.dev/pt/blog/o-swarm-que-chegou-ao-primeiro-lugar-no-ecdsa-fail/</link><guid isPermaLink="true">https://rubenmarcus.dev/pt/blog/o-swarm-que-chegou-ao-primeiro-lugar-no-ecdsa-fail/</guid><description>Como construí um harness de pesquisa autônomo multi-agente — 9 papéis especializados de LLM entre 7+ provedores, adaptadores fail-closed, dispatch isolado por lane e uma fila de falsificação — que produziu o circuito quântico melhor ranqueado no ECDSA.fail.</description><pubDate>Thu, 18 Jun 2026 00:00:00 GMT</pubDate><category>ai</category><category>agents</category><category>orchestration</category><category>benchmarks</category><category>quantum-computing</category></item><item><title>Context engineering dentro de um runtime com 344K chats</title><link>https://rubenmarcus.dev/pt/blog/context-engineering-em-um-runtime-com-344k-chats/</link><guid isPermaLink="true">https://rubenmarcus.dev/pt/blog/context-engineering-em-um-runtime-com-344k-chats/</guid><description>Um runtime de agentes de IA em produção que ajudei a construir atendeu 2,85M de mensagens em 344K chats com loops de agentes em streaming e conversão de OpenAPI para tools. O contexto era a spec: system prompts viviam no x-mb, tools eram operationIds, e o estado da carteira acompanhava cada request. Código real do BitteProtocol/chat, make-agent e agent-sdk.</description><pubDate>Fri, 05 Jun 2026 00:00:00 GMT</pubDate><category>ai</category><category>agents</category><category>context</category><category>llm</category></item><item><title>Como o RAG funciona dentro do Mirofi.sh</title><link>https://rubenmarcus.dev/pt/blog/como-o-rag-funciona-dentro-do-mirofi-sh/</link><guid isPermaLink="true">https://rubenmarcus.dev/pt/blog/como-o-rag-funciona-dentro-do-mirofi-sh/</guid><description>Mirofi.sh é uma plataforma hospedada de simulação social multi-agente construída sobre um motor open-source, GraphRAG e Zep. Esta é a história da recuperação: o que a memória do agente armazena, como ela alimenta cada turno e onde o grafo justificou sua complexidade.</description><pubDate>Thu, 28 May 2026 00:00:00 GMT</pubDate><category>ai</category><category>rag</category><category>llm</category><category>production</category></item><item><title>O caso Mini Shai-Hulud e o risco real das dependências</title><link>https://rubenmarcus.dev/pt/blog/mini-shai-hulud-e-o-risco-real-das-dependencias/</link><guid isPermaLink="true">https://rubenmarcus.dev/pt/blog/mini-shai-hulud-e-o-risco-real-das-dependencias/</guid><description>A onda de Mini Shai-Hulud de maio de 2026 não apenas roubou um token do npm — ela abusou do próprio pipeline de build e publicação: pull_request_target, cache poisoning, OIDC trusted publishing e install scripts. O que de fato aconteceu e o que eu auditaria primeiro.</description><pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate><category>security</category><category>supply-chain</category><category>npm</category><category>ci-cd</category><category>dependencies</category></item><item><title>Como cheguei ao #1 num desafio de correção de erros quânticos usando IA</title><link>https://rubenmarcus.dev/pt/blog/como-cheguei-ao-primeiro-lugar-em-correcao-de-erros-quanticos-com-ia/</link><guid isPermaLink="true">https://rubenmarcus.dev/pt/blog/como-cheguei-ao-primeiro-lugar-em-correcao-de-erros-quanticos-com-ia/</guid><description>Topei o leaderboard da QEC Decoder Optimization Arena a 2.642 erros por milhão — não com credenciais em física, mas com um loop experimental enxuto: validação em dados reservados, gating estatístico e um swarm de agentes em git worktrees isolados.</description><pubDate>Thu, 16 Apr 2026 00:00:00 GMT</pubDate><category>quantum-computing</category><category>ai</category><category>agents</category><category>benchmarks</category><category>optimization</category></item><item><title>Automatizando fluxos de trabalho inteiros com o ralph-starter</title><link>https://rubenmarcus.dev/pt/blog/automatizando-fluxos-de-trabalho-com-ralph-starter/</link><guid isPermaLink="true">https://rubenmarcus.dev/pt/blog/automatizando-fluxos-de-trabalho-com-ralph-starter/</guid><description>O ralph-starter roda loops no estilo Ralph Wiggum — busca uma spec, executa o agente de IA, checa testes/lint/build, devolve os erros, repete. Como funciona e por que eu construí.</description><pubDate>Thu, 19 Feb 2026 00:00:00 GMT</pubDate><category>ai</category><category>automation</category><category>ralph-wiggum</category><category>open-source</category></item><item><title>Começando com Next.js + Strapi: segurança em primeiro lugar</title><link>https://rubenmarcus.dev/pt/blog/comecando-com-next-js-e-strapi-seguranca-em-primeiro-lugar/</link><guid isPermaLink="true">https://rubenmarcus.dev/pt/blog/comecando-com-next-js-e-strapi-seguranca-em-primeiro-lugar/</guid><description>Antes de mexer em Content-Types ou rotas, vamos falar de segurança. Este é o guia de segurança para uma stack Strapi + Next.js — XSS, CSRF, clickjacking, JWT, SSL, monitoramento.</description><pubDate>Sun, 16 May 2021 00:00:00 GMT</pubDate><category>nextjs</category><category>frontend</category><category>strapi</category><category>security</category></item><item><title>Por que usar Next.js + Strapi?</title><link>https://rubenmarcus.dev/pt/blog/por-que-usar-next-js-e-strapi/</link><guid isPermaLink="true">https://rubenmarcus.dev/pt/blog/por-que-usar-next-js-e-strapi/</guid><description>O caso para parear Next.js com o CMS headless Strapi para uma stack moderna e desacoplada de frontend / CMS. Conceitos de headless, alternativas, boilerplates.</description><pubDate>Fri, 07 May 2021 00:00:00 GMT</pubDate><category>nextjs</category><category>react</category><category>strapi</category><category>headless</category></item></channel></rss>