YZ ve Sağlık
2 Python Temelleri Güz yarıyılı · 30 Eylül 2026

Kodlayan Hekim İlk Kez Kodlatıyor: Klinik Hesaplayıcı

Bu hafta yapay zekaya, tıp öğrencisinin gerçekten kullanacağı beş hesaplamalı bir klinik araç yazdırıyoruz; sonra o kodu birlikte okuyor, içine bilerek bir hata sokup düzelttiriyoruz. Değişkenleri ve veri tiplerini de bu kodun içinde tanıyacağız.

Ders planındaki başlık: Python temelleri I: değişkenler ve veri tipleri; basit klinik hesaplamalar (ör. VKİ)

Öğrenme hedefleri

Bu haftanın sonunda:

  • 1 Bir klinik aracı üretken yapay zekaya yazdırmak için bağlam, görev, çıktı biçimi ve kısıt içeren bir istem kurar.
  • 2 Üretilen kodda değişken tanımını, tip dönüşümünü (metin → sayı) ve if eşiğini bulup ne yaptığını söyler.
  • 3 Bir girdi hatasını (birim karışıklığı) fark eder ve yapay zekaya doğru düzeltmeyi tarif eder.
  • 4 VKİ, bel/boy oranı, eGFR, CHA₂DS₂-VASc, Wells DVT ve mg/kg doz hesaplarının ne ölçtüğünü ve sınırlarını açıklar.
  • 5 Python'da bir fonksiyon tanımını (def, parametre, return) okur ve eGFR örneğinde çalıştırır.

Derse Başlamadan Önce

Geçen haftanın defterini bir kez daha açıp baştan sona çalıştırmanızı istiyorum; özellikle o bilerek hata veren NameError hücresinde biraz oyalanın, çünkü bu hafta hata mesajlarıyla daha sık karşılaşacağız ve onlardan korkmamanız işimizi kolaylaştıracak.

Bir de telefonunuzdan Klinik Hesaplayıcı sayfasını açıp kendi VKİ’nizi hesaplayın. Şimdilik sadece kullanan tarafta olun; ders bittiğinde bu aracın nasıl yazıldığını, hatta bir benzerini nasıl yazdıracağınızı biliyor olacaksınız.

Derse gelirken şu soruyu da aklınızın bir köşesinde tutun: kod yazmayı bilmeyen bir hekim, birine kod yazdırabilir mi? Yazdırdıysa, çıkan şeyin doğru olduğunu nereden anlar?

Ders Notları

Geçen haftadan bugüne

Birinci haftada size bir şey söz vermiştim: bu derste kodun büyük kısmını yapay zeka yazacak, sizin işiniz onu doğru istemek, okumak ve doğrulamak olacak demiştim. Bugün bu sözü yerine getiriyoruz. Yansıda, canlı olarak, tek bir istemle, bir tıp öğrencisinin gerçekten işine yarayacak bir araç yazdıracağız ve sonra o kodu birlikte okuyacağız.

Ders planında bu haftanın konusu “değişkenler, veri tipleri ve basit klinik hesaplamalar” olarak geçiyor. Bunları ayrı ayrı tanımlayıp örnek verip geçebilirdik; ama bence bir kavramı, işe yarayan bir şeyin içinde gördüğünüzde çok daha kalıcı öğreniyorsunuz. O yüzden bugün değişkenin ne olduğunu tahtada değil, kendi elimizle yazdırdığımız hesaplayıcının kodunda göreceğiz.

Yazdıracağımız beş hesaplama

Beş aracı, öğrenciliğinizde ve hekimliğin ilk yıllarında en sık ihtiyaç duyacaklarınız arasından seçtim. Her birinin ne ölçtüğünü, hangi eşiklerle yorumlandığını ve nereden geldiğini kısaca anlatacağım; canlı gösteride bu ayrıntıları istemin ikinci yarısı olarak modele biz vereceğiz. Bu önemli bir nokta, birazdan döneceğiz.

