Segurança de Runtime para Agentes de IA: Guia para Desenvolvedores

Henry AGI
5 min de leituraJun 2026
Segurança de Runtime para Agentes de IA: Guia para Desenvolvedores

Segurança de runtime para agentes de IA significa colocar um piso rígido debaixo de qualquer execução sem supervisão: uma porcentagem de bateria que ela não vai ultrapassar, um estado térmico que não vai forçar, e uma forma de saber se o agente ainda está fazendo trabalho útil — não só um botão que mantém o Mac acordado e torce para dar certo. Você inicia um agente de codificação montando uma feature, um job em lote no Ollama, ou um treinamento antes de dormir, e de manhã ou terminou, ou você acorda com a bateria zerada, o chassi quente demais para tocar e nenhum registro do que aconteceu no meio do caminho. As próprias ferramentas do macOS — caffeinate, pmset — e apps de terceiros para a barra de menu como Amphetamine, KeepingYouAwake, Lungo e Caffeine resolvem bem metade desse problema: eles impedem que o Mac entre em sleep por inatividade. Nenhum deles observa o nível de bateria ou o calor enquanto faz isso. Este guia cobre as duas metades — as formas gratuitas e nativas de manter um Mac acordado, onde cada uma é realmente boa, e as proteções que vale a pena adicionar em volta delas para qualquer execução em que você não vai ficar sentado ao lado.

Os riscos reais de execuções longas e sem supervisão de agentes de IA

Uma execução do Ollama durante a madrugada, um agente do Claude Code montando uma feature inteira, um pipeline de build que roda de novo a cada mudança de arquivo — essas cargas de trabalho têm uma coisa em comum: nenhum humano observando. A proteção padrão de sleep por inatividade do macOS não tem noção de porcentagem de bateria nem de temperatura do chip; ela só se importa se alguma coisa está segurando uma wake assertion. Uma vez que ela é mantida, a execução continua até terminar, até a bateria acabar, ou até o Mac se proteger desligando sozinho.

O risco de bateria é cumulativo. Carregar repetidamente a partir de quase zero desgasta a contagem de ciclos de carga mais rápido do que completar de 40% a 80%. Uma única drenagem até 0% durante a noite raramente é fatal sozinha; o hábito ao longo de semanas é que acelera a perda de capacidade. O perigo mais imediato costuma ser um agente travado — um loop de prompt, um timeout de API que nunca foi refeito, um build esperando uma porta bloqueada — consumindo CPU de forma constante por horas enquanto você dorme, sem terminar e sem mostrar erro nenhum.

O risco térmico num MacBook é parcialmente gerenciado pelo próprio macOS e parcialmente dependente da montagem física. O chip reduz a própria velocidade sob carga sustentada, mas isso só significa uma execução mais longa e mais quente — não uma execução segura. Um MacBook sobre uma superfície macia com as saídas de ar bloqueadas, ou rodando de tampa fechada com pouca ventilação, concentra calor num espaço menor. Nenhuma ferramenta de manter-acordado, grátis ou paga, muda essa realidade física — ela só pode decidir quando parar de tentar.

O jeito grátis e nativo: caffeinate, pmset e apps de terceiros na barra de menu

O macOS já vem com duas ferramentas feitas exatamente para isso, e vale a pena conhecê-las antes de recorrer a qualquer outra coisa. caffeinate -i impede o sleep por inatividade enquanto estiver rodando em primeiro plano. caffeinate -w <pid> vai além e amarra essa mesma assertion a um processo específico — o PID de um job de treinamento, o PID de um agente — soltando automaticamente no instante em que esse processo termina. É a mesma ideia por trás do próprio wrapper de CLI do LidRun (lidrun -- python train.py --epochs 100, que mantém uma assertion, roda o comando e solta assim que ele termina). Para uma execução curta que você mesmo vai acompanhar, caffeinate -w $(pgrep ollama) ou simplesmente envolver o comando já é o suficiente, de verdade. É grátis, já vem no seu Mac e faz um trabalho só, mas faz certo.

