Jednostka 10 / 11

Inżynieria chemiczna z Pythonem: analiza danych i automatyzacja modelowania

Zyski:

  • Możliwość drukowania kodu w języku Python oraz zrozumienia i zaakceptowania kodu linia po linii w celu czyszczenia danych, automatyzacji kont i modelowania za pomocą sztucznej inteligencji
  • Umiejętność zrozumienia, że nieprzetestowany kod jest hipotezą, weryfikacji każdego kodu ze znanym wynikiem oraz testowania przypadków jednostkowych i brzegowych
  • Umiejętność zrozumienia, że kody kont o znaczeniu krytycznym dla bezpieczeństwa wymagają zarówno testowania, jak i weryfikacji autoryzowanego inżyniera.

Cichy silnik współczesnej inżynierii chemicznej to obecnie Python (powszechnie używany, łatwy do nauczenia język programowania). Czyszczenie danych z czujników, automatyzacja bilansu masy, dopasowywanie modelu kinetycznego do danych, porównywanie setek wyników symulacji, tworzenie wykresu – wszystko to zajmuje wiele godzin ręcznie, ale kilka sekund przy kilku linijkach Pythona. W tej części dowiesz się, jak używać sztucznej inteligencji jako pomocy w pisaniu, wyjaśnianiu i debugowaniu kodu Pythona; Ale dowiemy się, dlaczego każdy wyprodukowany kod nie powinien być używany bez testów i weryfikacji.

Inżynier chemik na ogół nie jest zawodowym twórcą oprogramowania; To tutaj sztuczna inteligencja dodaje wielką moc. Inżynier mówi: „Chcę skrypt, który to zrobi” i pisze wersję roboczą AI. Ale ta zasada pozostaje niezmienna: kod, który pisze AI, jest nieprawidłowy, ponieważ wygląda dobrze; Jest to hipoteza, dopóki nie zostanie przetestowana ze znanym wynikiem. Cichy błąd — niewłaściwa jednostka, zły indeks, przesunięta formuła — może dać niebezpieczne wyniki w obliczeniach inżynierskich.

Python z AI w inżynierii chemicznej: krok po kroku

1. Jasno zdefiniuj zadanie. Jakie są dane wejściowe (CSV, tablica, równanie), jakie powinny być dane wyjściowe, w jakich jednostkach? Niejednoznaczny monit oznacza zły kod.

2. Poproś o projekt kodeksu. Sztuczna inteligencja tworzy szkic z odpowiednimi bibliotekami (pandy dla danych, numpy dla przetwarzania numerycznego, matplotlib dla wykresów, scipy dla optymalizacji/rozwiązania).

3. Zrozumieć bibliotekę i założenia. Niech sztuczna inteligencja wyjaśni każdą linię i założenie (jednostka, format danych, akceptacja). Nie uruchamiaj kodu, którego nie rozumiesz.

4. Test ze znanym wynikiem. Uruchom kod na prostym przykładzie, na który znasz już odpowiedź. Kod salda musi dawać poprawny wynik na przykładzie, który można rozszyfrować ręcznie.

5. Kontrola stanu jednostki i krawędzi. Co robi kod w przypadkach brzegowych, takich jak zero, wartości ujemne, bardzo duże wartości, brakujące dane? W inżynierii chemicznej awaria jednostki jest klasyczną katastrofą.

6. Sprawdź wynik za pomocą fizyki. Kod wygenerował liczbę — czy masa jest zachowana, czy wartość jest realistyczna? To, że kod działa, nie oznacza, że ​​wynik jest poprawny.

Wskazówka: żądając kodu od sztucznej inteligencji, powiedz „wpisz jednostkę każdej zmiennej w wierszu komentarza i wyraźnie określ jednostki wejściowe”. Znaczna część błędów inżynierii chemicznej wynika z pomylenia jednostek (bar/Pa, kg/g, °C/K); Osadzanie jednostek w kodzie sprawia, że ​​błędy te stają się widoczne.

Nieprzetestowany kod jest hipotezą