Vücut kitle indeksi ve bel/boy oranı. VKİ’yi hepiniz biliyorsunuz, kilonun boyun karesine bölümü. Dünya Sağlık Örgütü sınıflaması 18,5’in altını zayıf, 25’e kadarını normal, 30’a kadarını fazla kilolu, 30 ve üzerini de üç basamakta obez olarak tanımlar. Ancak VKİ kas kütlesiyle yağı ayırt edemez ve yağın nerede biriktiğini söylemez. Bel çevresinin boya oranı bu boşluğu doldurur; karın yağlanmasını yansıttığı için kardiyometabolik riski VKİ’den daha iyi öngörür. Akılda kalıcı kural şu: bel çevreniz boyunuzun yarısından az olsun. Oranın 0,5’i geçmesi artmış, 0,6’yı geçmesi yüksek risk anlamına gelir. Aracımız bu ikisini birlikte hesaplayacak, çünkü VKİ’si normal görünen ama beli geniş olan hasta tam da gözden kaçan hastadır. (WHO 2000; Ashwell ve Hsieh 2005; Browning ve ark. 2010.)

Tahmini glomerüler filtrasyon hızı. Serum kreatinini, yaş ve cinsiyetten böbrek fonksiyonunu kestiren CKD-EPI denklemini kullanacağız; 2021 sürümünü, çünkü bu sürüm önceki denklemlerdeki ırk katsayısını kaldırdı. Sonucu KDIGO evreleriyle birlikte okuruz: 90 ve üzeri G1, 60–89 G2, 45–59 G3a, 30–44 G3b, 15–29 G4, 15’in altı G5. Şunu da unutmayın: tek bir kreatinin değeri o andaki fonksiyonu gösterir, kronik böbrek hastalığı tanısı için en az üç ay süren düşüklük gerekir; kas kütlesi çok düşük veya çok yüksek hastalarda ve akut böbrek hasarında denklem güvenilmez. (Inker ve ark. 2021; KDIGO 2024.)

CHA₂DS₂-VASc. Atriyal fibrilasyonu olan hastada inme riskini puanlayan ve antikoagülan kararına yön veren skor. Kalp yetersizliği, hipertansiyon, diyabet ve vasküler hastalık birer puan; 75 yaş ve üzeri ile geçirilmiş inme ikişer puan; 65–74 yaş ve kadın cinsiyet birer puan. Burada güncel bir tartışma var: Avrupa Kardiyoloji Derneği’nin 2024 kılavuzu cinsiyet puanını çıkarıp CHA₂DS₂-VA adıyla sadeleştirdi ve 2 puan ve üzerinde antikoagülasyon önerdi. Aracımız iki skoru da gösterecek; bir hesaplayıcının hangi kılavuzu uyguladığını bilmek, sonucu okumanın parçasıdır. (Lip ve ark. 2010; Friberg ve ark. 2012; ESC 2024.)

Wells DVT skoru. Alt ekstremitede derin ven trombozu şüphesinde ön-test olasılığını sınıflar. On ölçütten dokuzu birer puan ekler, “alternatif tanı en az DVT kadar olası” ölçütü ise iki puan düşer. İki düzeyli yorumda 2 ve üzeri “olası”, üç düzeyli yorumda 0 düşük, 1–2 orta, 3 ve üzeri yüksek olasılık demektir. Skorun asıl işi tanı koymak değil, bir sonraki adımı söylemektir: düşük olasılıkta D-dimer, yüksek olasılıkta doğrudan Doppler. (Wells ve ark. 1997, 2003.)

Ağırlığa göre doz. Özellikle pediatride ilaç dozu kilogram başına verilir. Günlük toplam doz kilo ile mg/kg değerinin çarpımı, doz başına miktar da bunun günlük doz sayısına bölümüdür. İyi bir araç tavan dozu aşıldığında uyarır ve süspansiyon derişimi verildiyse miligramı mililitreye çevirir. Burada bir şeyi açıkça söylemek isterim: araç hesap yapar, ilaç önermez; hangi ilacın hangi aralıkta verileceğini prospektüs ve formüler söyler.

İstemi nasıl kuruyoruz

Şimdi asıl gösteriye geçiyoruz. İstemi iki parça hâlinde vereceğiz. İlk parçada modele ne istediğimizi, hangi biçimde istediğimizi ve hangi kısıtlara uymasını beklediğimizi söyleyeceğiz. İkinci parçada ise yukarıda anlattığım formülleri ve eşikleri tek tek yazacağız.

