---
title: 'Yapay Zekâ ve Genel Yapay Zekâ Ayrımı'
source: 'https://academia.sh/tr/kurslar/yz-muhendisligine-giris/yapay-zeka-ve-genel-yapay-zeka-ayrimi'
course: 'Yapay Zekâ Mühendisliğine Giriş'
language: tr
updated: '2026-08-17T18:06:36+00:00'
license: 'CC BY-SA 4.0'
---

# Yapay Zekâ ve Genel Yapay Zekâ Ayrımı

Bir sistem hakkında kurulan cümlelerin sınanabilirliğe göre ayrılması: on dört kurgu iddianın beşi ölçülebilir yetenek iddiası, dokuzu ölçülemez genel iddia ve bunlardan biri sayı ile yön taşıdığı hâlde kümesi olmadığı için sınanamıyor. Sınamaya bağlanabilen pay 0,3571. Beş sınama benzetici üzerinde koşturuluyor ve üçü geçiyor: etiket isabeti 0,90 eşiğinde 0,8958 ile kalıyor, karar değişim payı 0,0833 ile geçiyor, etiketsiz yanıt payı 0,0556 ile kalıyor, belge getirme payı 0,9722 ile geçiyor, istek başına belirteç 65,7 ile geçiyor.

Önceki üç ders modeli verilmiş bir bileşen olarak ele aldı, yüzeyinden ölçtü, ayarlarını saydı ve
belirsizliğini ürün diline çevirdi. Bu üç derste kullanılan sözcükler de bir tasarım nesnesidir.
"Yetenek", "anlıyor", "öğreniyor" ve "genel zekâ" aynı tabloya yazılamayacak kadar farklı
şeylerdir: bir kısmı bir sınamaya bağlanabilir ve bir sayı verir, bir kısmı hiçbir koşulda
yanlışlanamaz.

Bu ders o ayrımı bir yordama bağlar. Bir dizi kurgu iddia cümlesi dört bileşene göre ayrıştırılır,
sınanabilir olanlar seçilir ve **gerçekten koşturulur**. Ölçülen şey iddiaların doğruluğu değil,
kaçının bir sınamaya **bağlanabildiğidir**. Dersin sonunda bir tanesi bağlanır, koşturulur ve
yanlış çıkar; bu, bir iddianın ölçülebilir olmasının onu doğru yapmadığını gösterir.

- **YA23.** Bir iddia dört bileşen taşıdığında **sınanabilir** sayılır: bir **görev**, bir
  **ölçüt**, bir **küme** ve yönüyle birlikte bir **eşik**. Dördünden biri eksikse iddia genel
  sayılır. Bu bir karardır ve ders boyunca sabit tutulur.
- **YA24.** Bileşenler cümlenin belirteçlerinden okunur; sınıflandırma elle yapılmaz, koşan bir
  yordamdır. Belirteçleyici önceki derslerden aynen sürer.
- **YA25.** İddia cümleleri **kurgudur** ve hiçbiri bir ürün, model ya da kurum hakkında değildir;
  hepsi önceki üç derste kurulan kurgu destek yardımcısı hakkındadır.
- **YA26.** Sınanan sistem, önceki dersin en güçlü düzeneğidir: kaynağa bağlanmış yönergeli çağrı.
  Ölçüm 72 kayıtlık sınama kümesinde ve iki koşumda yapılır.
- **YA27.** Bir sınama yalnız sınıflandırma onu ölçülebilir bulduğunda koşar. Genel iddialar için
  sınama yazılmaz, çünkü yazılacak bir sınama yoktur.
- **YA28.** Eşiğin yönü iddianın parçasıdır. Eşiksiz bir ölçüt bir sayı verir ama bir **karar**
  vermez; iddia ancak yönüyle birlikte geçer ya da kalır.

## Bir İddia Ne Zaman Sınanabilir

"Sistem destek taleplerini anlar" cümlesi hiçbir koşulda yanlışlanamaz, çünkü hangi görevde, hangi
küme üzerinde, hangi sayıyla ve hangi eşikte anlaşılmış sayılacağı yazılmamıştır. "72 kayıtlık
kümede etiket isabeti 0,90 üzerindedir" cümlesi ise yanlışlanabilir. İkisinin farkı doğruluk değil
**bağlanabilirliktir**.