LidRun
Comparison table of caffeinate, pmset disablesleep, Amphetamine, KeepingYouAwake, Lungo, Caffeine, and LidRun across cost, battery-aware floor, thermal-aware stop, process-linking, and notifications
As opções gratuitas e nativas são todas boas em evitar que o Mac entre em idle sleep. Nenhuma delas lê a porcentagem de bateria ou o estado térmico para decidir quando soltar.

Para uma montagem de tampa fechada — monitor externo, teclado e mouse, tampa abaixada — o mecanismo por trás é o pmset -a disablesleep 1, uma flag de sistema não documentada, mas amplamente usada, que diz ao macOS para ignorar completamente o gatilho de sleep ao fechar a tampa. É sobre isso que qualquer utilitário de modo clamshell é construído, incluindo o próprio modo Closed-Lid do LidRun. Ele exige privilégios de administrador e, diferente das assertions acima, não fica restrito a um único processo — muda o comportamento de sleep da máquina inteira até que algo devolva o valor para 0.

As próprias configurações de bateria do macOS valem a pena serem ativadas em qualquer execução longa, não importa qual ferramenta de manter-acordado você esteja usando. O Modo de Baixo Consumo e o Carregamento Otimizado da Bateria (Ajustes do Sistema → Bateria) reduzem o consumo de energia em segundo plano e distribuem melhor os ciclos de carga — nenhum dos dois impede o sleep nem observa sua carga de trabalho, mas são gratuitos, nativos e complementam qualquer outra coisa que você esteja rodando.

Apps de terceiros na barra de menu preenchem o espaço entre um comando de terminal e algo em que você confiaria para rodar sozinho a noite toda. O Amphetamine tem o sistema de gatilhos mais completo do grupo — dá para configurá-lo para ativar quando um app específico abre ou um processo começa a rodar, não só apertar um botão manual. O KeepingYouAwake é um botão simples e open-source na barra de menu que faz exatamente uma coisa, grátis, sem anúncios. O Caffeine popularizou o ícone de "xícara de café" com um clique e ainda é a opção mais simples se tudo que você quer é um botão liga-desliga. O Lungo embrulha a mesma ideia numa interface limpa com timer regressivo. Os quatro são ferramentas sólidas e bem construídas para impedir que um Mac entre em sleep por inatividade — essa parte do problema já está resolvida várias vezes.

Guia relacionadoGuia de segurança do closed-lid mode para workloads no MacBook

Onde as opções gratuitas param de dar conta numa execução sem supervisão

Nenhuma das ferramentas acima sabe a porcentagem da sua bateria ou a temperatura do seu Mac. O caffeinate -w <pid> segura a assertion com 2% de bateria com a mesma disposição que seguraria com 80% — não existe piso embutido. Amphetamine, KeepingYouAwake, Lungo e Caffeine funcionam do mesmo jeito: uma duração, um gatilho ou um botão manual, mas nada que observe o nível de carga ou o estado térmico e solte antes da hora. Para um job em que você está sentado na frente, isso não é problema — você vai notar o aviso de bateria e agir. Para algo que você inicia e deixa rodando sozinho por oito horas, é o formato errado.

O pmset -a disablesleep 1 carrega um risco mais afiado. Como a configuração é global e persistente, se o que está gerenciando ela — um script, uma sessão de terminal, um app — travar ou for forçado a fechar antes de rodar o pmset -a disablesleep 0 correspondente, a flag fica presa ligada. O sleep para de disparar ao fechar a tampa, na bateria, indefinidamente, até alguém notar e limpar isso na mão com sudo pmset -a disablesleep 0. É exatamente por isso que o LidRun sempre casa cada 1 que define com um 0 correspondente — ao parar, ao fechar o app e de novo como uma checagem de reconciliação na próxima vez que o app abre — em vez de confiar que um script vai sempre chegar até a própria linha de limpeza.