Neden iki parça? Çünkü öğrenmenizi istediğim şey şu: model bu eşikleri belki biliyor, belki de yarısını doğru hatırlıyor. Bilmesini beklemek yerine biz veriyoruz; bağlamı sağlamak bizim işimiz. Ama verdiğimiz şey doğru olmak zorunda, çünkü model bizim yanlışımızı da aynı özenle koda dökecek. Bu yüzden ikinci parçayı hazırlarken kaynaklara baktım; siz de kendi araçlarınızı yazdırırken aynısını yapmalısınız.

İstemin ilk parçası: görev, biçim ve kısıtlar
Tıp öğrencileri için Türkçe, tek dosyalık (HTML+CSS+JS, dış bağımlılık yok) bir "Klinik Hesaplayıcı" yap.
Beş sekme: (1) VKİ ve bel/boy oranı, (2) eGFR CKD-EPI 2021, (3) CHA2DS2-VASc, (4) Wells DVT, (5) mg/kg doz.
Her sekmede: girdi formu, "Hesapla" düğmesi, sonuç kutusu (değer + sınıf/evre + 2-3 maddelik klinik yorum ve sınırlılık),
altında kaynak listesi (yazar, dergi, yıl, DOI bağlantısı).
Girdi hatalarını yakala (boy santimetre yerine metre girilirse uyar; kreatinin µmol/L girilirse uyar).
Kod okunabilir olsun: her fonksiyonun üstüne bir satır Türkçe açıklama, klinik eşikler if bloklarında açıkça görünsün,
sihirli sayılar yorumlanmış olsun. Tasarım sade ve mobil uyumlu.
Formül ve eşik ayrıntıları bir sonraki mesajda. Emin olmadığın bir eşik varsa uydurma, "doğrulanmalı" diye işaretle.
İstemin ikinci parçası: formüller ve eşikler
1) VKİ = kilo(kg) / boy(m)². WHO: <18,5 zayıf; 18,5–24,9 normal; 25–29,9 fazla kilolu; 30–34,9 obez I; 35–39,9 obez II; ≥40 obez III.
   Bel/boy = bel(cm)/boy(cm): <0,40 düşük; 0,40–0,49 sağlıklı; 0,50–0,59 artmış; ≥0,60 yüksek risk.
   Bel çevresi: kadın ≥80 artmış / ≥88 yüksek; erkek ≥94 / ≥102.
2) eGFR CKD-EPI 2021: 142 × min(Scr/κ,1)^α × max(Scr/κ,1)^-1,200 × 0,9938^yaş × (kadınsa 1,012).
   Kadın κ=0,7 α=-0,241; erkek κ=0,9 α=-0,302. KDIGO: G1 ≥90, G2 60–89, G3a 45–59, G3b 30–44, G4 15–29, G5 <15.
3) CHA2DS2-VASc: KKY 1, HT 1, yaş ≥75 2, DM 1, inme/GİA/TE 2, vasküler 1, yaş 65–74 1, kadın 1.
   Yıllık inme riski % (Friberg 2012): 0:0,2 1:0,6 2:2,2 3:3,2 4:4,8 5:7,2 6:9,7 7:11,2 8:10,8 9:12,2.
   ESC 2024 CHA2DS2-VA: ≥2 antikoagülasyon, 1 düşünülmeli. İkisini de göster.
4) Wells DVT: aktif kanser 1; paralizi/alçı 1; ≥3 gün yatak veya 12 haftada majör cerrahi 1; derin ven hassasiyeti 1;
   tüm bacak şiş 1; baldır ≥3 cm fark 1; gode ödem 1; kollateral yüzeyel ven 1; önceki DVT 1; alternatif tanı −2.
   İki düzey: ≥2 olası. Üç düzey: 0 düşük, 1–2 orta, ≥3 yüksek.
5) mg/kg: günlük = kilo × mg/kg/gün; doz başına = günlük / doz sayısı; tavan doz aşılırsa uyar; mg/5 mL derişimden mL hesapla.

