SSD Nodes Learn 🎉 VPS $5.50/aydan başlayan
Rehberler Matt ConnorYazan Matt Connor · Güncellendi 2026-08-21

Agent harness nedir ve ne işe yarar?

Agent harness yapısının bir dil modelini nasıl ajana dönüştürdüğünü öğrenin. Döngü, araç tanımları ve oturum yönetimi gibi bileşenlerin modelden farkını detaylıca inceleyin.

Agent harness nedir

Agent harness, bir dil modelinin etrafında çalışan ve onu bir ajana dönüştüren programdır. Bu yapı; modeli sürekli çağıran döngüyü, modelin kullanmasına izin verilen araç tanımlarını, bu çağrılardan hangilerinin gerçekten çalıştırılacağına karar veren izin kurallarını, turlar arasında varlığını sürdüren oturum durumunu ve işin gerçekleştiği çalışma dizinini barındırır. Model, bu yapının içinde değiştirilebilir durumdadır.

Akılda tutulması gereken kısım son cümledir. Bir model tek başına bir soruyu yanıtlar ve sizi unutur. Bir harness ise modele bir sonraki adımda ne yapması gerektiğini sorar, modelin istediği komutu çalıştırır, sonucu geri besler ve tekrar sorar. İnsanların "ajan" derken kastettikleri şey bu tekrardır. Eğer kullanılan terminoloji hala belirsizse, bir AI ajanı, LLM ve asistan arasındaki fark konusu, bir araç seçmeden önce kavramları netleştirmenizi sağlar.

Harness, modelin kendisi değildir

Satıcılar her ikisini de tek bir marka adı altında sunduğu için bu iki kavram birbirine karıştırılmaktadır.

dsh ve DeepSeek farklı ürünlerdir. 13 Ağustos 2026 tarihinde github.com/deepseek-ai/deepseek-harness adresinde MIT lisansı ile yayımlanan DeepSeek Harness, bir makineye kurduğunuz bir Node programıdır. DeepSeek modelleri ise bir API (uygulama programlama arayüzü) arkasında sunulan ağırlıklardır. dsh noktasını başka bir satıcının modeline yönlendirdiğinizde sistem çalışmaya devam eder; çünkü harness yalnızca mesajları kabul eden ve araç çağrıları döndüren bir yapıya ihtiyaç duyar.

Claude Code ve Claude aynı ikiliyi oluşturur. Claude Code bir harness'tır: içerisinde bir döngü, izin sistemi, dosya ve kabuk araçları bulunan bir terminal programıdır. Claude ise varsayılan olarak çağrılan model ailesidir. Codex ve Gemini CLI da aynı şekilde ayrılır.

Bu durumu her seferinde netleştiren test şudur: Bir harness kurarsınız. Bir modeli çağırırsınız. Eğer söz konusu şeyin diskinizde bir sürümü ve ev dizininizde bir yapılandırma dosyası varsa, bu bir harness'tır. Eğer bu yapılandırma dosyasının içinde deepseek-chat gibi bir metin dizisi yer alıyorsa, o modeldir.

Döngünün gerçekte ne yaptığı

Bir harness döngüsünün bir turu şu şekilde görünür. Bunu yavaşça okuyun, çünkü harness'lar arasındaki neredeyse her fark, bu beş adımın içindeki bir farklılıktan kaynaklanır.

  1. Harness, o ana kadarki konuşmayı ve araç tanımlarının bir listesini modele gönderir.
  2. Model, metinle veya bu araçlardan birini çağırma isteğiyle yanıt verir.
  3. Harness, bu isteği izin kurallarına göre kontrol eder ve ya çalıştırır ya da size sormak için durur.
  4. Harness aracı çalıştırır, çıktıyı ve çıkış kodunu yakalar; çıktı çok uzunsa kısaltır.
  5. Harness bu sonucu konuşmaya ekler ve 1. adıma geri döner.
  1. adım, harness'ların günlük kullanımda en çok farklılaştığı yerdir. Her komuttan önce soran bir harness güvenli ancak yorucudur. Asla sormayan bir harness ise, modelin yanlış anladığı bir yolda er ya da geç yıkıcı bir komut çalıştıracaktır. Artık her ciddi harness'ın bir orta ayarı vardır: sormadan çalışan komutların bulunduğu bir izin listesi ve diğer her şey için bir onay istemi.
  1. adım, diğer farkların bulunduğu yerdir. Konuşma her turda büyür ve modelin sabit bir bağlam penceresi (context window) vardır; bu nedenle harness neyin atılacağına, neyin özetleneceğine, neyin bir dosyaya yazılıp daha sonra geri okunacağına karar vermelidir. Bu karar, aynı modeli kullanan iki harness'ın neden farklı kalitede iş çıkardığının temel nedenidir.

