Gevinster:
- Evne til at basere numeriske resultater på udført Python-kode i stedet for verbal gæt på sprogmodellen
- Evne til at skrive støkiometri-, kalibrerings- og datarensningskoden til kunstig intelligens og teste den med prøver med kendte svar
- Mulighed for at forhindre dataanalysefejl ved altid at specificere enheder og kontrollere deres rækkefølge
Kemi er fuld af tal: vejninger, volumener, absorbansværdier, udbytter, koncentrationer. Behandling af disse data manuelt er langsom og udsat for fejl. AI leverer to hovedtjenester her: (1) skriver Python-kode, der behandler dataene, (2) kører denne kode (i et miljø, der kan køre koden) og giver et deterministisk resultat. Det kritiske princip er dette: overlad beregningen til outputtet af den udførte kode, ikke til sprogmodellens "verbale forudsigelse". Sprogmodel "Hvad er 142 × 0,05?" kan nogle gange besvare spørgsmålet forkert; men Python-linjen han skriver regner altid rigtigt. I denne enhed lærer vi kemisk dataanalyse med AI med denne filosofi.
Hvorfor er kode bedre end verbal gæt?
En sprogmodel regner ved at "forudsige det mulige resultat"; så det kan være forkert med store tal eller flertrinsregning. Hvorimod udtrykket 142 * 0,05 i Python er deterministisk: det returnerer altid 7,1. Så strategi: lad ikke AI udføre beregningen, udskriv KODE for beregningen og kør koden. Så du bruger kreativiteten i AI (opbygning af koden) og deaktiverer den upålidelige side (hoved-aritmetik).
Tip: Når du får et numerisk resultat fra en AI, skal du sige "repræsenter dette med en linje af Python." Selve koden bekræfter både kontoen og giver dig mulighed for at køre den og bekræfte den. Hvis du ikke kan se en kode, skal du ikke stole på nummeret.
Typiske dataanalyseopgaver i kemi
- Støkiometri: mol, masse, begrænsende reagens, teoretisk udbytte, procentudbytteberegning.
- Koncentration: molaritet, fortynding (M1V1 = M2V2), ppm-omdannelser.
- Kalibrering: Tegning af en kalibreringslinje med Beer-Lambert-loven (absorbans ∝ koncentration) og beregning af det ukendte.
- Datarensning: aflæsning af måletabeller med pandaer, afvigende markeringer, middel/standardafvigelse.
- Visualisering: tegning af kalibreringskurve, kinetikgraf, titreringskurve.
Trin for trin: Sikker dataanalyse med AI
- Definer data: Giv tydeligt kolonner, enheder, eksempelrækker. Hvis der ikke er nogen enhed, gør AI antagelser.
- Bed om kode, ikke resultater: sig "Skriv pandaer/NumPy-kode, der beregner dette".
- Kør koden: Kør den selv eller i et miljø, der kan køre kode.
- Test med simple case: Test koden med et lille eksempel, hvor du kender svaret.
- Enheds- og ordrekontrol: Er resultatets enhed og størrelse fysisk rimelig?
- Dokument: Tilføj koden og output til eksperimentets notesbog (enhed 8).
Fire kopierbare skabeloner
1) Støkiometri og procentudbytte:
Reaktion: salicylsyre (MA 138.12) + eddikesyreanhydrid -> aspirin (MA 180.16). Data: Der blev brugt 2,00 g salicylsyre, eddikesyreanhydrid var i overskud. Aspirin opnået: 2,15 g.Opgave: Skriv Python-kode, der beregner teoretisk defineret molvægt og beregnet molvægtprocent. variabler, udskriv resultatet i enheder. Beregn ikke i hoved; bare giv eksekverbar kode.
2) Beer-Lambert kalibrering:
Kalibreringsdata (koncentration mol/L -> absorbans): 0,00->0,02, 0,02->0,21, 0,04->0,40, 0,06->0,62, 0,08->0,79. Ukendt prøveabsorbans: 0,50. Opgave: Udfør lineær kalibrering med numpy.polyfit, slope/intercept og Beregn R^2, find den ukendte koncentration. Plot data + fit-linjen med matplotlib.
3) målediagram med pandaer:
Jeg har en CSV: kolonner = prøve, vej_g, volumen_ml, absorbans. Opgave: aflæs med pandaer, beregn koncentration (g/L) for hver prøve, markér rækker med absorbans < 0 som forkerte, giv kode til at udskrive middelværdi og standardafvigelse for grupperne. Angiv enhederne med en kommentarlinje.
4) Bekræftelse af udvandingskonto:
Jeg ønsker at forberede 100 ml 0,05 M opløsning fra 0,5 M stamopløsning. Opgave: Skriv Python-linjen, der beregner det nødvendige lagervolumen med M1V1=M2V2. Udskriv resultatet i ml, og bekræft som en kommentar, at der forventes en 10-folds fortynding til en logisk kontrol.
Svag prompt / Stærk prompt
Svag:
Hvor meget aspirin kommer fra 2 gram salicylsyre?
AI giver et tal fra hovedet; Hvis den husker molekylvægtene forkert, vil resultatet blive forvrænget, og hvordan det blev beregnet, vil ikke være synligt.
Stærk:
Antag salicylsyre MA=138,12, aspirin MA=180,16, masse=2,00 g, udbytte 100%.Opgave: Skriv Python-kode, der beregner den teoretiske masse af aspirin; kommenter hvert trin (mol -> mol -> masse), udskriv resultatet i g.
Forskel: molekylvægte angivet, kode anmodet, trin kommenteret, enhed specificeret. Resultatet er både nøjagtigt og reviderbart.
Verbal forudsigelse etc. eksekveret kode
Størrelse
Sprogmodel verbal forudsigelse
Python løb
Aritmetisk nøjagtighed
Variabel, fejl kan forekomme
Deterministisk, bestemt
Reviderbarhed
Abort (det er uklart, hvordan det kom ud)
Høj (kode synlig)
gentagelighed
lav
høj
Enhedssporing
svag
Kan holdes åben i kode
Korrekt brug
Idé, bygningsstruktur
Endeligt numerisk resultat
mini sager
Tilfælde 1 — Verbal regnefejl. En elev spørger AI "0,0145 mol × 180,16 g/mol?" spurgte han; "2,72 g," sagde AI. Faktisk er det 2,61g. Da eleven sagde "vis dette i Python", skrev YZ 0,0145 * 180,16 og det kom ud som 2.612; Det første verbale svar var forkert. Lektion: foretrækker kode selv for meget simpel multiplikation.
Tilfælde 2 — R² check-in kalibrering. En bruger fik lavet en Beer-Lambert-kalibrering; Det viser sig at R² = 0,981. AI sagde "lineær, pålidelig", men punktet ved den højeste koncentration var under linjen (mætning). Da brugeren så grafen, flyttede den det højeste punkt ud af det lineære område, R² steg til 0,999. Lektion: R² alene er ikke nok; se rester/plot.
Tilfælde 3 — Enhedsforvirring. I en analyse var det uklart, om koncentrationen var mg/L eller g/L; AI antog g/L og resultaterne var 1000 gange forkerte. Det blev rettet, da brugeren eksplicit specificerede kolonneenheden. Lektion: Forkort altid enheden, forudsat at AI er dyrt.
Almindelige fejl
- Stoler på verbalt nummer. Bed altid om og kør kode i stedet for at udføre hovedregning.
- Angiver ikke enheden. Blanding af mg/L med g/L, mL med L, forårsager en 1000-fold fejl.
- Tester ikke koden. Anvendelse på big data uden at teste med et lille eksempel, hvor svaret er kendt.
- Betragtning af R² som det eneste kriterium. At stole på ikke-linearitetspunkterne uden at se dem grafisk.
- Spring testreagenset over. Beregning af teoretisk udbytte uden at bestemme det begrænsende reagens i støkiometri.
- Betydelige skridt udgydelse. Rapportering af resultatet til 8 cifre, når målingen er på 3 signifikante cifre.
Forsigtig: Selv koden AI skriver kan være defekt (forkert kolonnenavn, forkert formel). Kørsel af koden gør resultatet deterministisk, men du skal bekræfte med et kendt eksempel, at koden beregner det rigtige.
Sammenfattende
- Overlad de numeriske resultater til den udførte Python-kode, ikke til sprogmodellens verbale gæt.
- AI skriver hurtigt kode til støkiometri, kalibrering, datarensning og visualisering i kemisk dataanalyse.
- Sæt altid enheder på; Enhedsforvirring er den dyreste fejl.
- Undersøg resterne og grafen ud over R² i kalibreringen.
- Test koden med et simpelt eksempel med et kendt svar; Human verificerer kodens nøjagtighed.
Ansøgningsopgave
Hav et kalibrerings- eller støkiometridatasæt (hvis ikke, brug Beer-Lambert-dataene ovenfor). Bed AI om Python-koden, der udfører analysen (koden, ikke resultatet). Kør koden; test det derefter med et lille udsnit af kendte svar. Spørg AI verbalt om den samme beregning og sammenlign de to resultater: er der en forskel? Fortolk plottet af R² og residual i kalibrering. Indsæt koden, outputtet og den korte kommentar i et dokument.
tjekliste
- [ ] Jeg får de numeriske resultater fra koden, ikke fra det verbale gæt.
- [ ] Jeg angiver tydeligt enheden for hver datakolonne.
- [ ] Jeg tester koden med en lille prøve, hvis svar er kendt.
- [ ] Jeg udfører residual/grafanalyse ved siden af R² i kalibrering.
- [ ] Jeg bestemmer det begrænsende reagens i støkiometri.
- [ ] Jeg rapporterer resultaterne med det relevante signifikante ciffer.