Aynı istemle önceden ürettiğim ve kaynaklarıyla doğruladığım bir sürüm sitede duruyor: Klinik Hesaplayıcı. Derste canlı üretilen sürüm buna birebir benzemeyecek; aynı istemden iki farklı kod çıkması normaldir ve ikisini yan yana koyup farklarına bakmak bu haftanın ödevlerinden biri.

Bir hatayı bilerek çıkarıyoruz

Araç hazır olduğunda ilk yapacağımız şey onu bozmaya çalışmak. VKİ sekmesine boy olarak 1,74 yazacağız; yani santimetre yerine metre. İyi yazılmış bir araç burada durup “boy santimetre olmalı” der. Demiyorsa VKİ 23 yerine 23 bin gibi bir sayı görürsünüz ve bu aslında iyi bir ders olur, çünkü kod çalışmış ama yanlış konuşmuştur; yazılımın en sinsi hatası budur.

Sonra kodda boy değişkenini bulup birlikte bakacağız: hangi birimde alınıyor, nerede metreye çevriliyor? Ve düzeltmeyi yapay zekaya biz tarif edeceğiz: “boy 3’ten küçük girildiyse kullanıcı metre yazmış olabilir, santimetreye çevir ve bunu sonuçta belirt.” Geçen hafta hata mesajını okumayı konuşmuştuk; bu hafta okuduğumuz hatayı doğru tarif etmeyi ekliyoruz. Bu ikisi birlikte, kodlayan hekimin en temel becerisi.

Kodu okuyoruz: üç durak

Üretilen dosyada üç yerde duracağız. Bu üç durak, ders planındaki “değişkenler ve veri tipleri” konusunun kendisi; sadece tahtada değil, çalışan bir aracın içinde.

İlk durak bir değişken tanımı: const kilo = Number(form.kilo.value) gibi bir satır. Buradaki kilo bir değişken, yani bir değeri isimle sakladığımız kutu. Ama dikkat edin, form alanından gelen değer aslında bir metin: kullanıcı 72 yazdığında bilgisayar bunu "72" diye, tırnak içinde bir yazı olarak alır. Number işlevi bu yazıyı sayıya çevirir. Bu dönüşüm olmadan iki metni bölmeye kalkarsanız bazı diller hata verir, bazıları da sessizce saçma bir sonuç üretir. Sayı ile metin arasındaki bu fark, veri tipi dediğimiz şeydir.

İkinci durak bir fonksiyon: function egfrCkdEpi2021(kreatinin, yas, cinsiyet). Parantez içindekiler fonksiyonun girdileri, yani parametreler; en sondaki return da sonucu geri veren satır. Sınıfa soracağım soru şu: cinsiyet formüle nerede giriyor? Cevabı üç ayrı satırda bulacağız, κ ve α katsayılarında ve kadınlar için 1,012 çarpanında. Python’da aynı yapı def ile yazılıyor; birazdan defterde göreceğiz.

Üçüncü durak bir eşik zinciri: if (egfr >= 60) ... else if (egfr >= 45) .... Klinik sınır değerler koda işte böyle giriyor. Buradaki soru daha ince: eGFR 59,6 çıkan hasta hangi evrede? Kod yuvarlamadan önce mi karşılaştırıyor, sonra mı? Kılavuz ne diyor? Birkaç satırlık bir if sırasının klinik bir anlam taşıdığını görmenizi istiyorum.

Aynı fonksiyon Python’da

Tarayıcıda çalışan araç JavaScript ile yazıldı, çünkü tarayıcılar o dili konuşur; dersin geri kalanında ise Python kullanacağız. İkisi arasındaki fark büyük ölçüde yazımda, mantık aynı. Aşağıdaki defterde egfrCkdEpi2021 fonksiyonunun Python karşılığını çalıştırıyoruz ve def, parametre, return ve if yapılarını bu kez Python yazımıyla görüyoruz. Defteri bilerek kısa tuttum; bu hafta tek işimiz bu fonksiyonu okuyup anlamak. Sonundaki VKİ ve bel/boy alıştırmasını da evde tamamlayın; cevabı hemen altında, kapalı bir kutuda duruyor, önce kendiniz deneyin.

Hafta 2 · eGFR fonksiyonu

Kurulum gerektirmez; Google hesabınızla tarayıcıda çalışır.

