<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Tiago Vilas Boas (Montanha)</title>
    <description>The latest articles on DEV Community by Tiago Vilas Boas (Montanha) (@tiagovilasboas).</description>
    <link>https://dev.to/tiagovilasboas</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F469157%2F64c4bbaf-e836-4c4b-a643-dfef1fa7353e.png</url>
      <title>DEV Community: Tiago Vilas Boas (Montanha)</title>
      <link>https://dev.to/tiagovilasboas</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tiagovilasboas"/>
    <language>en</language>
    <item>
      <title>Indexar o código fora do repo: como economizar tokens sem jogar o projeto no contexto</title>
      <dc:creator>Tiago Vilas Boas (Montanha)</dc:creator>
      <pubDate>Thu, 27 Aug 2026 18:41:59 +0000</pubDate>
      <link>https://dev.to/tiagovilasboas/indexar-o-codigo-fora-do-repo-como-economizar-tokens-sem-jogar-o-projeto-no-contexto-48c7</link>
      <guid>https://dev.to/tiagovilasboas/indexar-o-codigo-fora-do-repo-como-economizar-tokens-sem-jogar-o-projeto-no-contexto-48c7</guid>
      <description>&lt;p&gt;Pessoal, o agent precisava achar um símbolo. Trabalho de um minuto. Na prática, ele abria arquivo atrás de arquivo, colava dump de teste no papo e a janela sumia. Às vezes a fatura também.&lt;/p&gt;

&lt;p&gt;Não era o modelo burro. Era eu pagando o monorepo inteiro pra responder a pergunta errada.&lt;/p&gt;

&lt;p&gt;A pergunta mudou. Deixei de ser “qual tool faz o agent entender o repo?” e virei: &lt;strong&gt;o que é memória de domínio, e o que é só custo de ler código nesta sessão?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Tem um segundo motivo, e ele não é economia. Um índice de símbolos é um &lt;strong&gt;mapa do seu sistema&lt;/strong&gt;: quem chama o quê, onde está o fluxo crítico. Se esse mapa mora no git, no cache de CI ou num serviço que o agent também escreve, o blast radius não é só token. É superfície.&lt;/p&gt;

&lt;h2&gt;
  
  
  Duas contas, um prompt
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Memória de domínio&lt;/strong&gt; é política. O que pode ser lembrado, por qual porta se entra, o que é canônico. Notas, contratos, “onde a gente decide X”. Indexer de código não resolve isso.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Code-read barato&lt;/strong&gt; é custo de sessão. Achar caller e símbolo sem despejar o working tree no prompt. Isso não deveria virar a sua base de conhecimento.&lt;/p&gt;

&lt;p&gt;Eu misturava. O indexer virava KB. O vault virava grep sem porta. Os dois falhavam, e a sessão inchava igual.&lt;/p&gt;

&lt;p&gt;Economizar token aqui não é trocar de modelo da semana. É separar camada. E decidir &lt;strong&gt;onde o mapa vive&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  O que eu mudei na mesa
&lt;/h2&gt;

&lt;p&gt;O mapa de símbolos saiu do working tree. Cache local, &lt;strong&gt;fora do repo&lt;/strong&gt;, fora do git. Reindex é operação de máquina, não de PR. O agent consulta o índice; não precisa reler o monorepo pra “quem chama essa função?”.&lt;/p&gt;

&lt;p&gt;Quatro perguntas que eu faço antes de indexar um repo (vale colar no README do setup):&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;O índice vive na minha máquina ou sai dela (cloud, CI, cache compartilhado)?&lt;/li&gt;
&lt;li&gt;Entra em contexto de agent que também tem tool de &lt;strong&gt;escrita&lt;/strong&gt;?&lt;/li&gt;
&lt;li&gt;Como eu apago e revogo?&lt;/li&gt;
&lt;li&gt;Quem mais lê isso?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Índice ≠ fonte de verdade versionada. Least privilege no que entra no contexto continua valendo.&lt;/p&gt;