AI tworzy płynny, działający kod; Ale „działa” i „poprawnie” to dwie różne rzeczy. Kod może działać bez błędów i generować niepoprawną liczbę: błąd znaku w formule, przesunięcie (przesunięcie o jeden) w tablicy, nieprawidłowe przeliczenie jednostek. Zatem złota zasada: każdy kod jest testowany w przypadku testowym, w którym niezależnie znana jest poprawna odpowiedź. Prosty przykład analityczny, ręczne obliczenia lub dane referencyjne potwierdzają wiarygodność kodu. Żadne decyzje inżynieryjne nie powinny opierać się na kodzie bez przejścia testów.

Uwaga: Kod, który wykonuje obliczenia dotyczące bezpieczeństwa, wymiarowania lub bezpieczeństwa, nie może być uważany za wiarygodny tylko dlatego, że „działa”. Kody kont o znaczeniu krytycznym dla bezpieczeństwa należy przetestować ze znanym wynikiem, a wyniki powinny zostać niezależnie zweryfikowane przez autoryzowanego inżyniera.

trzy mini etui

Przypadek 1 — Automatyzacja czyszczenia danych. Inżynier co miesiąc ręcznie czyścił dane z 3 miesięcy (około 1,1 miliona wierszy) z 8 czujników. Skrypt pandy napisany przy użyciu sztucznej inteligencji skrócił ten czas do minut. Inżynier najpierw przetestował kod na małym, znanym pliku przykładowym; zauważyłem, że jedna kolumna została nieprawidłowo przeanalizowana, naprawiłem to, a następnie zastosowałem do całych danych.

Przypadek 2 — Błąd cichej głośności. YZ napisał kod do obliczenia spadku ciśnienia, ale pomylił dane wejściowe, przyjmując bar i wzór Pa. Kod zadziałał bez błędów, ale wynik był błędny 100 000 razy. Inżynier uchwycił różnicę w zamówieniu, dokonując ręcznych obliczeń. Po dodaniu komentarzy jednostkowych błąd został wyjaśniony i naprawiony.

Przypadek 3 – Testowanie zapisane. Jeden zespół uzyskał od sztucznej inteligencji kod umożliwiający rozwiązanie bilansu masy. Najpierw przetestowali go w dwuskładnikowej próbce rozpuszczalnej w dłoniach; kod niepoprawnie zamykał pętlę zwrotną i nie sumował się. Błąd wykryto przed zastosowaniem go do rzeczywistego, złożonego modelu. Bez testowania błąd rozprzestrzeniłby się na wszystkie wyniki.

Cztery szablony do kopiowania

1) Projekt kodeksu analizy danych:

Twoja rola: Pomocnik Pythona w inżynierii chemicznej. Zadanie: [opis]. Dane wejściowe: [CSV/tablica, kolumny, JEDNOSTKI]. Dane wyjściowe: [co, w której jednostce]. użyj pand/numpy. W kodzie: (1) zinterpretuj jednostkę każdej zmiennej, (2) podaj na początku założenia wejściowe, (3) obsłuż przypadki brzegowe (brak danych, zero). Przetestuję kod na znanym przykładzie; nie używaj liczb magicznych, jawnie zdefiniuj stałe.

2) Wyjaśnienie i weryfikacja kodu:

Wyjaśnij następujący kod Pythona wiersz po wierszu: co robi, jakie przyjmuje założenia, jakich jednostek oczekuje. Podkreśl możliwe punkty błędów (pomylenie jednostek, przesunięcie indeksu, dzielenie przez zero, przepełnienie). Zaproponuj, jakiego prostego, znanego przypadku testowego mogę użyć do zweryfikowania tego kodu. Kod: [wklej]

3) Konfigurowanie testu ze znanym wynikiem:

Napisz zestaw testowy weryfikujący tę funkcję: co najmniej 3 proste przypadki, dla których odpowiedź jest znana analitycznie lub ręcznie. Dla każdego testu opisz oczekiwany wynik i dlaczego spodziewamy się takiego wyniku. Nie będę stosować kodu do rzeczywistych danych bez testów. Funkcja: [wklej]

4) Debugowanie:

Ten kod daje następujący błąd/zły wynik: [komunikat o błędzie lub oczekiwany vsrzeczywisty wynik]. Wymień możliwe przyczyny w kolejności prawdopodobieństwa i powiedz mi, jak sprawdzić każdą z nich. Nie mów bezpośrednio: „Naprawiłem to”; Najpierw wspólnie zweryfikujmy przyczynę źródłową. Sugeruj także sprawdzanie jednostek i zamówień. Kod i dane: [wklej]

Słaba zachęta/silna zachęta

