NordBastion kutup ayısı maskotu, geceleyin kemerli bir İskandinav mahzeninde taş bir sıranın üzerinde, kapalı bir dizüstü bilgisayarın yanında, camgöbeği renginde holografik döngü ve saat şekilleri altında bir sunucu rafını izliyor
Nasıl yapılır · 25 dk uygulamalı·2026'da güncellendi

VPS üzerinde 7/24 yapay zeka ajanı çalıştırın.
Dizüstü bilgisayarınızdan çıkın, hiç uyumayan bir demire geçin.

Bir VPS üzerinde 7/24 bir yapay zeka ajanı çalıştırmak için dört şeye ihtiyacınız vardır, hiçbiri akıllıca değildir: ayakta kalan bir kutu, onu yeniden başlatan bir denetleyici, imaja asla girmeyen gizli bilgiler ve bir harcama tavanı — bir de kimliğinizi istemeyen bir barındırma sağlayıcısı.

Kısaca
  • 01

    Çoğu ajan, barındırılan bir model API'sinin etrafında G/Ç ağırlıklı bir yapıştırıcı koddur (glue). Çıkarım sizin kutunuzda gerçekleşmez, bu yüzden kutu küçüktür: 2 vCPU ve 4 GB, tek döngülü bir ajanı taşır.

  • 02

    Çalışma süresi (uptime) bir denetleyici sorunudur, bir donanım sorunu değildir. Bir systemd birimi veya bir Docker yeniden başlatma politikası — etkinleştirilmiş ve gerçek bir yeniden başlatmaya karşı test edilmiş — meselenin tamamı budur.

  • 03

    Gerçekten ısıran iki şey vardır: bir imaj katmanına gömülmüş bir gizli bilgi ve ölçülü (metered) bir API'ye karşı bütçe tavanı olmadan bütün gece döngüye giren bir ajan.

Bölüm 1

Dizüstü bilgisayarınız neden bir dağıtım (deployment) değildir. Dört başarısızlık şekli, hepsi de sıradan.

Sizin makinenizde çalışan bir ajan, çalışan bir ajandır, dağıtılmış bir ajan değildir. Aradaki fark, hiçbiri prompt mühendisliğiyle ilgili olmayan dört sıradan sorundur.

Uyku. Kapağı kapatın, süreç askıya alınır. Güç yönetimi, kapak kapanmadan çok önce arka plan işlerini kısar; bu da bu başarısızlığın en kötü halini verir: çalışan ama geç ve öngörülemez biçimde çalışan bir ajan.

IP değişimi. Bir ev veya kafe bağlantısı, her yeniden bağlanışta size yeni bir adres verir. IP'ye göre oran sınırlaması (rate limit) uygulanan her şey, sabit bir geri çağırma (callback) gerektiren her webhook, kaydettiğiniz her izin listesi (allowlist) aralıklı olarak bozulur.

Yeniden başlatmalar. İşletim sistemi güncellemeleri makineyi kendi takvimine göre yeniden başlatır. Ajan bir servis yöneticisine kaydedilmemişse, geri döndüğünde çalışan bir döngü değil, bir masaüstü bulur. Çoğu kişi bunu bir hafta sonra fark eder.

Taşınma. Seyahat edersiniz, makine değiştirirsiniz, yeniden kurarsınız. Yalnızca kabuk (shell) geçmişinizde yaşayan hiçbir şey yeniden üretilebilir değildir — Mart ayında bir öğleden sonra kurulan bir ajanın hiçbir dağıtım prosedürü yoktur.

Bir sunucu bu dört şeyi düzeltir, başka hiçbir şeyi değil — ne doğruluğu, ne maliyeti, ne de güvenliği. Size, başarısızlıklarını düzeltmenin size düştüğü bir çalışma ortamı (runtime) verir. Bunu daha fazlası gibi satan herkesten şüphelenin.

Bölüm 2

Kutunun boyutunu belirlemek. Hangi ajan şekli için hangi VPS katmanı.