Gömülü görünüm salt okunurdur ve derste çalıştırılmış çıktıları gösterir. Kodu değiştirip çalıştırmak için Colab'de aç'ı kullanın; ardından Dosya → Drive'a kopya kaydet.

Kapanış: kaynağa bağlı yapay zeka

Son beş dakikada size başka türlü bir araç göstereceğim. NotebookLM’e birinci ve ikinci haftanın sayfalarını ve bir kılavuz özetini kaynak olarak yükleyip “bu kaynaklardan beş soruluk bir quiz hazırla, her sorunun altına kaynağını yaz” diyeceğiz. Sohbet botlarından farkı şu: yalnızca sizin yüklediğiniz belgelerden cevap verir ve hangi sayfadan aldığını gösterir; uydurma payı bu yüzden çok daha düşük. Ders çalışırken kullanabileceğiniz bir araç bu; ayrıntısını 24. haftada konuşacağız.

Temel Kavramlar

  • İstem (prompt) — Modele verdiğimiz görev, bağlam ve kısıt metni. İyi bir istem rolü, bağlamı, görevi, çıktı biçimini ve kısıtları içerir.
  • Vibe coding — Kodu satır satır yazmak yerine yapay zekaya tarif edip üretilen kodu okuyarak, deneyerek ve düzelttirerek ilerleme. Hekimlik için sorumlu hâli, çıktıyı doğrulamadan kullanmamaktır.
  • Değişken — Bir değeri isimle saklayan kutu: kilo = 72.
  • Veri tipi — Değerin türü: tam sayı, ondalık sayı, metin, mantıksal. "72" bir metin, 72 bir sayıdır.
  • Tip dönüşümü — Metni sayıya çevirmek: JavaScript’te Number("72"), Python’da float("72"). Form alanlarından gelen her şey metin olarak gelir.
  • Fonksiyon — İsimli, girdi alan ve sonuç döndüren kod bloğu. JavaScript’te function, Python’da def.
  • Koşul (if) — Eşiklere göre dallanma; klinik sınır değerler koda buradan girer.
  • Birim hatası — Girdinin beklenenden farklı birimde olması. En sık görülen ve en tehlikeli hata sınıflarından biri.

Tıptan Örnekler

  • CKD-EPI denkleminden 2021’de ırk katsayısı çıkarıldığında, aynı kreatinin değeriyle bazı hastaların evresi değişti ve nakil bekleme listeleri yeniden düzenlendi. Bir formüldeki tek bir katsayı, binlerce hastanın kararını etkileyebiliyor.
  • ESC’nin 2024 kılavuzu CHA₂DS₂-VASc’taki cinsiyet puanını kaldırdı. Kullandığınız hesaplayıcı hangi sürümü uyguluyor? Kılavuz değişince kodun da değişmesi gerekir; çalışır görünmesi yeterli değil.
  • Pediatrik doz hesabında süspansiyon derişimi yanlış okunduğunda miligram ile mililitre karışır ve birkaç kat doz hatası ortaya çıkabilir. Aracımızdaki tavan doz uyarısı bu yüzden var.
  • Wells skoru tek başına tanı koymaz. Düşük olasılıkta negatif D-dimer DVT’yi dışlar; yüksek olasılıkta ise D-dimer beklemeden görüntülemeye gidilir. Araç bu algoritmayı yorum satırında hatırlatır.

Uygulama / Etkinlik

  1. Derste canlı üretilen sürümle sitedeki hazır sürümü yan yana açın. Aynı istemden çıkan iki kodda en az iki fark bulun ve yazın.
  2. Hazır sürümün kodunu GitHub’da açın ve üç durağı kendiniz bulun: bir Number(...) dönüşümü, egfrCkdEpi2021 fonksiyonu ve kdigoEvresi içindeki if zinciri.
  3. Defterdeki egfr_hesapla fonksiyonunu üç farklı hasta için çağırın. Birinde kreatinini µmol/L olarak girin ve ne olduğunu gözleyin.
  4. İsterseniz kendi istem denemenizi yapın: herhangi bir sohbet aracına istemin ilk parçasını verin ama yalnızca VKİ sekmesini isteyin. Çıkan kodda if eşiklerini bulup WHO sınıflarıyla karşılaştırın; yanlış bir eşik var mı?

