Pelnas:
- Gebėjimas spausdinti Python kodą ir suprasti bei priimti kodą eilutė po eilutės duomenų valymui, paskyros automatizavimui ir modeliavimui dirbtiniu intelektu
- Gebėjimas suprasti, kad nepatikrintas kodas yra hipotezė, patikrinti kiekvieną kodą žinomu rezultatu ir patikrinti vieneto ir krašto atvejus
- Gebėjimas suprasti, kad saugumui svarbūs paskyros kodai reikalauja ir testavimo, ir įgalioto inžinieriaus patvirtinimo.
Šiuolaikinės chemijos inžinerijos tylusis variklis dabar yra Python (plačiai naudojama, lengvai išmokstama programavimo kalba). Jutiklio duomenų valymas, masės balanso automatizavimas, kinetinio modelio pritaikymas prie duomenų, šimtų modeliavimo rezultatų palyginimas, grafiko sudarymas – visa tai užtrunka valandų valandas, bet kelias sekundes naudojant Python eilutes. Šiame skyriuje išmoksite naudoti AI kaip pagalbinę priemonę rašant, aiškinant ir derinant Python kodą; Tačiau mes sužinosime, kodėl kiekvienas sukurtas kodas neturėtų būti naudojamas be testavimo ir patikrinimo.
Chemijos inžinierius paprastai nėra profesionalus programinės įrangos kūrėjas; Čia AI prideda didelės galios. Inžinierius sako „noriu scenarijaus, kuris tai padarytų“ ir parašo AI juodraštį. Tačiau šis principas išlieka pastovus: AI rašomas kodas nėra teisingas, nes atrodo teisingas; Tai yra hipotezė, kol nepatikrinta su žinomu rezultatu. Tyli klaida – netinkamas vienetas, neteisingas indeksas, perkelta formulė – gali duoti pavojingų inžinerinių skaičiavimų rezultatų.
Python su AI chemijos inžinerijoje: žingsnis po žingsnio
1. Aiškiai apibrėžkite darbą. Kas yra įvestis (CSV, masyvas, lygtis), kokia turi būti išvestis, kokiais vienetais? Dviprasmiškas raginimas reiškia blogą kodą.
2. Pateikite kodo projekto užklausą. AI sukuria eskizą su atitinkamomis bibliotekomis (pandos duomenims, numpy skaitiniam apdorojimui, matplotlib grafikams, scipy optimizavimui / sprendimui).
3. Suprasti biblioteką ir prielaidas. Tegul AI paaiškina kiekvieną eilutę ir prielaidą (vienetą, duomenų formatą, priėmimą). Neleiskite kodo, kurio nesuprantate.
4. Bandymas su žinomu rezultatu. Vykdykite kodą pagal paprastą pavyzdį, į kurį jau žinote atsakymą. Balanso kodas turi pateikti teisingą rezultatą pavyzdyje, kurį galima iššifruoti ranka.
5. Įrenginio ir krašto būklės valdymas. Ką kodas daro kraštutiniais atvejais, pvz., nulis, neigiamas, labai didelės reikšmės, trūksta duomenų? Chemijos inžinerijoje įrenginio gedimas yra klasikinė nelaimė.
6. Patikrinkite rezultatą su fizika. Kodas sukūrė skaičių – ar masė išsaugoma, ar vertė yra tikroviška? Vien todėl, kad kodas veikia, neįrodo, kad rezultatas yra teisingas.
Patarimas: kai prašote kodo iš AI, pasakykite „komentarų eilutėje įrašykite kiekvieno kintamojo vienetą ir aiškiai nurodykite įvesties vienetus“. Didelė dalis chemijos inžinerinių klaidų kyla dėl vienetų painiavos (bar/Pa, kg/g, °C/K); Įterpus vienetus į kodą, šios klaidos bus matomos.
Neišbandytas kodas yra hipotezė
AI sukuria sklandų, veikiantį kodą; Tačiau „veikia“ ir „teisinga“ yra du skirtingi dalykai. Kodas gali veikti be klaidų ir pateikti neteisingą skaičių: ženklo klaidą formulėje, poslinkį (po vieną) masyve, neteisingą vieneto konvertavimą. Taigi auksinė taisyklė: kiekvienas kodas yra patikrinamas bandomuoju atveju, kai teisingas atsakymas žinomas nepriklausomai. Paprastas analitinis pavyzdys, rankinis skaičiavimas arba atskaitos duomenys įrodo kodo patikimumą. Jokie inžineriniai sprendimai neturėtų būti grindžiami kodu, neišlaikius testavimo.
Atsargiai: kodas, kuris atlieka saugos, matmenų ar saugumo skaičiavimus, negali būti laikomas patikimu vien todėl, kad jis „veikia“. Saugumui svarbūs paskyros kodai turėtų būti išbandyti su žinomu rezultatu, o rezultatus turėtų nepriklausomai patikrinti įgaliotas inžinierius.
trys mini dėklai
1 atvejis – duomenų valymo automatika. Inžinierius kas mėnesį rankiniu būdu išvalė 3 mėnesių duomenis (maždaug 1,1 mln. eilučių) iš 8 jutiklių. Pandų scenarijus, parašytas naudojant AI, sumažino tai iki minučių. Inžinierius pirmiausia išbandė kodą mažame žinomo pavyzdžio faile; pastebėjo, kad vienas stulpelis buvo išanalizuotas neteisingai, jį pataisė, tada pritaikė visiems duomenims.
2 atvejis – tylaus garso klaida. YZ parašė slėgio kritimo skaičiavimo kodą, bet supainiojo įvestį darydamas barą ir formulę Pa. Kodas veikė be klaidų, tačiau rezultatas buvo klaidingas 100 000 kartų. Inžinierius užsakymo skirtumą užfiksavo atlikęs rankinio valdymo skaičiavimą. Pridėjus vieneto komentarus, klaida buvo išaiškinta ir ištaisyta.
3 atvejis – bandymas išsaugotas. Viena komanda iš AI gavo masės balanso sprendimo kodą. Pirmiausia jie jį išbandė dviejų komponentų, rankomis tirpstančiame mėginyje; kodas neteisingai uždarė grįžtamąjį ryšį ir nebuvo sumuojamas. Klaida buvo užfiksuota prieš tai, kai ji buvo pritaikyta tikram sudėtingam modeliui. Be testavimo klaida išplistų į visus rezultatus.
Keturi kopijuojami šablonai
1) Duomenų analizės kodo projektas:
Jūsų vaidmuo: Python pagalbininkas chemijos inžinerijoje. Užduotis: [aprašymas]. Įvestis: [CSV/masyvas, stulpeliai, VIENETAI]. Išvestis: [kas, kuriame vienete].naudokite pandas/numpy. Kode: (1) interpretuokite kiekvieno kintamojo vienetą, (2) nurodykite įvesties prielaidas pradžioje, (3) tvarkykite kraštutinius atvejus (trūksta duomenų, nulis). Išbandysiu kodą žinomu pavyzdžiu; nenaudokite stebuklingų skaičių, konstantas apibrėžkite aiškiai.
2) Kodo paaiškinimas ir patikrinimas:
Eilutę po eilutės paaiškinkite šį Python kodą: ką jis daro, kokias prielaidas daro, kokių vienetų tikisi. Pažymėkite galimus klaidų taškus (vienetų supainiojimas, indekso poslinkis, padalijimas iš nulio, perpildymas). Pasiūlykite, kokį paprastą, žinomą bandomąjį atvejį galiu naudoti šiam kodui patikrinti. Kodas: [įklijuoti]
3) Testo su žinomu rezultatu nustatymas:
Parašykite testų rinkinį, kad patikrintumėte šią funkciją: bent 3 paprasti atvejai, kurių atsakymas žinomas analitiškai arba rankiniu būdu. Kiekvienam bandymui apibūdinkite laukiamą rezultatą ir kodėl tokio rezultato tikimės. Tikriems duomenims kodo netaikysiu be testavimo. Funkcija: [įklijuoti]
4) Derinimas:
Šis kodas pateikia tokį klaidą/neteisingą rezultatą: [klaidos pranešimas arba numatoma vsactual output]. Išvardykite galimas priežastis pagal tikimybę ir nurodykite, kaip patikrinti kiekvieną. Nesakykite tiesiai „Aš tai pataisiau“; Pirmiausia kartu patikrinkime pagrindinę priežastį. Taip pat siūlykite patikrinti vienetą ir užsakymą. Kodas ir duomenys: [įklijuoti]
Silpnas raginimas / Stiprus raginimas
Silpnas raginimas:
Parašykite man slėgio kritimo skaičiavimo kodą.
Neaiškus įvesties formatas, vienetas, lygtis, sąlyga. AI slepia savo prielaidas, gali supainioti vienetus.
Galingas raginimas:
Jūsų vaidmuo: chemijos inžinerijos Python pagalbininkas. Užduotis: trinties sukeltas slėgio kritimas apskritame vamzdyje. Įvestis: srautas [m3/s], skersmuo [m], ilgis[m], tankis [kg/m3], klampumas [Pa·s]. Išėjimas: slėgio kritimas [Pa]. Naudokite Darcy-Weisbach; Patikrinkite srauto režimą (Re) dėl trinties koeficiento. Komentuokite kiekvieną įrenginį, nurodykite prielaidas (pilna apkrova, stabilus srautas). Aš išbandysiu kodą, palyginti su rankiniu skaičiavimu laminariniame pavyzdyje.
Skirtumas aiškus: įvesties vienetai, metodas, išvesties vienetas ir bandymo tikslas daro kodą patikimą.
Vaidmenų pasiskirstymas naudojant Python
verslui
AI vaidmuo
vyro sprendimas
kodo rašymas
Sukurkite juodraštį
Pareigybės aprašymas, vienetai
Bibliotekos pasirinkimas
Pasiūlymas
Atitikties patvirtinimas
Aprašymas
eilutė po eilutės
Priimk su supratimu
bandymas
Bandymo rinkinio rekomendacija
Patvirtinimas su žinomu rezultatu
Derinimas
hipotezė, kryptis
Pagrindinės priežasties patvirtinimas
Išvada
Skaičių generavimas
Testavimas su fizika
Dažnos klaidos
- Kodo naudojimas jo neišbandęs. Darbinis kodas yra neteisingas kodas; Juo negalima pasitikėti, nebent išbandytas su žinomu rezultatu.
- Vienetai paliekami neapibrėžti. Vienetų painiava yra dažniausia ir pavojingiausia chemijos inžinerijos klaida.
- Veikia nesuprasdamas. Nepasitikėkite rezultatais, nesuprasdami kodo, kurį AI parašė eilutė po eilutės.
- Apeinant krašto būsenas. Nulis, neigiami, trūkstami duomenys gali tyliai nuvesti kodą prie klaidingos išvados.
- Saugumo skaičiavimas grindžiamas tik kodu. Saugumui svarbūs kodai reikalauja testavimo ir nepriklausomo autoritetingo patikrinimo.
Apibendrinant
AI chemijos inžinerijoje su Python; Tai galingas asistentas, kuris rengia, paaiškina ir teikia derinimo gaires duomenų valymui, apskaitos automatizavimui, modeliavimui ir grafikai. Tačiau AI kodas patikimas ne todėl, kad atrodo teisingai, o todėl, kad jis buvo išbandytas su žinomu rezultatu. Labai svarbu aiškiai nurodyti vienetus, suprasti kodą, išbandyti briaunų atvejus ir patikrinti rezultatą su fizika; Saugos požiūriu kritiniams skaičiavimams taip pat reikalingas įgalioto inžinieriaus patikrinimas.
Taikymo užduotis
Pasirinkite skaičiavimą (pvz., vamzdžio slėgio kritimą arba dviejų komponentų masės balansą). Gaukite kodą iš AI naudodami šabloną „duomenų analizė / paskyros kodo juodraštis“, aiškiai nurodykite vienetus. Tada patikrinkite kodą rankiniu būdu iššifruojamame pavyzdyje, naudodami šabloną „nustatyti testą su žinomu rezultatu“; Jei rezultatas nesutampa, suraskite pagrindinę priežastį naudodami „derinimo“ modelį.
kontrolinis sąrašas
- [ ] Aiškiai nurodžiau įvesties/išvesties vienetus ir metodą.
- [ ] Supratau kodą eilutė po eilutės ir mačiau jo prielaidas.
- [ ] Išbandžiau kodą žinomu / rankiniu būdu iššifruojamu pavyzdžiu.
- [ ] Išbandžiau kraštutinius atvejus (nulis, neigiamas, trūksta duomenų).
- [ ] Rezultatą patikrinau fizika (masės išsaugojimas, tvarka); Taip pat turėjau pareigūno patvirtintą užstatą.