İçgüdü, fazla kaynak ayırmak yönündedir, çünkü yapay zeka kulağa ağır gelir. Model başkasının donanımında çalıştığı sürece durum böyle değildir: barındırılan bir API'yi çağıran bir ajan, zamanını ağ G/Ç'sini bekleyerek geçirir. Üçüncü bir şekil — modelin kendisini çalıştırmak — burada kapsam dışıdır; bu iş yükü bir sanal makineden çok bir GPU ister.

Birinci şekil — tek döngü. Tek bir süreç, bir polling veya zamanlanmış döngü, barındırılan bir model API'si, SQLite içinde durum (state). Bağımsız ajanların ve izleme botlarının çoğu bu şekildedir ve gerçekten küçüktür.

İkinci şekil — küçük yığın (stack). Ajan artı Postgres, Redis destekli bir kuyruk, bir worker ve bir vektör deposu. Artık bağlayıcı kısıt bellektir — süreç içinde yüklenen bir embedding modeli kendi başına bir iki gigabayt ister.

Kataloğa göre: Sentinel (NB-V1 — 2 vCPU, 4 GB RAM, 120 GB NVMe, 1 Gbps, sınırsız bant genişliği, $3.90/month), birinci şekli fazlasıyla karşılar. Garrison (NB-V2 — 4 vCPU, 8 GB, 240 GB, $7.90/month), Postgres ve bir kuyruk devreye girdiğinde ikinci şekil için gerçekçi taban noktasıdır. Ravelin (NB-V3 — 8 vCPU, 16 GB, 480 GB, 2.5 Gbps, $16.90/month), aynı kutuyu paylaşan birkaç ajan içindir. Yerel çıkarım ise özel donanıma aittir.

Ödeme dönemleri aylıktır, daha uzun taahhütlerde indirim uygulanır — üç ayda %10, altı ayda %20, on iki ayda %30. Ajanınız bir Python süreci değil de yalnızca Windows'ta çalışan bir trading istemcisiyse, bu durum için uzak masaüstü katmanları mevcuttur.

Bölüm 3

Dağıtım yolu — bir VPS üzerinde yaklaşık on beş dakikada bir yapay zeka ajanı çalıştırın.

Kutuyu Ubuntu 24.04 LTS veya Debian 13 ile sağlayın — sipariş anında Ubuntu 22.04, Debian 12, AlmaLinux 9 ve Rocky Linux 9 ile birlikte ikisi de sunulur. Root kimlik bilgilerini alırsınız; onlarla yapılacak ilk şey onları kullanmayı bırakmaktır. SSH anahtar kimlik doğrulaması size yabancı bir alan geliyorsa, önce aşağıda bağlantısı verilen sertleştirme (hardening) rehberini okuyun.

1 — Bir servis kullanıcısı oluşturun. adduser --system --group --home /srv/agent agent. Ajan root olarak çalışmamalı ve etkileşimli bir kabuğa (shell) sahip olmamalıdır. Şimdi tek bir komut, ajanın çağırdığı bir araç ona karşı kullanılırsa daha sonra etki alanının küçük kalmasını sağlar.

2 — Kodu kutuya alın. /srv/agent içine git clone yapın, ya da sunucuda bir dağıtım anahtarı (deploy key) bırakmak istemiyorsanız rsync kullanın. Bağımlılıkları sabitleyin: bir lockfile, yeniden üretilebilen bir yeniden dağıtım ile sizi şaşırtan bir yeniden dağıtım arasındaki farktır.

3 — Ortamı oluşturun. python3 -m venv /srv/agent/.venv, ardından o sanal ortamın (virtualenv) pip'iyle lockfile'dan kurulum yapın. Ya da uv kurun ve hem yorumlayıcıyı hem de lockfile'ı onun yönetmesine bırakın. İkisi de uygundur; ikisini karıştırmak uygun değildir.

4 — Bir kez elle çalıştırın. sudo -u agent /srv/agent/.venv/bin/python -m agent --once. Doğrudan bir servis birimine geçmek için bunu atlamayın. Buradaki on başarısızlıktan dokuzu, eksik bir ortam değişkeni veya dizüstü bilgisayarınıza göreli bir yoldur; ikisi de journald'da olduğundan daha net biçimde bir terminalde okunur.