Çoğu harness artık araçları, bir aracı onu destekleyen herhangi bir harness'a sunmanın standart bir yolu olan MCP (model context protocol) üzerinden dışarıdan bağlamaktadır; böylece tek bir entegrasyon birkaç harness'a ulaşabilir. Bir VPS üzerinde MCP sunucuları çalıştırmak bu konunun o tarafını ele almaktadır.

Agent harness ve agent framework karşılaştırması

Bu soru, her yeni harness çıktığında gündeme gelir ve yanıtlar, kısmen satıcıların fikir ayrılıkları nedeniyle çelişir. İşte geçerliliğini koruyan açıklama:

Framework, içe aktardığınız bir kütüphanedir. Döngüyü siz yazarsınız, modele ne zaman çağrı yapacağınıza siz karar verirsiniz, araç sonuçlarını kendiniz yönetirsiniz. LangChain bunun iyi bilinen bir örneğidir: yapı taşlarını alırsınız ve ajanı kod içerisinde birleştirirsiniz.

Harness ise çalıştırdığınız bir programdır. Döngü halihazırda yazılmıştır, araçlar zaten mevcuttur, izin modeli varsayılan ayarlara sahiptir. İlk komutla çalışan bir ajan elde edersiniz ve yapılandırmayı oradan devam ettirirsiniz.

Kurulum testi genellikle ayrımı belirler. Eğer kurulum yapıp ardından kod yazıyorsanız, bu bir framework'tür. Eğer kurulum yapıp ardından onunla etkileşime geçiyorsanız, bu bir harness'tır.

Sınır çizgisi gerçekten tartışmalıdır ve bunun en net kanıtı LangChain'in kendi dokümantasyonudur. Ağustos 2026 itibarıyla Deep Agents'ı LangGraph üzerine inşa edilmiş "kendi görüşleri olan, her şeyi içinde barındıran" (batteries-included) bir framework olarak tanımlarken, langchain-ai/deepagents deposu kendisini "her şeyi içinde barındıran ajan harness'ı" olarak adlandırır. Her iki tanım da doğrudur. Deep Agents içe aktardığınız bir Python SDK'sıdır (yazılım geliştirme kiti), bu yüzden kurulum testi onu bir kütüphane olarak sınıflandırır; ancak o kadar çok varsayılan davranışla gelir ki insanlar onu bir harness gibi kullanır. Microsoft, Ağustos 2026'da genel kullanıma açık bir harness ve barındırılan ajanlar sundu; bu da terimin artık teknik jargon olmaktan çıkıp bir ürün kategorisine dönüştüğünü gösterir.

Bu yüzden iş yükünüzü öngören soruyu sorun. Eğer döngüyü siz yazıyorsanız, döngünün sorumlusu sizsinizdir: yeniden denemeler, bağlam kırpma, izin istemleri ve ne olduğuna dair kayıtlar size aittir. Eğer döngü hazır geliyorsa, tüm bu konularda başkasının çözümünü devralırsınız; bu başlangıçta çok daha hızlıdır ancak daha sonra değiştirilmesi daha zordur.

Harness ile sohbet penceresi arasındaki fark

Sohbet penceresi ve harness, model çıktısını size gösterir. Aralarındaki fark, işlemin kimin bilgisayarında gerçekleştiğidir. Sohbet penceresinde, modelin çalıştırdığı her kod, sağlayıcının korumalı alanında (sandbox), yüklediğiniz dosyalar üzerinde yürütülür ve oturum sona erdiğinde kaybolur. Harness ise araçları, onu başlattığınız makinede, başlatan kullanıcı yetkileriyle, gerçek dosyalarınız üzerinde ve ortamınızdaki gerçek kimlik bilgilerinizle çalıştırır.

Bu durum, iki cümleyle tüm avantajı ve tüm riski özetler. Ajan nihayet işi yapabilir. Ajan aynı zamanda işi silebilir.

Kullanıcıların halihazırda çalıştırdığı araçlar

