Siz Uyurken AI Ajanlarını Çalışır Tutmak

macOS, boşta duran bir terminal ile uzun bir görevi sessizce işleyen bir AI ajanı arasındaki farkı bilmez — klavye veya fare girdisi yoktur, dolayısıyla uyku zamanlayıcısı ikisinde de aynı şekilde işler. Siz uyurken AI ajanlarını çalışır tutmak, tek değil dört şeyi aynı anda çözmek demektir: uykuyu yalnızca ajan gerçekten çalışırken engellemek, fişten çekiliyken bataryayı ve donanımı korumak, iş bittiği an tutmayı bırakmak ve sabahın 3'ünde terminale bakmadan bunun olduğunu bilmek. Yatmadan önce bir Claude Code veya Cursor çalıştırması kuyruğa alıp sabaha tamamlanmış bir dal beklersiniz — ama çoğu zaman sizi bekleyen, saatler önce kararmış bir ekran ve durmuş bir süreçtir.
Mac Geceleyin AI Ajanınızı Neden Keser
macOS, kullanıcı girdisi algılamadığında — klavye, fare, trackpad — uykuya geçecek şekilde tasarlanmıştır. Terminalde çalışan bir AI ajanı girdi olayı üretmez, bu yüzden önce ekran uykusu zamanlayıcısı, ardından sistem uykusu devreye girer. Makine askıya alındığı an ajan CPU zamanlamasını ve ağ erişimini kaybeder — çalıştırma görevin ortasında durur, temiz bir kurtarma olmaz; araç kendi kontrol noktasını yazmadıysa bir tane bile bulunmaz.


Kapağı kapatmak ayrı, daha hızlı bir tetikleyicidir ve arka planda ne çalıştığını umursamaz. Varsayılan olarak bir MacBook, arka planda ne olursa olsun, kapak kapandıktan saniyeler içinde askıya alınır. caffeinate -i gibi bir araç kapak açıkken boşta-uyku'yu engeller, ama bataryadayken kapak kapanır kapanmaz macOS'un tetiklediği daha alt seviyedeki clamshell uykusunu durduramaz — hiçbir kullanıcı seviyesi güç iddiası (power assertion) bunu yapamaz. Bu bir macOS kısıtlaması, caffeinate'in kusuru değil: aynı IOPMAssertionCreateWithName mekanizması üzerine kurulu her araç — LidRun'ın kendi manuel Keep Awake özelliği dahil — ayrı bir kapalı-kapak mekanizması olmadan aynı duvara çarpar.
Batarya üçüncü bir hata modu daha ekler. macOS'un kendi kritik-batarya kapanması vardır ve koşulların gerektirdiğine karar verirse bu noktadan önce zorla uykuya geçebilir. Ağır çıkarım (inference) yapan veya uzun bir build çalıştıran bir ajan, %50'lik bir bataryayı üç dört saatte tüketebilir. Tanımlı bir durma noktası olmadan, çalıştırmanın ne zaman biteceğine işletim sistemi karar verir — ve her zaman temiz bir an seçmez.
Ücretsiz, Yerleşik Seçenekler — ve Her Birinin Nerede Çöktüğü
Herhangi bir üçüncü taraf uygulamaya uzanmadan önce, macOS'un size zaten ücretsiz olarak ne verdiğini bilmekte fayda var; çünkü kısa, ön planda izlediğiniz bir iş için genelde bu yeterli olur. caffeinate -i çalıştığı sürece boşta-uyku'yu engeller; -w <pid> eklerseniz o süreç sona erdiğinde otomatik olarak çıkar — izlediğiniz tek bir komut için en temiz yerleşik yöntem budur, örneğin caffeinate -i -w $(pgrep -f "python train.py"). caffeinate -d ekran uykusunu da engeller, -s ise özellikle AC güçte sistem uykusunu engeller. Her Mac'te hazır gelir, kurulum gerektirmez ve tamamen betiklenebilir.


