Ana sayfa ›
Platform & Altyapı ›
Komtaş CoPilot Mimarisi
🏗️Komtaş CoPilot Mimarisi — Katmanlı Platform Tasarımı
Komtaş CoPilot; iş kullanıcısının doğal dil sorgusundan başlayıp, kurumsal bilgi tabanına vektör araması yapan, ardından LLM ile cevap üreten ve tüm bu adımları gözlemleyen 7 katmanlı bir kurumsal AI platformudur. Tüm bileşenler Google Cloud Platform üzerinde europe-west3 (Frankfurt) bölgesinde GKE'de koşar.
📑 Bu sayfada
M.1 Vizyon & Tasarım Prensipleri
🎯 Tek Kapı
Çalışan, tüm kurumsal bilgiye doğal dilde tek arayüzden erişir. Arama, özet, analiz, ajan çağrısı tek noktadan.
🔒 Veri Egemenliği
Kurumsal veri Komtaş kontrolünde kalır. AB bölgesi, KVKK uyumlu sağlayıcılar, "no data retained" SLA.
🧱 Çok Sağlayıcılı
LLM Mesh ile Anthropic, OpenAI, Azure OpenAI, Bedrock, Vertex tek API üzerinden değiştirilebilir.
🛡️ Defense in Depth
Input → Guardrail → Model → Output → Audit. Tek katman yeterli sayılmaz; güvenlik zincirleme uygulanır.
📊 Gözlemlenebilirlik
Her LLM çağrısı, her tool kullanımı, her RAG getirimi Langfuse trace'i olarak kaydedilir; SLO/SLA ölçülür.
🔁 Ajan Hazır Altyapı
MCP üzerinden tüm tool'lar standart; Agent Registry ile her ajan keşfedilebilir, RBAC ile paylaşılabilir.
M.2 Mimari Diyagram
📌 Diyagram okuma anahtarı
Üstten alta: kullanıcı sorgusu UI katmanından girer, gateway'de kimlik + güvenlik kontrolünden geçer, ajan katmanında doğru skill/agent seçilir, MCP üzerinden tool'lar çağrılır, model katmanında LLM yanıt üretir, veri katmanı bağlam sağlar, gözlem katmanı tüm bu adımları kayda alır.
M.3 7 Katman — Bileşen Kataloğu
| Katman | Bileşen | Sorumluluk | Konum / Tenant |
|---|---|---|---|
| 1. UI / İstemci | Komtaş CoPilot Web UI | Doğal dil arayüzü, oturum, geçmiş, marketplace | GKE pod, çoklu replica |
| M365 Teams App | Teams içinde komut + yan panel | Microsoft Tenant | |
| Slack / WhatsApp / Mail bot | Mesajlaşma kanallarından çağrı | Webhook endpoint | |
| REST API | Programatik erişim, geliştirici entegrasyonu | /api/v1 | |
| Cursor / IDE | Geliştirici masaüstü kullanımı | MCP üzerinden | |
| 2. API Gateway & Orkestrasyon | Istio Ingress Gateway | mTLS, rate-limit, JWT, RBAC ön-doğrulama | Cluster-wide, namespace izolasyon |
| Lakera Guard (Input) | Prompt injection, PII tarama, jailbreak tespiti | Yan-araç (sidecar) deseni | |
| Komtaş CoPilot Router | Skill seçimi, kullanıcı bağlamı, tenant routing | Stateless servis | |
| n8n Workflow Engine | Tetikleyiciler (cron, webhook), LLM Chain, AI Agent Node | komtas-automation namespace | |
| Quota / Cost Manager | Token bütçesi, kullanıcı/dept başına kota | Redis sayaç + Cloud SQL | |
| 3. Ajan | Komtaş CoPilot Skills | Marketplace içinden çağrılan, registry'de kayıtlı ajanlar | Per-skill Cloud Run |
| Custom Ajanlar (FastAPI) | ReAct, Plan-Execute, Reflection desenleriyle özel ajanlar | Cloud Run / GKE Deployment | |
| Copilot Studio Agents | M365 ekosistem içi düşük-kod ajanlar | Microsoft tenant | |
| Dataiku Agent Hub | Veri bilimci ekosistemi içi ajanlar (Prompt Recipe + Agent) | Dataiku DSS pod | |
| 4. MCP & Tool | FastMCP Sunucu | SSE / stdio transport, scope-tabanlı yetki | Per-domain pod |
| Microsoft Graph Connector | Outlook, Teams, SharePoint, OneDrive | App Registration + Application Access Policy | |
| CRM Connector | HubSpot / Dynamics 365 / Salesforce read; write HITL ile | OAuth refresh token, KeyVault | |
| SQL / Web / Custom | Veri ambarı read-only views, web arama, şirket içi REST API'ler | Per-tool MCP server | |
| 5. Model (LLM Mesh) | Cloud LLM sağlayıcılar | Anthropic, Azure OpenAI, AWS Bedrock, Vertex AI | API çağrısı (no-data-retained SLA) |
| Self-hosted modeller | vLLM ile Llama-3, Qwen — gizli/kısıtlı sınıf veri için | GKE GPU node-pool | |
| Embedding modelleri | OpenAI text-embedding-3-large, BGE-m3, Voyage | LLM Mesh routing | |
| 6. Veri | Qdrant (vektör DB) | Belge embedding'leri, ajan bellekleri, semantic cache | Tenant başına ayrı collection |
| Cloud SQL (Postgres) | Oturumlar, audit log, agent metadata, kullanıcı tercih | Tenant başına ayrı schema | |
| GCS Bucket | Ham dokümanlar, embedding cache, model snapshot | Tenant prefixed bucket | |
| Redis (Memorystore) | Oturum cache, kota sayaçları, kısa-vadeli ajan belleği | Cluster-shared, key-prefixed | |
| Kaynak sistemler | SharePoint, OneDrive, CRM, ERP — yalnızca okuma | Müşteri tarafı | |
| 7. Gözlem & Güvenlik | Langfuse | LLM trace: prompt, response, token, latency, eval skoru | Self-hosted GKE |
| Prometheus + Grafana | SLO/SLA: error rate, p95 latency, saturation | Cluster monitoring stack | |
| Cloud Logging + Pub/Sub | Yapılandırılmış log akışı, audit topic | GCP managed | |
| Lakera Guard (Output) | Yanıtın PII/halüsinasyon/politika ihlali için filtresi | Çıkış kapısı sidecar | |
| Presidio + Secret Manager | PII maskeleme; sırlar tek noktada şifreli | GCP Secret Manager + KMS |
M.4 Veri Akışları (3 Senaryo)
A) Kullanıcı sorusu → cevap (RAG akışı)
1. Web UI sorgu
→
2. Istio JWT
→
3. Lakera Input
→
4. Embed (LLM Mesh)
→
5. Qdrant search
→
6. RBAC filtre
→
7. LLM yanıt
→
8. Lakera Output
→
9. Kullanıcıya stream
→
10. Langfuse trace
B) Doküman ingestion (gece batch)
1. SharePoint webhook / cron
→
2. n8n workflow
→
3. PII maskeleme (Presidio)
→
4. Chunk + embed
→
5. Qdrant upsert
→
6. GCS arşiv
→
7. Audit log
C) Ajan çalıştırma (multi-step tool-use)
1. Skill çağrısı
→
2. Agent runtime başlar
→
3. ReAct döngüsü (LLM ↔ MCP)
→
4. HITL gate (gerekirse)
→
5. Sonuç + Slack onay
→
6. Per-call Langfuse trace
M.5 Çoklu Kiracı (Multi-tenant) İzolasyonu
| Katman | İzolasyon mekanizması | Çapraz-tenant sızıntı önlemi |
|---|---|---|
| Network | Kubernetes Namespace + Istio NetworkPolicy | Pod-to-pod yalnız aynı namespace; egress allowlist |
| Compute | Cloud Run service-per-tenant veya pool + tenant header | Service-account izolasyonu |
| Vektör DB | Qdrant collection-per-tenant + payload filter | API anahtarı tenant'a bağlı; cross-collection query yasak |
| İlişkisel DB | Cloud SQL schema-per-tenant + Row-Level Security | Connection string'de schema lock |
| Object storage | GCS bucket prefix (tenant-id/) + IAM policy | Workload Identity ile servis hesabı kapsam |
| Sırlar | Secret Manager: tenant-prefixed secret + KMS key | Çapraz erişim KMS key check ile bloklu |
| LLM çağrısı | Sağlayıcı API anahtarı tenant başına ayrı (mümkünse) | Tenant header, billing label, log etiketi |
| Audit log | Cloud Logging label: tenant_id | Sink başına tenant filtresi |
M.6 Bölge, Veri Egemenliği & KVKK
- Birincil bölge:
europe-west3(Frankfurt). Tüm veri pipeline'ı (Qdrant, Cloud SQL, GCS, Redis) bu bölgede. AB veri egemenliği ve KVKK m.9 (yurt dışına aktarım) gereksinimi karşılanır. - İkincil bölge (DR):
europe-west1(Belçika) — yalnızca Cloud SQL replica + GCS multi-region. Aktif değil; failover için hazır. - LLM sağlayıcı bölgesi: Mümkün olduğunda AB bölgesinde (Azure OpenAI EU, Bedrock eu-central-1, Vertex europe-west). Anthropic için no data retained SLA + DPA imzalı.
- KVKK kapsamı: Kişisel veri içeren akışlar için DPIA zorunlu. PII Presidio ile maskelenmeden LLM'e gönderilmez. Detay: Uyumluluk & Standartlar.
- Veri sınıfı kapısı: Kısıtlı sınıf (TC kimlik, kart no, sağlık) yalnızca self-hosted modele gider; bulut LLM sağlayıcısına gönderilmez. Detay: AI Araçları Veri Güvenliği.
M.7 Yüksek Erişilebilirlik & Felaket Kurtarma
| Bileşen | HA stratejisi | RPO | RTO |
|---|---|---|---|
| GKE Cluster | Regional (3 AZ); HPA, PDB | — | < 5 dk |
| Cloud SQL | Regional HA (synchronous standby) + cross-region read replica | 0 (HA), 5 dk (DR) | 1 dk (HA), 30 dk (DR) |
| Qdrant | 3 node cluster (replication factor 2); günlük snapshot → GCS | 1 saat | 30 dk |
| GCS | Multi-region bucket (eu) | 0 | 0 |
| Redis | Memorystore Standard tier (replica) | 1 dk | 5 dk |
| LLM sağlayıcı | Birincil sağlayıcı arızada fallback model (agent.yaml) | — | otomatik (saniye) |
| n8n / agents | Stateless; queue mode + Redis backpressure | — | < 1 dk |
M.8 Maliyet & Ölçek Modeli
💰 Token Maliyeti
Kullanıcı başına aylık ortalama 200K token. Sonnet input $0.003/1K, output $0.015/1K. ~$2-5/kullanıcı/ay.
🖥️ GKE Altyapı
3 node n2-standard-8 + 1 GPU node (T4) = ~$1.500/ay. 1.000 kullanıcı için yeterli.
🗂️ Veri Katmanı
Qdrant 3-node + Cloud SQL HA + GCS = ~$800/ay. Veri büyüklüğüne göre lineer ölçeklenir.
🔐 Güvenlik & Gözlem
Lakera Guard $400-1.500/ay, Langfuse self-hosted ek altyapı maliyeti yok.
📊 Departman bazlı geri-faturalama (chargeback)
Her LLM çağrısı + tool çağrısı
cost_center ve tenant_id etiketiyle Cloud Logging'e yazılır. Aylık BigQuery agregasyonu ile departman raporu üretilir.
M.9 Güvenlik — Defense in Depth
🛡️ 6 Katmanlı Güvenlik Zinciri
- Edge (Istio): mTLS, JWT, rate limit, IP allowlist (admin endpoint'leri için)
- Input filtre (Lakera Guard): Prompt injection, jailbreak, PII tespiti — istek model'e gitmeden engellenir
- Bağlam filtresi (RBAC): Qdrant payload + Cloud SQL row-level security ile yetkisiz belge döndürülmez
- Model katmanı: System prompt sertleştirme, output schema, max-iter, fallback
- Output filtre (Lakera + Presidio): Yanıtta PII sızıntısı, hayali bilgi, politika ihlali tespiti
- Audit: Her adım Langfuse + Cloud Logging trace'inde; aksiyon alıyorsa HITL onay zorunlu
| Tehdit | Birincil önlem | İkincil önlem |
|---|---|---|
| Prompt injection | Lakera Input filtre | System prompt sertleştirme + delimited input |
| PII sızıntısı | Presidio masking (ingest + runtime) | Lakera Output filtre + audit alarm |
| Yetkisiz veri görme | Qdrant payload filter (tenant_id) | Cloud SQL RLS + RBAC |
| Halüsinasyon | RAG bağlamı + faithfulness eval | Output yanıtın kaynak göstermesi şartı |
| Yetkisiz aksiyon | HITL gate (e-posta, ödeme, kayıt) | Tool scope + audit log |
| Token suistimali | Per-user/dept token quota | Anomali alarm (Cloud Monitoring) |
| Dış sağlayıcı sızıntısı | "No data retained" SLA + DPA | Self-hosted alternatif (kısıtlı sınıf için) |
| Çapraz-tenant sızıntı | Namespace + collection + schema izolasyonu | Workload Identity + KMS |
✅ Mimari Karar Özeti
Komtaş CoPilot, tek bir AI sağlayıcıya bağlanmadan, veri egemenliği AB'de kalacak şekilde, kurumsal RBAC + KVKK uyumlu ve multi-tenant izole bir platform olarak tasarlanmıştır. Her katman bağımsız ölçeklenebilir, bir bileşen başarısız olduğunda diğerleri devreye girer.