← Analizler

Kavram/Operasyon · 2026-09-14 · 9 dk

Harness Mühendisliği: AI Ajanlarını “Akıllı” Olmaktan “Güvenilir Çalışan Sistemlere” Dönüştürmek

Paylaş

X'te paylaş

Takip: @aiekonomisi

1. Önce temel kavramlar

AI mühendisliğinde bugün birbirine çok benzeyen fakat aslında farklı seviyelerde çalışan birkaç kavram var.

Bunları şöyle düşünebiliriz:

Prompt Engineering → Context Engineering → Agent Engineering → Harness Engineering

Bunlar birbirinin alternatifi değil. İç içe geçmiş katmanlar.

Prompt Engineering

En dar katmandır.

Modele ne söylediğinizle ilgilenir.

Örneğin:

“Bu repository'yi analiz et. Next.js mimarisini değiştirme. Önce mevcut yapıyı çıkar, sonra değişiklik öner.”

Bu bir prompt'tur.

Problem şudur:

Model promptu anlayabilir ama uygulamak zorunda değildir.

Örneğin:

“Mevcut frontend stack'i değiştirme.”

dediğiniz halde ajan yeni bir UI framework kurabilir.

Çünkü prompt çoğunlukla probabilistic guidance sağlar.

2. Context Engineering

Context Engineering daha geniştir.

Buradaki soru:

Model karar verirken hangi bilgileri görmeli?

Örneğin bir developer agent çalıştırıyorsunuz.

Ajanın görmesi gerekenler:

PROJECT.md ARCHITECTURE.md AGENTS.md DESIGN_SYSTEM.md API_CONTRACT.md DATABASE_SCHEMA.md SECURITY_RULES.md repo git history open issues test results runtime logs

Bunların tamamını her istekte modele verirseniz context şişer.

Bu nedenle Context Engineering şu problemleri çözer:

Ne verilecek? Ne zaman verilecek? Ne kadar verilecek? Nereden getirilecek? Hangisi source-of-truth olacak?

LangChain'in harness yaklaşımında da temel işlerden biri her adımda modele görev için doğru context'i sağlamaktır.

3. Agent nedir?

Bir LLM kendi başına aslında agent değildir.

Kabaca:

INPUT ↓ MODEL ↓ OUTPUT

Model size cevap verir.

Agent ise:

┌──────────────┐ │ MODEL │ └──────┬───────┘ ↓ DECISION ↓ TOOL SELECTION ↓ TOOL EXECUTION ↓ RESULT ↓ MODEL AGAIN ↓ ...

şeklinde çalışan bir sistemdir.

Örneğin ajan:

Repository'yi oku ↓ Dosyaları bul ↓ Architecture.md oku ↓ Kod yaz ↓ npm test çalıştır ↓ Test başarısız ↓ Logları oku ↓ Kodu düzelt ↓ Testi tekrar çalıştır ↓ Başarılı ↓ PR oluştur

yapabilir.

Model artık yalnızca konuşmuyor.

Bir ortam içerisinde hareket ediyor.

Microsoft'un güncel tanımı da agent harness'ı, model ve tool çağrılarını yöneten, conversation state/context'i yöneten, approval politikalarını uygulayan ve uzun görevlerde agent'ın ilerlemesini sağlayan runtime scaffolding olarak tanımlıyor.

4. Peki Harness nedir?

Şimdi kritik noktaya geliyoruz.

Ortada güçlü bir model olduğunu düşünelim:

GPT / Claude / Gemini / başka model

Bu model tek başına şirketinizi, repository'nizi veya çalışma kurallarınızı bilmiyor.

Etrafına bir sistem kuruyoruz.

┌─────────────────────┐ │ MODEL │ └─────────────────────┘

MODELİN ETRAFINDA:

CONTEXT │ ┌────────┴────────┐ │ │ MEMORY TOOLS │ │ KNOWLEDGE SKILLS │ │ POLICIES SANDBOX │ │ SECURITY PERMISSIONS │ │ TESTS OBSERVABILITY │ │ EVALS FEEDBACK

İşte bu dış yapı:

HARNESS

oluyor.

LangChain — The Anatomy of an Agent Harness

LangChain'in geniş tanımı özellikle yararlı:

Model değilsen harness'ın parçasısın.

Dolayısıyla harness yalnızca prompt dosyası değildir.

5. Harness Engineering nedir?

Harness hazır bir ürün değil.

