# Doğal Dilden Veritabanı ve API Sorgularına: Operasyon Ekipleri İçin Text-to-SQL ve Text-to-CLI Ajanları

- Bağlantı: https://musti.org/yapay-zeka/text-to-sql-text-to-cli-ajanlari/
- Yayımlanma: 2026-09-21T21:48:18+03:00
- Yazar: mmutlu

Operasyon ekibindeki birinin ihtiyaç duyduğu bilgi çoğu zaman basit bir SQL sorgusuyla
saniyeler içinde alınabilir — ama SQL bilmediği için ya bana ya da veritabanı ekibine
talep açıyor. MSSQL yönetiminde sürekli karşılaştığım bir durum bu, ve text-to-SQL
yaklaşımı bu bağımlılığı azaltma potansiyeli taşıyor.

## Nasıl Çalışıyor?

Mantık basit: kullanıcının doğal dilde yazdığı soru (“geçen ay açılan ve hâlâ kapanmamış
destek taleplerini göster”), veritabanı şemasının bir açıklamasıyla birlikte bir
dil modeline veriliyor ve model geçerli bir SQL sorgusu üretiyor.

    ```
    Şema bilgisi: tickets (id, title, status, created_date, department)
    Kullanıcı sorusu: "Geçen ay açılan ve hâlâ kapanmamış talepleri göster"

    Üretilen SQL:
    SELECT id, title, department, created_date
    FROM tickets
    WHERE status != 'Closed'
      AND created_date >= DATEADD(month, -1, GETDATE())
    ```

## Vazgeçemediğim Bir Kural: Salt Okunur Erişim

Bu tür bir sistem kurarken verdiğim en önemli karar, üretilen SQL’in sadece salt
okunur bir veritabanı kullanıcısıyla çalıştırılmasıydı. Bir modelin — yanlışlıkla
ya da kötü niyetli bir istemle — veri silen veya değiştiren bir sorgu üretme riski,
bu katı sınırlama olmadan kabul edilemez.

## CLI Komutlarına Genişletmek

Aynı mantık CLI komutlarına da uygulanabiliyor: “SRV-WEB01’de disk kullanımını göster”
gibi bir istek otomatik olarak doğru PowerShell Remoting komutuna dönüştürülebilir.
Ama burada risk SQL’den daha yüksek çünkü bir CLI komutu sistem durumunu doğrudan
değiştirebilir. Bu yüzden text-to-CLI uygulamalarımda üretilen komutu çalıştırmadan
önce mutlaka insana gösterip onay istiyorum, hiçbir zaman otomatik yürütmüyorum.

## Ne Zaman Güveniyorum, Ne Zaman Güvenmiyorum

Şema basit ve sorular net olduğunda sistem oldukça iyi çalışıyor. Karmaşık join’ler
ya da “aktif müşteriler” gibi şirkete özgü, belirsiz iş mantığı içeren sorularda
hata oranı artıyor — bu yüzden karmaşık üretilen sorguları çalıştırmadan önce gözden
geçirmeyi alışkanlık haline getirdim.

## Son Not

Bu sistemlerin asıl değeri “SQL bilmeyen birini SQL uzmanı yapmak” değil, basit-
orta karmaşıklıktaki tekrar eden sorguları bağımsızlaştırmak. Karmaşık analitik 
sorular hâlâ veritabanı ekibinin uzmanlığını gerektiriyor — ve bunda bir sorun görmüyorum.
Doğru güvenlik sınırlarıyla (salt okunur erişim, insan onayı) kurgulandığında text-
to-SQL/CLI, “her şeyi otomatik çalıştıran” değil doğru sorguyu önerip son kararı
insana bırakan bir asistan olarak gerçek değer üretiyor.