&lt;p&gt;Depois, parei de mandar firehose de CLI cru. &lt;code&gt;test&lt;/code&gt;, &lt;code&gt;build&lt;/code&gt;, &lt;code&gt;git status&lt;/code&gt; viram novela. Aquilo no contexto é fogo amigo. Output barulhento: comprimo com um wrapper de CLI, ou faço Read cirúrgico. Incidente que precisa da linha exata do log: aí sim firehose.&lt;/p&gt;

&lt;p&gt;Por último: &lt;strong&gt;um&lt;/strong&gt; code-read por sessão. Empilhar dois indexers dilui ROI e confunde o agent. Escolhe um. Se não servir, troca. Não some.&lt;/p&gt;

&lt;p&gt;Índice também &lt;strong&gt;envelhece&lt;/strong&gt;. Sintoma: o agent cita símbolo que não existe mais, com confiança. Aí reindexa. Sem isso, você só mudou o tipo de alucinação.&lt;/p&gt;

&lt;h2&gt;
  
  
  O que isso ainda não é
&lt;/h2&gt;

&lt;p&gt;Isso &lt;strong&gt;não&lt;/strong&gt; substitui contrato de memória. Hubs, scopes, “não responda só com grep” são outra conversa.&lt;/p&gt;

&lt;p&gt;E uma honestidade: eu não tenho “economizei X% de tokens”. Sem medição, sem %. O que eu tenho é sessão menos inchada e um mapa que não vai parar no PR por acidente.&lt;/p&gt;

&lt;h2&gt;
  
  
  Artefato
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gu"&gt;## Token layers (coding agent)&lt;/span&gt;
&lt;span class="p"&gt;
1.&lt;/span&gt; Memória de domínio tem dono próprio. Indexer não é KB.
&lt;span class="p"&gt;2.&lt;/span&gt; Índice de símbolos: fora do repo, fora do git.
&lt;span class="p"&gt;3.&lt;/span&gt; Antes de indexar: onde vive, quem lê, o agent escreve, como revoga.
&lt;span class="p"&gt;4.&lt;/span&gt; Um code-read por sessão. Não empilhe indexers.
&lt;span class="p"&gt;5.&lt;/span&gt; CLI barulhento: comprime ou lê o trecho. Firehose só se a linha importa.
&lt;span class="p"&gt;6.&lt;/span&gt; Índice velho: reindexa quando o agent citar o que não existe mais.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Regra de bolso: se a sessão está cara e você não sabe qual camada inchou, &lt;strong&gt;nomeie a camada&lt;/strong&gt; antes de plugar mais tool.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pergunta pra comunidade
&lt;/h2&gt;

&lt;p&gt;No seu setup o índice é &lt;strong&gt;local&lt;/strong&gt; (reindex chato, mapa em casa) ou &lt;strong&gt;hospedado&lt;/strong&gt; (mais rápido, mapa fora da sua máquina)?&lt;/p&gt;

&lt;p&gt;O que você não abre mão — e o que você cortaria primeiro: índice, dump de CLI, ou memória misturada com code-read?&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>architecture</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Ownership não é o PR. É não deixar o problema só na sua cabeça</title>
      <dc:creator>Tiago Vilas Boas (Montanha)</dc:creator>
      <pubDate>Thu, 27 Aug 2026 18:01:31 +0000</pubDate>
      <link>https://dev.to/tiagovilasboas/ownership-nao-e-o-pr-e-nao-deixar-o-problema-so-na-sua-cabeca-57gg</link>
      <guid>https://dev.to/tiagovilasboas/ownership-nao-e-o-pr-e-nao-deixar-o-problema-so-na-sua-cabeca-57gg</guid>
      <description>&lt;p&gt;Pessoal, tem um padrão que eu vi demais em time que já sabe entregar.&lt;/p&gt;

&lt;p&gt;O erro está no board de observabilidade há meses. Alguém já comentou no canal. Suporte eventualmente reclama. Nunca virou card. Um dia vira incidente.&lt;/p&gt;

&lt;p&gt;Aí a pergunta aparece, desconfortável: &lt;strong&gt;de quem era a responsabilidade?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Eu costumava responder errado. Ownership, pra mim, era pegar o código. Se eu vi, eu conserto. Ou o contrário: se não tem task, não é comigo.&lt;/p&gt;