5 — Bir denetleyiciye devredin. Bir sonraki bölüm. Başlattığınız bir betiği makinenin sahiplendiği bir servise dönüştüren şey budur. Bu sıra on beş dakikadan belirgin biçimde uzun sürdüyse, neden hemen her zaman geliştirme makinenize örtük bir bağımlılıktır — global bir ikili dosya, kabuk profilinizdeki bir kimlik bilgisi, depo dışında bir yol.

Bölüm 4

Onu 7/24 ayakta tutmak. systemd, Docker ve çökme döngüsü tuzağı.

Bir SSH oturumu üzerinden başlattığınız bir süreç, oturum sona erdiğinde ölür ve bir yeniden başlatmadan sonra geri gelmez. Denetim isteğe bağlı değildir ve elinizde iki makul seçenek vardır.

Tek bir süreç için systemd. /etc/systemd/system/agent.service içinde User=agent, WorkingDirectory=/srv/agent, sanal ortam (virtualenv) yorumlayıcısını gösteren ExecStart, Restart=always ve RestartSec=5 içeren bir birim. Ardından systemctl daemon-reload, sonra systemctl enable --now agent. Bir yeniden başlatmaya dayanan şey enable'dır; enable etmeden başlatmak, üç hafta sonra bir ajanı kaybetmenin en yaygın yoludur.

Bir grup şey için Docker. Ajanın kardeşleri olduğunda — bir veritabanı, bir kuyruk, başsız (headless) bir tarayıcı — bunları her serviste restart: unless-stopped ile tek bir Compose dosyasında tanımlayın. unless-stopped, always'dan önemli bir noktada farklıdır: kasıtlı olarak durdurduğunuz bir konteyner, bir daemon yeniden başlatmasında da durmuş kalır.

Çökme döngüsü tuzağı. systemd, varsayılan olarak yeniden başlatmalara oran sınırlaması uygular. Belirlenen aralık içinde yeterince sık çökerseniz, birim failed durumuna girer ve denemeyi bırakır — birim dosyası açıkça Restart=always dese de sessizce ölmüş görünen bir ajan. Süresiz olarak yeniden denemesi için StartLimitIntervalSec=0 ayarlayın ve bozuk bir ajanın bütün gece bir çekirdeği döndürmemesi için RestartSec'i artırın.

Canlılık (liveness), sağlık (health) demek değildir. Dokuz saat boyunca bir soket okumasında takılı kalmış bir döngü, systemd'nin görebildiği her ölçüye göre çalışan bir süreçtir. Bir nabız (heartbeat) sunun: WatchdogSec ile bir watchdog, bir Docker HEALTHCHECK, veya ajanın her döngüde dokunduğu ve bayatladığında uyaran bir zamanlayıcıya sahip bir zaman damgası dosyası.

Bölüm 5

Gizli bilgiler. İmaja asla ulaşmaması gereken ortam değişkeni dosyası.

Bir ajan, bir web uygulamasından daha tehlikeli malzemeyi elinde tutar. Bir model API anahtarı bir harcama aracıdır; bir trading anahtarı kaldıraçlı bir araçtır; bir cüzdan anahtarı ise fonların kendisidir. Ve bir web uygulamasının aksine, bir ajan kendi yazmadığı metin üzerinde hareket eder; bu da anahtarı elinde tutanın ajan mı yoksa bir saldırgan mı olduğu arasındaki sınırı inceltir.

Onları imajın dışında tutun. Bir Dockerfile'daki ENV ve ARG değerleri imaj katmanlarına yazılır ve imajı ele geçiren herkes tarafından docker history ile okunabilir. Compose'da env_file: veya systemd biriminde EnvironmentFile= kullanın ve dosyayı build bağlamının dışında tutun.

Onları depo (repository) dışında tutun. .gitignore ve .dockerignore'u ellinci değil, ilk commit'te ekleyin. Bir kez commit edilmiş bir anahtar, commit yeniden yazılsa bile ele geçirilmiş sayılır, çünkü nesne klonlarda ve fork'larda hayatta kalmaya devam eder. Geçmişi yeniden yazmak yerine anahtarı döndürün (rotate).

