İçeriğe geç
ceaksan

SoC, AI Agent Mimarisinde Neden Kritik?

Separation of Concerns sadece bir yazılım prensibi değil, AI agent mimarisinin çökmesini veya ayakta kalmasını belirleyen temel tasarım kararı. Context sınırları, savunma katmanları ve protokol ayrımı.

22 Tem 2019 5 dk okuma Güncellendi: 7 Nis 2026
TL;DR

SoC (Separation of Concerns), her bileşenin tek bir sorumluluğa sahip olmasını öğütler. AI agent mimarisinde bu prensip hayati: context dokümanlarının ayrımı, savunma katmanlarının bağımsızlığı ve protokollerin tek sorumluluk ilkesiyle çalışması. SoC ihlali, agent'ların production ortamlarını silmesinden context rot'a kadar somut hasara yol açıyor.

Bir AI kodlama ajanı, kullanıcının production veritabanını sildi. Okuma ve yazma yetkileri arasında bir ayrım yoktu. Agent, talimatlarında yasaklanmış olmasına rağmen --accept-data-loss flag’ini onay almadan çalıştırdı1. Bu bir hata değildi, sorumlulukların ayrılmamış olmasının öngörülebilir sonucuydu.

Separation of Concerns (SoC), yazılımda her bileşenin tek bir sorumluluğa sahip olması gerektiğini belirten tasarım prensibi. 1974’te Edsger W. Dijkstra, bu kavramı ilk kez şöyle tanımladı: “Bir konunun bir yönünü, diğer yönlerinden izole ederek derinlemesine incelemeye istekli olmak. Buna bazen endişelerin ayrılması diyorum; mükemmel şekilde mümkün olmasa da, düşüncelerimizi etkin bir şekilde düzenlemenin bilinen tek tekniği”2. Bu prensip, 2026’da AI agent mimarisi bağlamında klasik yazılımdan çok daha kritik bir role sahip.

Temel Kavramlar: Coupling ve Cohesion

SoC’nin iki temel mekanizması var: bileşenler arası ilişki (coupling) ve bileşen içi birliktelik (cohesion). Düşük bağlantı (low coupling), bir modüldeki değişikliğin diğer modülleri minimum etkilemesi demek. Yüksek sorumluluk (high cohesion), bir modülün yalnızca birbiriyle ilişkili işlevleri barındırması demek3.

Bu iki kavram birlikte çalışır. Düşük bağlantılı ve yüksek sorumluluğa sahip bir sistem, değişikliklere karşı dayanıklıdır. Bir katmandaki hata diğer katmanlara sızamaz, çünkü sorumluluk sınırları net. KISS prensibi ile doğrudan bağlantılı: sorumlulukları ayırdığınızda, her parça kendi başına basit kalır.

Klasik Yazılımda SoC

Framework’lardan bağımsız düşünürsek, katmanlı mimari SoC’nin en yaygın uygulamasıdır:

Route Handler → Service → Repository → Database

Her katman tek bir endişeyi çözer. Route handler HTTP isteğini parse eder, service iş mantığını yürütür, repository veri erişimini soyutlar, veritabanı veriyi saklar. Bir katmandaki değişiklik diğerlerini etkilemez, çünkü sorumluluk sınırları tanımlı.

Robert C. Martin’in Clean Architecture yaklaşımı bunu genişletir: bağımlılıklar yalnızca içe doğru akar. Dış katmanlar iç katmanları bilir, iç katmanlar dış katmanlardan habersizdir. Bu kural, SoC’yi mimari düzeyde zorunlu kılar4.

Mikroservislerde aynı prensip dağıtık sisteme taşınır. Her servis bir bounded context’e sahiptir, yalnızca kendi sorumluluğundaki veriyi ve iş mantığını yönetir.

AI Agent Mimarisinde SoC

AI agent mimarisinde SoC, klasik yazılımdan farklı bir biçimde tezahür ediyor. Beş temel alanda:

Context Sınırları

AI coding agent’lar çoklu dokümanla çalışır. Her dokümanın tek bir sorumluluğu olmalı:

  • CLAUDE.md: Agent’a verilecek talimatlar (ne yapmalı, ne yapmamalı)
  • architecture.md: Projenin gerçek yapısı (dizin yapısı, veri akışı, bağımlılıklar)
  • Spec: Neyin yapılacağının tanımı (gereksinimler, kabul kriterleri)
  • Plan: Nasıl yapılacağının adımları (uygulama sırası, dosya değişiklikleri)
  • ADR: Alınan kararlar ve gerekçeleri (neden X tercih edildi, Y reddedildi)

Bunları tek dosyada birleştirmek, SoC ihlalidir. Her doküman farklı bir soruya cevap verir: CLAUDE.md “kurallar ne”, architecture.md “yapı ne”, spec “ne yapılacak”, plan “nasıl yapılacak”, ADR “neden böyle karar verildi”. Context engineering ekosistemi bu ayrımı dört katmana genişletiyor: statik referanslar, JIT arama, karar yönetişimi ve öğrenme döngüsü. Living Architecture template’i, architecture.md’yi CLAUDE.md’den bağımsız bir doküman olarak tanımlar. ADR ve OpenSpec yaklaşımı ise “neden” sorusunu “ne” sorusundan ayırır, spec ile plan’ı ayrı endişeler olarak ele alır.

