
# Güvenilir AI Tarafından Oluşturulan Güvenlik Anketi Yanıtları İçin Prompt Mühendisliği

## Giriş  

Güvenlik anketleri, birçok SaaS şirketi için bir darboğazdır. Tek bir satıcı değerlendirmesi, veri koruma, olay müdahalesi, erişim kontrolü ve daha fazlası hakkında onlarca ayrıntılı soruyu içerebilir. Manuel yanıt üretimi zaman alıcı, hata eğilimli ve genellikle ekipler arasında tekrarlanan çabalara yol açar.  

GPT‑4, Claude veya Llama 2 gibi büyük dil modelleri (LLM’ler), yüksek kaliteli anlatı yanıtlarını saniyeler içinde taslak haline getirme yeteneğine sahiptir. Ancak bu gücü doğrudan bir ankete uygulamak nadiren güvenilir sonuçlar verir. Ham çıktı, politika dilinden sapabilir, kritik maddeleri kaçırabilir ya da var olmayan kanıtlar hayal edebilir.  

**Prompt mühendisliği** — LLM’yi yönlendiren metni özenle hazırlama pratiği — ham üretken yetenek ile güvenlik ekiplerinin gerektirdiği katı uyum standartları arasındaki boşluğu doldurur. Bu makalede, bir LLM’yi güvenlik anketi otomasyonu için güvenilir bir asistana dönüştüren tekrarlanabilir bir prompt mühendisliği çerçevesini ayrıntılı olarak inceliyoruz.  

Ele alacağımız konular:

* Politikaları doğrudan promptlara gömme yöntemleri  
* Ton, uzunluk ve yapı kontrol teknikleri  
* Denetçilere ulaşmadan önce tutarsızlıkları yakalayan otomatik doğrulama döngüleri  
* Procurize gibi platformlarla entegrasyon kalıpları, bir Mermaid iş akışı diyagramı dahil  

Kılavuzun sonunda, uygulayıcılar anket dönüş süresini %50‑%70 oranında azaltırken yanıt doğruluğunu artıran somut bir araç setine sahip olacaklar.

---

## 1. Prompt Manzarasını Anlamak  

### 1.1 Prompt Türleri  