Dosyanın ulaşabileceklerini kısıtlayın. Ortam değişkeni dosyasının sahipliğini servis kullanıcısına verin ve mode 600 olarak ayarlayın. Root olmayan bir servis kullanıcısıyla birleştiğinde, kutudaki başka bir yerde ele geçirilmiş bir bağımlılık, anahtarlarınızı diskten doğrudan okuyamaz.

Her anahtarın kapsamını veren tarafta sınırlayın. Ajan başına bir anahtar, sağlayıcının sunduğu en dar izinlerle — okumanın yeterli olduğu yerde salt okunur, borsa anahtarlarında para çekme devre dışı, sunucuya IP izin listesiyle (allowlist) sınırlı. Sabit bir IP, dizüstü bilgisayardan uzaklaşmanın sessiz bir avantajıdır: izin listesi artık nihayet mümkündür. Birkaç kişinin aynı kimlik bilgilerine ihtiyacı varsa, bunları yandaş rehberdeki kendi barındırdığınız kasanın arkasına koyun.

Bölüm 6

Zamanlama. Döngüler, zamanlayıcılar ve sizi ısıran saat dilimi.

Sürekli çalışmak üç farklı mimariyi tanımlar ve yanlışını seçmek, yinelenen işlerin ve kaçırılan çalıştırmaların yaygın bir kaynağıdır.

Yerleşik döngü. Döngüler arasında uyuyan, uzun ömürlü tek bir süreç. Anlaması en basit olanıdır ve doğru varsayılandır. Zayıf noktası durumdur (state): bellekteki her şey bir yeniden başlatmada kaybolur, bu yüzden bir çökmeye dayanması gereken her şey bir değişkende değil, SQLite veya Postgres'te olmalıdır.

Zamanlanmış çalıştırma. Başlayan, bir birim iş yapan ve çıkan bir süreç. Burada daha iyi araç, OnCalendar ile bir systemd zamanlayıcısıdır (timer); esas olarak Persistent=true sayesinde: kesinti sonrasında, kalıcı (persistent) bir zamanlayıcı kaçırdığı çalıştırmayı tetikler, oysa cron onu basitçe atlar.

Kuyruk. Bir üretici (producer) görevleri kuyruğa ekler, worker'lar onları tüketir. Görevler tamamlanmalarından daha hızlı geldiği anda istediğiniz şey budur. Ayrıca size yeniden denemeler, dead-letter işleme ve bir eşzamanlılık tavanı sağlar.

Ne seçerseniz seçin geçerli iki kural. Her görevi idempotent yapın — çökmede yeniden başlatan bir denetleyici görevleri yeniden deneyecektir ve yeniden denenen bir görev çift gönderim veya çift sipariş yapmamalıdır. Ve sunucu saatini UTC'de bırakın, dönüştürmeyi yalnızca uçlarda yapın: yılda iki kez bir saat kayan bir program, bulunması yorucu bir hatadır.

Bölüm 7

Ajana araçlar vermek. Aynı kutuda bir araç sunucusu.

Araçları olmayan bir ajan, bir sohbet döngüsüdür. Araçlar, onun bir depoyu okumasını, bir veritabanını sorgulamasını, bir sipariş vermesini veya bir issue açmasını sağlayan şeydir — ve ajan bir sunucuda yaşamaya başladığında, araçlar da öyle yaşamalıdır.

Model Context Protocol, bu araçları açığa çıkarmanın (expose) yaygın yolu haline gelmiştir ve özel olarak çalıştırdığınız bir sunucuyu ajanın yanına koymak kolaydır: aynı kutu, aynı özel arayüz, herhangi bir genel (public) açığa çıkarma gerekmez. Yandaş rehberler bunu ayrıntılı biçimde ele alır — uzak bir MCP sunucusunu barındırmak, TLS, streamable-HTTP taşıma katmanı, OAuth ve ajan kartı üzerinden geçerken, kimliksiz barındırma açısı aynı yığını kimlik tarafından ele alır.