Harness Engineering, bu çalışma ortamını bilinçli biçimde tasarlama disiplinidir.

Ama bence kavramın özünü Mitchell Hashimoto'nun yaklaşımı çok daha iyi anlatıyor.

HashiCorp'un kurucularından ve Terraform'un yaratıcısı Mitchell Hashimoto, 5 Şubat 2026 tarihli yazısında kendi AI kullanım sürecinin beşinci aşamasını:

“Engineer the Harness”

olarak tanımladı.

Temel prensibi şuydu:

Agent bir hata yaptığında yalnızca o hatayı düzeltme. Sistemi değiştir ki aynı hata tekrar oluşmasın.

Bu Harness Engineering'in belki de en önemli prensibidir.

Klasik AI kullanımı Agent hata yaptı ↓ İnsan fark etti ↓ İnsan prompt verdi ↓ Agent düzeltti

Bir hafta sonra:

Agent aynı hatayı tekrar yaptı.

İnsan yeniden düzeltir.

Harness Engineering yaklaşımı Agent hata yaptı ↓ Hata sınıflandırıldı ↓ Neden oluştu? ↓ Harness değiştirildi ↓ Kural / test / tool / validator oluşturuldu ↓ Aynı hata artık otomatik yakalanıyor

Yani:

Her hata sistemin kurumsal hafızasına dönüşür.

Bu çok önemli bir paradigma değişimidir.

6. Harness Engineering nasıl ortaya çıktı?

Kavramın kökü aslında yeni değil.

Yazılım mühendisliğinde uzun zamandır:

test harness

kavramı vardı.

Bir yazılım bileşenini kontrollü biçimde çalıştıran, input veren ve çıktıyı ölçen sistemlere test harness deniliyordu.

Makine öğrenmesinde de evaluation harness'ları kullanıldı.

2026'da ise kavram AI agent dünyasında çok daha geniş bir anlam kazandı. Yakın tarihli akademik çalışma da kelimenin soy ağacını “horse tack → classic test harness → ML evaluation harness → agent harness” şeklinde inceliyor.

Modern kullanımın yaygınlaşmasında Şubat 2026 özellikle önemli.

Mitchell Hashimoto 5 Şubat'ta kendi AI kullanım yolculuğunda “Engineer the Harness” kavramını kullandı.

Altı gün sonra OpenAI'nin Harness Engineering yazısı yayımlandı.

Oradaki deney çok çarpıcıydı.

Üç kişilik ekip, beş ay boyunca bir ürünü elle yazılmış sıfır satır kod yaklaşımıyla geliştirdi. Uygulama kodundan testlere, CI yapılandırmasından dokümantasyona ve observability araçlarına kadar repository içindeki kod Codex tarafından üretildi; sistem yaklaşık bir milyon satıra ulaştı.

Burada ortaya çıkan temel ders şuydu:

İnsanların ana işi kod yazmak yerine environment tasarlamak, intent tanımlamak ve feedback loop kurmak haline gelmeye başladı.

OpenAI bunu:

Humans steer. Agents execute.

şeklinde özetledi.

Nisan ayında aynı yaklaşım Symphony orkestrasyon sistemine doğru ilerledi: proje yönetimindeki görevler agent'lara atanabiliyor, agent'lar sürekli çalışıyor ve insanlar sonuçları gözden geçiriyor.

7. Neden şimdi ortaya çıktı?

Çünkü modellerin problemi değişti.

2023 civarında temel soru şuydu:

Model bunu yapabilir mi?

Sonra:

Modele nasıl prompt yazmalıyım?

Sonra:

Modele hangi context'i vermeliyim?

Şimdi ise:

Model bunu 500 kez güvenilir biçimde yapabilir mi?

İşte Harness Engineering esas olarak bu son sorunun cevabı.

Çünkü production sisteminde:

%80 başarı çoğu zaman başarısızlıktır.

Bir developer agent günde 100 işlem yapıyorsa ve %95 doğru çalışıyorsa:

yaklaşık 5 problem/gün üretir.

Dolayısıyla mesele artık yalnızca intelligence değildir.

Reliability + Control + Verification problemidir.

8. Harness'ın temel bileşenleri

Pratikte güçlü bir harness'ı yaklaşık sekiz sistem halinde düşünebiliriz.

1 — Instructions

Agent ne yapmalı?

SYSTEM PROMPT AGENTS.md PROJECT.md RULES POLICIES SKILLS SOP 2 — Context

Agent ne bilmeli?