Tartışma Soruları

  1. İstemin ikinci parçasını, yani formülleri vermeseydik model eşikleri kendisi bulmaya çalışırdı. Bu neden riskli olurdu? Hangi durumlarda buna razı olabilirdiniz?
  2. Kod çalışıyor ve sonuç makul görünüyor. Yine de doğru olmadığından şüphelenseniz hangi üç şeyi test ederdiniz?
  3. Hesaplayıcıyı serviste kullanan bir stajyer yanlış sonuçla doz verirse sorumluluk kimde olur: kodu yazan model mi, isteyen öğrenci mi, onaylayan öğretim üyesi mi, kullanan stajyer mi?
  4. Bir değişkenin tipini bilmek hekim için neden önemli olabilir? Bir metinle bir sayıyı karıştırmanın klinikteki karşılığı ne olurdu?

Haftanın Özeti

Bu hafta kod yazmayı bilmeyen bir hekimin de kod yazdırabileceğini gördük; ama bunun için ne istediğini klinik ayrıntısıyla söylemesi, çıkan kodu okuyabilmesi ve bulduğu hatayı doğru tarif edebilmesi gerektiğini de gördük. Beş hesaplamalı bir aracı tek bir istemle yazdırdık, içine bilerek bir birim hatası sokup düzelttirdik ve kodda üç durakta değişkeni, tip dönüşümünü, fonksiyonu ve if eşiğini tanıdık. Sonra aynı fonksiyonu Python’da def ile çalıştırdık. Araç artık sitede; kullanın, hatasını bulun, haftaya getirin.

Okuma

Bu haftanın okumaları

Her hafta bir makale ve bir tartışma yazısı seçiyorum. Özetleri burada; ama özet okumak makale okumak değildir, tam metne gitmenizi ve aşağıdaki sorularla NotebookLM'de çalışmanızı istiyorum.

Haftanın makalesi · Derleme (tıp eğitimi)

Educational Strategies for Clinical Supervision of Artificial Intelligence Use

Raja-Elie E. Abdulnour, Brian Gin, Christy K. Boscardin

N Engl J Med 2025;393:786-797, 2025 · DOI 10.1056/NEJMra2503232

Yazarlar, büyük dil modellerinin önceki teknolojik dalgalardan farklı olduğunu söyleyerek başlıyor: bu modeller klinik akıl yürütmeyi insana benzer bir akıcılıkla taklit edebildiği için öğrenen kişiye bağımsız düşünen bir ortak gibi görünüyor. Bu yüzden asıl risk yanlış cevap vermeleri değil, öğrencinin kendi akıl yürütmesini onlara devretmesi. Makale bu devretmenin üç sonucunu adlandırıyor: edinilmiş becerinin kaybı (deskilling), hiç edinilememesi (never-skilling) ve yapay zekanın hatasının ya da yanlılığının öğrenciye yerleşmesi (mis-skilling). Aktarılan bir çalışmada ileri sınıf tıp öğrencilerinin üçte birinden fazlası, dil modelinin klinik senaryolara verdiği hatalı yanıtları fark edemiyor.

Derlemenin merkezinde şu gözlem var: yapay zekayla her etkileşimde kullanıcı, kaynağını tam olarak izleyemediği bir çıktıya güvenip güvenmemeye karar vermek zorunda kalıyor; yazarlar buna bir tür inanç sıçraması diyor. Eğitimcinin işi öğrenciye tam bu anlarda durmayı öğretmek. Bunun için DEFT-AI adını verdikleri beş adımlı bir çerçeve öneriyorlar: tanıyı ve gerekçesini sormak, kanıtı istemek, geri bildirim vermek, öğretici bir an oluşturmak ve o görevde yapay zekanın nasıl kullanılması gerektiğine dair somut bir öneriyle bitirmek. Yani klinik süpervizyonda zaten yaptığımız şeyin, yapay zeka etkileşimine uyarlanmış hâli.