Önce onu localhost'a bağlayın (bind). Tek tüketici aynı makinedeki ajansa, araç sunucusunun genel (public) bir port tutmasına gerek yoktur. Loopback adresine bağlayın ve sertifikayı atlayın. Yalnızca ikinci bir makine buna ihtiyaç duyduğunda genel olarak açığa çıkarın — ve o zaman ikisinden biri değil, hem TLS hem kimlik doğrulama gerekir.

Araçlara işe yarayan en az yetkiyi verin. Ajan, hangi aracı çağıracağına metne dayanarak karar verir ve bu metnin bir kısmı dışarıdan gelir. Prompt injection, web sayfaları veya gelen kutularını okuyan bir ajan için varsayımsal değildir: beklenen durumdur. Yalnızca okuyabilen bir araç, yazmaya ikna edilemez. Bir aracın yazması gerektiği yerde, yıkıcı yolların bir insan onayı gerektirmesini sağlayın.

Kendi ajanınız için değil de başkalarının ajanları için araçlar geliştiriyorsanız, makine API'si ve ajana yönelik yüzey, bu platformun provizyonu doğrudan bir ajana nasıl açığa çıkardığını belgeler.

Bölüm 8

Gözlemlenebilirlik ve maliyet. Neyin günlüğe kaydedileceği ve kontrolden çıkma için kill-switch.

Gerçek ajan dağıtımlarına iki başarısızlık şekli hakimdir ve ikisi de bir çökme değildir. Biri, mükemmel çalışan ama hiçbir işe yaramaz şey üretmeyen ajandır. Diğeri, mükemmel çalışan ve bir gecede dört haneli bir API faturası üreten ajandır.

İçeriği değil, şekli günlüğe kaydedin. Zaman damgası, görev kimliği, adım sayısı, çağrılan araç adları, toplam token sayısı, süre, sonuç. Bu, gerçekten soracağınız her operasyonel soruyu yanıtlar. Tam promptlar ve tamamlamalar, ajana bugüne kadar yaptırılan her şeyin, başkasının binasındaki bir diskte, düz metin halindeki bir dökümüdür.

Saklamaya bir tavan koyun. journald, siz aksini söyleyene kadar büyümeye devam eder. journald.conf içindeki SystemMaxUse ve MaxRetentionSec, hem boyuta hem de yaşa bir tavan koyar. Aksi halde konuşkan bir ajan, birkaç hafta içinde bir diski doldurur ve dolu bir disk, temiz bir çökmeden çok daha zor okunan biçimlerde başarısız olur.

Üç katmanlı harcama kontrolü. Sağlayıcı tarafında, API anahtarı üzerinde sabit bir tavan — kodunuzdaki hiçbir hatanın aşamayacağı tek sınır, ve insanların atladığı sınır. Ajanın içinde, bir durdurma eşiğiyle çalışma başına bir token sayacı. Ajanın çevresinde, bir maksimum adım sayısı ve bir duvar saati zaman aşımı; böylece kendisiyle tartışan bir model dört bin yineleme yerine yirmi yinelemeden sonra durur.

Kill-switch'i ona ihtiyaç duymadan önce kurun. Her şeyi durduran tek bir komut: systemctl stop agent veya docker compose down. Bunun, üzerinde belirli bir anahtar bulunan bir dizüstü bilgisayar gerektirmediğinden emin olun. Kötü bir gece ile kötü bir ay arasındaki fark, kontrolden çıkmış bir şeyi durdurmanın on saniye mi yoksa bir saat mi sürdüğüdür.

Bölüm 9

Kimlik tabanı. Barındırma sağlayıcısının bildikleri — ve sizi neye karşı koruyamadığı.

Bir ajan, sizin adınıza sabit bir adresten sürekli olarak hareket eden, kimlik bilgilerine sahip uzun ömürlü bir süreçtir. Bu, kiralama kaydını statik bir web sitesine göre daha ilgi çekici hale getirir: aylarca, her saat, size atfedilebilir şeyler yapar.