Bu liste, 19 Ağustos 2026 tarihi itibarıyla bilinçli olarak güncel tutulmuştur. Kategori haftalık olarak değiştiğinden, her türlü derleme hızla eskir.

  • Claude Code ve Codex satıcı odaklı araçlardır. Terminal önceliklidirler, varsayılan olarak kendi satıcılarının modellerine bağlıdırlar ve en gelişmiş izin yönetimine sahiptirler. Claude Code, Cursor, Codex ve Copilot karşılaştırması bu araçları detaylıca inceler.
  • DeepSeek Harness (dsh), MIT lisanslıdır ve tek bir fikir üzerine inşa edilmiştir: her şey bir eklentidir; dolayısıyla modeller, araçlar, oturumlar, sandbox ortamları ve kullanıcı arayüzü değiştirilebilir parçalardır. Yayınlanmasından altı gün sonra, 19 Ağustos 2026 tarihinde yaklaşık 166,800 GitHub yıldızına ulaşmıştır.
  • Hermes, Nous Research tarafından geliştirilmiş olup bir kodlama aracından ziyade genel amaçlı otonom bir ajandır. Şubat 2026'da MIT lisansıyla yayınlanmıştır ve anılarını ve becerilerini kendi makinenizdeki yerel bir SQLite veritabanında tutar. VPS üzerinde Hermes self-hosting kurulumu adım adım açıklar.
  • Omnigent bir meta-araçtır: Claude Code ve Codex dahil olmak üzere diğer araçları, paylaşımlı oturumlar, harcama limitleri ve işletim sistemi seviyesinde bir sandbox ile tek bir API üzerinden yönetir. Çoklu ajan aracı olarak Omnigent bu yapının sağladığı avantajları ele alır.
  • OneCLI, ekiplere yönelik, sandbox ortamında çalışan bir araçtır. Giden isteklere gerçek kimlik bilgilerini enjekte eden bir ağ geçidi etrafında inşa edilmiştir; böylece ajanın kendisi yalnızca yer tutucu anahtarları görür.

dsh hızlı başlangıç süreci tek bir komuttan oluşur ve bu komutu bir kez çalıştırmak, bir aracın ne olduğunu anlamanın en hızlı yoludur. Makinede Node.js kurulu olması gerekir.

npx @deepseek-ai/dsh web

Bu komut, web arayüzünü (user interface) http://127.0.0.1:3080 adresinde başlatır. Güvenilir bir şekilde kullanmadan önce README dosyasını okuyun; çünkü dsh kendisini bir geliştirici önizlemesi olarak tanımlar ve uyumluluğu bozacak değişikliklerin olacağını açıkça belirtir. VPS üzerinde DeepSeek Harness çalıştırma sunucu kurulumunu, adresin neden 127.0.0.1 ile başladığı ise loopback varsayılanını açıklar.

Router'lar harness'ın üzerinde konumlanır

Model router'ı, harness ile sağlayıcı API'si arasında yerel bir proxy görevi görür. Claude Code Router buna yaygın bir örnektir: varsayılan olarak 127.0.0.1:3456 adresine bağlanır, Claude Code'un kendi sağlayıcısına göndereceği istekleri kabul eder ve bunları yapılandırdığınız sağlayıcıya iletir. Harness, herhangi bir değişiklik yapıldığından haberdar olmaz.

Router'ların var olma nedeni modelin değiştirilebilir olmasıdır; bu durum, bu yazının ana fikrini kanıtlar niteliktedir. Ayrıca riskleri tek bir noktada toplarlar, çünkü proxy her istemi görür ve tüm sağlayıcı anahtarlarını elinde tutar. Bunu bir kolaylık aracı olarak değil, altyapı bileşeni olarak değerlendirin. Harness'ın API anahtarlarını ve model ayarlarını nerede tuttuğu konusu, bir katman aşağıda aynı sorunu teşkil eder.

Harness bir VPS üzerinde çalıştığında neler değişir

Harness dizüstü bilgisayarınızdan çıkıp kiraladığınız bir sunucuya taşındığında dört şey değişir.

Kapağı kapattığınızda çalışmaya devam eder. Uzun süren bir görev, yolculuğunuzdan ve pil ömrünüzden etkilenmez. Görevi tmux içinde başlatın ve oturumdan ayrılın:

tmux new -s agent
# start the harness, then press Ctrl-b and then d to detach
tmux attach -t agent

Yeniden başlatma sonrasında geri gelmesi gereken her şey için bir kullanıcı servisi, terminal oturumundan daha verimlidir:

loginctl enable-linger $USER
systemctl --user status my-agent.service

