Harness Nedir? Model ile Kodlama Aracı Arasındaki Fark (DeepSeek Örneğiyle)
Son güncelleme:
10 dk okuma

Şöyle bir durum düşünün: DeepSeek'i tarayıcıdan deniyorsunuz ve sorduğunuz her şeyi biliyor. Aynı modeli editörünüze bağladığınızda ise çok daha kötü davranıyor. Model mi kötü, siz mi yanlış yapıyorsunuz?
Büyük olasılıkla ikisi de değil. Aradaki fark harness'tan geliyor. Vibe coding konuşurken hep modelleri karşılaştırıyoruz ("Claude mu iyi, GPT mi, DeepSeek mi?") ama çıktının kalitesini belirleyen şeyin ciddi bir kısmı modelde değil, modelin etrafına sarılan o katmanda saklı. Bu yazıda harness'ın ne olduğunu, ne iş yaptığını ve neden aynı modelin iki farklı araçta iki farklı geliştirici gibi davrandığını anlatıyorum.
Yazının çıkış noktası, Jack Roberts'ın DeepSeek'in açık kaynak harness'ını tanıttığı DeepSeek Harness = Claude Code for $0 videosu. Bu yazı o videoyu özetleyip genişletiyor; ajan döngüsünün adım adım anlatımı, harness seçim soruları ve güvenlik önerileri bu yazının eklemesi.
Model nedir? Harness nedir?
Model, aslında şaşırtıcı derecede basit bir şeydir: içine metin verirsiniz, size metin verir. Hepsi bu. DeepSeek, Claude, GPT: hepsi bu tanımın içine girer. Modelin belleği yoktur, dosyalarınızı göremez, terminal çalıştıramaz, önceki konuşmayı hatırlamaz. Tek bir fonksiyon gibi düşünün:
cevap = model(metin)Harness ise bu fonksiyonun etrafına yazılmış programdır. Claude Code, Cursor, Codex CLI, Cline, Continue, opencode: hepsi birer harness. Modeli çağıran, ona ne verileceğine karar veren, cevabındaki talimatları yürüten ve sonucu tekrar modele geri besleyen kod.
Videodaki benzetme kısa: model beyin, harness gövde. Biraz daha açarsak: model, çok iyi bir yazılımcıdır ama kilitli, penceresiz bir odada oturur. Gözü, eli, hafızası yoktur. Ona bir kâğıt uzatırsınız, üstüne cevabı yazar, geri verir. Harness ise o odanın kapısındaki kişidir: hangi kâğıdı sokacağına, kâğıtta ne yazacağına, yazılana göre hangi dosyayı açıp içeriğini geri götüreceğine o karar verir.
İyi bir yazılımcıya boş bir kâğıt uzatırsanız iyi bir cevap alamazsınız. Sorun yazılımcıda değildir.
Harness'ın yaptığı beş iş
Bir kodlama aracını açtığınızda arka planda şu beş şey oluyor. Hiçbiri modelin işi değil.
1. Sistem promptu ve kurallar
Harness, sizin yazdığınız cümlenin önüne kendi talimatlarını ekler: "Sen bir kodlama asistanısın, şu araçları kullanabilirsin, dosya yazmadan önce okumalısın, kullanıcının kod stiline uy." Projenizin kökündeki CLAUDE.md, .cursorrules veya AGENTS.md gibi dosyalar da buraya girer.
Bu katman, aynı modelden neden bir araçta düzgün Türkçe yorum, başka bir araçta İngilizce yorum aldığınızı açıklar.
2. Araç (tool) tanımları
Model kendi başına dosya okuyamaz. Harness ona bir liste sunar: read_file, write_file, run_command, search. Model de cevabında "şimdi read_file("api/session.php") çağırmak istiyorum" der. Bu bir istektir, eylem değil.
Çağrıyı asıl yapan harness'tır. Dosyayı o okur, içeriği alır, bir sonraki mesaja ekleyip modele geri gönderir.
3. Ajan döngüsü (agent loop)
İşin kalbi burası. Harness tek bir soru-cevap yapmaz, bir döngü döner:
- Kullanıcının isteğini modele gönder.
- Model bir araç çağırmak isterse, çağır.
- Aracın sonucunu konuşmaya ekle.
- Tekrar modele gönder.
- Model "bitti" diyene ya da bir limite ulaşana kadar 2'ye dön.
Sohbet penceresindeki DeepSeek ile ajan içindeki DeepSeek arasındaki fark tam olarak bu döngüdür. Sohbette bir tur vardır; ajanda otuz tur olabilir.
4. Bağlam yönetimi
Model her turda bütün geçmişi baştan okur ve her modelin bir bağlam sınırı vardır. Otuz turluk bir oturum bu sınırı rahatça aşar. Harness burada karar verir: hangi dosya tam gönderilecek, hangisi özetlenecek, hangi eski adım atılacak, ne zaman konuşma sıkıştırılacak.
İyi ve kötü harness arasındaki en büyük fark burada ortaya çıkıyor. Model aynı model; ama biri ona ilgili üç dosyayı verirken diğeri alakasız otuz dosyayı veriyor. İkincisi hem daha pahalı hem daha kötü.
5. Onay ve güvenlik sınırı
Model "şu komutu çalıştır" dediğinde harness bunu size mi soracak, doğrudan mı yapacak? Hangi klasörün dışına çıkamayacak? Bu kararlar da modelin değil, harness'ın.
Bir turun anatomisi: DeepSeek örneği
Somutlaştıralım. DeepSeek'i bir ajan aracına takmışsınız ve şunu yazdınız:
"
api/session.phpdosyasındaki süre hesabını, istemciden gelen değere değil sunucu farkına güvenecek şekilde düzelt."
Arka planda olan şey, kabaca:
Tur 1: Harness modele şunu gönderir: sistem promptu + araç listesi + proje kuralları + sizin cümleniz. Model cevap verir: "Önce dosyayı okumam gerek: read_file("api/session.php")."
Tur 2: Harness dosyayı okur, 200 satırı konuşmaya ekler, modele geri gönderir. Model bu kez: "41. satırda $_POST['duration'] doğrudan kullanılmış. Şu değişikliği öneriyorum: write_file(...)."
Tur 3: Harness (ayarınıza göre) size onay sorar ya da yazar. Sonucu modele bildirir. Model: "Testleri çalıştıralım: run_command("php tests/session_test.php")."
Tur 4: Test çıktısı modele döner. Kırmızıysa model düzeltir, döngü devam eder. Yeşilse model "bitti" der ve döngü kapanır.
Bu dört turda modelin yaptığı tek şey metin üretmekti. Dosyayı okuyan, yazan, testi çalıştıran, çıktıyı geri taşıyan hep harness'tı. Ajan hissini veren şey model değil, bu döngüdür.
Neden aynı model farklı araçlarda farklı davranıyor?
Artık cevap net. Aynı modeli iki araçta çalıştırdığınızda değişen şeyler:
- Sistem promptu. Biri "önce oku, sonra yaz" diyor, diğeri demiyor.
- Araç seti. Birinde
run_commandvar, diğerinde yok. Testi çalıştıramayan ajan, kodun çalıştığını doğrulayamaz. - Bağlam seçimi. Biri projeyi indeksleyip ilgili üç dosyayı buluyor, diğeri sadece açık sekmeyi gönderiyor.
- Tur limiti. Biri otuz tura izin veriyor, diğeri beşte kesiyor.
- Hata geri bildirimi. Biri derleyici hatasını modele geri veriyor, diğeri size gösterip bırakıyor.
Girişteki "tarayıcıda iyi, editörde kötü" durumunun tipik sebebi de bu: kullanılan eklenti modele yalnızca o an açık olan dosyayı gönderiyorsa, model göremediği bir kod tabanı hakkında tahmin yürütmek zorunda kalır.
DeepSeek'in bu tabloda özel yeri
DeepSeek'i örnek seçmemin sebebi, harness konusunu diğerlerinden daha görünür kılması. Kapalı bir modeli genelde üreticisinin aracıyla kullanırsınız: model ve harness aynı yerden gelir, birlikte ayarlanmıştır. DeepSeek'te ise model ile harness birbirinden bağımsız seçilebiliyor.
Bir yanda DeepSeek'in kendi harness'ı var. DeepSeek, Ağustos 2026'da DeepSeek Harness'ı (kısaca dsh) MIT lisansıyla açık kaynak olarak yayımladı. Proje henüz geliştirici önizlemesi aşamasında ve depoda uyumluluğu bozan değişiklikler olacağı açıkça belirtiliyor. Mimarisi "her şey bir eklenti" fikrine dayanıyor: model bağdaştırıcısı, araç kaydı, oturum kaydı ve ajan döngüsünün kendisi değiştirilebilir parçalar. Videoda bu harness yerel makinede çalıştırılıyor ve aynı arayüzde DeepSeek, Claude ve GPT modelleri arasında geçiş yapılıyor; videoya göre Ollama ile yerel modeller de bağlanabiliyor, ama Claude Code ya da Codex aboneliği kullanılamıyor, yalnızca API anahtarıyla çalışıyor.
Öte yanda DeepSeek modelleri başka harness'larda da çalışıyor. Model API'si OpenAI'ın API biçimiyle uyumlu olduğu için, "OpenAI uyumlu endpoint" kabul eden hemen her ajan aracına takılabiliyor: adres ve anahtar alanını değiştirip başlıyorsunuz. Ağırlıkları açık yayımlanan modelleri, donanımınız yetiyorsa, kendi sunucunuzda da çalıştırabilirsiniz.
Bu serbestlik hem esneklik hem tuzak:
- Sohbet modeli mi, akıl yürütme modeli mi? DeepSeek'in model ailesinde hem doğrudan cevap veren sohbet modelleri hem de adım adım düşünen akıl yürütme modları bulunuyor. Akıl yürüten modeller genelde daha iyi plan kurar ama daha yavaş ve daha pahalıdır; bazı sürümlerde araç çağırma desteği sohbet modelindeki kadar oturmuş olmayabilir. Ajan içinde kullanmadan önce araç çağırmayı basit bir görevle test edin.
- Araç çağırma kalitesi belirleyici. Bir ajan aracında modelin tek kritik yeteneği, doğru formatta ve doğru sırada araç çağırabilmesidir. Sohbette harika cevap veren bir model, araç çağırma formatını tutturamıyorsa ajan olarak işe yaramaz.
- Ucuz olması bağlam israfını affetmez. DeepSeek'in fiyat avantajı gerçek, ama harness kötüyse otuz turluk bir döngüde o avantajı geri verirsiniz. Ucuz model + savurgan harness, pahalı model + tutumlu harness'tan daha pahalıya gelebiliyor.
- Sürümler hızlı değişiyor. Model adları ve yetenekleri birkaç ayda bir güncelleniyor; hangi modelin ne desteklediğini kullanmadan önce resmî dokümantasyondan doğrulayın. Bu yazıdaki mekanizma sabit, model listesi değil.
Kendi harness'ınızı yazmalı mısınız?
Bir ajan döngüsünün en yalın hâlini yazmak gerçekten yüz satır kadar tutar: bir while döngüsü, bir araç listesi, bir JSON ayrıştırıcı. Öğrenmek için kesinlikle bir kere yazın: harness'ın ne yaptığını anlatan hiçbir yazı, kendi döngünüzü yazmak kadar öğretici değil.
Ama günlük işinizde kullanacağınız aracı sıfırdan yazmayın. Hazır araçların asıl değeri döngüde değil, döngünün etrafındaki ayrıntılarda: bağlam sıkıştırma, dosya indeksleme, fark (diff) gösterimi, geri alma, izin sistemi, çökme toparlama. Bunlar aylar süren işler.
Harness seçerken sorulacak beş soru
Yeni bir kodlama aracına bakarken model adına değil şunlara bakın:
- Hangi araçları veriyor? Dosya okuma yetmez; komut çalıştırma ve test koşturma da olmalı.
- Bağlamı nasıl seçiyor? Sadece açık dosyayı mı gönderiyor, projeyi indeksliyor mu, ben elle dosya ekleyebiliyor muyum?
- Uzun oturumda ne yapıyor? Bağlam dolunca sessizce unutuyor mu, özetliyor mu, bana söylüyor mu?
- Model değiştirebiliyor muyum? Kendi API anahtarımı ve kendi modelimi takabiliyor muyum? (DeepSeek gibi modelleri denemek için şart.)
- Neyi onaya soruyor? Dosya yazmayı, komut çalıştırmayı bana mı soruyor, kendi mi karar veriyor?
Bu beş sorunun cevabı, aracın hangi modeli kullandığından daha çok fark yaratıyor.
Ucuz model gerçekten ucuz mu?
"Fiyatın çok küçük bir kısmına neredeyse aynı performans" cümlesini çok duyacaksınız; videoda da DeepSeek için performansın yüzde 90-95'ini maliyetin küçük bir kısmına sunduğu savunuluyor ve modelin Opus ile GPT-5.6'nın bir kademe altında kaldığı kabul ediliyor. Bu tür cümlelere olduğu gibi güvenmeyin; kendi işinizde ölçün. Yapması kolay:
- Temsili beş görev seçin: sizin gerçekten yaptığınız işlerden, yapay örneklerden değil.
- Aynı beş görevi iki kurulumda da çalıştırın.
- Üç şeyi not edin: harcanan token, sonucun kabul edilebilir olup olmadığı ve düzeltmek için harcadığınız süre.
Üçüncü madde kritik. Ucuz model iki kat token harcayıp size yarım saat düzeltme çıkarıyorsa ucuz değildir. Makul bir beklenti şu: rutin ve tarifi net işlerde ucuz model çoğu zaman yetiyor; muğlak, karar gerektiren işlerde aradaki fark token maliyetinden çok zaman kaybına dönüşebiliyor.
Bu yüzden tek bir kuruluma bağlanmak yerine ayrım yapın: en zor kararı verdiğiniz yerde güçlü modeli, hacmi taşıdığınız yerde ucuz modeli çalıştırın. Videoda önerilen ayrım da buna yakın: çıktı müşteriye gidiyorsa ve tasarım kalitesi önemliyse Claude Code ya da Codex; hacimli, maliyetin belirleyici olduğu işlerde DeepSeek harness'ı bir "iş atı" olarak.
Üçüncü parti bir harness'a API anahtarı vermek
Açık kaynak bir harness kendi makinenizde çalışır ve telemetrisi varsayılan olarak kapalı olabilir (videoda DeepSeek Harness için böyle olduğu söyleniyor), ama siz ona API anahtarınızı, kod tabanınızı ve bazen dış servis erişimini veriyorsunuz. Kurulumdan önce dört şey:
- Ana hesabınızın anahtarını değil, harcama limiti tanımlı ayrı bir API anahtarı kullanın.
- Anahtarı ortam değişkeninde tutun, proje dosyasına yazmayın.
- İlk çalıştırmada ağ trafiğine bakın; telemetrinin gerçekten kapalı olduğunu kendiniz doğrulayın.
- Otomatik komut çalıştırma iznini kısıtlı başlatın, aracı tanıdıkça genişletin.
Bunlar paranoya değil; herhangi bir üçüncü parti geliştirici aracına uygulayacağınız standart alışkanlıklar.
Vibe coding açısından anlamı
Vibe coding yazılarımda hep şunu söylüyorum: kararlar sizde, uygulama modelde. Harness bu cümlenin üçüncü ayağı: kararlarınızın modele nasıl taşındığı. Karar belgeniz mükemmel olabilir; harness onu modele hiç göndermiyorsa hiçbir anlamı yok.
Bu yüzden "hangi model daha iyi" tartışmasına girmeden önce şunu sorun: modelime ne veriyorum, cevabıyla ne yapıyorum? Cevap netleştiğinde model seçimi zaten kolaylaşıyor.
Araçların hangi işte hangisinin öne çıktığını görmek isterseniz Vibe Coding araçları karşılaştırması yazısına, yöntemin kendisi için 7 pratik ipucu yazısına bakabilirsiniz.
Sık Sorulan Sorular
Harness ne demek?
Harness, bir yapay zekâ modelinin etrafına yazılan ve modeli kullanılabilir bir araca dönüştüren yazılım katmanıdır. Sistem promptunu hazırlar, modele araçlar (dosya okuma, komut çalıştırma) sunar, modelin istediği çağrıları yürütür ve sonuçları modele geri besler. Claude Code, Cursor ve Cline birer harness örneğidir.
Model ile harness arasındaki fark nedir?
Model yalnızca metin girip metin çıkaran bir fonksiyondur; belleği, dosya erişimi ve eylem yeteneği yoktur. Harness ise bu fonksiyonu bir döngü içinde çalıştıran, ona bağlam veren ve cevabındaki araç çağrılarını gerçekten yürüten programdır. Ajan davranışı modelden değil, bu döngüden gelir.
DeepSeek'i kendi kodlama aracımda kullanabilir miyim?
Evet. DeepSeek'in API'si OpenAI biçimiyle uyumlu olduğu için, kendi API adresinizi ve anahtarınızı girmenize izin veren ajan araçlarının çoğunda çalışır. Ayrıca DeepSeek'in kendi açık kaynak harness'ı da var, ama henüz geliştirici önizlemesi aşamasında. Kullanmadan önce seçtiğiniz modelin araç çağırmayı (function calling) desteklediğini doğrulayın.
Aynı modeli kullanan iki araç neden farklı sonuç veriyor?
Çünkü model aynı olsa da ona verilen girdi farklı. Sistem promptu, araç seti, gönderilen dosyalar, tur limiti ve hata geri bildirimi araçtan araca değişir. Modele ilgili üç dosyayı veren araçla yalnızca açık sekmeyi veren araç, aynı modelden çok farklı kalitede çıktı alır.
Ajan döngüsü (agent loop) nedir?
Harness'ın modeli tek seferde değil, tekrar tekrar çağırdığı akıştır: isteği gönder, modelin istediği aracı çalıştır, sonucu konuşmaya ekle, tekrar gönder. Model "bitti" diyene kadar bu döngü sürer. Bir aracın "kendi kendine çalışıyor" hissi vermesinin sebebi budur.
Kendi harness'ımı yazmam gerekir mi?
Günlük iş için gerekmez; hazır araçların değeri döngüde değil, bağlam yönetimi ve izin sistemi gibi ayrıntılarda. Ama öğrenmek için basit bir döngüyü bir kez yazmanızı öneririm: yüz satır kadar tutar ve konuyu okuyarak öğrenemeyeceğiniz kadar netleştirir.
Kaynak
- Jack Roberts, DeepSeek Harness = Claude Code for $0 (YouTube, Ağustos 2026). Model ve harness ayrımı, DeepSeek Harness'ın özellikleri ve hangi işte hangi kurulumun seçileceği bu videoya dayanıyor.
- deepseek-ai/deepseek-harness (GitHub): lisans, geliştirici önizlemesi durumu ve kurulum için resmî depo.
- The Open-Sourcing of DeepSeek Harness (InfoQ, Ağustos 2026): eklenti tabanlı mimarinin özeti.
İlgili Yazılar
JEV'i Sisteminize Bağlamak: Harness, Maliyet ve Bilinen Sınırlar
JEV tek başına bir olasılık bulutu üretir. Kararı eyleme çeviren harness nasıl kurulur, hangi mimari kalıplar işe yarar ve modelin zayıf noktaları neler?
Bedava Yapay Zekâ ile Kod Yazmak: opencode ve Ücretsiz Modeller
Açık kaynak opencode'a kendi anahtarınızı takıp ücretsiz ya da kuruşluk modellerle çalışmak: kurulum, DeepSeek ve GLM ayarı, bedavanın gerçek maliyeti.
Hermes Agent ile Telegram, Zamanlanmış Görev ve Güvenlik
Hermes Agent'ı Telegram'a bağlayın, cron ile otomatikleştirin ve güvenli çalıştırın: BotFather, izin listesi, onay modları ve Docker izolasyonu.