```python
# BENZETICI. Bu kod gercek bir model uc noktasi cagirmaz; standart kitaplikla yazilmis
# bir dil modeli benzeticisidir. Destek talepleri ve iddialar da KURGU'dur.
import math

TOHUM, M32 = 20260218, 0xFFFFFFFF
PENCERE, EN_UZUN = 240, 24


def uretec(t):
    x = ((t ^ (t >> 16)) * 2246822507) & M32
    x = ((x ^ (x >> 13)) * 3266489909) & M32
    s = [(x ^ (x >> 16)) & M32]

    def sonraki():
        s[0] = (s[0] * 1664525 + 1013904223) & M32
        return s[0] / 4294967296
    return sonraki


def ayrik(u, w):
    t = 0.0
    for i, x in enumerate(w):
        t += x
        if u < t:
            return i
    return len(w) - 1


def belirtecle(m):
    b = []
    for s in m.lower().replace(",", " , ").split():
        while len(s) > 5:
            b.append(s[:5])
            s = s[5:]
        b.append(s)
    return b


def izno(m):
    h = 2166136261
    for c in m:
        h = ((h ^ ord(c)) * 16777619) & M32
    return h


KONU = ["fatura", "ariza", "sayac", "tarife", "kesinti"]
KALIP = {
    "fatura": ["bu ayki fatura tutari gecen aya gore cok yuksek geldi",
               "faturami odedim ama sistemde borc gorunuyor",
               "fatura ayrintisini nereden gorebilirim"],
    "ariza": ["evde su akmiyor bir ariza var galiba",
              "baglanti bozuk oldu ve hic calismiyor",
              "ariza kaydi actim ama ekip gelmedi"],
    "sayac": ["sayac okumasi yanlis girilmis endeks tutmuyor",
              "sayac degisimi icin randevu istiyorum",
              "sayac uzerindeki endeks ile fatura ayni degil"],
    "tarife": ["hangi tarife basamagindayim ogrenmek istiyorum",
               "tarife degisikligi icin ne yapmam gerekiyor",
               "birim ucret abone tipine gore degisiyor mu"],
    "kesinti": ["mahallede kesinti var ne zaman gelecek",
                "planli kesinti duyurusu nereden takip edilir",
                "aksamdan beri kesinti yasiyoruz"],
}
EK = ["ayrica gecen ay da ayni sorun olmustu", "bu konuda memnun degilim",
      "acil bilgi almam gerekiyor", "kayit numaram elimde yok"]

TALEP = []
for i in range(120):
    r = uretec(TOHUM + i)
    k = KONU[ayrik(r(), [0.24, 0.22, 0.18, 0.20, 0.16])]
    m = KALIP[k][int(r() * 3)]
    if r() < 0.34:
        m += " " + EK[int(r() * 4)]
    TALEP.append({"no": 4001 + i, "metin": m, "konu": k})

KAVRAM = KONU + ["odeme", "sikayet", "bilgi", "genel"]
IZ = {"fatur": "fatura", "tutar": "fatura", "ayrin": "fatura",
      "ariza": "ariza", "bozuk": "ariza", "calis": "ariza", "akmiy": "ariza",
      "sayac": "sayac", "endek": "sayac", "okuma": "sayac",
      "tarif": "tarife", "birim": "tarife", "abone": "tarife", "basam": "tarife",
      "kesin": "kesinti", "duyur": "kesinti", "mahal": "kesinti",
      "borc": "odeme", "odedi": "odeme", "ucret": "odeme",
      "memnu": "sikayet", "sorun": "sikayet", "acil": "sikayet",
      "bilgi": "bilgi", "ogren": "bilgi", "nered": "bilgi"}
TUZAK = {"degis": "tarife", "kayit": "ariza", "yukse": "tarife", "gorun": "fatura",
         "ekip": "kesinti", "takip": "tarife", "giril": "fatura"}
SERBEST = ["talebiniz {k} konusuyla ilgili gorunuyor",
           "bu kayit {k} basligina girer , ilgili ekibe yonlendirildi",
           "kaydiniz alindi , konuyu inceleyip donus yapacagiz"]
SAYAC = [0]


def cagir(istem, tohum=TOHUM, sicaklik=0.6, en_uzun=EN_UZUN):
    SAYAC[0] += 1
    bel = belirtecle(istem)
    if len(bel) > PENCERE:
        return {"durum": "baglam_asimi", "giris": len(bel), "cikis": 0, "yanit": ""}
    if SAYAC[0] % 37 == 0:
        return {"durum": "hiz_siniri", "giris": len(bel), "cikis": 0, "yanit": ""}
    r = uretec(tohum ^ izno(istem))
    if len(bel) > 90 and r() < 0.04:
        return {"durum": "zaman_asimi", "giris": len(bel), "cikis": 0, "yanit": ""}
    aday = [k for k in KAVRAM if k[:5] in bel]
    if len(aday) < 3:
        aday = KAVRAM
    p = {k: 0.15 for k in aday}
    for t in bel:
        for tablo, w in ((IZ, 1.0), (TUZAK, 1.3)):
            if tablo.get(t) in p:
                p[tablo[t]] += w
    if sicaklik <= 0.0:
        k = max(sorted(p), key=lambda a: p[a])
    else:
        e = [math.exp(p[a] / sicaklik) for a in sorted(p)]
        k = sorted(p)[ayrik(r(), [v / sum(e) for v in e])]
    y = k if "tek" in bel else SERBEST[ayrik(r(), [0.42, 0.26, 0.32])].format(k=k)
    cb = belirtecle(y)
    if len(cb) > en_uzun:
        cb = cb[:en_uzun]
        y = " ".join(cb)
    return {"durum": "tamam", "giris": len(bel), "cikis": len(cb), "yanit": y}


def oku(y):
    for s in y.lower().split():
        if s in KONU:
            return s
    return None


IDDIA = [("72 kayitlik kumede etiket isabeti 0,90 uzerindedir", "isabet", 0.90, ">"),
         ("sistem destek taleplerini anlar", "", 0, ""),
         ("72 kayitlik kumede karar degisim payi 0,10 altindadir", "degisim", 0.10, "<"),
         ("sistem akilli bir yardimcidir", "", 0, ""),
         ("sistem her zaman dogru etiketi uretir", "", 0, ""),
         ("sistem insan seviyesinde dil anlayisina sahiptir", "", 0, ""),
         ("72 kayitlik kumede etiketsiz yanit payi 0,05 altindadir", "bos", 0.05, "<"),
         ("sistem genel zekaya sahiptir", "", 0, ""),
         ("sistem istek basina 140 belirtecin altinda kalir", "", 0, ""),
         ("dagarcikta dogru belge getirme payi 0,80 uzerindedir", "belge", 0.80, ">"),
         ("sistem ogrenmeye devam eder", "", 0, ""),
         ("72 kayitlik kumede istek basina belirtec 140 altindadir", "birim", 140, "<"),
         ("sistem yaratici cozumler uretir", "", 0, ""),
         ("sistem gelistikce daha akilli olur", "", 0, "")]
GOREV = ("etike", "karar", "yanit", "getir", "istek")
OLCUT = ("isabe", "pay", "belir", "cagri", "adim")
KUME = ("kayit", "kume", "dagar", "ornek")
YON = ("uzeri", "altin")


def gecer(bel, sozluk):
    return any(t.startswith(k) for t in bel for k in sozluk)


def sinif(c):
    b = belirtecle(c)
    return (gecer(b, GOREV), gecer(b, OLCUT), gecer(b, KUME),
            gecer(b, YON) and any(any(d.isdigit() for d in t) for t in b))


print(f"{'iddia':<56} {'gorev':>5} {'olcut':>5} {'kume':>4} {'esik':>4} {'sinif':>11}")
SINAV = []
for c, olcu, esik, yon in IDDIA:
    g, o, k, e = sinif(c)
    if g and o and k and e:
        SINAV.append((olcu, esik, yon))
    print(f"{c:<56} {'+' if g else '-':>5} {'+' if o else '-':>5} {'+' if k else '-':>4} "
          f"{'+' if e else '-':>4} {'olculebilir' if g and o and k and e else 'genel':>11}")
sayili = sum(1 for c, *_ in IDDIA if sinif(c)[3])
print(f"\nsinamaya baglanabilen {len(SINAV)}/{len(IDDIA)} = {len(SINAV) / len(IDDIA):.4f}, "
      f"sayi ve yon tasiyip yine de baglanamayan {sayili - len(SINAV)}")
```

