Kazanimlar:
- AI destekli Python koduyla mühendislik hesabı, birim yönetimi ve veri işlemeyi otomatikleştirebilme
- AI kodunu birim kontrolü, bilinen sonuç testi ve kenar durumlarla doğrulayabilme
- Tekrarlanabilir, izlenebilir ve sürüm kontrollü hesap dokümanı üretme alışkanlığını kazanabilme
Makine mühendisliğinde aynı hesap defalarca yapılır: bir parça ailesinin gerilmeleri, bir dizi çalışma noktası için pompa gücü, farklı sıcaklıklarda özellik tabloları. Bunları elle yapmak hem yavaş hem hataya açıktır. Python (öğrenmesi kolay, mühendislik için zengin kütüphaneleri olan bir programlama dili) bu tekrarları otomatikleştirir; hesabı tekrarlanabilir, izlenebilir ve sürüm kontrollü hale getirir. Yapay zeka (AI) Python kodu üretmede olağanüstü hızlıdır: bir formülü fonksiyona çevirir, birim yönetimi ekler, veri okur, grafik çizer. Ama burada tehlikeli bir yanılgı vardır: kodun hatasız çalışması, doğru hesapladığı anlamına gelmez. AI kodu yanlış birim dönüşümü, hatalı formül veya kenar durumlarda sessizce yanlış sonuç verebilir ve program hiç hata vermeden çalışmaya devam eder. Bu yüzden AI ile üretilen her mühendislik kodu; bilinen sonuçlu test girdileri, birim (boyut) kontrolü ve kenar durum denemeleriyle doğrulanmadan güvenilmez. Bu ünitede AI ile Python hesap otomasyonunu güvenli biçimde kurmayı öğreneceksiniz.
Neden Kodla Hesap? İzlenebilirlik ve Tekrarlanabilirlik
Elle yapılan bir hesap tek seferliktir; bir girdi değişince baştan yapılır ve ara adımlar kaybolur. Kodla yapılan hesap ise bir belge gibidir: girdiler, formüller ve çıktılar açıkça yazılıdır; bir girdiyi değiştirip saniyeler içinde yeni sonuç alırsınız; sürüm kontrolü (git gibi) ile "hangi tarihte hangi değerle ne hesapladım" izlenebilir. Bu, denetim ve sorumluluk açısından çok değerlidir. Ama bu güç, kodun doğruluğuna bağlıdır; yanlış bir kod, yanlış sonucu da tekrarlanabilir ve hızlı üretir.
İpucu: Her hesap fonksiyonuna, yanına bilinen bir doğru sonuçla bir test yazın (Python'da assert). Örneğin gerilme fonksiyonunuz bilinen bir örnekte 28,1 MPa vermeli. Bu test, ileride kodu değiştirdiğinizde bir şeyi bozarsanız anında uyarır. Test olmayan mühendislik kodu, doğrulanmamış hesap demektir.
Birim Yönetimi: En Sık Hata Kaynağı
Mühendislik kodunda hataların büyük kısmı birimlerden gelir: N ile kN, m ile mm, Pa ile MPa karışması sonucu 1000 veya 1.000.000 kat saptırır. İki savunma vardır. Birincisi disiplin: baştan tek bir birim sistemi seçip (örneğin N, mm, MPa) tüm girdileri ona çevirmek ve değişken adlarına birim eklemek (length_mm, force_N). İkincisi araç: pint gibi bir kütüphane birimleri kodun içinde taşır ve tutarsız işlemi hata olarak yakalar.
Yaklaşım
Nasıl çalışır
Avantaj
İsimlendirme disiplini
force_N, length_mm gibi
Basit, bağımlılık yok
Tek birim sistemi
Hepsi N-mm-MPa'ya çevrilir
Sadelik, hız
pint kütüphanesi
Birimi değişkenle taşır
Tutarsızlığı otomatik yakalar
Bilinen sonuç testi
assert ile referans
Formül/birim hatasını yakalar
Dikkat: AI'ın ürettiği kodda bir birim dönüşümü eksik veya yanlış olabilir ve kod yine de "çalışır". Örneğin çapı mm alıp alanı m² beklerse sonuç 1.000.000 kat sapar ama program hata vermez. Kodu çalıştırmadan önce girdilerin ve çıktının birimlerini yorum satırında yazın; sonra bilinen bir örnekle sonucu sağlayın.
Adım Adım: AI ile Doğrulanabilir Hesap Kodu
- Problemi ve birim sistemini netleştirin. Girdiler, çıktılar, birimler.
- Fonksiyonu ürettirin. Tek sorumluluklu, yorumlu, birimli.
- Bilinen sonuç testi ekletin. Referans örnekle assert.
- Kenar durumları deneyin. Sıfır, negatif, çok büyük/küçük girdi.
- Birim kontrolü yapın. Çıktının birimi beklenenle uyuşuyor mu?
- Belgeleyin ve sürümleyin. Varsayımlar, kaynak, tarih; git ile izlenebilirlik.
Fonksiyon ve test üreten prompt
Rol: Mühendislik hesabı yazan deneyimli Python geliştiricisi.Görev: Dikdörtgen kesitli konsol kirişte maksimum eğilme gerilmesinihesaplayan bir fonksiyon yaz.Girdi: F (N), L (mm), b (mm), h (mm). Çıktı: sigma (MPa).Kural: Birim sistemi N-mm-MPa; her girdinin birimini yorumda yaz.Kural: I = b*h^3/12 ve sigma = M*c/I kullan; adımları yorumla.Kural: BİLİNEN SONUÇLU bir test ekle: F=500,L=300,b=20,h=40 içinsigma ~28.1 MPa; assert ile kontrol et (küçük tolerans).
Kenar durum promptu
Yukarıdaki fonksiyona kenar durum kontrolleri ekle:- b, h veya L sıfır ya da negatifse anlamlı hata ver (raise ValueError).- Çok büyük/küçük girdilerde taşma/duyarlık sorunu var mı, yorumla.Ayrıca 3 farklı test girdisi daha ekle ve beklenen sonucu yaz;sonuçları elle de doğrulayabileceğim şekilde açıkla.
Birim güvenliği (pint) promptu
Aynı hesabı 'pint' kütüphanesiyle birim-güvenli hale getir. Girdilerbirimleriyle tanımlansın (ör. 500 * ureg.newton). Çıktıyı MPa'ya çeviripyazdır. Yanlış birimli bir girdi verildiğinde pint'in nasıl hataverdiğini gösteren küçük bir örnek ekle.
Kod denetim promptu
Aşağıdaki mühendislik hesap kodumu bir kod gözden geçirme gözüyleeleştir, bana katılma. Özellikle: birim dönüşümü doğru mu, formüldoğru mu, kenar durumlar (sıfır, negatif) ele alınmış mı, testlergerçekten doğrulayıcı mı? Her bulgu için nasıl düzelteceğimi yaz.[kod]
Zayıf Prompt / Güçlü Prompt
Zayıf prompt:
Gerilme hesabı için Python kodu yaz.
Birim, formül tercihi, girdi tanımı ve test yok; AI çalışan ama doğrulanmamış, birimi belirsiz bir kod üretir.
Güçlü prompt:
Konsol kirişte eğilme gerilmesi fonksiyonu yaz. Girdi F(N), L(mm), b(mm),h(mm); çıktı sigma(MPa). N-mm-MPa sistemi, her birimi yorumda belirt.Bilinen sonuçlu test ekle (F=500,L=300,b=20,h=40 → ~28.1 MPa, assert).Sıfır/negatif girdide hata versin. Kenar durumları yorumla.
İkinci prompt birim sistemini, formülü, girdileri, testi ve kenar durumları zorunlu kılar; kodu doğrulanabilir hale getirir.
Üç Mini Vaka (Sayılarla)
Vaka 1 - Sessiz birim hatası. AI'ın ürettiği alan hesabı çapı mm alıp pi*d**2/4 ile mm² veriyor, ama sonraki satır bunu m² bekleyen bir formüle sokuyor; kod hatasız çalışıp gerilmeyi 1.000.000 kat düşük veriyor. Mühendis bilinen sonuçlu testi çalıştırınca (assert abs(sigma-28.1)<0.5) test patlıyor ve hata yakalanıyor. Test olmasaydı yanlış sonuç fark edilmeden rapora girecekti. Ders: çalışan kod ≠ doğru kod.
Vaka 2 - Kenar durum çökmesi. Bir parça ailesi için döngüyle hesap yapan kodda bir satırda kalınlık h=0 giriliyor; I = b*h**3/12 = 0 olunca sigma = M*c/I sıfıra bölme hatası veriyor. AI'ın eklediği if h<=0: raise ValueError kontrolü sayesinde kod anlamlı bir mesajla duruyor, sessizce inf üretmiyor. Ders: kenar durumları önceden ele al.
Vaka 3 - Tekrarlanabilirlik kazancı. 40 farklı çalışma noktası için pompa gücünü elle hesaplamak bir mühendisin yarım gününü alıyordu. AI ile yazılan, CSV okuyup her satır için gücü hesaplayan ve bilinen bir noktayı assert ile doğrulayan script, işi ~2 dakikaya indiriyor ve sonuçları izlenebilir bir dosyaya yazıyor. Bir girdi değişince tüm tablo saniyede güncelleniyor. Ders: doğrulanmış otomasyon hem hızlı hem güvenilirdir.
Sık yapılan hatalar
- "Çalıştı = doğru" yanılgısı: Hatasız çalışan kodu doğru sanmak.
- Test yazmamak: Bilinen sonuçlu bir referans testi olmadan koda güvenmek.
- Birim belirsizliği: Girdi/çıktı birimlerini yorumlamadan bırakmak, dönüşümü atlamak.
- Kenar durumları görmezden gelmek: Sıfır/negatif girdide sessiz hata veya çökme.
- Kaynak/varsayım belgelememek: Kullanılan formülün kaynağını ve varsayımını yazmamak.
- Sürümlememek: Hesabı izlenebilir kılmadan (git) tek seferlik dosya olarak bırakmak.
Özetle
- Python, mühendislik hesabını tekrarlanabilir, izlenebilir ve sürüm kontrollü hale getirir.
- AI kod üretmede çok hızlıdır; ama kodun hatasız çalışması doğru hesapladığı anlamına gelmez.
- Her kod bilinen sonuçlu test, birim kontrolü ve kenar durum denemeleriyle doğrulanmalıdır.
- Birim hataları en sık ve en sinsi hata kaynağıdır; tek birim sistemi, isimlendirme veya pint ile savunun.
- Doğrulanmış otomasyon hem zaman kazandırır hem güven verir; doğrulanmamış kod tehlikelidir.
Uygulama görevi
Tekrar eden bir mühendislik hesabı seçin (gerilme, pompa gücü, ısı yükü gibi). AI'a bu hesabı yapan bir Python fonksiyonu yazdırın; her girdinin ve çıktının birimini yorumda belirttirin ve bilinen sonuçlu bir assert testi ekletin. Testi çalıştırın ve geçtiğini görün. Ardından iki doğrulama daha yapın: bir kenar durum (sıfır veya negatif girdi) deneyip kodun anlamlı hata verdiğini kontrol edin ve çıktının birimini elle bir örnekte sağlayın. Mümkünse pint ile birim-güvenli bir sürüm de ürettirin. Son olarak hesabın varsayımlarını, formül kaynağını ve tarihini kısa bir başlık olarak koda ekleyin ve bu kodun neden yine de mühendis onayı gerektirdiğini yazın.
Kontrol listesi
- [ ] Girdi ve çıktı birimleri kodda açıkça belgelendi; tek birim sistemi seçildi.
- [ ] Bilinen sonuçlu bir test (assert) eklendi ve geçti.
- [ ] En az bir kenar durum (sıfır/negatif) denendi; kod anlamlı hata verdi.
- [ ] Çıktının birimi elle bir örnekle sağlandı ("çalıştı = doğru" varsayılmadı).
- [ ] Formül kaynağı, varsayımlar ve tarih koda not edildi.
- [ ] Hesap izlenebilir/sürümlü tutuldu; nihai onay mühendise bırakıldı.