Ancak bunların hiçbiri bataryadayken kapalı bir kapağa dayanamaz. Harici ekran olmadan kapak-kapanma uykusunu engelleyen tek herkese açık kaldıraç sudo pmset -a disablesleep 1 komutudur — süreç başına bir iddia değil, sistem geneli bir ayardır ve yönetici yetkisi gerektirir. Bu aynı zamanda LidRun'ın kendi Closed-Lid modunun kullandığı temel mekanizmadır; burada gizli bir API yoktur, sadece belgelenmiş pmset anahtarı vardır. Diğer yerleşik yol ise Apple'ın gerçek clamshell modudur: harici bir ekran bağlayıp AC güçte kalırsanız Mac, tam da tasarlandığı gibi kapak kapalıyken çalışır, komut gerektirmez. Bu resmi olarak desteklenen yoldur, ama bir ekrana sahip olup onu taşımak anlamına gelir — bir otel odasında veya misafir odasında gece boyu bir çalıştırma için pratik değildir.
Üçüncü taraf menü çubuğu uygulamaları bu iki uç arasındaki boşluğu doldurur. Amphetamine, KeepingYouAwake, Caffeine ve Lungo hepsi sağlam, odaklı uyanık-tutma anahtarlarıdır — cilalı arayüz, zamanlayıcılar, bazıları zamanlanmış açma/kapama pencerelerini destekler. İstediğiniz şey basitçe "ben aksini söyleyene kadar uyanık kal" ise makul bir seçimdirler. Hiçbirinin yapmadığı şey, tutmayı belirli bir arka plan sürecine bağlamak, bataryayı veya termal durumu izlemek ya da bir ajanın süreci sona erdiği an otomatik olarak bırakmaktır — bu, yapıldıkları iş değildir.
İlgili kılavuzAI Agent Continuity Nedir?Bunu Elle Yapmanın Riski
İki yerleşik yolun da gözetimsiz, gece boyu bir çalıştırmada keskin bir kenarı vardır. -w olmadan caffeinate -i siz onu öldürene kadar çalışır — iş bittiğinde onu otomatik olarak durduran hiçbir şey yoktur, bu yüzden ajan aslında işini bitirdikten saatler sonra bile Mac'i uyanık bırakıp bataryayı tüketmek kolaydır; üstelik bataryadayken kapalı bir kapak yine onu hazırlıksız yakalar.
sudo pmset -a disablesleep 1 farklı bir şekilde daha risklidir, çünkü küresel ve kalıcıdır — terminal oturumunuza veya önemsediğiniz sürece bağlı değildir. Ayar, onu ayarlayan komut sona erdikten sonra da kalır. Terminali kapatırsanız, Mac çökerse ya da sabah sudo pmset -a disablesleep 0 komutunu çalıştırmayı unutursanız, Mac siz onu elle sıfırlayana ya da yeniden başlatana kadar kendiliğinden bir daha uykuya geçmez — ne o gece, ne de ertesi gün. Bu arada hiçbir şey bir batarya eşiğini veya bir termal tavanı izlemez, hiçbir şey ajanın aslında yirmi dakika önce bittiğini fark etmez.
Asıl boşluk bu — caffeinate ya da pmset kötü araçlar oldukları için değil, izlediğiniz bir ön plan işi için tam da doğru araçlardır. Boşluk şu: ne ücretsiz seçeneklerin ne de üçüncü taraf her zaman-açık anahtarlarının hiçbiri "ajan bitti" ne demek bilmez. Ya Mac'i uyanık tutarlar ya da tutmazlar; süreç çıkışında bırakma, bir batarya eşiğinde geri çekilme ya da ısıda geri çekilme diye bir kavram yoktur.
Daha Güvenli Yöntem: Uyanık Tutmayı Ajan Sürecine Bağlayın
Çözüm, LidRun'ın Auto Mode dediği şeydir: sürece bağlı uyanık tutma, LidRun'ın Mac'te AI işleri için güvenli çalışma zamanı katmanının arkasındaki temel mekaniktir. Yalnızca eşleşen bir süreç çalışırken bir güç iddiası tutar ve o süreç çıktığı an bırakır — gerçekte ne olduğuna bakmaksızın Mac'i uyanık tutan kör bir uyanıklık kilidi değildir. Yerleşik kataloğu, süreç adına göre Claude Code, Codex, Cursor, Windsurf, Aider, Cline, Continue, Goose, OpenHands, Zed, Ollama, LM Studio ve vLLM'i zaten tanır; ayrıca yorumlayıcı betikleri (python, node, ruby ve diğerleri) ile lidrun watch <pattern> komutuyla kendinizin eklediği her şeyi de tanır.
Ayrıca sadece isim eşleştirmesinden daha dikkatlidir. Sadece açık, boşta duran bir Cursor penceresi Mac'i uyanık tutmaz — bir GUI uygulamasının çalışma olarak sayılması için gerçek bir CPU eşiğini (bir çekirdeğin kabaca %40'ının üzerini) geçmesi gerekir, böylece bir editörü gece boyu açık bırakmak nedensiz yere uykuyu engellemez. Bir süreliğine sessizleşen bilinen bir ajan da — bir API yanıtı beklerken, araç çağrıları arasında düşünürken — hemen bırakılmaz: adlandırılmış ajan süreçleri, Auto Mode onları bitmiş sayana kadar gerçek bir sabır payı alır, neredeyse-boşta 30 dakikaya kadar — böylece yavaş bir model yanıtı size tüm çalıştırmayı kaybettirmez.
SSH üzerinden tek seferlik bir iş için, ya da bakılacak bir menü çubuğu olmayan headless bir makine için, CLI tek bir komutu doğrudan sarar: lidrun -- claude-code run-task, tam olarak o tek sürecin ömrü kadar kapsamlı bir iddia tutar, izleme listesi kurulumu gerekmez. Auto Mode'un kendisi LidRun Pro'nun bir parçasıdır — ücretsiz katman sınırsız manuel Keep Awake, Timer ve yalnızca-şarjdayken çalıştırmaları kapsar; yükseltmenin eklediği şey otomatik süreç tespitidir.
Kapak-kapalı çalıştırmalar için donanım yerleşimi hâlâ önemlidir — daha akıllı süreç tespiti, ısının fiziğini değiştirmez. Mac'i altından hava dolaşabilen sert, düz bir yüzeye yerleştirin: bir masa, bir stand, sağlam bir masa üstü — yatak değil, çanta içi değil, kapalı bir muhafaza değil. Kapalı bir kapak ana hava akışı yolunu ortadan kaldırır, bu yüzden normalde klavye tablasından tahliye olan ısının gidecek başka bir yer bulması gerekir. AC güçte çalıştırmayı tercih edin: yük altında sürekli batarya deşarjı, prize takılı çalıştırmaya kıyasla ek ısı üretir. Araca özgü kurulum, MacBook kapalıyken Claude Code'u çalışır tutma ve Cursor ajanını Mac'te çalışır tutma rehberlerinde ele alınıyor.
Bunların hiçbiri de tamamen kur-ve-unut değildir. Tanımlı bir durma noktası olan bir iş — bir görev listesi, bir zaman aşımı, yazılacak belirli bir dosya — hatalarda döngüye girebilen veya kendini yeniden yönlendirebilen uçları açık bir komuttan daha güvenlidir. Kapağı kapatmadan önce ajanın durabileceği bir yer olduğundan emin olun; süresiz döngüye girebilen bir çalıştırma, ilerleme kaydetmeden güç çekmeye ve ısı üretmeye devam eder ve tek başına CPU kullanımı "hâlâ çalışıyor" ile "döngüde takılı kaldı"yı birbirinden ayıramaz.
Batarya ve Termal Koruma Sınırlarını Ayarlamak
%20, çoğu gece boyu iş yükü için makul bir eşiktir — aynı zamanda LidRun'ın kendi varsayılan değeridir, hem genel uyanık-tutma otomatik durdurma hem de Auto Mode'un batarya eşiği için. LidRun'ın kendi sert hayatta-kalma eşiğinin (ne ayarlarsanız ayarlayın %4 ile %8 arasına sıkıştırılmış, zorla-uyku güvenlik ağı) üzerinde gerçek bir boşluk bırakır ve sabah Mac'i gerçekten kullanmaya yetecek şarjı korur. Ajanın çoğunlukla ağ yanıtlarını beklediği daha hafif, API'ye bağlı işler için %15 işe yarayabilir; yerel çıkarım veya ağır build'ler için %20 veya üzerinde kalın. Önemli olan bir eşik belirlemiş olmaktır — eşik yoksa çalıştırmanın ne zaman duracağına işletim sistemi karar verir ve her zaman temiz bir an seçmez.
Mac'in kendi korumalarına güvenseniz bile termal sınırları ayarlamaya değer. macOS, kritik bir şey olmadan önce CPU'yu kısar (throttle), ama kısma, ajanın temiz bir şekilde durmak yerine ekstra saatler boyunca sürüne sürüne devam etmesi demektir — ve daha uzun süre yavaş-ve-sıcak kalmak, kasıtlı bir durdurma ve yeniden başlatmadan daha fazla kümülatif ısı üretir. LidRun'ın Safety Governor'ı, Apple'ın herkese açık ProcessInfo.thermalState API'si üzerinden termal durumu izler ve kasıtlı olarak tek yönlüdür: asla Mac'i uyanık tutmaz, yalnızca koşullar güvensiz göründüğünde bir tutmayı bırakır ya da zorla uykuya geçirir. Gerçekten kritik ısıda, her modda ve her güç kaynağında hemen bırakır — ama gerçek bir zorlanmış uykuya ancak klavyeden uzaktaysanız veya kapak fiziksel olarak kapalıysa yükselir, böylece kapak açıkken izlediğiniz canlı bir oturum asla altınızdan çekilip alınmaz; tutmayı bırakır ve işi Mac'in kendi kısma mekanizmasına devreder.
Apple Silicon'da, kullanıcı alanı yazılımı termal durumu okuyabilir ama fan hızını doğrudan kontrol edemez — bu, çekirdek (kernel) bölgesidir, bu yüzden her termal ayarı bir kadran değil bir koruma sınırı olarak görün. Batarya eşiğini termal koruma sınırıyla birleştirdiğinizde iki bağımsız otomatik durdurma koşulu elde edersiniz: donanım ya da işletim sistemi kendiliğinden müdahale edene kadar işin çalışmasına izin vermek yerine, hangisi önce tetiklenirse freni o çeker. Safety governor rehberi, batarya, termal ve zaman-sınırı limitlerinin nasıl etkileştiğini daha derinlemesine ele alıyor.
Gerçekten Çalıştığını Doğrulamak
Kapağı kapatmadan önce beş saniyelik bir kontrol, sabahın 7'sinde öğrenmekten iyidir. Menü çubuğu simgesi, LidRun'ın şu anda bir uyanık-tutma veya clamshell tutması yapıp yapmadığını yansıtır — uzaklaşmadan önce ona bir göz atın. SSH üzerinden ya da bakılacak bir menü çubuğu olmayan headless bir makinede, bunun yerine terminalden lidrun status çalıştırın; bu, geçerli modu, güç iddiasının aktif olup olmadığını, Closed-Lid'in açık olup olmadığını, geçerli batarya yüzdesini ve şarj durumunu, termal seviyeyi ve — Auto Mode açıksa — şu anda hangi izlenen süreçleri gördüğünü yazdırır.