Makale iki kullanım biçimini de ayırt ediyor. Sayborg tarzında kullanıcı ve yapay zeka her adımda iç içe çalışır; sentor tarzında ise görev bölünür, yapay zeka bir kısmını yapar, insan eleştirel gözle denetler. Yazarlara göre iyi bir klinisyen bu iki biçim arasında görevin karmaşıklığına ve riskine göre geçiş yapabilen kişidir. Son olarak eğitimcinin öğrenciden daha az yapay zeka deneyimi olabileceğini kabul ediyor ve bunu bir sorun değil, birlikte öğrenme fırsatı olarak sunuyorlar: bu alanda öğretmenler de öğrenci.

Bu hafta neden bu metin?

Bu hafta bir aracı yapay zekaya yazdırıp sonra kodunu okuduk ve içine bilerek hata sokup düzelttirdik. Makale, tam olarak bu alışkanlığın neden gerekli olduğunu tıp eğitimi diliyle anlatıyor: kodu okumadan kullanmak, tanıyı sorgulamadan kabul etmekle aynı şey. Dersin 'kodlayan hekim' fikrinin bilimsel gerekçesi olarak okuyun.

Okurken düşünün

  1. Makalenin üç riskini (deskilling, never-skilling, mis-skilling) bugünkü hesaplayıcı örneğine uygulayın. Kodu hiç okumadan kullanan bir öğrenci hangisine giriyor?
  2. DEFT-AI çerçevesinin beş adımını, hesaplayıcıdaki eGFR fonksiyonunu doğrularken nasıl kullanırdınız?
  3. Bugün yaptığımız vibe coding sayborg mu, sentor mu? Hangi anlarda hangisine geçtik?
  4. Yazarlar 'öğretmenler de öğrenci' diyor. Sizce bu dersi veren kişi yapay zekayı sizden daha iyi mi biliyor olmalı? Neden?
Tam metni aç

Haftanın tartışması · Blog yazısı

The Limits of AI in the Art of Medicine

Don S. Dizon

NEJM Voices (klinisyen blogu), Hematology/Oncology, 2026

Onkolog Don Dizon, 2025 Uluslararası Jinekolojik Kanser Derneği toplantısında yönettiği bir oturumu anlatıyor. Oturumun kurgusu ilginç: uzmanlara klinik sorular sorulmadan önce ChatGPT'ye "bu uzman bu soruya nasıl cevap verirdi?" diye soruluyor. Memorial Sloan Kettering'den Dr. Nadeem Abu-Rustum salondan çıkarılıyor; modele onun endometrium kanserine yaklaşımı soruluyor. Model faz 3 çalışmalara, kılavuzlara ve bizzat Abu-Rustum'un yazdığı makalelere atıfla gayet makul, düzenli bir cevap veriyor; moleküler sınıflama, cerrahi yaklaşım, kemoterapi ve radyoterapi endikasyonları hepsi yerli yerinde. Yalnız bazı atıflar uydurma, yani bildik halüsinasyon.

Sonra Abu-Rustum içeri giriyor ve aynı sorulara cevabına "duruma göre değişir" diye başlıyor. Hasta genç mi yaşlı mı, histoloji agresif mi, görüntülemede evre ne, hasta nerede yaşıyor? Dizon'un asıl vurgusu burada: uzmanın cevabı verilerin özeti değil, verilerin karşısındaki insana göre yeniden sentezlenmesiydi. Her gün yaptığımız iş tam olarak bu; hastalığı değil, hastalığı olan kişiyi tedavi ediyoruz.

Yazı, Goldberg ve arkadaşlarının NEJM AI'daki makalesine bağlanarak bir adım daha atıyor: yapay zeka yönetişimi sistemlerin nasıl kurulduğuna, güvenlik filtrelerine ve regülasyona odaklanıyor, ama modelin bir öneri üretirken hangi değerleri gözettiği belirsiz. Öneriyi yönlendiren şey maliyet mi, risk azaltma mı, yolağa uyum mu? Yazarlar "modeldeki değerler" adını verdikleri, hastaların, klinisyenlerin ve etikçilerin katıldığı şeffaf bir çerçeve öneriyor; Dizon böyle bir çerçevenin henüz olmadığını ve bunu akılda tutmamız gerektiğini söylüyor. Kapanış cümlesi yazının özeti: kişiye özel tıp denen şeyin asıl adı hekimlik sanatıdır ve bu derinden insani bir uğraştır.