Słaba zachęta:

Napisz mi kod do obliczenia spadku ciśnienia.

Format wejściowy, jednostka, równanie i warunek są niejasne. AI ukrywa swoje założenia, może dezorientować jednostki.

Potężny monit:

Twoja rola: inżynieria chemiczna Pomoc w Pythonie. Zadanie: spadek ciśnienia w rurze kołowej wywołany tarciem. Dane wejściowe: natężenie przepływu [m3/s], średnica [m], długość [m], gęstość [kg/m3], lepkość [Pa·s]. Wyjście: spadek ciśnienia [Pa]. Użyj Darcy’ego-Weisbacha; Sprawdź reżim przepływu (Re) pod kątem współczynnika tarcia. Skomentuj każdą jednostkę, założenia stanu (pełne obciążenie, stabilny przepływ). Przetestuję kod pod kątem ręcznych obliczeń na przykładzie laminarnym.

Różnica jest wyraźna: jednostki wejściowe, metoda, jednostka wyjściowa i cel testu sprawiają, że kod jest niezawodny.

Podział ról w użyciu Pythona

biznes

Rola sztucznej inteligencji

decyzja mężczyzny

pisanie kodu

Utwórz wersję roboczą

Opis stanowiska, jednostki

Wybór biblioteki

Sugestia

Potwierdzenie zgodności

Opis

linia po linii

Przyjmij ze zrozumieniem

test

Zalecenia dotyczące zestawu testowego

Walidacja ze znanym wynikiem

Debuguj

hipoteza, kierunek

Potwierdzenie pierwotnej przyczyny

Wniosek

Generowanie liczb

Testowanie z fizyką

Typowe błędy

  • Używanie kodu bez jego testowania. Kod roboczy nie jest poprawnym kodem; Nie można mu ufać, jeśli nie zostanie przetestowany ze znanym wynikiem.
  • Pozostawienie jednostek nieokreślonych. Pomieszanie jednostek jest najczęstszym i najniebezpieczniejszym błędem w inżynierii chemicznej.
  • Działać bez zrozumienia. Nie ufaj wynikom bez zrozumienia kodu napisanego przez AI linia po linii.
  • Omijanie stanów brzegowych. Zero, ujemne, brakujące dane mogą po cichu doprowadzić kod do błędnych wniosków.
  • Oparcie kalkulacji bezpieczeństwa wyłącznie na kodzie. Kody krytyczne dla bezpieczeństwa wymagają testowania + niezależnej autorytatywnej weryfikacji.

Podsumowując

AI w inżynierii chemicznej z Pythonem; Jest to potężny asystent, który opracowuje, wyjaśnia i zapewnia wskazówki dotyczące debugowania w zakresie czyszczenia danych, automatyzacji księgowości, modelowania i grafiki. Ale kod sztucznej inteligencji jest niezawodny nie dlatego, że wygląda dobrze, ale dlatego, że został przetestowany ze znanym wynikiem. Konieczne jest wyraźne określenie jednostek, zrozumienie kodu, przetestowanie przypadków brzegowych i zweryfikowanie wyniku z fizyką; Obliczenia krytyczne dla bezpieczeństwa wymagają również weryfikacji autoryzowanego inżyniera.

Zadanie aplikacji

Wybierz obliczenia (np. spadek ciśnienia w rurze lub dwuskładnikowy bilans masy). Uzyskaj kod od AI za pomocą szablonu „analiza danych/wersja robocza kodu konta”, jasno określ jednostki. Następnie zweryfikuj kod w przykładzie, który można ręcznie zdekodować, korzystając ze wzorca „test konfiguracji ze znanym wynikiem”; Jeśli wynik nie jest zgodny, znajdź główną przyczynę za pomocą wzorca „debugowania”.

lista kontrolna

  • [ ] Jasno określiłem jednostki wejściowe/wyjściowe i metodę.
  • [ ] Zrozumiałem kod linia po linijce i zobaczyłem jego założenia.
  • [ ] Przetestowałem kod na znanym/możliwym do ręcznego rozszyfrowaniu przykładzie.
  • [ ] Testowałem przypadki Edge (zero, ujemne, brakujące dane).
  • [ ] Wynik zweryfikowałem z fizyką (zachowanie masy, porządku); Urzędnik potwierdził również konto bezpieczeństwa.