İzlenmesini beklediğiniz bir süreç görünmüyorsa, lidrun patterns yerleşik ajan kataloğu dahil, izleme listesinde o an bulunan her şeyi listeler. Eksik olan her şeyi lidrun watch <pattern> ile ekleyin — özel bir sarmalayıcı betik veya zaten tanınan isimlerden biri altında gelmeyen bir araç için işe yarar.
İş Bittiğinde Bildirim Almak
Push bildirimleri döngüyü kapatır — onlar olmadan ya elle kontrol ediyorsunuzdur ya da tahmin ediyorsunuzdur. LidRun, uyanık-tutma oturumu bittiği an telefonunuza bir push göndermek için ücretsiz, açık bir bildirim aktarıcısı olan ntfy.sh'i destekler; ücretli, özel bir uygulama tercih ederseniz Pushover da desteklenir. O oturum, ajan süreci çıktığında sona erer, bu yüzden bildirim işin bitmesinin ya da durmasının doğrudan bir vekilidir — sunucu tarafında webhook entegrasyonu gerekmez.
Bildirim, işin başarısını değil oturumun bittiğini bildirir — ajan tamamlansın, bir hatayla karşılaşsın ya da bir batarya veya termal koruma sınırı tetiklendiği için dursun, telefonunuzda hepsi aynı görünür. Gerçekte hangisi olduğunu görmek için Activity Log'u açın; LidRun belirli durma nedenini kaydeder — normal bir görev bitişi, bataryada veya ısıda otomatik durdurma, manuel bir durdurma ya da Safety Governor'ın tutmayı bırakması — ve bu günlük yereldir, push'un kendisi hiç ulaşmasa bile her zaman oradadır. Kaçırılan bir bildirim olabilir: ntfy.sh üçüncü taraf bir aktarıcıdır ve Pushover gönderim anında canlı bir bağlantı gerektirir, bu yüzden Mac'in ağı tam çalıştırma biterken kesintiye uğradıysa, hiçbir şey olmadığını varsaymak yerine doğrudan günlüğü kontrol edin.
Daha uzun bir çalıştırma için, isteğe bağlı bir Watchdog katmanı (ücretli bir özellik), izlenen bir ajan bir süreliğine sessizleşirse — bitmiş olmaktan çok takılmış olabilir — sizi sadece sonunda öğrenmeye bırakmak yerine çalıştırma ortasında uyarabilir. Bunu bir kesin hüküm değil, bir uyarı olarak görün: çökmüş bir ajanı, bir görevi basitçe hızlıca bitirmiş olandan ayırt etmek, LidRun'ın şu anda sahip olduğundan daha fazla sinyale ihtiyaç duyar (beklenen görev süresi, çıkış kodları), bu yüzden takılı-ajan uyarısı "bir bak" demektir, "kesinlikle başarısız oldu" değil.
"Ajanım Yine de Durdu" — Durma Nedenini Okumak
Uyanık tutma açıkken çalıştırma yine de durduysa, Activity Log neredeyse her zaman nedenini açıklar ve genellikle üç şeyden biridir. Kayıt normal bir görev-bitti veya süreç-çıkışı olayı gösteriyorsa, bu bir başarısızlık değildir — ajanın süreci çıkmıştır ve Auto Mode, tam olarak tasarlandığı gibi tutmayı bırakmıştır.
Bir batarya veya termal durdurmaysa, bu bir hata değil, koruma sınırının işini yapmasıdır — bir eşik belirlemenin bütün amacı, onun bazen tetiklenmesidir. Günlükteki yüzdeyi veya termal seviyeyi ayarladığınız değerle karşılaştırın; beklenenden erken tetikleniyorsa, eşik iş yükünün ihtiyacından daha yüksek ayarlanmış olabilir ya da Mac, bataryadayken her zamankinden daha ağır bir yük altındaydı.
Günlük, Safety Governor'ın tutmayı kendiliğinden bıraktığını gösteriyorsa, bu yalnızca batarya gücündeyken olur; LidRun'ın gerçekte hiçbir şeyin çalışmadığını doğruladığı ve bir süredir klavyeden uzakta olduğunuz zaman — gerçek CPU etkinliği olmadan açık duran bir kod editörü, çalışma olarak değil, doğrulanmış-boşta olarak okunur. Ajan aktifken, gerçekten gerçek CPU'lu eşleşen bir görev olarak göründüğünü kontrol etmek için lidrun status çalıştırın. Görünmüyorsa, süreç adı muhtemelen izleme listesindeki hiçbir şeyle eşleşmiyordur (lidrun patterns ile kontrol edin ve lidrun watch <pattern> ile ekleyin) ya da araç, Auto Mode'un "açık"ı "çalışıyor"dan ayırmak için kullandığı CPU eşiğinin altında duran bir GUI uygulamasıdır.
LidRun, işinizi kapak kapalıyken, pil ve sıcaklık koruması yerleşik biçimde çalışır tutar.
LidRun zaten sizde mi? Kurulum rehberini okuyun →
LidRun'u yeni mi tanıdınız? Fiyatlara bakın →
Sık sorulanlar
macOS, normal uyku zamanlayıcısını arka plandaki bir AI ajanına, boşta duran bir makineye uygulayacağı şekilde tıpatıp aynen uygular — klavye veya fare girdisi olmaması kullanıcı etkinliği olmaması demektir, bu yüzden önce ekran uykusu, ardından sistem uykusu tetiklenir ve ajanın CPU zamanlamasını ve ağ erişimini keser. Kapağı kapatmak, bataryadayken basit bir uyanık-tutma iddiasının durduramayacağı, daha da hızlı, ayrı bir uyku yolunu tetikler. LidRun'ın Auto Mode'u gibi sürece bağlı bir araç, uyanık-tutma iddiasını yalnızca ajan gerçekten çalışırken tutar ve süreç çıktığı an bırakır, böylece Mac çalıştırmalar arasında yine normal şekilde uykuya geçer.
Genel bir her-zaman-açık mod kullanmak yerine uyanık tutmayı Claude sürecine bağlayın, böylece ajan bittiğinde otomatik olarak bırakılır — Auto Mode bunu claude için kutudan çıktığı gibi yapar. Batarya eşiğini %20 civarına ayarlayın ve koşullar kötüleşirse bir termal koruma sınırının çalıştırmayı temiz bir şekilde durdurmasına izin verin. Altından hava akışı olan sert, düz bir yüzeyde çalıştırın, bataryaya kıyasla AC güç tercih edin ve elle kontrol etmeden oturumun bittiğini bilmek için push bildirimlerini (ntfy.sh veya Pushover) açın. Kapağı kapatmadan önce gerçekten izlediğini doğrulamak için lidrun status çalıştırın.
%20, çoğu iş yükü için işe yarar ve LidRun'ın kendi varsayılan değeridir — LidRun'ın sert hayatta-kalma eşiğinin üzerinde gerçek bir boşluk bırakır ve macOS'un kendi acil-kapanma aralığının epey üzerinde kalarak sabah için yeterli şarjı korur. Daha hafif, API'ye bağlı işler için %15'e inebilirsiniz; yerel çıkarım veya ağır build'ler için %20 veya üzerinde kalın. Önemli olan bir eşik belirlemiş olmaktır — eşik yoksa ne zaman duracağına macOS karar verir ve temiz bir an seçmeyebilir.
Altından hava akışı olan sert, düz bir yüzeyde kapak-kapalı çalıştırmak ısı riskini azaltmaya yardımcı olur — asıl tehlike, bir çanta veya kapalı bir alan gibi kısıtlı hava akışıdır, kapağın tek başına kapalı olması değil. Apple Silicon'ın kendi termal yönetimi, kritik bir şey olmadan önce CPU'yu kısar, ama bir termal otomatik durdurma ikinci bir katmandır: işin saatlerce sıcak çalışmasına izin vermek yerine, kritik ısıda uyanık-tutma tutmasını bırakır ve klavyeden uzaktaysanız temiz bir uykuyu zorlayabilir.
İzlediğiniz bir ön plan işi için evet — caffeinate -i -w <pid> ücretsizdir, hazır gelir ve süreçle birlikte temiz bir şekilde çıkar. Gözetimsiz, gece boyu bir çalıştırma için iki boşluğu vardır: bataryadayken kapalı bir kapağa dayanmaz ve içinde batarya veya termal limitleri bilen hiçbir şey yoktur. sudo pmset -a disablesleep 1 kapak-kapanma durumunu çözer ama küresel, kalıcı bir ayardır — onu 0'a geri ayarlamayı unutursanız, Mac siz elle sıfırlayana kadar kendiliğinden bir daha uykuya geçmez; bu arada onu izleyen ne bir batarya eşiği ne de bir termal kesme vardır. İkisi de kısa bir iş için doğru araçtır; gözetimsiz gece boyu bir çalıştırma, ne zaman duracağını da bilen bir şeye ihtiyaç duyar.
Menü çubuğu simgesine bir göz atın ya da terminalden lidrun status çalıştırın — bu, geçerli modu, güç iddiasının ve Closed-Lid'in aktif olup olmadığını, batarya ve termal durumu ve Auto Mode'un şu anda hangi izlenen süreçleri gördüğünü yazdırır. Bu, kontrol edecek bir menü çubuğu olmayan SSH üzerinden özellikle kullanışlıdır.