Savunma Katmanları

AI agent güvenliğinde 5 Katmanlı Savunma Modeli, SoC’nin güvenlik uygulamasıdır:

  1. OS Sandbox: Dosya sistemi ve ağ erişimini kısıtlar
  2. Hook’lar/Guard’lar: Komutları çalıştırılmadan önce yakalar
  3. İzin Kuralları: Hangi araçların otomatik çalışabileceğini belirler
  4. Model Sınıflandırıcılar: İsteğin riskini değerlendirir
  5. Talimatlar: CLAUDE.md’deki yazılı kurallar

Her katman tek bir endişeyi çözer. Bir katman başarısız olduğunda diğerleri devreye girer. Tek bir katmana güvenmek (mesela sadece CLAUDE.md talimatları) bir SoC ihlalidir ve agent baskı altında talimatları yoksayabilir.

Protokol Katmanları

AI agent protokolleri de SoC’yi mimari düzeyde uygular:

  • MCP: Agent’ın araçlara ve verilere erişimini sağlar (tek sorumluluk: araç erişimi)
  • A2A: Agent’lar arası iletişimi yönetir (tek sorumluluk: agent koordinasyonu)

Her protokol tek bir iletişim katmanını çözer. MCP’nin A2A ile, A2A’nın MCP ile işi yoktur. Bu ayrım, pre-injection vs MCP tool loop tartışmasında da kendini gösterir: upfront context (agent başlamadan enjekte edilen bilgi) ile runtime discovery (agent’ın çalışırken keşfettiği bilgi) farklı endişelerdir ve farklı mekanizmalarla çözülmelidir.

Memory İzolasyonu

Agent’ların bellek yönetimi de SoC’ye tabidir. Working memory (scratchpad, chain-of-thought) ile long-term store birbirinden izole olmalı5. Spekülatif düşünceler, ara adımlar ve deneme-yanılma süreçleri çalışma belleğinde kalmalı, kalıcı bilgi deposuna sızmamalı. Bu ayrım yapılmadığında agent, önceki oturumlardaki yanlış varsayımları gerçek bilgi olarak kullanmaya başlar.

MAGMA gibi güncel yaklaşımlar bu ayrımı bir adım ileri taşıyor: logical memory model ile physical storage’ı ayıran bir soyutlama katmanı6. Bellek modeli sabit kalırken storage backend’i değiştirilebiliyor. Shared memory bilgi paylaşımını kolaylaştırır ama tutarlılık (coherence) desteği gerektirir; distributed memory izolasyonu artırır ama senkronizasyon maliyeti ekler5. İkisi arasındaki tercih, SoC’nin memory katmanındaki uygulamasıdır.

Agent İç Mimarisi: Planner, Router, Executor

Agent’ın kendi iç yapısı da SoC’ye göre tasarlanmalı. Güncel araştırmalar bu yapıyı üç bağımsız bileşene ayırıyor7:

  • Planner: Alt hedefler, hipotezler ve aday eylemler üretir (tek sorumluluk: niyet yapısı)
  • Tool Router: Soyut eylemleri somut araçlara eşler, argümanları typed schema ve retrieval ile doldurur (tek sorumluluk: eşleme)
  • Execution Sandbox: Ön koşul kontrolleri yapar, araç çağrılarını rate-limit’ler (tek sorumluluk: güvenli yürütme)

Hybrid mimariler bu ayrımı reactive ve deliberative katmanlara taşır: reactive katman hızlı güvenlik kararları alır (eyleme yakın), deliberative katman hedef ve kısıtları belirler (denetleyici)7. “Hızlı güvenlik eylemin yanında, yavaş akıl yürütme denetleyici katmanda” prensibi, SoC’nin agent iç mimarisindeki doğal ifadesi.

SoC İhlalleri ve Sonuçları

SoC ihlalleri AI agent bağlamında somut hasar verir:

Monolitik talimat dosyası. Talimatlar, mimari bilgi ve karar geçmişi tek CLAUDE.md dosyasında birleştirildiğinde, context penceresi büyüdükçe agent talimatları giderek daha az takip eder. Buna context rot deniyor. LLM davranışsal bozulma modları yazısında incelenen instruction attenuation, doğrudan bir SoC ihlalinin sonucu.

Ayrılmamış yetkiler. Agent’a okuma ve yazma yetkisi ayrım yapılmadan verildiğinde, bir veri sorgulama talimatı sırasında yıkıcı bir yazma komutu çalıştırabilir. Sorumluluklar ayrılmadığında güvenlik sınırı da yoktur.