loginctl enable-linger insanların gözden kaçırdığı kısımdır. Bu ayar olmadan systemd, son SSH (secure shell) oturumunuz kapandığı anda kullanıcı servislerinizi durdurur; bu nedenle siz çıkış yaptığınızda aracı (agent) ölür ve hiçbir hata çıktısı vermez. systemd altında dsh'yi başsız (headless) çalıştırma bölümünde birim dosyası mevcuttur. Sunucuda bir oturum aktif olduğunda, ikincisi size ek bir maliyet getirmez ve aynı makinedeki iki Claude Code oturumu birbirine mesaj gönderebilir; böylece sabah başlattığınız oturum, siz manuel olarak aktarmak zorunda kalmadan işi diğerine devredebilir.

Anahtarlarınızı tutar. Sağlayıcı anahtarı artık o sunucudaki bir yapılandırma dosyasında yaşar. Dosyayı kimlerin okuyabildiğini kontrol edin:

ls -l ~/.config

Kullanıcınız olarak çalışan her süreç, aracı ve aracın çalıştırmayı seçtiği her şey dahil olmak üzere bu dosyayı okuyabilir.

Diğer makinelerinize ulaşabilir. Diğer makinelerinizle aynı özel ağda bulunan bir VPS, aracıya bu makinelere erişim yolu sağlar. Asıl amaç budur ancak bu durum aynı zamanda etki alanını (blast radius) da belirler.

Nerede olursanız olun erişilebilirdir. Çoğu harness bir web arayüzü sunar ve çoğu bunu bir nedenden dolayı loopback adresine bağlar. Kendi ayarlarınızı kontrol edin:

ss -tlnp | grep 3080

127.0.0.1:3080, yalnızca sunucunun kendisine bağlanabileceği anlamına gelir. 0.0.0.0:3080, adresi bulan herkesin bağlanabileceği anlamına gelir. Bağlama adresini değiştirmek yerine, bir loopback arayüzüne SSH tüneli üzerinden erişin:

ssh -N -L 3080:127.0.0.1:3080 you@your-server

Ardından dizüstü bilgisayarınızdaki tarayıcıda http://127.0.0.1:3080 adresini açın. Trafik SSH oturumu içinde taşındığından, internete yeni bir açık kapı bırakılmaz.

Bunların her biri aynı zamanda bir güvenlik argümanıdır

Dört özelliği bir saldırganın bakış açısıyla tekrar inceleyin.

Sistem gözetimsiz çalıştığı için, modelin bir yolu yanlış okuduğu anı kimse izlemez. Anahtarlarınızı elinde tuttuğu için, okunabilir tek bir yapılandırma dosyası tüm sağlayıcı hesabınızın ele geçirilmesi anlamına gelir. Diğer makinelerinize erişebildiği için, bir web sayfasında veya ajanın okuduğu bir dosyada gizlenmiş talimatlar olan prompt injection, artık veritabanı sunucunuza giden bir yol bulmuş demektir. Her yerden erişilebilir olduğu için, parola koruması olmayan ve 0.0.0.0 adresine bağlı bir web arayüzü, herkese açık internet üzerinde bir kabuk (shell) erişimi sağlar.

Her durum için çözüm sıkıcıdır ve her seferinde aynıdır. Ajana kendi kullanıcı hesabınız yerine, ayrıcalıksız bir kullanıcı hesabı tanımlayın:

sudo adduser --disabled-password --gecos "" agent

Web arayüzünü loopback üzerinde tutun ve SSH üzerinden erişin. Ajana, işini tamamlamasına yetecek en kısıtlı kimlik bilgilerini verin; yapay zeka ajanlarından sırları saklamak konusu bunu detaylıca ele almaktadır. Siz izlemiyorken çalışan her şey için, dikkatli yapılandırılmış bir makineden ziyade tek kullanımlık bir makine daha iyidir: kodlama ajanlarını geçici bir VM içinde çalıştırmak ve Claude Code aracını bir VPS üzerinde güvenli çalıştırmak yöntemlerinin her ikisi de bu yolu izler.

Bir aracı (agent) donanımına ihtiyacınız var mı?

Eğer işiniz tek seferde tek bir sorudan ibaretse, bir sohbet penceresi yeterlidir; bir donanım ise yalnızca denetlemeniz gereken bir döngü ekler. Bir donanım, görev gerçek dosyalar üzerinde birçok adım gerektirdiğinde veya siz uyurken çalışmaya devam etmesi gerektiğinde maliyetini karşılamaya başlar.

