Kazanimlar:
- Yapay zeka ile veri temizleme, hesap otomasyonu ve modelleme için Python kodu yazdırıp kodu satır satır anlayarak kabul edebilme
- Test edilmemiş kodun bir hipotez olduğunu kavrayıp her kodu bilinen bir sonuçla doğrulayıp birim ve kenar durumları sınayabilme
- Güvenlik-kritik hesap kodlarının hem testi hem yetkili mühendis doğrulamasını gerektirdiğini kavrayabilme
Modern kimya mühendisliğinin sessiz motoru artık Pythontır (yaygın kullanılan, öğrenmesi kolay bir programlama dili). Bir sensör verisini temizlemek, bir kütle dengesini otomatikleştirmek, bir kinetik modeli veriye oturtmak, yüzlerce simülasyon sonucunu karşılaştırmak, bir grafiği üretmek — bunların hepsi elle saatler sürerken, birkaç satır Python ile saniyelere iner. Bu ünitede yapay zekayı Python kodu yazmada, açıklamada ve hata ayıklamada bir yardımcı olarak nasıl kullanacağınızı; ama üretilen her kodun neden test edilmeden ve doğrulanmadan kullanılmaması gerektiğini öğreneceğiz.
Kimya mühendisi genellikle profesyonel bir yazılımcı değildir; işte YZ burada büyük bir güç katar. Bir mühendis "şunu yapan bir betik istiyorum" der, YZ taslağı yazar. Ama şu ilke değişmez: YZ'nin yazdığı kod, doğru göründüğü için doğru değildir; bilinen bir sonuçla test edilene kadar bir hipotezdir. Sessiz bir hata — yanlış birim, yanlış indis, kaydırılmış bir formül — bir mühendislik hesabında tehlikeli sonuçlar üretebilir.
Kimya mühendisliğinde YZ ile Python: adım adım
1. İşi net tanımla. Girdi nedir (CSV, dizi, denklem), çıktı ne olmalı, hangi birimlerde? Belirsiz istem, hatalı kod demektir.
2. Kod taslağı iste. YZ, uygun kütüphanelerle (veri için pandas, sayısal işlem için numpy, grafik için matplotlib, optimizasyon/çözüm için scipy) bir taslak üretir.
3. Kütüphane ve varsayımları anla. YZ'ye her satırı ve varsayımı (birim, veri formatı, kabul) açıklatın. Anlamadığınız kodu çalıştırmayın.
4. Bilinen sonuçla test et. Kodu, cevabını önceden bildiğiniz basit bir örnekte çalıştırın. Bir denge kodu, elle çözülebilen bir örnekte doğru sonuç vermeli.
5. Birim ve kenar durum kontrolü. Sıfır, negatif, çok büyük değerler, eksik veri gibi kenar durumlarda kod ne yapıyor? Kimya mühendisliğinde birim hatası klasik bir felakettir.
6. Sonucu fizikle sına. Kod bir sayı üretti — kütle korunuyor mu, değer gerçekçi mi? Kodun çalışması, sonucun doğru olduğunu kanıtlamaz.
İpucu: YZ'den kod isterken "her değişkenin birimini yorum satırında yaz ve girdi birimlerini açıkça belirt" deyin. Kimya mühendisliği hatalarının önemli bölümü birim karışıklığından (bar/Pa, kg/g, °C/K) doğar; birimleri koda gömmek bu hataları görünür kılar.
Test edilmemiş kod bir hipotezdir
YZ akıcı, çalışır görünen kod üretir; ama "çalışıyor" ile "doğru" farklı şeylerdir. Kod hatasız çalışıp yanlış bir sayı üretebilir: bir formülde işaret hatası, bir dizide kaydırma (off-by-one), yanlış bir birim dönüşümü. Bu yüzden altın kural: her kod, doğru cevabı bağımsız olarak bilinen bir test durumunda sınanır. Basit bir analitik örnek, elle yapılmış bir hesap ya da bir referans veri, kodun güvenilirliğini kanıtlar. Test geçilmeden hiçbir mühendislik kararı koda dayandırılmaz.
Dikkat: Bir emniyet, boyutlandırma ya da güvenlik hesabını yapan bir kod, sadece "çalıştığı" için güvenilir sayılamaz. Güvenlik-kritik hesap kodları hem bilinen sonuçla test edilmeli hem de sonuçları yetkili mühendisçe bağımsız yöntemle doğrulanmalıdır.
Üç mini vaka
Vaka 1 — Veri temizleme otomasyonu. Bir mühendis, 8 sensörden gelen 3 aylık veriyi (yaklaşık 1,1 milyon satır) her ay elle temizliyordu. YZ ile yazılan bir pandas betiği bunu dakikalara indirdi. Mühendis kodu önce küçük, bilinen bir örnek dosyada test etti; bir sütunun yanlış ayrıştırıldığını fark edip düzeltti, sonra tüm veriye uyguladı.
Vaka 2 — Sessiz birim hatası. YZ, bir basınç düşüşü hesabı için kod yazdı ama girdiyi bar, formülü Pa varsayarak karıştırdı. Kod hatasız çalıştı ama sonuç 100.000 kat yanlıştı. Mühendis, elle yaptığı bir kontrol hesabıyla mertebe farkını yakaladı. Birim yorumları eklendikten sonra hata netleşti ve düzeltildi.
Vaka 3 — Test kurtardı. Bir ekip, bir kütle dengesi çözücüsü için YZ'den kod aldı. Önce iki bileşenli, elle çözülebilen bir örnekte test ettiler; kod bir geri döngüyü yanlış kapatıyordu ve toplam tutmuyordu. Hata gerçek, karmaşık modele uygulanmadan önce yakalandı. Test olmasa hata tüm sonuçlara yayılacaktı.
Dört kopyalanabilir şablon
1) Veri analizi kod taslağı:
Rolün: kimya mühendisliği için Python yardımcısı. Görev: [tanım].Girdi: [CSV/dizi, sütunlar, BİRİMLER]. Çıktı: [ne, hangi birimde].pandas/numpy kullan. Kodda: (1) her değişkenin birimini yorumla,(2) girdi varsayımlarını başta belirt, (3) kenar durumları (eksikveri, sıfır) ele al. Kodu ben bilinen bir örnekle test edeceğim;sihirli sayı kullanma, sabitleri açıkça tanımla.
2) Kod açıklama ve doğrulama:
Aşağıdaki Python kodunu satır satır açıkla: ne yapıyor, hangivarsayımları var, hangi birimleri bekliyor. Olası hata noktalarını(birim karışıklığı, indis kayması, sıfıra bölme, taşma) işaretle.Bu kodu hangi basit, bilinen test durumuyla doğrulayabileceğimi öner.Kod: [yapıştır]
3) Bilinen sonuçla test kurma:
Bu fonksiyonu doğrulamak için bir test seti yaz: cevabı analitikolarak veya elle bilinen en az 3 basit durum. Her test için beklenensonucu ve neden o sonucu beklediğimizi açıkla. Testler geçmeden kodugerçek veriye uygulamayacağım. Fonksiyon: [yapıştır]
4) Hata ayıklama (debug):
Bu kod şu hatayı/yanlış sonucu veriyor: [hata mesajı veya beklenen vsgerçek çıktı]. Olası nedenleri olasılık sırasıyla listele ve her biriiçin nasıl test edeceğimi söyle. Doğrudan "düzelttim" deme; önce köknedeni birlikte doğrulayalım. Birim ve mertebe kontrolünü de öner.Kod ve veri: [yapıştır]
Zayıf prompt / Güçlü prompt
Zayıf prompt:
Bana bir basınç düşüşü hesabı kodu yaz.
Girdi formatı, birim, denklem, koşul belli değil. YZ varsayımlarını gizler, birimleri karıştırabilir.
Güçlü prompt:
Rolün: kimya mühendisliği Python yardımcısı. Görev: dairesel borudasürtünme kaynaklı basınç düşüşü. Girdi: debi [m3/s], çap [m], uzunluk[m], yoğunluk [kg/m3], viskozite [Pa·s]. Çıktı: basınç düşüşü [Pa].Darcy-Weisbach kullan; sürtünme faktörü için akış rejimini (Re) kontrolet. Her birimi yorumla, varsayımları (tam dolu, kararlı akış) belirt.Kodu laminer bir örnekte elle hesapla ile karşılaştırıp test edeceğim.
Fark açıktır: girdi birimleri, yöntem, çıktı birimi ve test niyeti kodu güvenilir kılar.
Python kullanımında rol dağılımı
İş
YZ'nin rolü
İnsanın kararı
Kod yazma
Taslak üretme
İş tanımı, birimler
Kütüphane seçimi
Öneri
Uygunluk onayı
Açıklama
Satır satır
Anlayarak kabul
Test
Test seti önerisi
Bilinen sonuçla doğrulama
Debug
Hipotez, yön
Kök neden teyidi
Sonuç
Sayı üretme
Fizikle sınama
Sık yapılan hatalar
- Test etmeden kodu kullanmak. Çalışan kod, doğru kod değildir; bilinen sonuçla sınanmadan güvenilmez.
- Birimleri belirsiz bırakmak. Birim karışıklığı kimya mühendisliğinde en yaygın ve tehlikeli hatadır.
- Anlamadan çalıştırmak. YZ'nin yazdığı kodu satır satır anlamadan sonuca güvenmeyin.
- Kenar durumları atlamak. Sıfır, negatif, eksik veri kodu sessizce yanlış sonuca sürükleyebilir.
- Güvenlik hesabını sadece koda dayamak. Güvenlik-kritik kodlar test + bağımsız yetkili doğrulama ister.
Özetle
Python ile kimya mühendisliğinde YZ; veri temizleme, hesap otomasyonu, modelleme ve grafik için kod taslağı yazan, kodu açıklayan ve hata ayıklamada yön veren güçlü bir asistandır. Ama YZ'nin kodu, doğru göründüğü için değil, bilinen bir sonuçla test edildiği için güvenilirdir. Birimleri açıkça belirtmek, kodu anlamak, kenar durumları sınamak ve sonucu fizikle doğrulamak temeldir; güvenlik-kritik hesaplar ayrıca yetkili mühendis doğrulaması gerektirir.
Uygulama görevi
Bir hesap seçin (örneğin bir boru basınç düşüşü veya iki bileşenli kütle dengesi). "Veri analizi/hesap kod taslağı" şablonuyla YZ'den kod alın, birimleri açıkça belirtin. Sonra "bilinen sonuçla test kurma" şablonuyla elle çözülebilen bir örnekte kodu doğrulayın; sonuç uyuşmuyorsa "hata ayıklama" şablonuyla kök nedeni bulun.
Kontrol listesi
- [ ] Girdi/çıktı birimlerini ve yöntemi açıkça belirttim.
- [ ] Kodu satır satır anlayıp varsayımlarını gördüm.
- [ ] Kodu bilinen/elle çözülebilen bir örnekte test ettim.
- [ ] Kenar durumları (sıfır, negatif, eksik veri) sınadım.
- [ ] Sonucu fizikle (kütle korunumu, mertebe) doğruladım; güvenlik hesabını ayrıca yetkiliye teyit ettirdim.