Repository Architecture Documentation Database schema API contracts Previous decisions Issues Runtime state Logs 3 — Tools

Agent ne yapabilir?

read_file write_file git terminal database browser API deployment monitoring ticketing 4 — Permissions

Agent ne yapmaya yetkilidir?

Örneğin:

READ repo ✓ WRITE feature ✓ RUN tests ✓ CREATE PR ✓

DELETE database ✗ MERGE main ✗ DEPLOY production approval required CHANGE firewall approval required

Burada artık prompt değil gerçek control plane vardır.

5 — Verification

Agent yaptığı işin doğru olduğunu nasıl anlayacak?

lint typecheck unit tests integration tests E2E architecture tests security scan schema validation visual regression performance tests

Burası Harness Engineering'in en kritik bölümlerinden biridir.

6 — Feedback Loop ACT ↓ OBSERVE ↓ VERIFY ↓ FAIL? ↓ YES DIAGNOSE ↓ REPAIR ↓ VERIFY AGAIN

Agent'ın kendi hatasını görebilmesi gerekir.

7 — Memory

Sistem geçmişten ne öğreniyor?

Decisions Failures Solutions Architecture choices Known issues User preferences Project history

Burada önemli ayrım:

Context = şu anda bilmesi gerekenler

Memory = geçmişten saklanan bilgiler

8 — Observability

Agent'ın kendisini de gözlemlemek gerekir.

Agent runs Tool calls Token usage Cost Latency Errors Retries Failed tasks Success rate Human interventions Policy violations

Yani observability artık yalnızca uygulamaya değil:

AI çalışanına da uygulanır.

9. Feedforward ve Feedback

Thoughtworks'ten Birgitta Böckeler'in Martin Fowler sitesindeki Harness Engineering analizinde çok yararlı bir ayrım var.

Harness iki yönden agent'ı kontrol eder.

Feedforward

Agent hata yapmadan önce yönlendirmek.

Örneğin:

Architecture.md coding rules examples API contracts skills AGENTS.md design system

Mesaj:

“Böyle çalış.”

Feedback

Agent yaptıktan sonra sonucu kontrol etmek.

tests linters validators security scanners runtime checks visual tests AI reviewers

Mesaj:

“Yaptığın şey doğru mu?”

İyi harness ikisini birlikte kullanır:

FEEDFORWARD ↓ AGENT ↓ ACT ↓ RESULT ↓ FEEDBACK │ └────────→ AGENT

Bu aslında klasik control-system engineering mantığıdır.

10. Deterministic ve probabilistic kontrol

Burada Harness Engineering açısından son derece önemli başka bir ayrım var.

Bir agent'a:

“Database migration yaparken production database'i asla silme.”

demek bir talimattır.

Agent büyük ihtimalle uyar.

Ama bu:

probabilistic control

olur.

Bunun yerine production credentials agent'ın sandbox'ında hiç bulunmuyorsa:

deterministic control

oluşur.

Aynı şekilde:

"TypeScript hatası bırakma."

prompt.

Ama:

npm run typecheck

başarısızsa PR oluşturmayı engellemek gerçek kontrol.

Harness Engineering mümkün olduğunca:

talimat → mekanik enforcement

dönüşümünü hedefler.

11. Ne zaman Harness Engineering gerekir?

Her AI kullanımında büyük harness kurmak gerekmez.

Örneğin:

“Bana bu maili düzelt.”

için harness engineering gereksizdir.

Ama aşağıdaki denklem büyüdükçe harness ihtiyacı hızla artar:

Autonomy × Complexity × Duration × Risk

Örneğin:

Tek prompt ↓ Chatbot ↓ Tool kullanan agent ↓ Repository agent ↓ Uzun süre çalışan agent ↓ Multi-agent ↓ Production'a dokunan agent ↓ Şirket operasyonu yöneten agent

Aşağı indikçe harness kritik hale gelir.

12. Harness kurmak için hangi bilgiler gerekir?

Burası uygulamada en önemli bölüm.

Bir harness'a başlamadan önce model seçmekten önce aşağıdaki soruların cevapları gerekir.

A. Amaç

Agent'ın görevi nedir?

Developer mı? Security agent mı? CFO agent mı? Customer support mu? Research agent mı? Operations agent mı? B. Environment

Nerede çalışıyor?

repository server AWS local Docker browser ERP CRM database C. Knowledge

Bilginin source-of-truth'u neresi?