&lt;p&gt;Os dois lados quebram o time. Um vira herói e gargalo. O outro normaliza o problema até ele explodir.&lt;/p&gt;

&lt;p&gt;O que mudou foi uma distinção chata e útil: &lt;strong&gt;ver um problema não te obriga a implementá-lo. Obriga você a não fingir que não viu.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Quatro posturas (nenhuma é “errada” sozinha)
&lt;/h2&gt;

&lt;p&gt;O salto não é de júnior pra Staff. É de pergunta.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Postura&lt;/th&gt;
&lt;th&gt;Pergunta que guia&lt;/th&gt;
&lt;th&gt;Sinal&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Task&lt;/td&gt;
&lt;td&gt;“Está done?”&lt;/td&gt;
&lt;td&gt;Fecha o card sem olhar comportamento em produção&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Delivery&lt;/td&gt;
&lt;td&gt;“Está em produção?”&lt;/td&gt;
&lt;td&gt;Acompanha o deploy, não o resultado&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Outcome&lt;/td&gt;
&lt;td&gt;“Resolveu o problema do usuário?”&lt;/td&gt;
&lt;td&gt;Olha métrica depois do merge&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ownership&lt;/td&gt;
&lt;td&gt;“O que mais está errado aqui?”&lt;/td&gt;
&lt;td&gt;Percebe o adjacente &lt;strong&gt;sem&lt;/strong&gt; esperar task&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;O problema não é alguém estar em task. É o time inteiro parar ali e ninguém carregar visão de sistema.&lt;/p&gt;

&lt;h2&gt;
  
  
  See it, own it — o que isso &lt;em&gt;não&lt;/em&gt; é
&lt;/h2&gt;

&lt;p&gt;Não é: “vi, então agora é minha sprint.”&lt;/p&gt;

&lt;p&gt;É: “vi, então sou responsável por isso existir fora da minha cabeça.”&lt;/p&gt;

&lt;p&gt;Na prática eu uso quatro passos. Nomes feios de propósito, pra não virar poster.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SEE          percebi algo estranho
UNDERSTAND   isso importa? recorrente? quem se ferrar?
EXPOSE       o problema precisa de dado, não de feeling
OWN          existe decisão ou dono — mesmo que a decisão seja “aceitamos o risco”
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;OWN não significa CODE.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Pode ser um card com contexto de verdade. Uma conversa com quem prioriza. Um parágrafo escrito. Uma investigação com prazo. Inclusive: “vamos conviver com isso por enquanto” — desde que isso seja &lt;strong&gt;decisão&lt;/strong&gt;, não esquecimento.&lt;/p&gt;

&lt;p&gt;Se ownership virar “quem viu implementa”, o Senior/TL vira o único adulto da sala. Isso não escala. E queima gente boa.&lt;/p&gt;

&lt;h2&gt;
  
  
  A heurística que muda a conversa
&lt;/h2&gt;

&lt;p&gt;“Corrigimos um bug” é output.&lt;/p&gt;

&lt;p&gt;O que costuma destravar priorização é outra frase:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Problema → evidência → impacto → ação → (depois) resultado.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Exemplo sintético, de propósito:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Uma API crítica seguia respondendo 200. Em três semanas o P95 foi de ~400 ms para quase 2 s. Ninguém tinha aberto incidente porque “ainda funciona”. Alguém colocou o gráfico no canal e perguntou o que tinha mudado. Aí deixou de ser feeling.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Sem número, o problema compete com o backlog e perde. Com número, ele vira escolha consciente.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dora.dev/research/2023/dora-report/" rel="noopener noreferrer"&gt;DORA&lt;/a&gt; coloca o dedo nisso há anos: time de alto desempenho não é só o que mergeia rápido. É o que &lt;strong&gt;detecta e responde&lt;/strong&gt;. Achar tarde custa mais — a indústria de qualidade (incluindo trabalhos associados ao &lt;a href="https://www.nist.gov/publications/economic-impacts-inadequate-infrastructure-software-testing" rel="noopener noreferrer"&gt;NIST&lt;/a&gt;) repete isso em variações. O ponto prático pra mim não é o fator exato. É que “ainda está 200” não é saúde.&lt;/p&gt;

