سود:
- امکان چاپ کد پایتون و درک و پذیرش کد خط به خط برای پاکسازی داده ها، اتوماسیون حساب و مدل سازی با هوش مصنوعی
- توانایی درک اینکه کد تست نشده یک فرضیه است، هر کد را با یک نتیجه شناخته شده تأیید کنید، واحد و موارد لبه را آزمایش کنید.
- توانایی درک این موضوع که کدهای حساب حیاتی امنیتی به آزمایش و تأیید مهندسی مجاز نیاز دارند.
موتور بی صدا مهندسی شیمی مدرن اکنون پایتون (یک زبان برنامه نویسی پرکاربرد و آسان برای یادگیری) است. تمیز کردن دادههای حسگر، خودکار کردن تعادل جرم، تطبیق یک مدل جنبشی با دادهها، مقایسه صدها نتیجه شبیهسازی، تولید یک نمودار - همه اینها ساعتها با دست، اما چند ثانیه با چند خط پایتون طول میکشد. در این بخش، یاد خواهید گرفت که چگونه از هوش مصنوعی به عنوان کمکی در نوشتن، توضیح و اشکال زدایی کدهای پایتون استفاده کنید. اما ما یاد خواهیم گرفت که چرا هر کد تولید شده نباید بدون آزمایش و تأیید استفاده شود.
یک مهندس شیمی معمولاً یک توسعه دهنده نرم افزار حرفه ای نیست. اینجاست که هوش مصنوعی قدرت زیادی میافزاید. یک مهندس می گوید: «من یک اسکریپت می خواهم که این کار را انجام دهد» و یک پیش نویس هوش مصنوعی می نویسد. اما این اصل ثابت می ماند: کدی که هوش مصنوعی می نویسد درست نیست زیرا درست به نظر می رسد. این یک فرضیه است تا زمانی که با یک نتیجه شناخته شده آزمایش شود. یک اشتباه خاموش - واحد اشتباه، شاخص اشتباه، یک فرمول تغییر یافته - می تواند نتایج خطرناکی را در یک محاسبه مهندسی ایجاد کند.
پایتون با هوش مصنوعی در مهندسی شیمی: گام به گام
1. کار را به وضوح تعریف کنید. ورودی (CSV، آرایه، معادله) چیست، خروجی باید در چه واحدهایی باشد؟ اعلان مبهم به معنای کد بد است.
2. درخواست پیش نویس کد. هوش مصنوعی طرحی با کتابخانههای مناسب تولید میکند (پاندا برای دادهها، numpy برای پردازش عددی، matplotlib برای نمودارها، scipy برای بهینهسازی/راهحل).
3. کتابخانه و مفروضات را درک کنید. از هوش مصنوعی بخواهید هر خط و فرض (واحد، قالب داده، پذیرش) را توضیح دهد. کدهایی را که متوجه نمی شوید اجرا نکنید.
4. تست با نتیجه مشخص. کد را روی یک مثال ساده که از قبل پاسخ آن را می دانید اجرا کنید. یک کد تعادلی باید در مثالی که با دست قابل رمزگشایی باشد، نتیجه صحیح را ارائه دهد.
5. کنترل وضعیت واحد و لبه. کد در موارد لبه مانند صفر، منفی، مقادیر بسیار بزرگ، داده های از دست رفته چه می کند؟ در مهندسی شیمی، خرابی واحد یک فاجعه کلاسیک است.
6. نتیجه را با فیزیک تست کنید. کد یک عدد تولید کرد - آیا جرم حفظ شده است، آیا مقدار واقعی است؟ فقط به این دلیل که کد کار می کند، صحت نتیجه را ثابت نمی کند.
نکته: هنگام درخواست کد از هوش مصنوعی، بگویید "واحد هر متغیر را در خط نظر بنویسید و واحدهای ورودی را به صراحت مشخص کنید." بخش قابل توجهی از خطاهای مهندسی شیمی ناشی از سردرگمی واحد (bar/Pa, kg/g, °C/K) است. جاسازی واحدها در کد این خطاها را قابل مشاهده می کند.
کد تست نشده یک فرضیه است
هوش مصنوعی کد نرم و ظاهری تولید می کند. اما «کارها» و «درست» دو چیز متفاوت هستند. کد ممکن است بدون خطا کار کند و یک عدد نادرست ایجاد کند: یک خطای علامت در یک فرمول، یک افست (off-by-one) در یک آرایه، یک تبدیل واحد نادرست. بنابراین قانون طلایی: هر کد در یک مورد آزمایشی آزمایش می شود که در آن پاسخ صحیح به طور مستقل مشخص می شود. یک مثال ساده تحلیلی، یک محاسبه دستی، یا یک داده مرجع، قابلیت اطمینان کد را اثبات می کند. هیچ تصمیم مهندسی نباید بر اساس کد بدون گذراندن آزمایش باشد.
احتیاط: کدی که محاسبات ایمنی، ابعاد یا امنیت را انجام می دهد، فقط به این دلیل که "کار می کند" قابل اعتماد نیست. کدهای حساب های مهم امنیتی باید با یک نتیجه شناخته شده آزمایش شوند و نتایج باید به طور مستقل توسط مهندس مجاز تأیید شود.
سه کیف کوچک
مورد 1 - اتوماسیون پاکسازی داده ها. یک مهندس هر ماه 3 ماه داده (تقریباً 1.1 میلیون ردیف) را از 8 سنسور به صورت دستی تمیز می کرد. یک اسکریپت پانداها که با هوش مصنوعی نوشته شده بود این را به چند دقیقه کاهش داد. مهندس ابتدا کد را روی یک فایل نمونه کوچک و شناخته شده آزمایش کرد. متوجه شد که یک ستون به اشتباه تجزیه شده است، آن را اصلاح کرد، سپس آن را به کل داده اعمال کرد.
مورد 2 - خطای صدای بی صدا. YZ کدی را برای محاسبه افت فشار نوشت، اما ورودی را با فرض bar و فرمول Pa اشتباه گرفت. کد بدون خطا کار کرد، اما نتیجه با ضریب 100000 اشتباه بود. مهندس تفاوت سفارش را با یک محاسبه کنترل دستی دریافت کرد. پس از افزودن نظرات واحد، خطا روشن و رفع شد.
مورد 3 - تست ذخیره شد. یک تیم کدی را از هوش مصنوعی برای حل کننده تعادل جرم به دست آوردند. آنها ابتدا آن را در یک نمونه دو جزئی و قابل حل با دست آزمایش کردند. کد در حال بستن یک حلقه بک اشتباه بود و جمع نمی شد. خطا قبل از اعمال آن به مدل واقعی و پیچیده کشف شد. بدون آزمایش، خطا به همه نتایج سرایت می کند.
چهار قالب قابل کپی
1) پیش نویس کد تجزیه و تحلیل داده ها:
نقش شما: کمک کننده پایتون برای مهندسی شیمی. وظیفه: [توضیح]. ورودی: [CSV/آرایه، ستونها، واحدها]. خروجی: [چه، در کدام واحد]. از pandas/numpy استفاده کنید. در کد: (1) واحد هر متغیر را تفسیر کنید، (2) مفروضات ورودی را در ابتدا بیان کنید، (3) موارد لبه را کنترل کنید (داده های از دست رفته، صفر). من کد را با یک مثال شناخته شده تست خواهم کرد. از اعداد جادویی استفاده نکنید، ثابت ها را به صراحت تعریف کنید.
2) توضیح و تأیید کد:
کدهای پایتون زیر را خط به خط توضیح دهید: چه کاری انجام می دهد، چه فرضیاتی دارد، چه واحدهایی را انتظار دارد. نقاط خطای احتمالی (آشفتگی واحد، تغییر شاخص، تقسیم بر صفر، سرریز) را برجسته کنید. پیشنهاد کنید از چه نمونه آزمایشی ساده و شناخته شده ای می توانم برای تأیید این کد استفاده کنم. کد: [چسباندن]
3) راه اندازی یک آزمایش با یک نتیجه شناخته شده:
یک مجموعه آزمایشی برای تأیید این تابع بنویسید: حداقل 3 مورد ساده که پاسخ آنها به صورت تحلیلی یا دستی مشخص است. برای هر آزمایش، نتیجه مورد انتظار را شرح دهید و چرا ما آن نتیجه را انتظار داریم. من کد را بدون آزمایش روی داده های واقعی اعمال نمی کنم. عملکرد: [رب]
4) اشکال زدایی:
این کد نتیجه خطا/اشتباه زیر را می دهد: [پیام خطا یا خروجی انتظاری vsactual]. دلایل احتمالی را به ترتیب احتمال فهرست کنید و به من بگویید چگونه برای هر کدام آزمایش کنم. مستقیماً نگویید "من درستش کردم"؛ بیایید ابتدا علت اصلی را با هم بررسی کنیم. همچنین بررسی واحد و سفارش را پیشنهاد دهید. کد و داده ها: [پیست]
اعلان ضعیف / اعلان قوی
اعلان ضعیف:
برای من یک کد محاسبه افت فشار بنویسید.
فرمت ورودی، واحد، معادله، شرط مشخص نیست. هوش مصنوعی مفروضات خود را پنهان می کند، می تواند واحدها را گیج کند.
اعلان قدرتمند:
نقش شما: مهندسی شیمی کمک کننده پایتون. وظیفه: افت فشار ناشی از اصطکاک در یک لوله مدور. ورودی: سرعت جریان [m3/s]، قطر [m]، طول [m]، چگالی [kg/m3]، ویسکوزیته [Pa·s]. خروجی: افت فشار [Pa]. استفاده از Darcy-Weisbach. رژیم جریان (Re) را برای ضریب اصطکاک بررسی کنید. هر واحد را نظر دهید، مفروضات را بیان کنید (بار کامل، جریان پایدار). من کد را در برابر محاسبه دستی در یک مثال آرام آزمایش خواهم کرد.
تفاوت واضح است: واحدهای ورودی، روش، واحد خروجی و هدف آزمایش کد را قابل اعتماد می کند.
توزیع نقش در استفاده از پایتون
کسب و کار
نقش هوش مصنوعی
تصمیم مرد
نوشتن کد
یک پیش نویس ایجاد کنید
شرح شغل، واحدها
انتخاب کتابخانه
پیشنهاد
تایید انطباق
توضیحات
خط به خط
با درک بپذیر
تست کنید
توصیه مجموعه تست
اعتبارسنجی با نتیجه شناخته شده
اشکال زدایی
فرضیه، جهت
تایید علت ریشه ای
نتیجه گیری
تولید اعداد
تست با فیزیک
اشتباهات رایج
- استفاده از کد بدون آزمایش آن کد کار کد صحیحی نیست. نمی توان به آن اعتماد کرد مگر اینکه با یک نتیجه شناخته شده آزمایش شود.
- نامشخص گذاشتن واحدها سردرگمی واحدها رایج ترین و خطرناک ترین اشتباه در مهندسی شیمی است.
- کار بدون درک بدون درک کد نوشته شده توسط هوش مصنوعی خط به خط به نتایج اعتماد نکنید.
- دور زدن حالات لبه داده های صفر، منفی و از دست رفته می توانند کد را بی سر و صدا به نتیجه اشتباه سوق دهند.
- محاسبات امنیتی فقط بر اساس کد است. کدهای مهم امنیتی نیاز به آزمایش + تأیید معتبر مستقل دارند.
به طور خلاصه
هوش مصنوعی در مهندسی شیمی با پایتون؛ این یک دستیار قدرتمند است که برای پاکسازی دادهها، اتوماسیون حسابداری، مدلسازی و گرافیک، پیشنویس، توضیح میدهد و راهنماییهای رفع اشکال را ارائه میکند. اما کد هوش مصنوعی قابل اعتماد است نه به این دلیل که درست به نظر می رسد، بلکه به این دلیل که با یک نتیجه شناخته شده آزمایش شده است. ضروری است که واحدها را به طور صریح مشخص کنید، کد را درک کنید، موارد لبه را آزمایش کنید و نتیجه را با فیزیک تأیید کنید. محاسبات حیاتی ایمنی نیز به تأیید مهندس مجاز نیاز دارد.
وظیفه کاربردی
یک محاسبه (به عنوان مثال افت فشار لوله یا تعادل جرم دو جزئی) را انتخاب کنید. با الگوی «تجزیه و تحلیل داده/ پیش نویس کد حساب» کد را از هوش مصنوعی دریافت کنید، واحدها را به وضوح بیان کنید. سپس کد را در یک مثال قابل رمزگشایی دستی با الگوی "راه اندازی تست با نتیجه شناخته شده" تأیید کنید. اگر نتیجه مطابقت نداشت، علت اصلی را با الگوی "اشکال زدایی" پیدا کنید.
چک لیست
- [ ] واحدهای ورودی/خروجی و روش را به وضوح بیان کرده ام.
- [ ] من خط به خط کد را فهمیدم و مفروضات آن را دیدم.
- [ ] من کد را روی یک نمونه شناخته شده/قابل رمزگشایی دستی آزمایش کردم.
- [ ] من موارد لبه (صفر، منفی، داده های از دست رفته) را آزمایش کردم.
- [ ] من نتیجه را با فیزیک تأیید کردم (حفظ جرم، نظم). من همچنین اکانت امنیتی توسط این مقام تایید شده بود.