A outra lacuna é saber se a execução ainda está fazendo alguma coisa. Um agente travado — um loop de prompt, uma chamada de API que nunca recebeu resposta, um build parado numa porta bloqueada — parece idêntico a um saudável visto de fora: o processo ainda está lá, ainda segurando a assertion. Todas as ferramentas acima, incluindo o keep-awake básico do próprio LidRun, vão manter o Mac acordado para um processo travado com a mesma fidelidade que para um produtivo, enquanto ele estiver ali. Pegar isso exige observar o processo em si, não só a presença dele.

Segurança de bateria: por que um piso de carga baixa importa

A parada automática por bateria do LidRun observa o nível de carga via IOKit e solta a retenção de manter-acordado assim que o seu Mac cruza um limite que você define — 20% por padrão, ajustável de 15% a 50%. Abaixo do seu ajuste, o que quer que você estivesse rodando perde a retenção e o Mac volta ao comportamento normal de sleep. Por baixo disso, existe um segundo piso, não configurável, independente do que você definir: um force-sleep de emergência de verdade, travado para nunca poder ser empurrado abaixo de 4%, porque abaixo disso o macOS não tem, de forma confiável, fôlego suficiente para terminar de desligar de forma limpa antes que a bateria simplesmente acabe.

LidRun
Annotated Mac battery meter showing the non-configurable emergency force-sleep floor near empty, LidRun's 20 percent default auto-stop, and a recommended 25-30 percent floor for overnight runs
O auto-stop do LidRun vem por padrão em 20% e pode chegar a 50%; abaixo de qualquer ajuste, um piso de emergência não configurável perto do fim da bateria está sempre ativo.

Para uma execução noturna só na bateria — sem carregador, só a bateria mesmo — a recomendação é subir o piso da parada automática acima do padrão de 20%: 25% a 30% dá uma margem real. Em 10% a 15%, um pico breve de CPU ou uma resposta atrasada da ventoinha pode te empurrar para a zona onde o macOS força um desligamento de emergência sem saída limpa; em 25% a 30%, sobra fôlego para uma parada limpa mais margem contra um pico de carga que você não estava lá para ver chegando.

O piso da parada automática em si está em toda instalação, incluindo o plano gratuito — o LidRun nunca coloca a parada básica por bateria baixa atrás de paywall. Um segundo estágio, mais cedo — um aviso configurável de "me avise em X%" antes da parada dura, para quem quer mais folga entre o primeiro alerta e o corte de fato — faz parte do nível pago de segurança graduada. De qualquer forma, para qualquer execução com mais de algumas horas, ligue na tomada primeiro se puder: carga alta e sustentada de CPU na bateria comprime os ciclos de carga mais rápido do que a mesma carga na tomada, e um piso ainda protege contra o carregador se soltar no meio da execução, mesmo com o Mac ligado na tomada.

Segurança térmica: o que o Mac te conta e o que ele não conta

O macOS expõe a pressão térmica através do ProcessInfo.thermalState: nominal, fair, serious, critical. O LidRun mostra um aviso assim que o estado chega a 'serious' e recua de verdade quando chega a 'critical' — o Safety Governor solta a retenção de manter-acordado imediatamente, em qualquer plano, grátis ou pago, sem esperar você perceber. Se o modo Closed-Lid estiver ativo e a tampa estiver fisicamente fechada, uma simples liberação não faria nada sozinha (não sobra sleep por inatividade para disparar), então o sistema escala para colocar o Mac para dormir de fato.

LidRun
Diagram of macOS thermal states nominal, fair, serious, critical with LidRun's warning point at serious and auto-release point at critical overlaid on a rising temperature curve
O LidRun avisa em 'serious' e recua de verdade em 'critical' — cruzando com a temperatura do SMC e o CPU throttle, não só com o sinal bruto do sistema.
LidRun
Three MacBook setups compared for heat risk: hard flat surface with lid open, soft surface with lid open, and inside a closed bag with lid closed, showing increasing heat concentration
Os guardrails de software são a segunda linha de defesa. A configuração física — superfície, fluxo de ar, posição da tampa — é a primeira, e nenhuma ferramenta de keep-awake muda isso.