&lt;h2&gt;
  
  
  O que eu &lt;em&gt;não&lt;/em&gt; estou pedindo
&lt;/h2&gt;

&lt;p&gt;Ownership não é:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;resolver tudo que passar na sua timeline;&lt;/li&gt;
&lt;li&gt;furar priorização porque você ficou inquieto;&lt;/li&gt;
&lt;li&gt;trabalhar fora do horário pra “provar” que é dono;&lt;/li&gt;
&lt;li&gt;caçar culpado no post-mortem.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Se o framework criar ansiedade, ele falhou. O objetivo é sistema mais saudável, não indivíduo exausto.&lt;/p&gt;

&lt;h2&gt;
  
  
  Artefato: três perguntas, três saídas
&lt;/h2&gt;

&lt;p&gt;Dá pra usar numa retro, num 1:1 ou sozinho no fim da semana.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Que problema você viu nas últimas duas semanas que &lt;strong&gt;ninguém está tratando&lt;/strong&gt;?&lt;/li&gt;
&lt;li&gt;Se continuar um mês, &lt;strong&gt;o que piora&lt;/strong&gt; (usuário, on-call, lead time)?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Quem deveria ser o owner&lt;/strong&gt; — ou quem decide que não tem owner agora?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Cada item sai com um status, sem teatro:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;ignorar com consciência&lt;/strong&gt; (risco aceito, data pra rever);&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;investigar&lt;/strong&gt; (hipótese + evidência);&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;abrir card&lt;/strong&gt; (com as duas linhas de cima, não “olhar depois”).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Se a mesma coisa aparecer toda quinzena, o problema não é o card. É o sistema que ensinou o time a esperar o card.&lt;/p&gt;

&lt;p&gt;A frase que eu deixei no material interno, e que ainda seguro em público:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Seu trabalho não termina quando o código funciona. Termina quando o problema deixa de existir — ou quando você garante que alguém é responsável por fazê-lo deixar de existir.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Onde o seu time para?
&lt;/h2&gt;

&lt;p&gt;Não preciso do seu pior incidente. Quero a postura.&lt;/p&gt;

&lt;p&gt;No último problema chato que &lt;strong&gt;todo mundo já via&lt;/strong&gt;: vocês &lt;strong&gt;ignoraram com consciência&lt;/strong&gt;, &lt;strong&gt;investigaram&lt;/strong&gt; ou &lt;strong&gt;abriram card&lt;/strong&gt;? E o que impediu a opção que vocês &lt;em&gt;não&lt;/em&gt; escolheram?&lt;/p&gt;

&lt;h2&gt;
  
  
  Referências
&lt;/h2&gt;

&lt;p&gt;O framework SEE → UNDERSTAND → EXPOSE → OWN e a distinção OWN ≠ CODE são síntese minha. Os links abaixo são o contexto público que usei pra amarrar “detectar tarde custa” e “entrega ≠ resultado”:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://dora.dev/research/2023/dora-report/" rel="noopener noreferrer"&gt;Accelerate State of DevOps Report 2023 (DORA)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dora.dev/" rel="noopener noreferrer"&gt;DORA — capacidades e four keys&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.nist.gov/publications/economic-impacts-inadequate-infrastructure-software-testing" rel="noopener noreferrer"&gt;NIST — The Economic Impacts of Inadequate Infrastructure for Software Testing&lt;/a&gt; (2002; o “quanto mais tarde, mais caro” que o mercado cita)&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://stripe.com/files/reports/the-developer-coefficient.pdf" rel="noopener noreferrer"&gt;Stripe — The Developer Coefficient&lt;/a&gt; (tempo gasto em legado / débito; leitura complementar)&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>career</category>
      <category>architecture</category>
      <category>productivity</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Por que um Staff Engineer está estudando AI Security</title>
      <dc:creator>Tiago Vilas Boas (Montanha)</dc:creator>
      <pubDate>Mon, 03 Aug 2026 07:15:17 +0000</pubDate>
      <link>https://dev.to/tiagovilasboas/por-que-um-staff-engineer-esta-estudando-ai-security-37d2</link>
      <guid>https://dev.to/tiagovilasboas/por-que-um-staff-engineer-esta-estudando-ai-security-37d2</guid>
      <description>&lt;p&gt;Pessoal, deixa eu ser sincero desde o começo.&lt;/p&gt;

