Eenheid 10 / 11

Chemische technologie met Python: data-analyse en modelleringsautomatisering

Winst:

  • Mogelijkheid om Python-code af te drukken en de code regel voor regel te begrijpen en te accepteren voor het opschonen van gegevens, accountautomatisering en modellering met kunstmatige intelligentie
  • Vermogen om te begrijpen dat niet-geteste code een hypothese is, elke code te verifiëren met een bekend resultaat, en unit- en edge-cases te testen
  • Vermogen om te begrijpen dat beveiligingskritische accountcodes zowel tests als verificatie door geautoriseerde technici vereisen.

De stille motor van de moderne chemische technologie is nu Python (een veelgebruikte, gemakkelijk te leren programmeertaal). Sensorgegevens opschonen, een massabalans automatiseren, een kinetisch model aan gegevens aanpassen, honderden simulatieresultaten vergelijken, een grafiek maken: dit alles duurt uren met de hand, maar seconden met een paar regels Python. In deze unit leer je hoe je AI kunt gebruiken als hulpmiddel bij het schrijven, uitleggen en debuggen van Python-code; Maar we zullen leren waarom elke geproduceerde code niet mag worden gebruikt zonder testen en verificatie.

Een chemisch ingenieur is over het algemeen geen professionele softwareontwikkelaar; Dit is waar AI grote kracht toevoegt. Een ingenieur zegt: "Ik wil een script dat dit doet" en schrijft een AI-concept. Maar dit principe blijft constant: de code die de AI schrijft klopt niet omdat hij er goed uitziet; Het is een hypothese totdat het wordt getest met een bekend resultaat. Een stille fout – de verkeerde eenheid, de verkeerde index, een verschoven formule – kan gevaarlijke resultaten opleveren bij een technische berekening.

Python met AI in de chemische technologie: stap voor stap

1. Definieer de taak duidelijk. Wat is de invoer (CSV, array, vergelijking), wat moet de uitvoer zijn, in welke eenheden? Dubbelzinnige prompt betekent slechte code.

2. Vraag een codeconcept aan. De AI produceert een schets met passende bibliotheken (panda's voor data, numpy voor numerieke verwerking, matplotlib voor grafieken, scipy voor optimalisatie/oplossing).

3. Begrijp de bibliotheek en de aannames. Laat AI elke regel en aanname uitleggen (eenheid, dataformaat, acceptatie). Voer geen code uit die u niet begrijpt.

4. Test met bekend resultaat. Voer de code uit op een eenvoudig voorbeeld waarvan u het antwoord al weet. Een saldocode moet het juiste resultaat geven in een met de hand te ontcijferen voorbeeld.

5. Statuscontrole van unit en rand. Wat doet de code in randgevallen zoals nul, negatieve, zeer grote waarden, ontbrekende gegevens? In de chemische technologie is het falen van een eenheid een klassieke ramp.

6. Test het resultaat met natuurkunde. De code produceerde een getal: is de massa behouden, is de waarde realistisch? Het feit dat de code werkt, bewijst niet dat het resultaat correct is.

Tip: Wanneer u code aanvraagt ​​bij de AI, zegt u "schrijf de eenheid van elke variabele in de commentaarregel en specificeer de invoereenheden expliciet." Een aanzienlijk deel van de fouten in de chemische technologie komt voort uit verwarring van eenheden (bar/Pa, kg/g, °C/K); Door eenheden in de code in te sluiten, worden deze fouten zichtbaar.

Niet-geteste code is een hypothese

AI produceert soepele, werkende code; Maar "werkt" en "correct" zijn twee verschillende dingen. De code kan foutloos werken en een onjuist getal opleveren: een tekenfout in een formule, een verschuiving (een-één) in een array, een onjuiste eenheidsconversie. De gouden regel dus: elke code wordt getest in een testcase waarbij onafhankelijk het juiste antwoord bekend is. Een eenvoudig analytisch voorbeeld, een handberekening of referentiegegevens bewijzen de betrouwbaarheid van de code. Geen enkele technische beslissing mag gebaseerd zijn op code zonder de tests te doorstaan.

Let op: Code die een veiligheids-, dimensionerings- of beveiligingsberekening uitvoert, kan niet als betrouwbaar worden beschouwd louter omdat deze "werkt". Beveiligingskritische accountcodes moeten worden getest met een bekend resultaat en de resultaten moeten onafhankelijk worden geverifieerd door de geautoriseerde technicus.

drie minikoffers

Geval 1 — Automatisering van gegevensopschoning. Een ingenieur was elke maand handmatig 3 maanden aan gegevens (ongeveer 1,1 miljoen rijen) van 8 sensoren aan het opschonen. Een pandascript geschreven met AI bracht dit terug tot minuten. De ingenieur testte de code eerst op een klein, bekend voorbeeldbestand; merkte op dat één kolom verkeerd was geparseerd, repareerde het en paste het vervolgens toe op de volledige gegevens.

Geval 2 — Stille volumefout. YZ schreef code voor een drukvalberekening, maar verwarde de invoer door bar en de formule Pa aan te nemen. De code werkte zonder fouten, maar het resultaat was een factor 100.000 verkeerd. De ingenieur heeft het orderverschil opgevangen met een handmatige controleberekening. Na het toevoegen van eenheidsopmerkingen werd de fout opgehelderd en verholpen.

Geval 3 — Testen opgeslagen. Eén team kreeg code van AI voor een massabalansoplosser. Ze testten het eerst in een tweecomponenten, met de hand oplosbaar monster; de code sloot een loopback verkeerd af en klopte niet. De fout werd opgemerkt voordat deze werd toegepast op het echte, complexe model. Zonder testen zou de fout zich naar alle resultaten verspreiden.

Vier kopieerbare sjablonen

1) Codeontwerp voor gegevensanalyse:

Jouw rol: Python-helper voor chemische technologie. Taak: [beschrijving].Invoer: [CSV/array, kolommen, EENHEDEN]. Uitvoer: [wat, in welke eenheid].gebruik panda's/numpy. In de code: (1) interpreteer de eenheid van elke variabele, (2) vermeld de invoeraannames aan het begin, (3) behandel randgevallen (ontbrekende gegevens, nul). Ik zal de code testen met een bekend voorbeeld; gebruik geen magische getallen, definieer constanten expliciet.

2) Code-uitleg en verificatie:

Leg de volgende Python-code regel voor regel uit: wat het doet, welke aannames het doet, welke eenheden het verwacht. Markeer mogelijke foutpunten (eenheidsverwarring, indexverschuiving, delen door nul, overloop). Stel voor welke eenvoudige, bekende testcase ik kan gebruiken om deze code te verifiëren. Code: [plakken]

3) Een test opzetten met bekend resultaat:

Schrijf een testset om deze functie te verifiëren: minimaal 3 eenvoudige gevallen waarvan het antwoord analytisch of handmatig bekend is. Beschrijf voor elke test het verwachte resultaat en waarom we dat resultaat verwachten. Ik zal de code niet toepassen op echte gegevens zonder te testen. Functie: [plakken]

4) Foutopsporing:

Deze code geeft de volgende fout/verkeerd resultaat: [foutmelding of verwachte vsactuele uitvoer]. Noem mogelijke oorzaken in volgorde van waarschijnlijkheid en vertel me hoe ik ze moet testen. Zeg niet direct "Ik heb het opgelost"; Laten we eerst samen de oorzaak onderzoeken. Stel ook eenheids- en ordercontrole voor. Code en gegevens: [plakken]

Zwakke prompt/sterke prompt

Zwakke prompt:

Schrijf mij een drukvalberekeningscode.

Invoerformaat, eenheid, vergelijking en voorwaarde zijn niet duidelijk. AI verbergt zijn aannames en kan eenheden verwarren.

Krachtige prompt:

Jouw rol: Python-helper in de chemische technologie. Taak: door wrijving veroorzaakte drukval in een ronde buis. Invoer: debiet [m3/s], diameter [m], lengte [m], dichtheid [kg/m3], viscositeit [Pa·s]. Vermogen: drukval [Pa]. Gebruik Darcy-Weisbach; Controleer het stromingsregime (Re) voor de wrijvingsfactor. Becommentarieer elke eenheid en vermeld de aannames (volledige belasting, stabiele stroom). Ik zal de code testen aan de hand van handmatige berekeningen op een laminair voorbeeld.

Het verschil is duidelijk: invoereenheden, methode, uitvoereenheid en testintentie maken de code betrouwbaar.

Rolverdeling bij Python-gebruik

zaken

Rol van AI

de beslissing van de mens

code schrijven

Maak een concept

Functieomschrijving, eenheden

Bibliotheek selectie

Suggestie

Bevestiging van conformiteit

Beschrijving

regel voor regel

Accepteer met begrip

testen

Aanbeveling testset

Validatie met bekend resultaat

Foutopsporing

hypothese, richting

Bevestiging van de oorzaak

Conclusie

Nummergeneratie

Testen met natuurkunde

Veel voorkomende fouten

  • Code gebruiken zonder deze te testen. Werkende code is geen correcte code; Het kan niet worden vertrouwd, tenzij het wordt getest met een bekend resultaat.
  • De eenheden blijven onbepaald. Verwarring van eenheden is de meest voorkomende en gevaarlijke fout in de chemische technologie.
  • Zonder begrip opereren. Vertrouw de resultaten niet zonder de code te begrijpen die regel voor regel door de AI is geschreven.
  • Randstatussen omzeilen. Nul, negatieve, ontbrekende gegevens kunnen de code stilletjes tot de verkeerde conclusie leiden.
  • De beveiligingsberekening alleen op de code baseren. Beveiligingskritieke codes vereisen testen + onafhankelijke gezaghebbende verificatie.

Samengevat

AI in chemische technologie met Python; Het is een krachtige assistent die richtlijnen voor het opschonen van gegevens, automatisering van de boekhouding, modellering en grafische voorstellingen opstelt, uitlegt en biedt voor foutopsporing. Maar de code van de AI is niet betrouwbaar omdat hij er goed uitziet, maar omdat hij is getest met een bekend resultaat. Het is essentieel om de eenheden expliciet te specificeren, de code te begrijpen, randgevallen te testen en het resultaat met natuurkunde te verifiëren; Voor veiligheidskritische berekeningen is ook verificatie door een geautoriseerde ingenieur vereist.

Applicatie taak

Selecteer een berekening (bijvoorbeeld een leidingdrukval of een tweecomponentenmassabalans). Ontvang code van AI met de sjabloon “data-analyse/accountcodeconcept”, vermeld duidelijk de eenheden. Controleer vervolgens de code in een handmatig decodeerbaar voorbeeld met het patroon "test opzetten met bekend resultaat"; Als het resultaat niet overeenkomt, zoek dan de hoofdoorzaak met het "debug"-patroon.

controlelijst

  • [ ] Ik heb de invoer-/uitvoereenheden en de methode duidelijk vermeld.
  • [ ] Ik begreep de code regel voor regel en zag de aannames ervan.
  • [ ] Ik heb de code getest op een bekend/handmatig te ontcijferen voorbeeld.
  • [ ] Ik heb randgevallen getest (nul, negatief, ontbrekende gegevens).
  • [ ] Ik heb het resultaat geverifieerd met natuurkunde (behoud van massa, orde); Ik heb ook het beveiligingsaccount laten bevestigen door de ambtenaar.