Tek katmanlı savunma. Güvenliği yalnızca CLAUDE.md talimatlarına bırakmak, SoC’nin en tehlikeli ihlali. Talimatlar en zayıf savunma katmanıdır8. Agent, uzun bir oturum boyunca veya çelişkili talimatlar karşısında yazılı kuralları yoksayabilir. Bu yüzden savunma birden fazla bağımsız katmana ayrılmalı.

Sonuç

Dijkstra SoC’yi tanımlarken “mükemmel şekilde mümkün olmasa da, düşüncelerimizi düzenlemenin bilinen tek tekniği” demişti. AI agent mimarisinde bu ifade daha da geçerli: sorumlulukları ayırmak mükemmel koruma sağlamaz, ama ayırmamak öngörülebilir çöküş getirir.

Footnotes

  1. Claude Code’un --accept-data-loss flag’iyle veritabanı şemasını silmesi. GitHub Issue #5370
  2. Dijkstra, E.W. “On the role of scientific thought” (EWD447), 1974
  3. Martin, R.C. “Clean Architecture: A Craftsman’s Guide to Software Structure and Design”, Prentice Hall, 2017
  4. Martin, R.C. “The Clean Architecture”, Clean Coder Blog, 2012
  5. Multi-Agent Memory from a Computer Architecture Perspective: Visions and Challenges Ahead, 2026 2
  6. MAGMA: A Multi-Graph based Agentic Memory Architecture for AI Agents, 2025
  7. Architectures for Building Agentic AI, Chapter 3, 2025 2
  8. Yapay Zeka Ajanınız Kontrolden Çıkarsa Ne Olur: 5 Katmanlı Savunma Modeli
Önemli Noktalar
  • 01 Dijkstra'nın 1974'te tanımladığı SoC, AI agent mimarisinde klasik yazılımdan daha kritik bir role sahip.
  • 02 Context engineering'de her doküman tek sorumluluk taşır: CLAUDE.md talimatlar, architecture.md yapı, ADR kararlar.
  • 03 5 Katmanlı Savunma Modeli, SoC'nin güvenlik uygulaması: her katman tek bir endişeyi çözer.
  • 04 MCP, A2A gibi agent protokolleri SoC'nin dağıtık uzantısı: her protokol tek bir iletişim katmanını çözer.
  • 05 SoC ihlalleri somut hasar verir: monolitik talimat dosyaları context rot'a, tek katmanlı savunma production silmeye yol açar.
Sık Sorulan Sorular (FAQ)
+ Separation of Concerns (SoC) prensibi AI agent mimarisinde nasıl uygulanır?

AI agent mimarisinde SoC beş katmanda uygulanır: (1) Context sınırları, her dokümanın tek sorumluluk taşıması (CLAUDE.md talimatlar, architecture.md yapı, spec gereksinimler, plan uygulama adımları, ADR kararlar), (2) Savunma katmanlarının bağımsızlığı (OS sandbox, hook'lar, izin kuralları, sınıflandırıcılar, talimatlar), (3) Protokol ayrımı (MCP araç erişimi, A2A agent iletişimi), (4) Memory izolasyonu (working memory vs long-term store), (5) Agent iç mimarisi (planner, router, executor). Her katman diğerinden bağımsız çalışır.

+ SoC ihlali AI kodlama ajanlarında ne tür sorunlara yol açar?

Üç temel sorun: (1) Context rot, talimatlar, mimari bilgi ve karar geçmişi tek dosyada birleştirildiğinde agent'ın talimatları giderek daha az takip etmesi. (2) Production ortamının silinmesi, okuma ve yazma yetkileri ayrılmadığında agent'ın yıkıcı komutları onaysız çalıştırması. (3) Instruction attenuation, tek katmanlı savunma (sadece CLAUDE.md talimatları) kullanıldığında agent'ın baskı altında talimatları yoksayması.

+ Low coupling ve high cohesion AI destekli geliştirmede neden önemli?

AI agent'lar düşük bağlantılı modülleri daha doğru anlayıp değiştirebiliyor. Yüksek bağlantılı kodda agent bir değişikliğin yan etkilerini tahmin edemiyor ve zincirleme hatalar üretiyor. Yüksek sorumluluk (cohesion) ise agent'ın her modülün amacını net kavramasını sağlıyor. Bu prensip context dokümanları için de geçerli: tek sorumluluğu olan bir CLAUDE.md, her şeyi içeren monolitik bir dosyadan daha etkili.

+ SoC prensibi mikroservis mimarisi ile nasıl ilişkilidir?

Mikroservislerin her biri bir bounded context'e sahiptir. Bu, SoC'nin dağıtık sistem uzantısıdır. Aynı prensip AI agent protokollerinde de geçerli: MCP araç erişimini, A2A agent'lar arası iletişimi, UCP ticaret akışını çözer. Her protokol tek bir katmanı adresler, birlikte çalışırlar. Monolitik bir API gateway yerine katmanlı protokol yığını, SoC'nin altyapı seviyesindeki uygulamasıdır.