```
iddia                                                    gorev olcut kume esik       sinif
72 kayitlik kumede etiket isabeti 0,90 uzerindedir           +     +    +    + olculebilir
sistem destek taleplerini anlar                              -     -    -    -       genel
72 kayitlik kumede karar degisim payi 0,10 altindadir        +     +    +    + olculebilir
sistem akilli bir yardimcidir                                -     -    -    -       genel
sistem her zaman dogru etiketi uretir                        +     -    -    -       genel
sistem insan seviyesinde dil anlayisina sahiptir             -     -    -    -       genel
72 kayitlik kumede etiketsiz yanit payi 0,05 altindadir      +     +    +    + olculebilir
sistem genel zekaya sahiptir                                 -     -    -    -       genel
sistem istek basina 140 belirtecin altinda kalir             +     +    -    +       genel
dagarcikta dogru belge getirme payi 0,80 uzerindedir         +     +    +    + olculebilir
sistem ogrenmeye devam eder                                  -     -    -    -       genel
72 kayitlik kumede istek basina belirtec 140 altindadir      +     +    +    + olculebilir
sistem yaratici cozumler uretir                              -     -    -    -       genel
sistem gelistikce daha akilli olur                           -     -    -    -       genel

sinamaya baglanabilen 5/14 = 0.3571, sayi ve yon tasiyip yine de baglanamayan 1
```