A pegadinha é a granularidade: o thermalState sozinho é um sinal grosseiro. Nos nossos próprios testes num Mac Intel, uma sessão normal com a tampa aberta sob carga pesada se estabilizou em torno de 95°C com a CPU ainda rodando acima de 80% da velocidade máxima — enquanto a mesma carga de trabalho, com a tampa fechada dentro de uma mochila, derrubou o limite de velocidade da CPU para cerca de 24% em poucos minutos, e o próprio thermalState ainda mostrava apenas 'fair' por um tempo. É por causa dessa lacuna que o LidRun cruza o sinal do sistema operacional com o sensor de temperatura do SMC e a leitura de limite de velocidade da CPU (pmset -g therm), em vez de confiar só no thermalState — basta um dos dois sinais indicar 'critical' para acionar a proteção.

A rotação da ventoinha (RPM) e os dados do sensor SMC podem ser lidos em Macs Intel e na maioria das configurações Apple Silicon como sinal de monitoramento — uma ventoinha já no teto avisa que o sistema já está trabalhando pesado, o que é um contexto útil junto com a própria leitura de temperatura.

As proteções de software são a segunda linha de defesa; a primeira é física. Superfície dura e plana, saídas de ar livres, tampa aberta sempre que der para gerenciar assim. Rodar de tampa fechada concentra mais calor do que com a tampa aberta, o que vale a pena saber antes de montar um workflow noturno em modo clamshell — um suporte para notebook ou até uma elevação simples na mesa já faz diferença mensurável. Rodar um job de computação longo dentro de uma mochila ou outro espaço fechado é a configuração de maior risco que existe; nenhum monitor de processo muda a armadilha de calor que isso cria, então trate essa montagem com cuidado, não importa qual ferramenta esteja observando.

Onde uma camada feita sob medida se encaixa: consciente de processo, de bateria e de temperatura

A premissa do LidRun é simples: agente rodando → fica acordado; agente terminou ou está inseguro → solta ou dorme. Não é um wake lock cego que você liga e precisa lembrar de desligar, nem uma sessão que você tem que ficar vigiando para ver se um limite de bateria ou calor foi cruzado enquanto você não está olhando. Tudo que veio antes — caffeinate, pmset, Amphetamine, KeepingYouAwake, Lungo, Caffeine — resolve bem a metade de 'ficar acordado'. Esta é a outra metade.

O Auto Mode é o keep-awake vinculado a processo: o mesmo formato do caffeinate -w, mas já vem reconhecendo de fábrica uma lista longa de processos de agentes de codificação e ferramentas de dev — Claude Code, Codex, Cursor, GitHub Copilot, Windsurf, Aider, Ollama e outros — sem precisar configurar nada. Ele também embute uma tolerância de 30 minutos especificamente para processos de agente reconhecidos, para que uma pausa normal de 'pensando' entre chamadas de ferramenta não seja lida como o job tendo terminado (um editor simplesmente aberto não ganha essa mesma folga, então uma janela do Cursor ociosa mas aberta não consegue manter o Mac acordado só pela presença). O Auto Mode é um recurso pago.

O Watchdog vai um passo além: ele observa quando um agente fica quieto. Depois de 20 minutos com um processo de agente reconhecido perto de 0% de CPU — contra 5 minutos para qualquer outra coisa, já que agentes ficam ociosos normalmente enquanto esperam uma API — ele te avisa que a execução pode ter travado, com antecedência suficiente para você saber antes que a própria folga do Auto Mode já tivesse deixado a assertion cair de qualquer forma. Ele só avisa; nunca mata nem reinicia o processo sozinho. Também é um recurso pago.

