नफा:
- अस्पष्ट व्यवसाय विनंत्यांना स्पष्ट, चाचणी करण्यायोग्य सॉफ्टवेअर आवश्यकता आणि AI समर्थनासह वापरकर्ता कथांमध्ये रूपांतरित करण्याची क्षमता
- एआय सह संरचित मार्गाने सिस्टम डिझाइन, डेटा मॉडेल आणि आर्किटेक्चरल निर्णयांचे साधक आणि बाधक तुलना करण्याची क्षमता
- आवश्यकता, स्केलेबिलिटी आणि मर्यादांविरूद्ध AI च्या प्रस्तावित डिझाइनचे गंभीरपणे प्रमाणीकरण करण्याची क्षमता
बहुतेक सॉफ्टवेअर प्रकल्प खराब कोडमुळे नाही तर गैरसमज असलेल्या आवश्यकतांमुळे अयशस्वी होतात. "वापरकर्त्यांना अहवाल डाउनलोड करू द्या" सारखी एका वाक्याची विनंती डझनभर अनुत्तरीत प्रश्न सोडते: कोणत्या स्वरूपात? प्रभारी कोण आहे? किती रेकॉर्ड? जर ते हळू असेल तर? आवश्यकतांचे विश्लेषण (व्यवसाय विनंतीचे स्पष्ट, चाचणी करण्यायोग्य तांत्रिक गरजांमध्ये भाषांतर करणे) आणि सॉफ्टवेअर डिझाइन (या गरजा पूर्ण करण्यासाठी कागदावर रचना तयार करणे) ही अशी अवस्था आहे जिथे कोड लिहिण्यापूर्वी सर्वात महागड्या चुका टाळल्या जातात. या युनिटमध्ये, आम्ही या टप्प्यावर AI एक "विचार भागीदार" म्हणून वापरण्यास शिकू: एक भागीदार जो अनिश्चितता दूर करतो, पर्यायांची क्रमवारी लावतो, परंतु अंतिम निर्णय तुमच्यावर सोडतो.
एआय येथे दोन मोठी मूल्ये तयार करते. प्रथम, ते तुम्ही वगळलेले प्रश्न विचारते; हे एका विनंतीमध्ये लपविलेले गृहितक आणि धार प्रकरणे पृष्ठभागावर आणते. दुसरे, ते डिझाईन निर्णयाचे फायदे आणि बाधक त्वरीत सारणीबद्ध करते. पण हाच धोका आहे: तुमचा संदर्भ (अर्थसंकल्प, संघ, विद्यमान प्रणाली, कायदेशीर मर्यादा) पूर्णपणे जाणून घेतल्याशिवाय AI "सर्वोत्तम सराव" म्हणून जेनेरिक शिफारसी देईल. हा सल्ला तुमच्या स्वतःच्या सत्याविरुद्ध फिल्टर करणे तुमचे काम आहे.
संकल्पना: वापरकर्ता कथा: "... म्हणून, मला सक्षम व्हायचे आहे... कारण..." या स्वरूपात गरज व्यक्त करणारे एक लहान वाक्य. स्वीकृती निकष: चाचणी करण्यायोग्य अटी ज्या नोकरीसाठी "पूर्ण" मानले जाण्यासाठी पूर्ण करणे आवश्यक आहे. नॉन-फंक्शनल आवश्यकता: "ते काय करेल" ऐवजी "ते कसे वागेल" शी संबंधित आवश्यकता, जसे की वेग, सुरक्षा, स्केलेबिलिटी.
अस्पष्ट विनंती ते चाचणी करण्यायोग्य आवश्यकता
एक चांगली आवश्यकता मोजता येण्याजोगी आणि तपासण्यायोग्य आहे. "प्रणाली जलद होऊ द्या" असे नाही, परंतु "शोध परिणाम 500 ms मध्ये परत येऊ द्या". अनिश्चितता कमी करण्यासाठी AI वापरण्याचा एक चरण-दर-चरण मार्ग येथे आहे:
- विनंती आहे तशी द्या आणि प्रश्न तयार करा. AI ला उपायासाठी विचारू नका, परंतु प्रथम "या विनंतीमध्ये अस्पष्ट काहीही प्रश्न म्हणून सूचीबद्ध करा."
- तुम्ही उत्तरे द्या. फक्त तुम्हालाच संदर्भ माहीत आहे; AI च्या प्रश्नांची उत्तरे तुमच्या वास्तविक व्यावसायिक मर्यादांसह द्या.
- ते वापरकर्ता कथा आणि स्वीकृती निकषांमध्ये भाषांतरित करा. स्पष्ट केलेल्या गरजेचा चाचणी करण्यायोग्य आयटममध्ये अनुवाद करा.
- एज केस आणि नकारात्मक परिस्थिती जोडा. "रिक्त निकाल", "अनधिकृत वापरकर्ता", "खूप मोठी फाइल" इ.
संदिग्धता एक्स्ट्रॅक्शन प्रॉम्प्ट: "आम्ही खालील व्यवसाय विनंतीचे सॉफ्टवेअर आवश्यकतामध्ये भाषांतर करू. अद्याप समाधान प्रस्तावित करू नका. प्रथम, प्रश्नांची सूची म्हणून या विनंतीमध्ये उत्तर न दिलेल्या सर्व संदिग्धता आणि लपलेले गृहितक काढा. खालील शीर्षकाखाली प्रश्नांचे गट करा: व्याप्ती, वापरकर्ता/अधिकार, डेटा व्हॉल्यूम, कार्यप्रदर्शन, त्रुटी, त्रुटी वापरकर्ते ', सुरक्षितता अहवाल डाउनलोड करा.
वापरकर्ता कथा + स्वीकृती निकष प्रॉम्प्ट: "इनव्हेस्ट तत्त्वांचे पालन करणाऱ्या वापरकर्त्याच्या कथांमध्ये खालील स्पष्ट केलेल्या गरजा विभाजित करा. प्रत्येक कथेसाठी 3-5 चाचणी करण्यायोग्य स्वीकृती निकष लिहा (केव्हा-केव्हा-नंतर स्वरूपात). किमान 2 नकारात्मक परिस्थिती जोडा (अनधिकृत प्रवेश, रिक्त डेटा). आवश्यक आहे: [येथे लिहा]
AI सह डिझाइन निर्णयांची तुलना करणे
डिझाईन हा एक स्थिर व्यापार आहे: वेग विरुद्ध लवचिकता, साधेपणा विरुद्ध स्केलेबिलिटी? AI हे ट्रेड-ऑफ द्रुत स्प्रेडशीटमध्ये ठेवते. उदाहरणार्थ, "सूचना पाठवा" वैशिष्ट्यासाठी, तुम्ही सिंक्रोनस (विनंतीनुसार पाठवा) किंवा असिंक्रोनस (रांग, पार्श्वभूमीत पाठवा) दृष्टिकोन वापरावा की नाही यावर चर्चा करू शकता.
डिझाईन तुलना प्रॉम्प्ट: "मी 'वापरकर्त्याला ईमेल सूचना पाठवा' वैशिष्ट्याची रचना करत आहे. दोन पद्धतींची तुलना करा: (A) HTTP विनंती दरम्यान समकालिक वितरण, (B) संदेश रांगेत ठेवून पार्श्वभूमीत असिंक्रोनस वितरण. खालील अक्षांवर एक सारणी बनवा: वापरकर्ता प्रतीक्षा वेळ, दोष सहिष्णुता, जटिलता, अवघड वाक्ये, Sggbu मध्ये अवघड वाक्ये शेवटी मी कोणता निवडू, माझ्यासाठी निर्णय घेऊ नका.
अक्ष
सिंक्रोनस ट्रान्समिशन
असिंक्रोनस (रांग)
वापरकर्ता प्रतीक्षा वेळ
लांब (शिपमेंटची वाट पाहत आहे)
लहान (लगेच परत येतो)
दोष सहिष्णुता
कमी (पाठवल्यास विस्फोट होतो)
उच्च (पुन्हा प्रयत्न करणे शक्य आहे)
गुंतागुंत
कमी
मध्यम-उच्च (रांग पायाभूत सुविधा)
पायाभूत सुविधा खर्च
कमी
अतिरिक्त घटक आवश्यक
कुठे जमते
कमी आवाज, साधे अनुप्रयोग
उच्च खंड, गंभीर वितरण
टीप: AI ला "माझ्यासाठी निर्णय घेऊ नका, फक्त मला पर्याय आणि अटी दाखवा" हे सांगणे तुम्हाला विचार करण्यास भाग पाडते आणि एखादी सूचना आंधळेपणाने स्वीकारण्याचा धोका कमी करते. तुमचा संदर्भ (तुम्ही) जाणणाऱ्या व्यक्तीने घेतलेला सर्वोत्तम डिझाइन निर्णय आहे.
कमकुवत प्रॉम्प्ट / मजबूत प्रॉम्प्ट
कमजोर: "ऑर्डर सिस्टमसाठी डेटाबेस डिझाइन करा." (परिणाम: कोणते प्रमाण, कोणते संबंध, कोणते मर्यादा स्पष्ट नाहीत; एक सामान्य, अवास्तविक योजना.) स्ट्राँग: "छोट्या ई-कॉमर्ससाठी मसुदा डेटा मॉडेल सुचवा. संस्था: ग्राहक, ऑर्डर, उत्पादन, ऑर्डर आयटम. मर्यादा: ऑर्डरमध्ये अनेक उत्पादने असू शकतात; उत्पादनाची किंमत कालांतराने बदलू शकते; परंतु सध्याच्या ऑर्डरनुसार मागील ऑर्डर ~0 0 0 पूर्वीच्या ऑर्डरमध्ये असणे आवश्यक आहे. अपेक्षित संबंध आणि ते का "तुम्ही निर्णय घेतला हे स्पष्ट करा. तुम्ही किंमत इतिहासाची समस्या कशी सोडवली ते निर्दिष्ट करा. ते घटक आणि फील्डची यादी म्हणून द्या, कोड नाही."
शक्तिशाली प्रॉम्प्टचा फरक; स्केल (दररोज 500 ऑर्डर), व्यवसाय नियम (मागील किंमत राखली जाणे आवश्यक आहे) आणि इच्छित आउटपुट स्वरूप. "मागील किंमत कायम ठेवली पाहिजे" सारखे एक वाक्य पूर्णपणे डिझाइन बदलते; तुम्ही हे निर्दिष्ट न केल्यास, AI एक चुकीचा परंतु प्रशंसनीय दिसणारा आकृती तयार करेल.
मिनी केसेस
केस 1 - लपलेले गृहीतक. एक कार्यसंघ थेट "वापरकर्ता प्रोफाइल फोटो अपलोड करू शकतो" विनंतीला कोड देतो. दुसऱ्या टीमने AI ला अनिश्चिततेबद्दल विचारले: "जास्तीत जास्त आकार? अनुमत स्वरूप? अयोग्य सामग्री नियंत्रण? जुना फोटो हटवा?" हे 8 प्रश्न तयार करते. जेव्हा 20 MB फायली सर्व्हर भरतात तेव्हा प्रथम संघ उत्पादनातील समस्येबद्दल शिकतो; दुसरा संघ ते डिझाइनमध्ये सोडवतो.
केस 2 - चुकीचे स्केल गृहितक. AI रिपोर्टिंग वैशिष्ट्यासाठी एक जटिल कॅशिंग स्तर प्रस्तावित करते. जेव्हा अभियंता सूचित करतात की वास्तविक डेटा दररोज फक्त 30 अहवाल आहे, तेव्हा AI सूचना सुलभ करते. स्केल निर्दिष्ट न केल्याने अनावश्यक जटिलतेचा खर्च येतो; निर्दिष्ट केल्याने 2 आठवडे अनावश्यक काम वाचते.
प्रकरण 3 - स्वीकृती निकषांमधील अंतर. "पेमेंट अयशस्वी झाल्यास काय होईल?" प्रश्न कधीही विचारला नसल्यामुळे, अयशस्वी पेमेंटच्या बाबतीत ऑर्डर सिस्टम ऑर्डरला "पुष्टी" म्हणून चिन्हांकित करेल. AI द्वारे व्युत्पन्न केलेल्या नकारात्मक परिस्थितींची यादी हे अंतर कॅप्चर करते; 1 ओळ स्वीकृती निकष वास्तविक पैशाचे नुकसान प्रतिबंधित करते.
सामान्य चुका
- विनंती थेट कोडवर पाठवणे. संदिग्धता सोडवण्यापूर्वी लिहिलेला कोड चुकीची समस्या लवकर सोडवतो.
- AI चा सामान्य "सर्वोत्तम सराव" डोळसपणे घेणे. तुम्ही तुमचा संदर्भ (स्केल, बजेट, टीम) नमूद न केल्यास शिफारस तुमच्यासाठी काम करणार नाही.
- नॉन-फंक्शनल आवश्यकता वगळणे. गती, सुरक्षा आणि स्केल निर्दिष्ट न केल्यास, डिझाइन अपूर्ण असेल.
- फक्त आनंदी परिस्थितीबद्दल विचार. रिक्त डेटा, अनधिकृत वापरकर्ता, त्रुटी स्थिती यासारख्या नकारात्मक परिस्थिती डिझाइनमध्ये समाविष्ट केल्या पाहिजेत.
- AI ला निर्णय सोपवत आहे. AI पर्याय निर्माण करते; तुमच्या व्यवसायासाठी कोणता ट्रेड-ऑफ योग्य आहे ते तुम्ही ठरवा.
सारांशात
आवश्यकतांचे विश्लेषण आणि डिझाइन ही अशी अवस्था आहे जिथे सर्वात स्वस्त त्रुटी पकडल्या जातात. येथे, AI अनिश्चितता प्रकट करणारे प्रश्न व्युत्पन्न करते, वापरकर्त्याच्या कथा आणि स्वीकृती निकषांचे मसुदे तयार करतात आणि चार्ट डिझाइन ट्रेड-ऑफ करतात. पण संदर्भ फक्त तुम्हालाच माहीत आहेत; तुमची स्केल, बजेट, टीम आणि कायदेशीर मर्यादांवर आधारित AI च्या शिफारशी फिल्टर करणे आणि अंतिम निर्णय घेणे हे तुमचे काम आहे. “माझ्यासाठी निर्णय घेऊ नका, मला पर्याय दाखवा” ही शिस्त उत्तम रचना आणि सखोल शिक्षण या दोन्हीकडे घेऊन जाते.
अर्ज कार्य
तुमच्या संदर्भातून एक-वाक्यातील नोकरीची विनंती निवडा. प्रथम, AI वर अस्पष्टता प्रॉम्प्ट लागू करा आणि आपल्या वास्तविक अडचणींसह प्रश्नांची उत्तरे द्या. नंतर स्पष्ट केलेल्या गरजेचे भाषांतर किमान 2 वापरकर्ता कथांमध्ये आणि प्रत्येकासाठी 3 स्वीकृती निकषांमध्ये करा; किमान 1 नकारात्मक परिस्थिती समाविष्ट करा. शेवटी, डिझाईन निर्णयासाठी (सिंक्रोनस/असिंक्रोनस, टेबल स्ट्रक्चर इ.) एक तुलना टेबल तयार करा आणि तुमचा स्वतःचा निर्णय 2 वाक्यांमध्ये लिहा.
चेकलिस्ट
- कोडमध्ये विनंती पास करण्यापूर्वी मी प्रश्न म्हणून संदिग्धता काढून टाकली.
- [ ] मी AI ला संदर्भ (स्केल, अधिकार, कामगिरी, कायदेशीर मर्यादा) दिला.
- [ ] मी वापरकर्ता कथा चाचणी करण्यायोग्य स्वीकृती निकषांमध्ये मोडल्या आहेत.
- [ ] मी कमीत कमी एक डाउनसाइड/एज परिस्थिती जोडली आहे.
- [ ] मी ट्रेड-ऑफ टेबलसह डिझाइन निर्णयाचे मूल्यांकन केले.
- [] मी माझ्या संदर्भावर आधारित अंतिम निर्णय घेतला, मी तो AI वर सोडला नाही.