On dört cümlenin **beşi** sınamaya bağlanabiliyor; pay **0,3571**. Kalan dokuzun sekizi dört
bileşenin hiçbirini ya da yalnız birini taşıyor. Beşinci satır bunların en öğreticisidir: "sistem
her zaman doğru etiketi üretir" bir görev adı taşıyor ama ne ölçüt, ne küme, ne eşik veriyor.
"Her zaman" bir eşik değildir; hangi kümede sınanacağı yazılmadığı için tek bir karşı örnek onu
çürütür, bu yüzden kimse onu sınamaz.

Son satırdaki sayı asıl ayrımı veriyor: **bir iddia sayı taşıyor olabilir ve yine de
sınanamayabilir**. Dokuzuncu cümle "istek başına 140 belirtecin altında kalır" diyor; görevi,
ölçütü, eşiği ve yönü var, ama **kümesi yok**. Hangi taleplerde, hangi düzenekle, hangi uzunlukta
istemlerle ölçüldüğü yazılmadığı için sayı istenen değeri alacak biçimde üretilebilir. Bir sonraki
satır aynı iddiaya kümeyi ekliyor ve cümle sınanabilir hâle geliyor. Aradaki tek fark **72
kayıtlık kümede** ifadesidir.

## Sınamalar Koşturuluyor

Sınıflandırma bir cümlenin sınanabilir olduğunu söyler, doğru olduğunu söylemez. İkinci blok beş
sınamayı önceki dersin en güçlü düzeneği üzerinde koşturur.

```python
BELGE = [("TR-11", "tarife basamagi abone tipine ve birim ucrete gore belirlenir"),
         ("TR-12", "tarife degisikligi basvurusu her donem basinda alinir"),
         ("FT-21", "fatura tutari donem okumasi uzerinden hesaplanir , ayrinti ekranda"),
         ("FT-22", "odeme sonrasi borc kaydi ayni gun kapanir"),
         ("SY-31", "sayac endeks okumasi her donem alinir ve tutanaga gecer"),
         ("SY-32", "sayac degisimi randevu ile yapilir , eski endeks tutanakta kalir"),
         ("AR-41", "ariza kaydi acildiginda saha ekibi yonlendirilir"),
         ("AR-42", "bozuk baglanti icin once hat kontrolu yapilir"),
         ("KS-51", "planli kesinti duyurusu once yayimlanir"),
         ("KS-52", "mahalle bazinda kesinti takibi harita uzerinden yapilir")]
KOD = {"TR": "tarife", "FT": "fatura", "SY": "sayac", "AR": "ariza", "KS": "kesinti"}
SIN = TALEP[48:]
YONERGE = ("Talebi su etiketlerden birine ata: fatura , ariza , sayac , tarife , "
           "kesinti . Yanit olarak tek etiket yaz . Talep: ")


def eris(m):
    b = set(belirtecle(m))
    return max(BELGE, key=lambda d: (len(b & set(belirtecle(d[1]))), d[0]))


def kosum(tohum):
    SAYAC[0] = 0
    e, bel, belge = [], 0, 0
    for x in SIN:
        k, m = eris(x["metin"])
        belge += KOD[k[:2]] == x["konu"]
        s = cagir(YONERGE + "Belge " + k + ": " + m + " . Talep: " + x["metin"],
                  tohum=tohum)
        bel += s["giris"] + s["cikis"]
        e.append(oku(s["yanit"]))
    return e, bel, belge / len(SIN)


e1, b1, bg = kosum(TOHUM)
e2, b2, _ = kosum(TOHUM + 1)
n = len(SIN)
O = {"isabet": sum((a == x["konu"]) + (b == x["konu"])
                   for a, b, x in zip(e1, e2, SIN)) / (2 * n),
     "degisim": sum(a != b for a, b in zip(e1, e2)) / n,
     "bos": sum((a is None) + (b is None) for a, b in zip(e1, e2)) / (2 * n),
     "belge": bg, "birim": (b1 + b2) / (2 * n)}

print(f"{'sinama':<12} {'esik':>12} {'olculen':>10} {'sonuc':>8}")
gecti = 0
for olcu, esik, yon in SINAV:
    v = O[olcu]
    ok = v > esik if yon == ">" else v < esik
    gecti += ok
    b = "{:.4f}" if esik < 1 else "{:.1f}"
    print(f"{olcu:<12} {yon + ' ' + b.format(esik):>12} {b.format(v):>10} "
          f"{'gecti' if ok else 'kaldi':>8}")
print(f"\nsinanan {len(SINAV)}, gecen {gecti}, kalan {len(SINAV) - gecti}; "
      f"genel iddialarda sinanan 0")
```