&lt;p&gt;Eu não estou escrevendo isto como expert em AI Security. Estou escrevendo no ponto em que a pergunta do meu trabalho mudou.&lt;/p&gt;

&lt;p&gt;Eu passo o dia em cima de sistema sob pressão: confiabilidade, observabilidade, incidente, decisão que precisa continuar fazendo sentido quando eu saio da sala. Nos últimos tempos, passei a operar de verdade com LLM, agente, MCP e memória/RAG.&lt;/p&gt;

&lt;p&gt;Nos últimos meses, percebi que eu já estava ajudando times a acelerar uso de agentes, MCPs e automações, mas ainda não tinha a mesma segurança pra revisar permissões, superfícies de ataque e fluxo de dados. Eu sabia avaliar arquitetura e operação; precisava ampliar essa lente pra segurança de sistemas agentic.&lt;/p&gt;

&lt;p&gt;Aí a pergunta na minha cabeça virou outra.&lt;/p&gt;

&lt;p&gt;Antes:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Como eu faço esse agente entregar mais rápido?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Agora:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Se esse agente tem ferramenta, o que ele pode quebrar, e quem assume o risco?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;É sobre isso que eu quero estudar em público. Com uma trava de bolso que você já pode usar amanhã.&lt;/p&gt;

&lt;h2&gt;
  
  
  O reflexo chato (e útil) do Staff
&lt;/h2&gt;

&lt;p&gt;Staff, pra mim, nunca foi aparecer em tudo.&lt;/p&gt;

&lt;p&gt;Foi construir condições para que as squads tomem boas decisões sem depender da minha memória.&lt;/p&gt;

&lt;p&gt;Isso cria um reflexo meio chato: olhar pra demo bonita e perguntar pelo &lt;strong&gt;modo de falha&lt;/strong&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;O webhook falha como?&lt;/li&gt;
&lt;li&gt;O retry duplica o quê?&lt;/li&gt;
&lt;li&gt;Essa métrica explica impacto ou só joga stacktrace na tela?&lt;/li&gt;
&lt;li&gt;Tem kill switch ou a gente só torce?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Agora esse mesmo reflexo precisa olhar pra prompt, ferramenta, memória e permissão de agente. Não porque eu mudei de carreira da noite pro dia. Porque a unidade de risco mudou.&lt;/p&gt;

&lt;h2&gt;
  
  
  Texto errado é uma coisa. Ação indevida é outra.
&lt;/h2&gt;

&lt;p&gt;Quando o modelo só gera texto, o estrago costuma ser contido: chato, caro às vezes, mas contido: alucinação, vazamento por descuido, resposta ruim.&lt;/p&gt;

&lt;p&gt;Quando o mesmo modelo ganha ferramenta: ler arquivo, chamar API, abrir PR, mexer em dado, acionar automation, o jogo muda.&lt;/p&gt;

&lt;p&gt;Aí o risco deixa de ser só “falou besteira”. Passa a ser:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;fez uma ação irreversível com confiança alta demais;&lt;/li&gt;
&lt;li&gt;tinha permissão bem maior do que o trabalho pedia;&lt;/li&gt;
&lt;li&gt;puxou pro contexto uma informação que não deveria sair dali;&lt;/li&gt;
&lt;li&gt;conectou um MCP/skill poderoso sem auditoria decente.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Isso não é paranoia de blog. É o tipo de coisa que a indústria já tenta organizar em mapa público. Eu uso como âncora de estudo:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://genai.owasp.org/llm-top-10/" rel="noopener noreferrer"&gt;OWASP Top 10 for LLM Applications&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.nist.gov/itl/ai-risk-management-framework" rel="noopener noreferrer"&gt;NIST AI Risk Management Framework&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A leitura de Staff que eu carrego é bem direta:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Acelerar agente sem olhar permissão é otimizar velocidade com o cinto solto.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Um cenário sintético (pra ficar concreto)
&lt;/h2&gt;