Buradaki taban, kayıt olmak için bir e-posta adresi ve bir parola, sekiz varlıkta ödemedir — Bitcoin, Ethereum, iki zincirde Tether, Monero, Litecoin, TRON ve Solana — ve hiçbir aşamada kimlik belgesi yoktur. Veri merkezleri dört İskandinav anayasal rejiminde bulunur: Stockholm, Helsinki, Oslo ve Reykjavík. İşletme doktrini neyin saklandığını ortaya koyar; ağ sayfası yönlendirmeyi ele alır.

Şimdi de tanıtımdan daha önemli olan sınıra gelelim. Kimlik istemeyen bir barındırma sağlayıcısı, kiralama kaydını kaldırır. Çıkarım katmanına dokunmaz: ajanınız, her çağrıda sabit bir IP'den, bir hesaba bağlı bir anahtarla bir model sağlayıcısına kimlik doğrulaması yapar. O hesap sizin yasal adınızdaysa — ki çoğu kişi için öyledir — donanımı kim kiralarsa kiralasın kimlik orada zaten kurulmuştur. Barındırma katmanı tek bir halkayı kaldırır: gerçek bir halkayı, ve yalnızca bir tanesini.

Bundan sonrası göz kamaştırıcı değildir. Bölümlere ayırın: bir ajan, bir sunucu, bir anahtar, bir cüzdan. Kutuyu otuzuncu günde değil, birinci günde sertleştirin — ilk saat kontrol listesi, aylarca gözetimsiz çalışan bir makinede iyi harcanmış bir saattir. Ajanın özel bir ağa ulaşması gerekiyorsa, servisleri açığa çıkarmak yerine onu sunucuda bir tünelle sonlandırın — tünel rehberi yapılandırmayı ele alır. Ve ajanınızın işlem yaptığı cüzdan olmayan bir cüzdandan kripto ile ödeyin.

Bunların hiçbiri egzotik değildir ve hiçbiri bir garanti değildir. Siz uyurken sizin adınıza hareket eden bir şeyi çalıştırmanın sıradan disiplinidir — sürekli çalışmanın anlamı zaten budur. Kümenin geri kalanı rehberler dizininde bulunur.

SSS · VPS Üzerinde Ajanlar

Sorular, yanıtlandı.

Geliştiricilerin bir ajanı localhost'tan taşımadan önce — ve sonrasındaki ilk ay içinde — sordukları yedi soru.

7/24 bir yapay zeka ajanı çalıştırmak için ne kadar VPS gerekir?

Beklenenden daha azı yeterlidir, çünkü çıkarım (inference) sizin değil sağlayıcının donanımında gerçekleşir. Barındırılan bir model API'sini çağıran ve bir polling döngüsü yürüten bir ajan, G/Ç ağırlıklı (I/O-bound) bir süreçtir: Sentinel katmanı (2 vCPU, 4 GB RAM, 120 GB NVMe, $3.90/month) rahatlıkla yeterli gelir. Postgres, bir kuyruk ve yerel bir gömme (embedding) modeli eklediğinizde Garrison'a (4 vCPU, 8 GB, $7.90/month) yükseltin.

Ajanı çalışır tutmak için systemd mi yoksa Docker mı kullanmalıyım?

İkisi de işe yarar; başarısızlık şekilleri farklıdır. Restart=always ayarlı bir systemd birimi, tek bir süreç için en kısa yoldur ve size journald, kaynak sınırları ve önyükleme sırasını bedavaya verir. restart: unless-stopped ile Docker, ajanın kardeş servisleri olduğunda daha iyidir, çünkü Compose bütün seti tek bir dosyada tanımlar. Asıl önemli olan, bunu gerçekten etkinleştirmiş olmanız ve uzaklaşmadan önce bir yeniden başlatmayı test etmenizdir.

Ajanım neden birkaç çökmeden sonra yeniden başlamayı bırakıyor?

