Câștiguri:
- Abilitatea de a automatiza calculul ingineresc, gestionarea unităților și procesarea datelor cu codul Python bazat pe inteligență artificială
- Abilitatea de a valida codul AI cu verificarea unității, testarea rezultatelor cunoscute și cazuri limită
- Abilitatea de a câștiga obiceiul de a produce documente de cont repetabile, urmăribile și controlate de versiuni
În inginerie mecanică, același calcul se face din nou și din nou: solicitările unei familii de piese, puterea pompei pentru o serie de puncte de funcționare, tabele de proprietăți la diferite temperaturi. Efectuarea acestora manual este atât lentă, cât și predispusă la erori. Python (un limbaj de programare ușor de învățat cu biblioteci bogate pentru inginerie) automatizează aceste iterații; Face contul repetabil, urmăribil și controlat de versiune. Inteligența artificială (AI) Python este incredibil de rapid la generarea codului: conversia unei formule într-o funcție, adăugarea de gestionare a unităților, citirea datelor, trasarea graficelor. Dar există o concepție greșită periculoasă: doar pentru că codul funcționează fără erori nu înseamnă că calculează corect. Codul AI poate returna în tăcere rezultate incorecte din cauza conversiei incorecte a unităților, a formulei incorecte sau în cazuri extreme, iar programul va continua să ruleze fără erori. De aceea, fiecare cod de inginerie produs cu AI; Intrările de testare cu rezultate cunoscute nu sunt de încredere fără verificarea prin verificarea unității (dimensiunii) și încercările de caz marginal. În această unitate, veți învăța cum să configurați în siguranță automatizarea contului Python cu AI.
De ce codează contul? Trasabilitate și reproductibilitate
Un calcul manual este unul unic; Când o intrare se modifică, se face de la zero și se pierd pașii intermediari. Calculul făcut în cod este ca un document: intrările, formulele și ieșirile sunt scrise clar; modificați o intrare și obțineți un rezultat nou în câteva secunde; Cu controlul versiunii (cum ar fi git), „ce am calculat cu ce valoare la ce dată” poate fi urmărit. Acest lucru este de neprețuit în ceea ce privește controlul și responsabilitatea. Dar această putere depinde de corectitudinea codului; Un cod greșit produce un rezultat greșit, de asemenea reproductibil și rapid.
Sfat: scrieți un test pentru fiecare funcție de calcul cu un rezultat adevărat cunoscut lângă ea (afirmare în Python). De exemplu, funcția de stres ar trebui să dea 28,1 MPa într-o probă cunoscută. Acest test vă avertizează imediat dacă spargeți ceva când modificați codul în viitor. Codul de inginerie care nu este testat este un cont neverificat.
Managementul volumului: cea mai comună sursă de eroare
În codul de inginerie, majoritatea erorilor provin de la unități: N cu kN, m cu mm, Pa cu MPa, care pot fi confundate cu un factor de 1000 sau 1.000.000. Există două apărări. Prima este disciplina: alegerea unui singur sistem de unități de la început (de exemplu, N, mm, MPa) și conversia tuturor intrărilor în acesta și adăugarea de unități la numele variabilelor (lungime_mm, forță_N). Al doilea este instrumentul: o bibliotecă precum pint transportă unitățile în cod și surprinde operația inconsecventă ca o eroare.
Abordare
Cum funcționează
Avantaj
Disciplina de numire
cum ar fi forța_N, lungimea_mm
Simplu, fără dependențe
sistem cu o singură unitate
Toate convertite în N-mm-MPa
Simplitate, viteză
biblioteca pint
Mută unitate cu variabilă
Captează automat inconsistența
Test de rezultat cunoscut
referire cu assert
Captează eroarea formulei/unității
Atenție: o conversie de unitate poate lipsi sau incorectă în codul generat de AI, iar codul va „funcționa” în continuare. De exemplu, dacă diametrul este mm și aria este de așteptat să fie m², rezultatul va abate de 1.000.000 de ori, dar programul nu va da o eroare. Înainte de a rula codul, comentați unitățile de intrare și de ieșire; apoi furnizați rezultatul cu un exemplu cunoscut.
Pas cu pas: Cod de cont verificabil AI
- Clarificați problema și sistemul de unitate. Intrări, ieșiri, unități.
- Generați funcția. Unic responsabil, interpretativ, uniți.
- Adăugați un test de rezultate cunoscute. Afirmați cu exemplu de referință.
- Încercați carcasele marginale. Intrare zero, negativă, foarte mare/mică.
- Faceți o verificare a unității. Unitatea de ieșire se potrivește cu ceea ce este așteptat?
- Document și versiune. Ipoteze, sursă, dată; trasabilitate cu git.
Prompt care generează funcții și teste
Rol: Dezvoltator Python cu experiență care scrie calcule de inginerie. Sarcină: Scrieți o funcție care calculează solicitarea maximă de încovoiere într-o grindă cantilever cu secțiune transversală dreptunghiulară. Intrare: F (N), L (mm), b (mm), h (mm). Ieșire: sigma (MPa).Convenție: Sistem unitar N-mm-MPa; comentați unitatea fiecărei intrări.Regulă: utilizați I = b*h^3/12 și sigma = M*c/I; comentati pasii.Regula: Adaugati un test cu REZULTAT CUNOSCUT: sigma ~28,1 MPa pentru F=500,L=300,b=20,h=40; Verificați cu assert (toleranță mică).
Solicitare de stare Edge
Adăugați verificări ale cazurilor marginale la funcția de mai sus:- Dacă b, h sau L sunt zero sau negative, dați o eroare semnificativă (creșteți ValueError).- Comentați dacă există o problemă de depășire/precizie cu intrări foarte mari/mici. De asemenea, adăugați încă 3 intrări de testare diferite și scrieți rezultatul așteptat; explic rezultatele într-un mod în care să le pot verifica manual.
Securitatea unității (pint) prompt
Asigurați-vă același cont cu biblioteca „pint”. Lăsați intrările să fie definite în unități (de exemplu, 500 * ureg.newton). Convertiți rezultatul în MPa și imprimați-l. Adăugați un mic exemplu care arată cum eșuează halba atunci când este primită o intrare cu o unitate greșită.
Solicitare de verificare a codului
Criticați codul meu de calcul ingineresc de mai jos din perspectiva revizuirii codului, nu sunteți de acord cu mine. În special: este corectă conversia unității, formula este corectă, au fost luate în considerare cazurile marginale (zero, negative), testele sunt cu adevărat confirmatoare? Pentru fiecare constatare, scrieți cum să o remediați.[cod]
Solicitare slabă / Solicitare puternică
Prompt slab:
Scrieți codul Python pentru calculul tensiunii.
Fără alegere de unități, formule, definiții de intrare și teste; AI generează cod care funcționează, dar nu este verificat și a cărui unitate este necunoscută.
Solicitare puternică:
Scrieți funcția efortului de încovoiere în grinda cantilever. Intrare F(N), L(mm), b(mm),h(mm); ieșire sigma (MPa). Sistem N-mm-MPa, specificați fiecare unitate în comentariu. Adăugați un test cu rezultate cunoscute (F=500, L=300, b=20, h=40 → ~28,1 MPa, afirmați). Dați o eroare la intrarea zero/negativă. Interpretarea cazurilor marginale.
Al doilea prompt necesită sistemul unitar, formula, intrările, testul și cazurile marginale; Face codul verificabil.
Trei mini-carcase (după numere)
Cazul 1 - Eroare de volum silențios. Calculul ariei produs de AI ia diametrul în mm și dă mm² cu pi*d**2/4, dar următoarea linie îl pune într-o formulă care se așteaptă la m²; Codul funcționează fără erori și oferă stresul de 1.000.000 de ori mai mic. Când inginerul execută testul cu un rezultat cunoscut (afirmați abs(sigma-28.1)<0.5), testul explodează și eroarea este surprinsă. Dacă nu a existat un test, rezultatul greșit ar fi intrat în raport neobservat. Lecție: cod de lucru ≠ cod corect.
Cazul 2 - Avarie în starea Edge. În codul care circulă pentru o familie de piese, grosimea h=0 este introdusă pe o linie; Când I = b*h**3/12 = 0, sigma = M*c/I dă o împărțire cu eroarea zero. Datorită controlului if h<=0: raise ValueError adăugat de AI, codul se oprește cu un mesaj semnificativ și nu produce în tăcere inf. Lecție: tratați cazurile marginale în prealabil.
Cazul 3 - Câștig de repetabilitate. Un inginer a luat o jumătate de zi pentru a calcula manual puterea pompei pentru 40 de puncte de operare diferite. Scris în AI, scriptul citește CSV-ul, calculează puterea pentru fiecare linie și verifică un punct cunoscut cu afirmație, reducând munca la ~2 minute și scriind rezultatele într-un fișier urmăribil. Când o intrare se modifică, întregul tabel este actualizat în fiecare secundă. Lecție: automatizarea verificată este atât rapidă, cât și fiabilă.
Greșeli comune
- Eroare „funcționat = corect”: a crede că codul care funcționează fără erori este corect.
- Nu scriu teste: te bazezi pe cod fără un test de referință cu un rezultat cunoscut.
- Ambiguitatea unității: lăsând unitățile de intrare/ieșire neinterpretate, omiterea conversiei.
- Ignorarea cazurilor marginale: eroare silențioasă sau blocare la intrarea zero/negativă.
- Nedocumentarea sursei/ipoteza: Nescrierea sursei și ipoteza formulei utilizate.
- Nu versiunea: părăsirea contului ca fișier unic fără a-l face urmăribil (git).
Pe scurt
- Python face ca calculele de inginerie să fie repetabile, urmăribile și controlate de versiune.
- AI este foarte rapid la generarea codului; Dar faptul că codul funcționează fără erori nu înseamnă că calculează corect.
- Fiecare cod ar trebui validat prin testarea cu rezultate cunoscute, verificarea unităților și cazuri marginale.
- Erorile de unitate sunt sursa cea mai frecventă și cea mai insidioasă de eroare; Apărați-vă prin sistem de unitate, nomenclatură sau halbă.
- Automatizarea validată economisește timp și oferă încredere; Codul neverificat este periculos.
Sarcina de aplicare
Alegeți un calcul ingineresc recurent (cum ar fi stresul, puterea pompei, sarcina termică). Scrieți o funcție Python AI care face acest calcul; Comentați unitatea fiecărei intrări și ieșiri și adăugați un test de afirmare cu un rezultat cunoscut. Rulați testul și vedeți dacă trece. Apoi mai faceți două verificări: încercați un caz marginal (intrare zero sau negativă) pentru a verifica dacă codul returnează o eroare semnificativă și furnizați manual unitatea de ieșire într-un exemplu. Dacă este posibil, aveți, de asemenea, o versiune de siguranță pentru unitate produsă în halbă. În cele din urmă, adăugați ipotezele calculului, sursa formulei și data la cod ca titlu scurt și scrieți de ce acest cod necesită încă aprobarea inginerului.
lista de verificare
- [ ] Unitățile de intrare și de ieșire sunt documentate clar în cod; s-a ales sistemul de unitate unică.
- [ ] Un test (afirmare) cu un rezultat cunoscut a fost adăugat și trecut.
- [ ] S-a încercat cel puțin un caz limită (zero/negativ); Codul a dat o eroare semnificativă.
- [ ] Unitatea de ieșire a fost furnizată printr-un exemplu manual (fără presupunerea „a lucrat = corect”).
- [ ] Sursa formulei, ipotezele și data notate în cod.
- [ ] Contul păstrat urmăribil/urmărit; aprobarea finală a fost lăsată inginerului.