Bu hafta neden bu metin?

Bugün derste yapay zekanın klinik bir aracı dakikalar içinde yazabildiğini gördük; bu yazı aynı gücün sınırını gösteriyor. Model, uzmanın literatürünü onun kadar iyi özetleyebiliyor ama uzmanın ilk cümlesini, 'duruma göre değişir'i, söyleyemiyor. Haftanın makalesi bu farkı eğitim diliyle anlatırken bu yazı klinik bir sahneyle anlatıyor; ikisini birlikte okuyun.

Okurken düşünün

  1. Model, Abu-Rustum'un kendi makalelerine atıfla doğru bir cevap verdi ama 'duruma göre değişir' diyemedi. Bu eksik, bilgi eksikliği mi yoksa başka türlü bir şey mi?
  2. Bugünkü hesaplayıcımız da bir bakıma 'duruma göre değişir' demiyor; eşiğe göre karar veriyor. Hangi hastada bu araç yanıltıcı olur?
  3. 'Modeldeki değerler' sorusunu hesaplayıcıya sorun: CHA₂DS₂-VA'da antikoagülasyon önerisini hangi değer yönlendiriyor, kanama riski nerede?
  4. Uydurma atıflar oturumda kimseyi rahatsız etmemiş görünüyor, çünkü cevap 'makul' geliyordu. Bu sizce en tehlikeli kısım mı?
Tam metni aç

NotebookLM ile çalışın

NotebookLM'de yeni bir defter açın, yukarıdaki bağlantıları (ya da indirdiğiniz PDF'leri) kaynak olarak ekleyin ve aşağıdaki istemi yapıştırın. NotebookLM yalnızca yüklediğiniz kaynaklardan cevap verir ve her cümlesine kaynağını iliştirir; bu yüzden özet çıkarmak, soru sormak ve kendinizi sınamak için sohbet botlarından daha güvenli bir yer.

Haftanın makalesi için istem

Bu makaleyi tıp fakültesi 1. sınıf öğrencisi için Türkçe olarak çalışacağım.
1) Makalenin ana argümanını 5 cümleyle özetle ve her cümlenin hangi bölüme dayandığını belirt.
2) "Deskilling", "never-skilling" ve "mis-skilling" kavramlarını birer klinik örnekle açıkla.
3) DEFT-AI çerçevesinin beş adımını bir tablo hâlinde ver; her adım için bir soru örneği yaz.
4) Bana bu makaleden 5 soruluk çoktan seçmeli bir quiz hazırla, cevapları en sona koy.
5) Makalede kanıtı en zayıf görünen iddia hangisi? Neden?

Haftanın tartışması için istem

Bu blog yazısını ve aynı haftanın makalesini (Abdulnour ve ark., NEJM 2025) birlikte çalışacağım; Türkçe yanıt ver.
1) Dizon'un anlattığı oturumu 3 cümleyle özetle; deneyin kurgusunda neyin sınandığını açıkça yaz.
2) Yazının ana iddiasını tek cümleyle ver ve bu iddiayı destekleyen sahneyi işaretle.
3) "Modeldeki değerler" (Values in the Model) çerçevesi ne öneriyor; yazıdaki ifadeyle açıkla.
4) İki metin birbirine nerede katılıyor, nerede ayrılıyor? Bir tablo yap: konu / makale / blog.
5) Bu iki metinden yola çıkarak "kodlayan hekim" için üç ilke yaz; her ilkenin dayandığı cümleyi kaynakla göster.

İpucu: İki kaynağı aynı deftere yükleyip "bu iki metin birbirine nerede katılıyor, nerede ayrılıyor?" diye sorun; haftanın tartışma sorusu çoğu zaman tam orada çıkar.

Bu haftanın araçları

  • Claude Code
  • Google Colab
  • NotebookLM

Faydalı bağlantılar

Bu hafta karşıma çıkan, dersle ilgili ve göz atmaya değer bulduğum siteler. Her hafta olmayabilir; bulduğumda eklerim.

Ek kaynaklar

Etiketler:vibe codingClaude Codedeğişkenveri tipiVKİbel/boy oranıeGFRCHA2DS2-VAScWellsdoz hesabıNotebookLM