Çünkü systemd yeniden başlatmalara oran sınırlaması (rate limit) uygular. StartLimitBurst ve StartLimitIntervalSec, kısa bir pencere içinde sınırlı sayıda yeniden başlatmaya izin verir; bu sınır aşıldığında birim failed durumuna girer ve orada kalır — bu da tam olarak sessiz bir ölüm gibi görünür. Ya asıl çökme nedenini düzeltin — doğru cevap budur — ya da sınırlayıcıyı devre dışı bırakmak için StartLimitIntervalSec=0 ve çökme döngüsüne giren bir ajanın yeniden denerken bir çekirdeği tüketmemesi için RestartSec=10 ayarlayın.

API anahtarlarını nereye koymalıyım?

Konteyner imajının asla göremeyeceği bir dosyaya. Build bağlamının (build context) dışında, systemd biriminde EnvironmentFile= ile veya Compose'da env_file: ile referans verilen, servis kullanıcısına ait ve mode 600 olan bir ortam değişkeni dosyası tutun. Bir gizli bilgi için Dockerfile'da asla ENV veya ARG kullanmayın: bu değerler imaj katmanlarına gömülür ve docker history ile okunabilir hale gelir. Dosyayı ilk commit'ten önce .gitignore ve .dockerignore dosyalarına ekleyin.

Bir ajanın bir gecede tüm API bütçemi harcamasını nasıl engellerim?

Üç katman vardır ve üçünü de istersiniz. Sağlayıcı tarafında: API anahtarı üzerinde, kodunuzdaki hiçbir hatanın aşamayacağı tek sınır olan sabit bir harcama tavanı. Ajanın içinde: çalışma başına token veya çağrı sayısını sayın ve bir eşiğin üzerinde durdurun. Ajanın çevresinde: görev başına bir adım tavanı ve bir duvar saati (wall-clock) zaman aşımı. Hiçbir barındırma sağlayıcısı bunu sizin yerinize yapamaz — bir VPS kiralanmış kapasitedir, başkasının API'si üzerinde bir bütçe koruması değil.

Ajan günlüklerine asla ne yazmamalıyım?

Tam promptları ve tamamlamaları (completions), ham araç argümanlarını, API anahtarlarını, cüzdan bilgilerini ve bir kullanıcının yazdığı hiçbir şeyi. Bunun yerine çalışmanın şeklini günlüğe kaydedin: zaman damgası, görev kimliği, adım sayısı, araç adları, toplam token sayısı, süre, sonuç. Ayrıntılı bir ajan günlüğü, ajana bugüne kadar yaptırılan her şeyin, fiziksel olarak kontrol etmediğiniz bir diskte, düz metin halindeki bir dökümüdür.

KYC gerektirmeyen bir barındırma sağlayıcısı ajanımı anonim yapar mı?

Hayır, ve bu konuda net olmakta fayda var. Kimliksiz kayıt ve kripto ile ödeme, barındırma sağlayıcısının sunucuya bağlayabileceği bir yasal kimliği olmadığı anlamına gelir. Bu, model sağlayıcısı konusunda hiçbir şey değiştirmez: ajanınız her çağrıda, bir hesaba bağlı bir anahtarla, sabit bir sunucu IP'sinden o API'ye kimlik doğrulaması yapar. Barındırma katmanı zincirdeki tek bir halkayı — kiralama kaydını — kaldırır, kaldırdığı tek şey de budur.

Sunucuyu edinin

KYC gerektirmeyen bir VPS kiralayın, kripto ile ödeyin, ajanı bu gece dizüstü bilgisayarınızdan taşıyın.

Sentinel — 2 vCPU, 4 GB RAM, 120 GB NVMe, sınırsız bant genişliği, $3.90/month — yanında araç sunucusuna da yer bırakarak tek döngülü bir ajanı taşır. Kayıt olmak için bir e-posta adresi ve bir parola; hiçbir aşamada belge yok.

Son inceleme · 2026-08-24 · Kaynaklar · systemd.service, systemd.timer ve journald.conf kılavuz sayfaları, Docker restart-policy ve Compose belgeleri, Model Context Protocol spesifikasyonu, NordBastion kataloğu · Kadans · yıllık