A parada automática por bateria e a liberação por calor crítico descritas acima são gratuitas em toda instalação — essa parte nunca fica atrás de paywall. O modo Timer do LidRun (grátis, junto com o Keep Awake simples e o modo Charging-only) mantém a assertion até um prazo definido e solta sozinho, útil como um teto máximo, o Auto Mode reconhecendo o processo ou não. Notificações push via ntfy.sh (sem precisar de conta) ou Pushover fecham o ciclo, então uma execução que para às 3 da manhã por ter terminado, por bateria baixa ou por estado térmico chega no seu celular em vez de você só descobrir com um Mac frio na hora do café da manhã. E como o LidRun também observa outros apps segurando o próprio wake lock — Amphetamine, um processo caffeinate solto, qualquer outra coisa — ele consegue te avisar quando algo já está mantendo o Mac acordado, o que importa mais exatamente quando você está migrando de uma dessas ferramentas e não quer acabar duplicando sem perceber.

Montando padrões seguros para trabalho noturno com agentes

Para uma execução noturna típica de agente de IA, uma configuração inicial razoável: parada automática por bateria em 25% a 30% em vez do padrão de 20%, o aviso térmico 'serious' como seu primeiro sinal para dar uma olhada, a liberação automática por 'critical' como a última trava, e — se o processo for um que o Auto Mode já reconhece — deixe ele vincular a assertion ao job de verdade em vez de chutar uma duração fixa.

Um timer de sessão fixo ainda tem seu lugar ao lado disso: o modo Timer mantém a assertion até um prazo definido e depois solta sozinho, útil como um teto ao lado da observação vinculada a processo, ou sozinho para qualquer coisa que o Auto Mode não reconheça. A combinação — o que terminar primeiro, o processo saindo ou N horas — pega o caso que um botão simples não pega: um agente que travou na segunda hora, mas ninguém estava ali para perceber, queimando bateria e calor num processo que já tinha parado de fazer trabalho útil horas antes.

Para execuções curtas e acompanhadas, caffeinate e um terminal vigiado já bastam, de verdade — não precisa buscar mais nada. A lacuna se abre especificamente nas execuções em que você não vai ficar sentado ao lado: é aí que um piso de bateria, uma trava térmica, a consciência do processo e uma notificação que chega no celular passam a importar mais do que qual ferramenta de manter-acordado está segurando a assertion. Defina o piso uma vez, ligue na tomada quando a execução for longa, mantenha as saídas de ar livres, e deixe os limites fazerem o resto.

Experimente em vez de brigar com a suspensão de tampa fechada

O LidRun mantém seu trabalho rodando com a tampa fechada, com proteção de bateria e temperatura embutida.

Baixar para macOS

Já tem o LidRun? Leia o guia de configuração →

Novo no LidRun? Veja os preços →

Perguntas frequentes

É seguro rodar agentes de IA a noite toda num MacBook?

Depende da montagem. Rodar na tomada, sobre uma superfície dura e plana com ventilação livre, com um piso de bateria e um timer de sessão ou um keep-awake vinculado a processo configurado, ajuda a reduzir bastante o risco. Rodar só na bateria sem nenhuma proteção, sobre uma superfície macia, ou de tampa fechada num espaço fechado aumenta tanto o risco térmico quanto o de bateria. Nenhuma ferramenta de manter-acordado — caffeinate, pmset, um app de barra de menu ou o LidRun — torna a computação noturna sem supervisão incondicionalmente segura; o objetivo é ficar na parte mais segura da faixa de operação e ser avisado quando um limite for atingido.

Qual porcentagem de bateria é um corte seguro para execuções de IA?