| Prompt Türü | Amaç | Örnek |
|-------------|------|---------|
| **Bağlamsal Prompt** | LLM’ye ilgili politika alıntılarını, standartları ve tanımlamaları sağlar | “Aşağıda, dinleme sırasında **[SOC 2](https://secureframe.com/hub/soc-2/what-is-soc-2)** politikamızdan **verinin dinlenirken şifrelenmesi** hakkındaki bir kesit yer alıyor…” |
| **Talimat Promptu** | Modelin yanıtının nasıl biçimlendirilmesi gerektiğini net bir şekilde belirtir | “Yanıtı üç kısa paragrafta yazın, her paragraf kalın bir başlıkla başlamalı.” |
| **Kısıtlama Promptu** | Kelime sayısı gibi katı sınırları veya yasaklanmış terimleri belirler | “250 kelimeyi geçmeyin ve ‘belki’ kelimesini kullanmayın.” |
| **Doğrulama Promptu** | Yanıtın karşılaması gereken bir kontrol listesini üretir | “Yanıtı taslağı oluşturduktan sonra, başvurulmayan politika bölümlerini listeleyin.” |

Sağlam bir anket yanıtı hattı genellikle bu prompt türlerinden birkaçını tek bir istek içinde birleştirir ya da çok‑adımlı bir yaklaşım (prompt‑yanıt‑yeniden‑prompt) kullanır.

### 1.2 Tek‑Atım (One‑Shot) Promptların Neden Başarısız Olduğu  

“**Aşağıdaki güvenlik sorusunu yanıtlayın**” gibi basit bir tek‑atım promptu genellikle şu sorunları üretir:

* **Eksik** – kritik politika referansları atlanır.  
* **Hayal** – model, var olmayan kontroller üretir.  
* **Tutarsız dil** – yanıt, şirketin uyum sesine uymayan gayri resmi bir üslupla olur.  

Prompt mühendisliği, LLM’ye tam olarak ihtiyaç duyduğu bilgiyi sunarak ve çıktısını kendi kendine denetlemesini isteyerek bu riskleri azaltır.

---

## 2. Prompt Mühendisliği Çerçevesi Oluşturmak  

Aşağıda, herhangi bir uyum platformunda yeniden kullanılabilir bir fonksiyon haline getirilebilecek adım‑adım bir çerçeve yer almaktadır.

### 2.1 Adım 1 – İlgili Politika Parçacıklarını Getir  

Aranabilir bir bilgi tabanı (vektör deposu, grafik DB veya basit anahtar kelime indeksi) kullanarak en ilgili politika bölümlerini çekin.  
*Örnek sorgu*: “dinleme sırasında şifreleme” + **[ISO 27001](https://www.iso.org/standard/27001)** ya da “SOC 2 CC6.1”.

Sonuç şöyle olabilir:

```text
Politika Parçacığı A:
“Tüm üretim verileri, AES‑256 ya da eşdeğer bir algoritma kullanılarak dinlenirken şifrelenmelidir. Şifreleme anahtarları her 90 günde bir döndürülür ve donanım güvenlik modülünde (HSM) saklanır.”
```

### 2.2 Adım 2 – Prompt Şablonunu Oluştur  

Tüm prompt türlerini birleştiren bir şablon:

```text
[CONTEXT] 
{Politika Parçacıkları}

[INSTRUCTION] 
Sen bir uyum uzmanısın ve bir güvenlik anketi için yanıt hazırlıyorsun. Hedef kitle kıdemli bir güvenlik denetçisi. Şu kurallara uy:
- Politikadan mümkün olduğunca aynı dili kullan.
- Yanıtı kısa bir giriş, ayrıntılı bir gövde ve öz bir sonuç şeklinde yapılandır.
- Her politika parçacığını bir referans etiketiyle (ör. [Parçacık A]) belirt.

[QUESTION] 
{Güvenlik Sorusu Metni}

[CONSTRAINT] 
- En fazla 250 kelime.
- Parçacıklarda bulunmayan hiçbir kontrolü ekleme.
- İsteğe bağlı olarak kanıt sağlanabileceğini belirten bir cümle ile bitir.

[VERIFICATION] 
Yanıtladıktan sonra kullanılmayan politika parçacıklarını ve yeni tanıtılan terimleri listele.
```

### 2.3 Adım 3 – LLM’ye Gönder  

Hazırlanan promptu seçtiğiniz LLM’in API’sine gönderin. Tekrarlanabilirlik için **temperature = 0.2** (düşük rastgelelik) ve kelime sınırına göre **max_tokens** ayarlayın.

### 2.4 Adım 4 – Yanıtı Ayrıştır ve Doğrula  

LLM iki bölüm döner: **yanıt** ve **doğrulama kontrol listesi**. Otomatik bir betik şunları kontrol eder:

* Tüm gerekli parçacık etiketlerinin mevcut olması.  
* Yeni kontrol adlarının (beyaz liste dışı) ortaya çıkmaması.  
* Kelime sayısının kısıtlara uyması.

Kurala uymayan bir durum algılanırsa, **yeniden‑prompt** tetiklenir ve şu geri bildirim eklenir:

```text
[FEEDBACK]
Parçacık B’yi atladınız ve politikamızda yer almayan “dinamik anahtar döndürme” terimini eklediniz. Lütfen yeniden düzenleyin.
```

### 2.5 Adım 5 – Kanıt Bağlantılarını Ekleyin  

Doğrulama başarılı olduğunda sistem otomatik olarak destekleyici kanıt bağlantılarını (örn. şifreleme anahtarı döndürme günlükleri, HSM sertifikaları) ekler. Nihai çıktı, Procurize’ın kanıt hub’ına kaydedilir ve inceleyicilere gösterilir.

---

## 3. Gerçek‑Dünya İş Akışı Diyagramı  

Aşağıdaki Mermaid diyagramı, tipik bir SaaS uyum platformunda uçtan uca akışı görselleştirir.

```mermaid
graph TD
    A["Kullanıcı anketi seçer"] --> B["Sistem ilgili politika parçacıklarını getirir"]
    B --> C["Prompt Oluşturucu çok‑parçalı promptu birleştirir"]
    C --> D["LLM yanıt + doğrulama kontrol listesini üretir"]
    D --> E["Otomatik doğrulayıcı kontrol listesini ayrıştırır"]
    E -->|Geçti| F["Yanıt kaydedilir, kanıt bağlantıları eklenir"]
    E -->|Başarısız| G["Geri bildirimle yeniden‑prompt"]
    G --> C
    F --> H["İnceleyiciler Procurize kontrol panelinde yanıtı görür"]
    H --> I["Denetim tamamlanır, yanıt dışa aktarılır"]
```

Tüm düğüm etiketleri çift tırnak içinde yer alır.

---

## 4. İleri Düzey Prompt Teknikleri  

### 4.1 Az‑Örnekli (Few‑Shot) Demonstrasyonlar  

Prompta birkaç **örnek** S & C çifti eklemek tutarlılığı büyük ölçüde artırır. Örnek:

```text
Örnek 1:
S: Veri aktarım sırasında nasıl koruma sağlarsınız?
C: Tüm veri aktarımı, TLS 1.2 ya da üzeri sürümle, ileri gizlilik şifreleme (forward‑secrecy) şifreleriyle şifrelenir. [Parçacık C]

Örnek 2:
S: Olay müdahale sürecinizi tanımlayın.
C: Olay müdahale planımız, **[NIST CSF](https://www.nist.gov/cyberframework)** (NIST 800‑61) çerçevesini takip eder, 24‑saatlik bir yükseltme penceresi içerir ve yılda iki kez gözden geçirilir. [Parçacık D]
```

LLM artık somut bir stil taklit edecektir.

### 4.2 Düşünerek‑Adım‑Adım (Chain‑of‑Thought) Promptlaması  

Modeli adım adım düşünmeye yönlendirin:

```text
Hangi politika parçacıklarının uygulanacağını düşünün, listesini yapın, ardından yanıtı oluşturun.
```

Bu, hayal etmeyi azaltır ve şeffaf bir akıl yürütme izi sağlar; izleme kaydı olarak saklanabilir.

### 4.3 Geri‑Getirerek‑Artırılmış Üretim (RAG)  

Parçacıkları prompta önceden eklemek yerine, LLM’nin üretim sırasında bir vektör deposunu sorgulamasına izin verin. Bu yaklaşım, politika havuzu çok büyük ve sürekli değişiyorsa işe yarar.

---

## 5. Procurize Entegrasyonu  

Procurize şu özellikleri zaten sunar:

* **Politika deposu** (merkezileştirilmiş, sürüm kontrollü)  
* **Anket izleyici** (görevler, yorumlar, denetim izi)  
* **Kanıt hub** (dosya depolama, otomatik bağlantı)  

Prompt mühendisliği hattını dahil etmek üç temel API çağrısını içerir:

1. `GET /policies/search` – soruya çıkarılan anahtar kelimelere göre parçacıkları getirir.  
2. `POST /llm/generate` – hazırlanmış promptu gönderir ve yanıt + doğrulama alır.  
3. `POST /questionnaire/{id}/answer` – doğrulanmış yanıtı gönderir, kanıt URL’lerini ekler ve görevi tamamlanmış olarak işaretler.

Node.js ile basit bir sarmalayıcı örneği:

```javascript
async function answerQuestion(questionId) {
  const q = await api.getQuestion(questionId);
  const fragments = await api.searchPolicies(q.keywords);
  const prompt = buildPrompt(q.text, fragments);
  const { answer, verification } = await api.llmGenerate(prompt);
  if (verify(verification)) {
    await api.submitAnswer(questionId, answer, fragments.evidenceLinks);
  } else {
    const revisedPrompt = addFeedback(prompt, verification);
    // döngü ya da yineleme ile başarıya ulaşana kadar devam edin
  }
}
```

Bu fonksiyon Procurize UI’sine bağlandığında, güvenlik analistleri **“Otomatik Yanıt Oluştur”** butonuna tıklayarak Mermaid diyagramında gösterilen adımları izleyebilir.

---

## 6. Başarı Ölçümü  

| Ölçüt | Mevcut Durum | Prompt Mühendisliği Sonrası Hedef |
|-------|--------------|-----------------------------------|
| Ortalama yanıt üretim süresi | 45 dk | ≤ 15 dk |
| İnsan kontrolüyle düzeltme oranı | %22 | ≤ %5 |
| Politika referans uyumu (etiket kullanımı) | %78 | ≥ %98 |
| Denetçi memnuniyet puanı | 3.2/5 | ≥ 4.5/5 |

Bu KPI’lar Procurize’ın analiz paneli üzerinden toplanabilir. Sürekli izleme, şablonların ve parçacık seçimlerinin ince ayarını sağlar.

---

## 7. Tuzaklar ve Önleme Yöntemleri  

| Tuzak | Belirti | Çözüm |
|-------|---------|-------|
| İlgisiz parçacıklarla promptun şişirilmesi | Yanıt sapması, LLM gecikmesi | Parçacıkları eklemeden önce **kosinüs benzerliği > 0.78** gibi bir alaka eşiği uygulayın |
| Model sıcaklığını (temperature) göz ardı etmek | Ara sıra yaratıcı fakat hatalı çıktı | Uyumluluk işleri için sıcaklığı **0.1‑0.2** olarak sabitleyin |
| Politikaların sürüm kontrolünü yapmamak | Yanıt eski maddelere atıfta bulunur | Parçacıkları **versiyon kimliği** ile saklayın ve “en yeni” şartı olmadan tarihli bir sürüm istenmedikçe kullanmayın |
| Tek bir doğrulama geçişine güvenmek | Kenar‑durum ihlalleri kaçırılır | LLM geçişinden sonra **ikincil kural‑motoru** (ör. yasaklı terimler için regex) çalıştırın |

---

## 8. Gelecek Yönelimleri  

* **Dinamik Prompt Optimizasyonu** – geçmiş başarı oranlarına göre prompt metnini otomatik ayarlayan pekiştirmeli öğrenme.  
* **Çok‑LLM Toplulukları** – birden çok modeli paralel sorgulayıp en yüksek doğrulama puanına sahip yanıtı seçmek.  
* **Açıklanabilir AI Katmanları** – “Bu yanıt neden bu politika cümlesiyle oluşturuldu?” gibi bir “neden” bölümü ekleyerek denetim izini tamamen izlenebilir kılmak.  

Bu gelişmeler, otomasyonu “hızlı taslak” seviyesinden **“denetçiye dokunmadan onaylanabilir”** bir olgunluk seviyesine taşıyacak.

---

## Sonuç  

Prompt mühendisliği, tek seferlik bir hile değil; güçlü LLM’leri güvenilir uyum asistanlarına dönüştüren sistematik bir disiplindir.  

1. Politikaları hassas bir şekilde getirerek,  
2. Bağlam, talimat, kısıtlama ve doğrulamayı birleştiren çok‑parçalı promptlar oluşturarak,  
3. Modeli kendi çıktısını denetlemesini sağlayan bir geri bildirim döngüsü kurarak ve  
4. Tüm bu süreci Procurize gibi bir platforma sorunsuzca entegre ederek  

şirketler anket dönüş süresini büyük ölçüde kısaltabilir, manuel hataları ortadan kaldırabilir ve düzenleyicilerin ve müşterilerin talep ettiği titiz denetim izlerini sürdürebilir.  

Düşük riskli bir anketle çerçeveyi pilot etmeye başlayın, KPI iyileşmelerini kaydedin ve prompt şablonlarını tekrarlayın. Birkaç hafta içinde, kıdemli bir uyum uzmanının sağladığı aynı doğruluk seviyesini çok daha az çabayla elde edeceksiniz.  

---  

## İlgili Bağlantılar  

- Prompt Mühendisliği için En İyi Uygulamalar  
- Geri‑Getirerek‑Artırılmış Üretim (RAG): Tasarım Kalıpları ve Tuzaklar  
- 2025 için Uyumluluk Otomasyonu Trendleri  
- Procurize API Genel Bakışı ve Entegrasyon Kılavuzu