من شخصاً از طریق گنجاندن ChatGPT و Rule-Based Prompt ها در جریان کاری تیممان، به نتایج فوقالعادهای دست پیدا کردم. این کار ما را قادر میسازد تا تهیه User Story و ایجاد اسناد فنی را سادهتر کنیم و نیاز به ارتباط بین بخشهای مختلف و وابستگی خود به تحلیلگران را کاهش دهیم.
در این مقاله، من یک مثال خاص ارائه میدهم که نشان میدهد چگونه با کمک ChatGPT و Rule-Based Prompt به همه این اهداف دست پیدا کردیم.
چالشهای ساخت Rule-Based Prompt مؤثر
هنگام تعامل با ChatGPT و سایر مدلهای مولد، هدف اصلی دستیابی به بهترین نتایج ممکن بر اساس prompt ها است. با این حال، چالشهایی در زمینه ایجاد prompt ها وجود دارد که به وسیله آنها اطمینان حاصل میشود هوش مصنوعی، دستورالعملها را به درستی دنبال میکند. این مشکلات اغلب به دلیل ساختار prompt به وجود میآیند و باعث میشوند که هوش مصنوعی یا به طور کامل از درخواست پیروی نکند، یا بر روی کلمات غیرضروری «پر سر و صدا» تمرکز کند.
کیفیت نتایج حاصل از ChatGPT تا حد زیادی به دقت کاربر در prompt های صریح و ارائه دستورالعملهای واضح بستگی دارد. ما تخمین میزنیم که تقریباً 90 درصد از پاسخهای ارائه شده توسط ChatGPT معتبر هستند و به طور کامل به مسئله یا پرسش مطرح شده میپردازند. تنها محدودیت این فرآیند، کاربر است. زیرا این به کاربران بستگی دارد که چگونه prompt های مناسب را برای شبکه عصبی فرموله کنند. برای این هدف، من فرمول Rule-Based Prompt خود را توسعه دادهام.
Rule-Based Prompt چیست؟
دریافت پاسخهای باکیفیت از ChatGPT نیاز به prompt های خاصی دارد. شما ممکن است سؤالی از ChatGPT بپرسید و پاسخ سادهای دریافت کنید، اما درخواست یک نتیجه خاص با تعیین ChatGPT به عنوان یک Super Developer ، پاسخهای درخشانی ایجاد میکند. حتی بهتر از این هم ممکن است. با ساختاربندی prompt های خود به وسیله یک جدول، میتوانید انتظار پاسخهای باکیفیتتری هم از ChatGPT داشته باشید. با تمام این اوصاف، دقیقترین نتایج را میتوان به وسیله Rule-Based Prompt ها به دست آورد.
برای فرموله کردن Rule-Based Prompt ها، باید مراحل زیر را دنبال کنید:
- مسئله را با دقت شناسایی کنید.
- مسائل و اهداف اولیه prompt را تعیین کنید. (باید به وضح آنها را درک کنید).
- راه حل را روی ذهن یا روی کاغذ تجسم کنید.
- تسکهای پیچیده را به مراحل کوچکتر تقسیم کنید.
- با توجه به ساختار واضح و قوانین خاص prompt نویسی، prompt خود را با سادهترین عبارات ممکن مطرح کنید.
Prompt هایی که به این روش ایجاد میشوند، در 99 درصد مواقع پاسخهای معتبری دریافت میکنند. اجازه دهید ضمن استفاده از موارد عملی، به شما نشان دهم که این روش چگونه به من کمک کرد.
جایزه: من نمونهای از Rule-Based Prompt ها را در پایان مقاله به اشتراک میگذارم.
چگونه Prompt ها کارایی تیم من را بهبود بخشیدند: یک مطالعه موردی
اخیراً، تیم ما پروژهای داشت که ما در آن مجبور بودیم integration خاصی انجام دهیم که entity ها را به طور مؤثر بین دو سیستم sync کند، و در عین حال ارورها را هم هندل کند. برای موفقیت در این پروژه، ما باید شرایط خاصی را برآورده میکردیم:
اول اینکه باید اطمینان حاصل میکردیم که راه حل ما برای استفاده در تولید مناسب است و به ما اجازه میدهد تا به سرعت علت اصلی مشکلات synchronization را که ممکن است ایجاد شود، شناسایی کنیم.
دوماً، مجبور بودیم که با تحلیلگران بیزنس ارتباط برقرار کنیم تا موارد متعددی را که مربوط به رفتار کاربر در برابر تغییرات رابط کاربری میشود، بررسی کنیم. هدف ما ارائه یک عملکردپذیری حاص بود که کاربران و تیم واقعاً به آن نیاز داشتند.
در نهایت، ما باید موارد فنی را که از ابتدا باید پوشش داده میشد، اولویتبندی میکردیم. ما باید مؤثرترین تکنیکها را برای هر مشکل احتمالی تعیین میکردیم و در عین حال به دنبال راه حلی بودیم که نیاز به کار کمتری داشته باشد.
برای برآورده کردن این الزامات، از ChatGPT و Rule-Based Prompt ها استفاده کردیم. اما در ابتدا، باید تسکهای پیچیده را به اهداف واضحتری تبدیل میکردیم.
اهداف اولیه
برای رسیدن به اهدافمان، باید چند هدف کلیدی و معیار را به صفر میرساندیم:
توانمندسازی توسعه دهندگان با کاهش وابستگی به تحلیلگران تجاری: با ساده سازی ارتباطات، تیم ما میتواند با سرعت بیشتری راه حلها را اجرا کند. این کار جدول زمانی توسعه و بهرهوری را بهبود میبخشد.
فرآیند تجزیه کار (تسک) بهینه شده: تیم کارآمدتر عمل میکند با سادهسازی فرآیند تجزیه کار، تسکها را سریعتر تکمیل میکند. که این منجر به کاهش زمانبندی و افزایش خروجی خواهد شد.
به حداقل رساندن زمان صرف شده برای ارزیابی گزینهها و تصمیمات فنی: با کاهش زمان بحث و گفتگو درباره رویکردهای خاص، تیم میتواند چرخههای توسعه را کاهش دهد، تسکها را زودتر تکمیل کند و کارایی خود را بهبود بخشد.
تثبیت جریان کار تیمی مولد و تسریع شده: بهینهسازی نحوه کار با هم تیمی به اعضای تیم اجازه میدهد تا تسکهایشان را سریعتر انجام دهند و در عین حال، کیفیت کار خود را حفظ کنند و بهره وری را بهبود بخشند.
تمرکز بر روی چالشهای فنی و دستیابی به نتایج هدف: چنین تیمی، به وسیله اولویتبندی کارها با معیارهای برتری فنی و نتایج، کیفیت کد را بهبود میبخشد. این اتفاق منجر به نقصهای احتمالی کمتر و ارورهای سادهتر میشود.
معیار پروژه | تعریف | توضیحات |
سرعت (Velocity) | اندازه گیری میزان کاری که یک تیم میتواند در مدت زمان معین انجام دهد. | نشان دهنده ظرفیت تیم است، نه عملکرد. |
زمان بین شروع و اتمام فرآیند تولید (Lead Time) | زمان لازم برای اتمام یک تسک از ابتدا تا انتها، شامل زمان انتظار یا تأخیر. | کارایی کلی فرآیند توسعه را نشان میدهد. |
زمان چرخه (Cycle Time) | زمان لازم برای تکمیل یک تسک، به استثنای زمان انتظار یا تأخیر. | جاهایی را نشان میدهد که میتوان فرآیند توسعه را سادهتر کرد. |
تراکم نقص (Defect Density) | اندازه گیری تعداد نقص یا ایراد، در هر واحد کد. | کیفیت کد را نشان میدهد. |
پیچیدگی کد (Code Complexity) | اندازه گیری پیچیدگی پایگاه کد، که معمولاً بر حسب خطوط کد یا معیارهای دیگر اندازهگیری میشود. | مناطقی از پایگاه کد را نشان میدهد که ممکن است نگهداری یا اصلاح آنها دشوار باشد. |
پوشش کد (Code Coverage) | اندازه گیری مقدار پایگاه کد تحت پوشش مجموعه آموزشی. | باگهای کشف نشده را نشان میدهد. |
بدهی فنی (Technical Debt) | هزینه کار اضافی ناشی از انتخاب یک راه حل آسان، به جای انتخاب یک رویکرد سختتر ولی بهتر. | سلامت پروژه را در طول زمان نشان میدهد. |
فرکانس استقرار (Deployment Frequency) | اندازه گیری تعداد دفعاتی که یک تیم، کد را برای تولید مستقر میکند. | نشان دهنده میزان کارایی تیم توسعه است. |
دستیابی به اهداف از طریق ChatGPT و مهندسی Prompt
ما از ChatGPT استفاده کردیم و نحوه ایجاد Rule-Based Prompt ها را برای دستیابی به اهداف کلیدی خود بهینه کردیم. از آنجایی که رسیدگی به ارورها و مشکلات sync شدن، اصولاً فنی بوده و در فرآیندهای میانپروژهای رایج است، فرصتی پیدا کردیم که برای رسیدن به موفقیت، prompt های ChatGPT را هم امتحان کنیم.
ما با نوشتن prompt ها برای هر هدف شروع کرده و در ابتدا بر نیازهایی با اولویت بالا تمرکز کردیم. ما با استفاده از User Story Prompt های ChatGPT ، به سرعت User Story های دقیقی را برای بررسی و گنجاندن در چرخه توسعه بعدی خود تولید کردیم. این امر نیاز ما به مشارکت بیشتر تحلیلگران تجاری را کاهش داد و به ما اجازه داد روی کارهای فنی متمرکز شویم.
در نتیجه بهرهوری تیم ما افزایش یافت. زمانبندیها و چرخههای توسعه کاهش یافت، اما تعداد جلسات مورد نیاز برای بازخورد نیز به میزان قابل توجهی افزایش پیدا کرد. ما با ایجاد یک prompt پرسشنامه هندل کردن ارورها که پرسشهای ارزشمندی را برای ما و ذینفعانمان ارائه میداد، تنگناهای ارتباطی را از بین بردیم.
ما همچنین از Rule-Based Prompt ها برای تولید سریع ملزومات حیاتی پروژه به عنوان اسناد فنی و متریال بحثهای تیمی استفاده کردیم. این کار بدون طی کردن مراحل اضافی، به همه اعضای تیم اطلاعات لازم را برای تصمیمگیری در مورد سیستم، فرآیند تولید محصول و تصمیمات delivery ارائه کرد.
با اختصاص 20% از هر مرحله توسعه به ایجاد و بهینهسازی prompt ها، ما اصل پارتو – 80% نتایج ناشی از 20% علتها هستند – را برای توسعه نرم افزار و مهندسی prompt اعمال کردیم. این کار، جریان کار ما را سادهتر کرد و نتایج کلی را بهبود بخشید.
نتیجهگیری
ما از ChatGPT برای ایجاد چندین Rule-Based Prompt ، تسریع در تصمیمگیری گروهی با تیم و شرکا، و امکان تحویل به موقع سفارش استفاده کردیم. Prompt ها بخشی از متریال پروژه را تولید کردند و اتکا به تحلیلگران تجاری را در تیم ما کاهش دادند. این باعث شد بتوانیم روی کارهای فنی تمرکز کنیم. سرعت بیشتر، زمانبندی کوتاهتر و چرخههای کاهش یافته، همه نشان میدهند که استفاده استراتژیک از هوش مصنوعی برای تولید زبان طبیعی، چگونه میتواند کارایی تیم را افزایش و دستیابی به اهداف را به سمت گردشهای کاری آینده سوق دهد.
استفاده از ChatGPT و بهینهسازی prompt ها، به توسعه دهندگان ما قدرت داد و تجزیه تسکها را امکانپذیر کرد. این کار همچنین زمان صرف شده برای بحث در مورد گردش کار و انتخابهای فنی را به حداقل رساند، یک گردش کار تیمی کارآمد ایجاد کرد، و تیم را بر حل چالشهای فنی و نتایج نهایی متمرکز کرد. نتایج خودشان گویای همه چیز هستند. موفقیت ما ارزش هوش مصنوعی را برای تسریع تحول دیجیتال ثابت میکند.
جایزه: مثالی از Rule-Based Prompt
همانطور که قول داده بودم، یک مثال واقعی از یک Rule-Based Prompt برای تحلیل کسب و کار را به اشتراک میگذارم. من این مورد را تغییر دادهام تا نویسندگان User Story بتوانند از آن برای هندل کردن ارورها استفاده کنند.

در نتیجه، چنین موردی از prompt ، نتایج زیر را به همراه دارد:



امیدوارم این راهنمای عملی برای هر کسی که به دنبال اجرای Rule-Based Prompt ها برای رسیدگی به ارورها و مشکلات synchronization در پروژههای خود است، مفید باشد.
Leave feedback about this