A parada automática padrão do LidRun é 20%, ajustável de 15% a 50%; para uma execução noturna só na bateria, a recomendação é subir para 25% a 30% para ter uma margem extra. Abaixo de cerca de 10% a 15%, um pico sustentado de CPU pode empurrar o Mac para um desligamento de emergência sem saída limpa. Por baixo de qualquer ajuste, o próprio macOS precisa de um pouco de fôlego perto do zero para desligar de forma limpa — por isso o piso de force-sleep de emergência do LidRun é travado para nunca poder ficar abaixo de 4%, independente das suas outras configurações. Na tomada, a preocupação imediata com drenagem cai, mas ainda vale manter um piso de bateria baixa caso o carregador se solte no meio da execução.

Um MacBook pode superaquecer rodando agentes de IA de tampa fechada?

O calor se acumula mais rápido numa montagem de tampa fechada porque a tela deixa de funcionar como um radiador passivo. O macOS vai reduzir a velocidade do chip conforme a temperatura sobe, mas isso só significa uma execução mais lenta, mais quente e mais longa — não uma execução segura. Nos nossos próprios testes, uma carga de trabalho que mantinha o limite de velocidade da CPU acima de 80% com a tampa aberta a cerca de 95°C viu esse limite despencar para cerca de 24% em poucos minutos assim que a mesma montagem foi fechada dentro de uma mochila. Rodar sobre uma superfície dura e plana com as saídas de ar livres, de preferência na tomada, ajuda a reduzir esse risco. Tampa fechada sobre uma superfície macia ou dentro de uma mochila é a configuração de maior risco; nenhuma ferramenta de manter-acordado muda um caminho de ventilação bloqueado.

O caffeinate é suficiente para uma execução noturna de agente de IA?

Para uma execução curta que você mesmo vai acompanhar, sim — caffeinate -w <pid> ou simplesmente envolver o comando faz o trabalho bem, de graça. O que ele não vai fazer é observar sua porcentagem de bateria ou o estado térmico enquanto mantém o Mac acordado, então ele vai deixar uma execução travada ou noturna continuar com a mesma disposição em 2% de bateria e em 80%. Para qualquer coisa em que você não vai ficar por perto por várias horas, combine com um piso de bateria e uma trava térmica, ou use uma ferramenta que já tenha os dois embutidos.

Qual a diferença entre o LidRun e apps como Amphetamine ou KeepingYouAwake?

Amphetamine, KeepingYouAwake, Lungo e Caffeine são todos genuinamente bem construídos no único trabalho que fazem: impedir que um Mac entre em sleep por inatividade, seja por agenda, gatilho ou botão manual. Nenhum deles lê a porcentagem de bateria ou o estado térmico para decidir quando soltar — isso não é uma crítica, só está fora do que foram feitos para fazer. O LidRun adiciona essa camada por cima: um piso de bateria e uma liberação por calor crítico grátis em toda instalação e, no plano pago, observação vinculada a processo (Auto Mode) mais um alerta de agente travado (Watchdog), de forma que a proteção venha de um conjunto de checagens em vez de depender de você lembrar de desligar um botão.

Quais proteções o LidRun adiciona para a segurança dos agentes?

A parada automática por bateria e a liberação por calor crítico são grátis em toda instalação: o LidRun observa o nível de carga e o estado térmico via IOKit e as próprias APIs do macOS, e solta a retenção de manter-acordado assim que um dos dois cruza o seu limite. No plano pago, o Auto Mode vincula a assertion a um processo específico reconhecido em vez de uma duração fixa, e o Watchdog avisa se esse processo ficar quieto por mais tempo do que agentes normalmente ficam ociosos. Notificações push via ntfy.sh ou Pushover, e um modo Timer grátis como teto fixo, completam o conjunto. Essas proteções ajudam a reduzir a chance de você acordar com a bateria zerada ou o Mac travado no limite de temperatura; elas não são uma garantia, e a sua montagem física — superfície, ventilação, posição da tampa — ainda importa tanto quanto qualquer configuração.

Ficou curioso se o LidRun é pra você?

Deixe o ChatGPT, o Claude ou o Perplexity investigar — clique abaixo e veja o que a IA realmente acha do LidRun.