```
sinama               esik    olculen    sonuc
isabet           > 0.9000     0.8958    kaldi
degisim          < 0.1000     0.0833    gecti
bos              < 0.0500     0.0556    kaldi
belge            > 0.8000     0.9722    gecti
birim             < 140.0       65.7    gecti

sinanan 5, gecen 3, kalan 2; genel iddialarda sinanan 0
```

Beş sınamanın üçü geçti, ikisi kaldı. İlk satır dersin en önemli sonucudur: iddia **0,90**
diyordu, ölçüm **0,8958** verdi. Fark 0,0042 ve iddia yanlıştır. Ölçülebilir bir iddia yanlış
çıkabilir, hatta çoğunlukla kıl payıyla yanlış çıkar; **onu değerli kılan doğru olması değil,
yanlış çıkabilmesidir**. Üçüncü satır aynı şeyi başka bir kaynaktan gösteriyor: etiketsiz yanıt
payı 0,0556 ölçüldü, çünkü hız sınırına takılan çağrılar hiç yanıt üretmedi. İddia yalnız modelin
biçim davranışını düşünüyordu, ölçüm **yüzeyin tamamını** getirdi.

Son satır ise dersin sessiz sonucudur. Genel iddialarda sınanan sayı **sıfırdır**. Dokuz cümle
hakkında hiçbir şey söylenemedi — ne geçti ne kaldı. Bir sistemin "genel zekâya sahip olduğu" ya
da "geliştikçe daha akıllı olduğu" iddiası, karşı örnek üretilemediği için tartışılamaz; bir
mühendislik belgesinde yeri yoktur, çünkü hiçbir kararı değiştirmez. **Genel yapay zekâ terimi bir
yetenek sınıfı değil, bir sınama eksikliğidir.** Bir sistemin ne yaptığını söylemek isteyen cümle
görevini, kümesini, ölçütünü ve eşiğini yazmak zorundadır; yazmadığında söylediği şey ölçülemez.

## Özet

- Bir iddia dört bileşenle sınanabilir olur: görev, ölçüt, küme ve yönüyle birlikte eşik. On dört
  kurgu cümlenin **beşi** bu dördünü taşıyor; pay **0,3571**.
- Sayı taşımak yetmiyor. "İstek başına 140 belirtecin altında kalır" cümlesi görev, ölçüt ve eşik
  taşıyor ama **kümesi yok**; aynı cümleye "72 kayıtlık kümede" eklendiğinde sınanabilir oluyor.
- Beş sınama koşturuldu: **üçü geçti, ikisi kaldı**. Karar değişim payı 0,0833, belge getirme payı
  0,9722, istek başına belirteç 65,7 eşikleri geçti.
- Ölçülebilir bir iddia yanlış da çıkar: etiket isabeti iddiası 0,90 diyordu, ölçüm **0,8958**
  verdi. Etiketsiz yanıt payı 0,0556 çıktı, çünkü hız sınırı da yüzeyin bir parçasıdır.
- Genel iddialarda sınanan sayı **sıfırdır**. Genel yapay zekâ terimi bir yetenek sınıfı değil,
  bir sınama eksikliğidir; mühendislik belgesinde hiçbir kararı değiştirmez.

## Sonraki Adım

Dört derste modele hep **dışarıdan** bakıldı. Ölçüsü kuruldu, ayarlarının kimde olduğu sayıldı,
belirsizliği ürün diline çevrildi ve hakkında kurulan cümleler sınanabilirliğe göre ayrıldı.
Bunların hepsi kapalı kutunun yüzeyinde yapıldı ve bu bilinçli bir tercihti. Ama yüzeyde ölçülen
her sayının bir nedeni vardır ve o neden içeridedir: 0,8958 niçin 1,0000 değil, "sayaç değişimi"
ile "tarife değişikliği" niçin karışıyor, altı sözcüklük bir talep niçin on bir belirteç ediyor,
pencere niçin 240'ta bitiyor. Sonraki konu bu sorularla açılır: modelin çalıştığı **birim** nedir,
uzak bağlamı nasıl kullanır, sınırı nereden gelir ve bir yanıt hangi adımlarla üretilir.