GitHub documentation database Drive CRM API knowledge graph D. Tools

Agent hangi eylemleri yapabilmeli?

E. Permissions

Her tool için:

READ WRITE EXECUTE DELETE APPROVE

tanımlanmalı.

F. Constraints

Agent'ın kesinlikle yapmaması gerekenler nedir?

G. Success criteria

Agent işi bitirdiğini nasıl bilecek?

Bu soru olağanüstü önemlidir.

“Dashboard yap.”

yetersizdir.

Ama:

route exists API connected no mock data typecheck passes tests pass visual reference matches architecture rules pass

ölçülebilir başarı kriterleridir.

H. Failure modes

Agent hangi hataları yapabilir?

Harness Engineering'in büyük kısmı burada oluşur.

Her failure:

FAILURE ↓ ROOT CAUSE ↓ HARNESS CHANGE

döngüsüne girer.

13. Dolayısıyla Harness Engineering bir defalık kurulum değildir

Bu nokta çok önemli.

Harness:

“Bir kez AGENTS.md yazdım, tamamdır.”

değildir.

Asıl süreç:

Agent çalışır ↓ Hata oluşur ↓ Hata sınıflandırılır ↓ Root cause bulunur ↓ Harness değiştirilir ↓ Yeni test / rule / tool eklenir ↓ Agent tekrar çalışır ↓ Yeni hata bulunur ↓ Harness gelişir

Böylece agent kadar:

agent'ın çalışma sistemi de öğrenir.

Hashimoto'nun yaklaşımının güçlü tarafı tam olarak budur: tekrar eden yanlış davranışı sürekli promptla düzeltmek yerine AGENTS.md veya programatik verification mekanizmasıyla sistem seviyesinde ortadan kaldırmak.

14. Framework, Orchestrator ve Harness aynı şey değildir

Bu ayrım da önemli.

Framework

Agent yapmak için yapı taşları verir.

Orchestrator

Birden fazla agent'ın ne zaman ve hangi sırayla çalışacağını yönetir.

Harness

Agent'ın çalışabileceği kontrollü dünyayı oluşturur.

Dolayısıyla:

ORCHESTRATOR

Agent A Agent B │ │ ┌────▼────┐ ┌────▼────┐ │ HARNESS │ │ HARNESS │ └────┬────┘ └────┬────┘ │ │ MODEL MODEL

şeklinde sistemler oluşabilir.

Akademik literatürde de agent harness'ın agent framework, SDK, IDE plugin, eval harness ve orchestrator'dan ayrıştırılması artık ayrıca ele alınıyor.

15. Prompt Engineering → Context Engineering → Harness Engineering

Üç kavramı tek örnekte görelim.

Bir Developer Agent'a:

Prompt Engineering

“Mevcut frontend mimarisini bozma.”

Context Engineering

Agent'a:

frontend architecture design tokens components reference implementation Figma specifications repo structure

getirilir.

Harness Engineering

Sistem şunu uygular:

Agent ↓ Architecture rules loaded ↓ Allowed packages checked ↓ Implementation ↓ Lint ↓ Typecheck ↓ Architecture fitness test ↓ Visual comparison ↓ Forbidden dependency check ↓ PASS? ├── NO → Agent repairs └── YES → PR

İşte esas fark budur.

Prompt “ne yapacağını” söyler.

Context “ne bilmesi gerektiğini” sağlar.

Harness “hangi dünyada çalışacağını ve sonucunun nasıl kabul edileceğini” belirler.

16. Bu kavramın daha büyük sonucu

Harness Engineering yalnızca developer agent meselesi olarak başladıysa da prensip aslında çok daha geniş.

Bir CFO Agent düşünelim.

Model:

reasoning analysis forecasting

yapıyor.

Harness:

ERP access bank APIs invoice data budget rules company policies approval thresholds audit log financial validations permissions human approval

sağlıyor.

Security Agent:

MODEL + server telemetry logs WAF SIEM security policies runbooks permission boundaries approval gates incident history

Operations Agent:

MODEL + KPIs CRM ERP tickets SOPs alerts workflows approvals audit

Dolayısıyla gelecekte büyük şirketlerde muhtemelen yalnızca:

AI Agent

değil,

Agent + Enterprise Harness

konuşacağız.

AI Ekonomisi, ManegAI ekibinin yayın girişimidir. Yayın çizgisi; yapay zekânın iş dünyası, sektörler ve ekonomi üzerindeki etkilerini analiz etmeye odaklanır.