Yapay zekâ kodlama ajanları Mac diskinizi dolduruyor: nerede
Yapay zekâ kodlama ajanlarını kullanmaya başladıktan sonra diskiniz daha hızlı dolmaya başladıysa alan genellikle dört yerdedir: kendi bağımlılıkları ve derleme çıktılarıyla birlikte fazladan git worktree'leri (çalışma ağaçları), ana klasörünüzdeki gizli klasörlerde duran oturum günlükleri, paket önbellekleri ve yerel model indirmeleri.
Dördü de salt okunur komutlarla ölçülebilir ve araçların kendi komutlarıyla temizlenebilir. Korumanız gereken tek şey, bir ajanın yaptığı ama hiç commit edilmemiş veya birleştirilmemiş işlerdir.
Ajanlar neden bu kadar disk kullanır
Bir ajan, hızlı ve yorulmak bilmeyen bir geliştiricinin çalışacağı gibi çalışır. Kodu çeker, bağımlılıkları kurar, derler, testleri çalıştırır ve yeniden başlar. Birçok araç, birkaç görev birbirinin dosyalarına dokunmadan aynı anda çalışabilsin diye her göreve kendi git worktree'sini verir.
Her worktree eksiksiz bir çalışma kopyasıdır. Her biri kendi node_modules klasörünü, sanal ortamını veya derleme klasörünü alır ve görev bittiğinde bunları hiçbir şey silmez. Yirmi bitmiş görev, projenizin bağımlılıklarının yirmi kopyası anlamına gelebilir.
Geride kalan worktree'leri bulun ve kaldırın
Bir depoda aşağıdaki ilk komut, git'in bildiği her worktree'yi yolu ve dalıyla birlikte listeler. Yalnızca okur. Ajanlarla kullandığınız her depoda çalıştırın.
Birini kaldırmadan önce içindeki işin güvende olduğunu kontrol edin. Klasörü açın ve git status komutunu çalıştırın. Dal birleştirildiyse veya gönderildiyse ve commit edilmemiş değişiklik yoksa onu kaldırmakla hiçbir şey kaybedilmez.
İkinci komut bir worktree'nin klasörünü siler. Worktree'de commit edilmemiş veya izlenmeyen değişiklikler varsa git reddeder; bu tam da istediğiniz korumadır, bu yüzden bakmadan --force eklemeyin. Üçüncüsü yalnızca klasörleri zaten yok olmuş worktree'lere ilişkin git kayıtlarını temizler. Bir worktree'yi kaldırmak dalını silmez.
git worktree list
git worktree remove path/to/worktree
git worktree pruneAna klasörünüzdeki oturum günlükleri ve ajan verileri
Ajanlar ve komut satırı araçları; dökümleri, geçmişi, düzenlenen dosyaların anlık görüntülerini ve indirilen araçları ana klasörünüzdeki ~/.claude, ~/.codex ve ~/.cursor gibi gizli klasörlerde tutar. VS Code üzerine kurulu düzenleyiciler ~/Library/Application Support altında daha fazlasını tutar.
Aşağıdaki komut ana klasörünüzdeki gizli klasörleri büyüklüğe göre listeler; en büyükler en sonda gelir. Yalnızca okur.
Bu klasörlerde iki tür veri karışık durur. Günlükler ve dökümler geçmiştir: eskilerini silmek, o oturumları sürdürme veya onlarda arama yapma olanağınıza mal olur. Ayarlar, kimlik bilgileri ve bellek dosyaları ise yapılandırmadır: onları silmek aracı yeniden kurmak demektir. Eski oturumları, sunduğu yerlerde aracın kendi ayarları veya komutlarıyla temizleyin ve klasörün tamamını silmeyin.
du -sh ~/.??* 2>/dev/null | sort -h | tail -15Katlanarak çoğalan bağımlılıklar ve derleme çıktıları
Artık ihtiyacınız olmayan worktree'leri kaldırdıktan sonra kalan alan genellikle hâlâ yerinde duran proje klasörlerindedir. Ajanlar çoğu zaman depoları geçici veya karalama klasörlerine klonlar ve orada bırakır.
Aşağıdaki komut kod klasörünüzün altındaki node_modules klasörlerini bulur ve büyüklüğe göre sıralar. Yalnızca okur. ~/Projects yerine kodunuzun ve worktree'lerinizin durduğu yeri yazın. Genellikle .venv adını taşıyan Python sanal ortamları ile .build, target ve dist gibi derleme klasörleri de aynı kalıbı izler.
Kullanımda olmayan bir projede bunların hepsi silinebilir. Kurulum veya derleme komutu onları yeniden oluşturur.
find ~/Projects -type d -name node_modules -prune -exec du -sh {} + 2>/dev/null | sort -hPaket önbellekleri de daha hızlı büyür
Bir ajanın çalıştırdığı her kurulum, paket yöneticisinin indirme önbelleğine ekleme yapar ve ajanlar insanlardan çok daha sık kurulum yapar. Test araçları kendilerininkini ekler: örneğin Playwright, eksiksiz tarayıcı derlemelerini ~/Library/Caches/ms-playwright içine indirir.
Bu önbellekleri her aracın kendi komutuyla, örneğin npm cache clean --force, pnpm store prune, uv cache clean veya brew cleanup ile temizlemek güvenlidir. Her biri yalnızca indirilenleri siler; bedeli, bir sonraki kurulumun onları yeniden getirmesidir.
Yerel modeller
Mac'te model çalıştırıyorsanız bunlar büyük olasılıkla diskteki en büyük tekil öğelerdir. Tek bir model çoğu zaman birkaç GB'tır ve birkaçını denemek hızla büyük bir toplama ulaşır.
- Ollama modelleri ~/.ollama/models içinde tutar. Aşağıdaki ilk komut onları boyutlarıyla listeler; ollama rm ve ardından bir model adı da birini siler.
- Hugging Face kitaplıkları modelleri ve veri kümelerini ~/.cache/huggingface/hub içinde önbelleğe alır. İkinci komut onları büyüklüğe göre listeler.
- LM Studio indirdiklerini kendi models klasöründe tutar; bu klasörü uygulamadan açıp yönetebilirsiniz.
- Bir modeli silmek kalıcı hiçbir şey kaybettirmez, ama geri isterseniz yeniden indirilmesi gerekir.
ollama list
du -sh ~/.cache/huggingface/hub/* 2>/dev/null | sort -hKonteynerler ve sandbox'lar
Bazı ajanlar kodu Docker konteynerlerinin içinde çalıştırır. Her imaj ve durdurulmuş konteyner, Docker'ın büyüyen ve kendiliğinden küçülmeyen disk imajının içinde kalır.
Aşağıdaki ilk komut Docker'ın neleri tuttuğunu gösterir. Yalnızca okur. İkincisi durdurulmuş konteynerleri, kullanılmayan ağları, sahipsiz imajları ve kullanılmayan derleme önbelleğini siler. Birimleri (volume) veya bir konteynerin hâlâ kullandığı imajları silmez. Yalnızca durdurulmuş bir konteynerin içinde saklanan her şey kaybolur, bu yüzden çalıştırmadan önce kontrol edin.
docker system df
docker system pruneDiskzy burada ne işe yarar
Diskzy bütün diskin haritasını çıkarır ve dosyalar değiştikçe güncel kalır; bu da bu soruna uygundur: ajanlar çalışırken hangi klasörün büyüdüğünü görebilirsiniz. System Data, explained (Sistem Verileri, açıklamalı) geliştirici verilerini ve yapay zekâ modellerini boyutlarıyla birlikte ayrı, adlandırılmış bölümler olarak gösterir.
Clean up (Temizlik) sekmesi node_modules, .build, Pods ve sanal ortamlar gibi proje derleme klasörlerini nerede olurlarsa olsunlar bulur ve projesi son 14 gün içinde değiştiyse klasörü işaretsiz bırakır. Paket yöneticisi önbellekleri işaretlidir. Ollama, Hugging Face ve LM Studio modelleri listelenir ama işaretsizdir, çünkü yeniden indirilmeleri gerekirdi. Silinen her şey Çöp Sepeti'ne gider.
Sık sorulan sorular
- Bir kodlama ajanının yarattığı git worktree'lerini silmek güvenli mi?
- Evet, içlerindeki iş commit edilip birleştirildikten veya gönderildikten sonra. Commit edilmemiş değişiklik varsa reddeden git worktree remove komutunu kullanın. Dalın kendisi korunur.
- Ajanların ana klasörümde yarattığı gizli klasörleri silebilir miyim?
- O oturumları sürdürmeniz gerekmiyorsa eski oturum günlükleri ve dökümleri gidebilir. Klasörün tamamını silmeyin, çünkü ayarları ve giriş bilgilerini de tutar.
- Neden bu kadar çok node_modules klasörüm var?
- Her worktree ve bir projenin klonlanmış her kopyası kendi klasörünü alır. Ayrı worktree'lerde çalışan ajanlar her görev için eksiksiz bir bağımlılık kümesi yaratır.
- Yerel yapay zekâ modelleri Mac'te nerede saklanır?
- Ollama ~/.ollama/models klasörünü, Hugging Face kitaplıkları ise ~/.cache/huggingface/hub klasörünü kullanır. Diğer uygulamalar kendi klasörlerini kullanır; bunları ayarlarından bulabilirsiniz.
- Bir worktree'yi silmek dalı da siler mi?
- Hayır. git worktree remove yalnızca çalışma klasörünü siler. Dal ve commit'leri, siz dalı kendiniz silene kadar depoda kalır.
İlgili rehberler
- node_modules<project>/node_modules
- Ollama models~/.ollama/models
- Hugging Face cache~/.cache/huggingface
- Playwright browsers~/Library/Caches/ms-playwright
- .cache~/.cache
Kaldırma rehberleri
Mac'inizdeki alanın nereye gittiğini görün
Diskzy diskinizin haritasını çıkarır, Sistem Verileri'ni açıklar ve güvenli olanı temizler. 72 saat ücretsiz, sonra 2 Mac için tek seferlik 9 $.
Diskzy'yi ücretsiz deneyin