Dobički:
- Sposobnost tiskanja kode Python ter razumevanja in sprejemanja kode vrstico za vrstico za čiščenje podatkov, avtomatizacijo računa in modeliranje z umetno inteligenco
- Sposobnost razumeti, da je nepreizkušena koda hipoteza, preveriti vsako kodo z znanim rezultatom ter preizkusiti enoto in robne primere
- Sposobnost razumevanja, da kode računov, ki so kritične za varnost, zahtevajo testiranje in preverjanje pooblaščenega inženirja.
Tihi motor sodobnega kemijskega inženiringa je zdaj Python (široko uporabljan programski jezik, ki se ga je enostavno naučiti). Čiščenje podatkov senzorjev, avtomatizacija masne bilance, prilagajanje kinetičnega modela podatkom, primerjava na stotine rezultatov simulacije, izdelava grafa – vse to traja ure ročno, a nekaj sekund z nekaj vrsticami Pythona. V tej enoti se boste naučili, kako uporabljati AI kot pomoč pri pisanju, razlagi in razhroščevanju kode Python; Izvedeli pa bomo, zakaj vsake proizvedene kode ne bi smeli uporabljati brez testiranja in preverjanja.
Kemijski inženir na splošno ni profesionalni razvijalec programske opreme; Tu AI doda veliko moč. Inženir pravi: "Želim skript, ki to počne" in napiše osnutek AI. Toda to načelo ostaja nespremenjeno: koda, ki jo piše AI, ni pravilna, ker je videti pravilna; To je hipoteza, dokler ni preverjena z znanim rezultatom. Tiha napaka – napačna enota, napačen indeks, premaknjena formula – lahko povzroči nevarne rezultate v inženirskem izračunu.
Python z AI v kemijskem inženirstvu: korak za korakom
1. Jasno opredelite delo. Kaj je vhod (CSV, polje, enačba), kakšen naj bo izhod, v katerih enotah? Dvoumen poziv pomeni slabo kodo.
2. Zahtevajte osnutek kode. AI izdela skico z ustreznimi knjižnicami (pandas za podatke, numpy za numerično obdelavo, matplotlib za grafe, scipy za optimizacijo/rešitev).
3. Razumeti knjižnico in predpostavke. Umetna inteligenca naj razloži vsako vrstico in predpostavko (enota, oblika podatkov, sprejemljivost). Ne izvajajte kode, ki je ne razumete.
4. Test z znanim rezultatom. Zaženite kodo na preprostem primeru, za katerega že poznate odgovor. Koda stanja mora dati pravilen rezultat v primeru, ki ga je mogoče dešifrirati ročno.
5. Nadzor statusa enote in roba. Kaj naredi koda v robnih primerih, kot so nič, negativne, zelo velike vrednosti, manjkajoči podatki? V kemijskem inženirstvu je okvara enote klasična katastrofa.
6. Preizkusite rezultat s fiziko. Koda je ustvarila številko - ali je masa ohranjena, ali je vrednost realna? Samo zato, ker koda deluje, še ne dokazuje, da je rezultat pravilen.
Namig: Ko zahtevate kodo od AI, recite "napišite enoto vsake spremenljivke v vrstico za komentar in izrecno določite vhodne enote." Pomemben del napak pri kemijskem inženirstvu izhaja iz zamenjave enot (bar/Pa, kg/g, °C/K); Z vdelavo enot v kodo so te napake vidne.
Nepreverjena koda je hipoteza
AI izdela gladko, delujočo kodo; Toda "deluje" in "pravilno" sta dve različni stvari. Koda lahko deluje brez napak in proizvede nepravilno število: napaka v predznaku v formuli, odmik (za ena) v matriki, nepravilna pretvorba enote. Torej zlato pravilo: vsaka koda se testira v testnem primeru, kjer je pravilen odgovor znan neodvisno. Preprost analitični primer, ročni izračun ali referenčni podatki dokazujejo zanesljivost kode. Nobena inženirska odločitev ne sme temeljiti na kodi brez opravljenega testiranja.
Pozor: Koda, ki izvaja izračun varnosti, dimenzioniranja ali zaščite, se ne more šteti za zanesljivo samo zato, ker "deluje". Varnostno kritične kode računov je treba testirati z znanimi rezultati, rezultate pa mora neodvisno preveriti pooblaščeni inženir.
trije mini kovčki
Primer 1 – Avtomatizacija čiščenja podatkov. Inženir je vsak mesec ročno čistil 3 mesece podatkov (približno 1,1 milijona vrstic) iz 8 senzorjev. Skript pande, napisan z AI, je to zmanjšal na minute. Inženir je kodo najprej preizkusil na majhni, znani vzorčni datoteki; opazil, da je bil en stolpec nepravilno razčlenjen, to popravil in nato uporabil za celotne podatke.
2. primer – Napaka tihe glasnosti. YZ je napisal kodo za izračun padca tlaka, vendar je zmedel vnos s predpostavko bar in formule Pa. Koda je delovala brez napak, vendar je bil rezultat napačen za faktor 100.000. Inženir je razliko v naročilu ujel z ročnim krmilnim izračunom. Po dodajanju komentarjev enote je bila napaka pojasnjena in odpravljena.
Primer 3 — Testiranje shranjeno. Ena ekipa je od umetne inteligence pridobila kodo za reševalec masne bilance. Najprej so ga preizkusili v dvokomponentnem ročno topljivem vzorcu; koda je nepravilno zapirala povratno zanko in se ni seštevala. Napaka je bila ulovljena, preden je bila uporabljena na pravem, kompleksnem modelu. Brez testiranja bi se napaka razširila na vse rezultate.
Štiri predloge za kopiranje
1) Osnutek kode za analizo podatkov:
Vaša vloga: Python pomočnik za kemijsko inženirstvo. Naloga: [opis]. Vnos: [CSV/polje, stolpci, ENOTE]. Izhod: [kaj, v kateri enoti].use pandas/numpy. V kodi: (1) interpretirajte enoto vsake spremenljivke, (2) navedite vhodne predpostavke na začetku, (3) obravnavajte robne primere (manjkajoči podatki, nič). Kodo bom preizkusil z znanim primerom; ne uporabljajte magičnih števil, eksplicitno definirajte konstante.
2) Razlaga kode in preverjanje:
Po vrstici razložite naslednjo kodo Python: kaj počne, kakšne predpostavke naredi, katere enote pričakuje. Označite možne točke napak (zmeda enot, premik indeksa, deljenje z ničlo, prelivanje). Predlagajte, kateri preprost, znan testni primer lahko uporabim za preverjanje te kode. Koda: [prilepi]
3) Nastavitev testa z znanim rezultatom:
Napišite niz testov za preverjanje te funkcije: vsaj 3 preproste primere, za katere je odgovor znan analitično ali ročno. Za vsak test opišite pričakovani rezultat in zakaj pričakujemo ta rezultat. Kode ne bom uporabil za dejanske podatke brez testiranja. Funkcija: [prilepi]
4) Odpravljanje napak:
Ta koda daje naslednjo napako/napačen rezultat: [sporočilo o napaki ali pričakovan vsactual izhod]. Naštejte možne vzroke po vrstnem redu verjetnosti in mi povejte, kako naj testiram vsakega. Ne recite neposredno "popravil sem"; Najprej skupaj preverimo glavni vzrok. Predlagajte tudi preverjanje enote in naročila. Koda in podatki: [prilepi]
Šibek poziv/močan poziv
Šibek poziv:
Napiši mi kodo za izračun padca tlaka.
Oblika vnosa, enota, enačba, pogoj niso jasni. AI skriva svoje domneve, lahko zmede enote.
Močan poziv:
Vaša vloga: pomočnik Pythona v kemijskem inženirstvu. Naloga: padec tlaka v krožni cevi zaradi trenja. Vnos: pretok [m3/s], premer [m], dolžina [m], gostota [kg/m3], viskoznost [Pa·s]. Izhod: padec tlaka [Pa]. Uporabite Darcy-Weisbach; Preverite režim pretoka (Re) za faktor trenja. Komentirajte vsako enoto, navedite predpostavke (polna obremenitev, stabilen pretok). Kodo bom preizkusil glede na ročni izračun na laminarnem primeru.
Razlika je jasna: vhodne enote, metoda, izhodna enota in namen testiranja naredijo kodo zanesljivo.
Porazdelitev vlog pri uporabi Pythona
posel
Vloga AI
človekova odločitev
pisanje kode
Ustvari osnutek
Opis del, enote
Izbira knjižnice
Predlog
Potrditev skladnosti
Opis
vrstico za vrstico
Sprejmite z razumevanjem
test
Priporočilo testnega kompleta
Validacija z znanim rezultatom
Odpravljanje napak
hipoteza, smer
Potrditev temeljnega vzroka
Zaključek
Generiranje številk
Testiranje s fiziko
Pogoste napake
- Uporaba kode brez testiranja. Delovna koda ni pravilna koda; Ni mu mogoče zaupati, razen če je testiran z znanim rezultatom.
- Pusti enote nedoločene. Zamenjanje enot je najpogostejša in nevarna napaka v kemijskem inženirstvu.
- Delovanje brez razumevanja. Ne zaupajte rezultatom, ne da bi razumeli kodo, ki jo vrstica za vrstico piše AI.
- Obhod robnih stanj. Nič, negativni, manjkajoči podatki lahko tiho vodijo kodo do napačnega zaključka.
- Izračun varnosti temelji samo na kodi. Varnostno kritične kode zahtevajo testiranje + neodvisno avtoritativno preverjanje.
Če povzamem
AI v kemijskem inženirstvu s Pythonom; Je zmogljiv pomočnik, ki pripravlja osnutke, razlaga in ponuja navodila za odpravljanje napak za čiščenje podatkov, avtomatizacijo računovodstva, modeliranje in grafiko. Toda koda umetne inteligence ni zanesljiva zato, ker je videti pravilna, temveč zato, ker je bila testirana z znanim rezultatom. Bistveno je, da eksplicitno določite enote, razumete kodo, preizkusite robne primere in preverite rezultat s fiziko; Izračuni, ki so pomembni za varnost, zahtevajo tudi preverjanje pooblaščenega inženirja.
Aplikacijska naloga
Izberite izračun (npr. padec tlaka v cevi ali dvokomponentno masno bilanco). Pridobite kodo od AI s predlogo »analiza podatkov/osnutek kode računa«, jasno navedite enote. Nato preverite kodo v primeru, ki ga je mogoče ročno dekodirati, z vzorcem "nastavi test z znanim rezultatom"; Če se rezultat ne ujema, poiščite glavni vzrok z vzorcem "debug".
kontrolni seznam
- [ ] Jasno sem navedel vhodno/izhodne enote in metodo.
- [ ] Razumel sem kodo vrstico za vrstico in videl njene predpostavke.
- [ ] Kodo sem preizkusil na znanem/ročno razvozlanem primeru.
- [ ] Preizkusil sem robne primere (nič, negativni, manjkajoči podatki).
- [ ] Rezultat sem preveril s fiziko (ohranjanje mase, red); Uradnik mi je tudi potrdil varnostni račun.