Bu kategorideki araçların çoğu henüz yenidir. dsh, Ağustos 2026 itibarıyla kendi README dosyasında geliştirici önizlemesi olduğunu belirtmektedir ve diğerleri de bugün yazdığınız bir yapılandırma dosyasının gelecek ay düzenlenmesini gerektirecek kadar hızlı değişmektedir. Bu, kurulumunuzu küçük ve tekrarlanabilir tutmanız ve yaptığınız değişiklikleri not etmeniz için bir nedendir. Aynı kısıtlama, aracıyı çalışan en küçük değişikliğe yönlendiren bir becerinin, gözetimsiz bir çalıştırmanın sonunda gerçekten okuyabileceğiniz bir fark (diff) bıraktığı döngü içinde de yardımcı olur. Bir sunucuda bir donanım ile başlayın, ona bir iş ve bir dar kapsamlı anahtar verin; erişimini ancak o ilk iş bir hafta boyunca sıkıcı hale geldikten sonra genişletin. Bugün çalıştırmaya değer self-hosted aracılar, ilkini seçmek için makul bir başlangıç noktasıdır.

FAQ

Agent harness basitçe nedir?

Modelin etrafındaki programdır. Model metin üretir ve araçları kullanma talebinde bulunur. Harness, sorgulamaya devam eden döngüyü çalıştırır, modelin istediği araçları yürütür, hangi araçların izinsiz çalışabileceğine dair kuralları uygular ve oturum durumu ile dosyaları turlar arasında tutar. Modeli değiştirdiğinizde harness çalışmaya devam eder; bu da ikisinin ayrı yapılar olduğunun en net göstergesidir.

Claude Code bir model mi yoksa bir harness mı?

Claude Code bir harness'tır. Bir döngüye, izin sistemine ve yerleşik dosya ve kabuk araçlarına sahip bir terminal programıdır. Claude, varsayılan olarak çağrıldığı model ailesidir. Aynı ayrım, kurduğunuz bir Node programı olan DeepSeek Harness (dsh) ile API üzerinden sunulan DeepSeek modelleri için de geçerlidir. Bir makineye harness kurarsınız. Bir modeli ise ağ üzerinden çağırırsınız.

Agent harness ile agent framework arasındaki fark nedir?

Framework, içe aktardığınız ve üzerine kod yazdığınız bir kütüphanedir; bu sayede döngü, yeniden denemeler ve bağlam yönetimi sizin kontrolünüzdedir. Harness ise çalıştırdığınız bir programdır; bu nedenle tüm bu özellikler, kod yazmak yerine yapılandırdığınız varsayılan ayarlarla birlikte gelir. Uygulamada bu ayrım belirsizleşebilir: Ağustos 2026 itibarıyla, LangChain'in Deep Agents ürünü, kendi deposunda "batteries-included" (tüm özellikleriyle hazır) bir agent harness olarak adlandırılan, içe aktarılabilir bir SDK'dır. Döngüyü kendiniz mi yazacağınızı kendinize sorun. Bu sorunun cevabı, hangi terimin durumunuza uygun olduğunu belirler.

Bir agent harness çalıştırmak için VPS gerekir mi?

Hayır. Burada adı geçen her harness bir dizüstü bilgisayarda çalışır. Bir sunucu dört şeyi değiştirir: bilgisayarın kapağını kapattığınızda agent çalışmaya devam eder, anahtarlarınızı sürekli açık olan bir makinede tutar, diğer sunucularınıza erişebilir ve herhangi bir cihazdan aynı oturuma geri dönebilirsiniz. Bunların her biri aynı zamanda bir güvenlik konusudur; bu nedenle agent'a kendi kullanıcı hesabını atayın ve herhangi bir web arayüzünü 127.0.0.1 adresine bağlı tutun.

Aynı harness içinde farklı bir model kullanabilir miyim?

Genellikle evet; bu, bir harness'ın belirleyici özelliğidir. Çoğu, yapılandırmasında bir model adı ve temel URL alır; bu nedenle birini başka bir sağlayıcıya yönlendirmek, yeniden yazmaktan ziyade bir düzenleme işlemidir. Bir harness buna direnç gösterirse, Claude Code Router gibi yerel bir yönlendirici, harness ile sağlayıcı arasına girer ve istekleri çevirerek varsayılan olarak 127.0.0.1:3456 adresine bağlanır. Bu proxy'ye dikkat edin; çünkü her istemi görür ve her anahtarı elinde tutar.