&lt;p&gt;Imagina um agente de coding com:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;shell no repo;&lt;/li&gt;
&lt;li&gt;token de API “amplo pra não travar”;&lt;/li&gt;
&lt;li&gt;memória/RAG misturando nota interna com contexto do ticket.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Você pede: “limpa os arquivos temporários da pasta de build”.&lt;/p&gt;

&lt;p&gt;O modelo interpreta “temporários” com generosidade demais. Sem allowlist de path, sem dry-run, sem confirmação humana pra &lt;code&gt;rm&lt;/code&gt;… ele pode ir bem além do que você imaginou.&lt;/p&gt;

&lt;p&gt;Isso &lt;strong&gt;não&lt;/strong&gt; é case de empresa. É um exemplo sintético do tipo de falha que aparece quando a gente otimiza fluidez e esquece freio.&lt;/p&gt;

&lt;p&gt;Se eu tivesse passado o checklist abaixo &lt;strong&gt;antes&lt;/strong&gt; de dar shell + token amplo, pelo menos três perguntas teriam travado o desenho: ação irreversível, menor escopo, e o que impede o dano se a intenção for alucinada.&lt;/p&gt;

&lt;h2&gt;
  
  
  Artefato: 7 perguntas antes de dar ferramenta a um agente
&lt;/h2&gt;

&lt;p&gt;Copia, cola no PR da automação, e não segue em frente sem responder.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gu"&gt;## Tool access gate (agente)&lt;/span&gt;
&lt;span class="p"&gt;
1.&lt;/span&gt; Qual é a ação irreversível mais cara que essa tool permite?
   (apagar, pagar, publicar, exfiltrar, merge, deploy)
&lt;span class="p"&gt;2.&lt;/span&gt; Qual é o menor escopo de permissão que ainda resolve o trabalho?
&lt;span class="p"&gt;3.&lt;/span&gt; O agente precisa de escrita, ou leitura bastaria na maior parte do tempo?
&lt;span class="p"&gt;4.&lt;/span&gt; O que entra no contexto (RAG/memória) que não deveria sair dali?
&lt;span class="p"&gt;5.&lt;/span&gt; Como eu detecto abuso ou erro? (log, audit trail, alerta, dry-run)
&lt;span class="p"&gt;6.&lt;/span&gt; Qual é o kill switch? (revogar token, desligar tool, pausar automation)
&lt;span class="p"&gt;7.&lt;/span&gt; Se o modelo alucinar a intenção, o que ainda impede o dano?
   (allowlist, HITL, confirmação humana, sandbox)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No fundo, as sete perguntas tentam aplicar princípios antigos: menor privilégio, redução de blast radius, auditabilidade e defesa em profundidade a uma interface nova: o agente. Capability boundaries e human-in-the-loop entram aí sem drama.&lt;/p&gt;

&lt;p&gt;Regra de bolso:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Se alguma resposta ficar vaga, a tool &lt;strong&gt;não&lt;/strong&gt; entra no agente.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;É a trava mínima pra gente não confundir produtividade com negligência.&lt;/p&gt;

&lt;h2&gt;
  
  
  O que vem a seguir
&lt;/h2&gt;

&lt;p&gt;Este é o primeiro texto da minha jornada pública em AI Security. Nos próximos, quero documentar labs, threat models de agentes, MCPs, RAG, permissões e os erros que aparecerem no caminho.&lt;/p&gt;

&lt;p&gt;Filtro pessoal que eu tô usando:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Isso me aproxima de ser alguém confiável em arquitetura segura de agentes, ou só me distrai com ferramenta nova?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Privacidade e anonimização vêm antes da vontade de postar rápido. Se você é forte em engenharia, cético com hype e curioso com risco de agente, essa conversa é pra gente.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pergunta pra comunidade
&lt;/h2&gt;

&lt;p&gt;Você já viu um agente receber mais permissão do que precisava? O que colocaria como primeira trava: allowlist, sandbox, aprovação humana ou token restrito?&lt;/p&gt;

&lt;p&gt;Se tiver um caso concreto, ainda melhor: o que a tool podia fazer e qual guarda você colocou depois. 🤝&lt;/p&gt;

</description>
      <category>security</category>
      <category>ai</category>
      <category>architecture</category>
      <category>career</category>
    </item>
  </channel>
</rss>
