Табыстар:
- Жасанды интеллект қолдауымен анық емес іскери сұрауларды анық, тексерілетін бағдарламалық қамтамасыз ету талаптарына және пайдаланушы әңгімелеріне түрлендіру мүмкіндігі
- Жүйе дизайнының, деректер моделінің және архитектуралық шешімдердің жақсы және жаман жақтарын AI-мен құрылымдық түрде салыстыру мүмкіндігі
- AI ұсынылған дизайнын талаптарға, масштабтауға және шектеулерге қарсы сыни тексеру мүмкіндігі
Бағдарламалық жасақтама жобаларының көпшілігі нашар кодқа байланысты емес, дұрыс түсінілмеген талаптарға байланысты сәтсіздікке ұшырайды. «Пайдаланушыларға есептерді жүктеп алуға рұқсат етіңіз» сияқты бір сөйлемнен тұратын сұрау ондаған жауапсыз сұрақтарды қалдырады: Қандай форматта? Кім жауапты? Қанша рекорд? Баяу болса ше? Талаптарды талдау (бизнес сұранысын анық, тексерілетін техникалық қажеттіліктерге аудару) және бағдарламалық жасақтаманы жобалау (осы қажеттіліктерді қанағаттандыру үшін құрылымды қағазда құру) кодты жазу алдында ең қымбат қателердің алдын алатын кезең болып табылады. Бұл бөлімде біз осы кезеңде AI-ді «ой серіктесі» ретінде пайдалануды үйренеміз: белгісіздікті ашатын, опцияларды сұрыптайтын, бірақ соңғы шешімді өзіңізге қалдыратын серіктес.
AI мұнда екі үлкен мәнді шығарады. Біріншіден, ол сіз өткізіп жіберген сұрақтарды қояды; Ол сұраудағы жасырын болжамдар мен шеткі жағдайларды бетіне шығарады. Екіншіден, ол дизайн шешімінің жақсы және жаман жақтарын жылдам кестеге шығарады. Бірақ бұл қауіп: AI сіздің контекстіңізді (бюджет, команда, қолданыстағы жүйе, заңдық шектеу) толық білмей-ақ «ең жақсы тәжірибе» ретінде жалпы ұсыныстар береді. Бұл кеңесті өзіңіздің шындыққа қарсы сүзгілеу сіздің міндетіңіз.
Ұғымдар: Қолданушы оқиғасы: «... сияқты, мен... өйткені...» түріндегі қажеттілікті білдіретін қысқа сөйлем. Қабылдау критерийлері: Жұмысты «орындалды» деп санау үшін орындалуы қажет сынақтан өтетін шарттар. Функционалды емес талап: жылдамдық, қауіпсіздік, ауқымдылық сияқты «ол не істейтініне» емес, «ол өзін қалай ұстайтынына» қатысты талаптар.
Анық емес сұраудан сыналатын талапқа дейін
Жақсы талап өлшенетін және тексерілетін. «Жүйе жылдам болсын» емес, «іздеу нәтижелері 500 мс ішінде қайтарылсын». Міне, белгісіздікті азайту үшін AI пайдаланудың қадамдық жолы:
- Сұрауды сол күйінде беріңіз және сұрақты жасаңыз. AI-дан шешімді емес, алдымен «осы сұраудағы түсініксіз нәрсені сұрақ ретінде көрсетуді» сұраңыз.
- Жауаптарын бересіз. Тек сіз контекстті білесіз; AI сұрақтарына нақты бизнес шектеулеріңізбен жауап беріңіз.
- Оны пайдаланушы әңгімелеріне және қабылдау критерийлеріне аударыңыз. Нақтыланған қажеттілікті сыналатын элементтерге аударыңыз.
- Шеткі жағдайлар мен теріс сценарийлерді қосыңыз. «Бос нәтиже», «рұқсат етілмеген пайдаланушы», «тым үлкен файл» т.б.
Түсініксіздікті жоюға шақыру: "Келесі іскерлік сұрауды бағдарламалық қамтамасыз ету талабына аударамыз. Әлі шешім ұсынбаңыз. Біріншіден, осы сұрауда жауап берілмеген БАРЛЫҚ түсініксіздікті және жасырын болжамдарды сұрақтар тізімі ретінде шығарып алыңыз. Сұрақтарды келесі тақырыптар бойынша топтаңыз: ауқым, пайдаланушы/өкілеттілік, деректер көлемі, өнімділік, қате жағдайлары, пайдаланушылардың жүктеп алу тәртібін қайта сұрау'L."
Пайдаланушы оқиғасы + қабылдау критерийлері сұрауы: "Келесі нақтыланған қажеттілікті INVEST қағидаттарына сәйкес келетін пайдаланушы оқиғаларына бөліңіз. Әрбір оқиға үшін 3-5 тексерілетін қабылдау критерийін жазыңыз (Берілген-Қашан-Сосын пішімінде). Кемінде 2 теріс сценарийді қосыңыз (рұқсат етілмеген кіру, бос деректер). Қажет: [мына жерде жазу]"
Дизайн шешімдерін AI-мен салыстыру
Дизайн - бұл тұрақты келіссөз: жылдамдық пен икемділік, қарапайымдылық пен ауқымдылық? AI бұл келісімдерді жылдам электрондық кестеге енгізеді. Мысалы, «хабарламаны жіберу» мүмкіндігі үшін синхронды (сұраныс бойынша жіберу) немесе асинхронды (кезек, фондық режимде жіберу) тәсілді пайдалану керектігін талқылауға болады.
Дизайнды салыстыру кеңесі: "Мен "пайдаланушыға электрондық пошта хабарландыруын жіберу" мүмкіндігін әзірлеп жатырмын. Екі тәсілді салыстырыңыз: (A) HTTP сұрауы кезінде синхронды жеткізу, (B) хабарлар кезегіне қою арқылы фондық режимде асинхронды жеткізу. Келесі осьтер бойынша кесте жасаңыз: пайдаланушының күту уақыты, қатеге төзімділік, күрделілік, жөндеудің қиындығы. Мен қайсысын таңдайтын едім, бұл жағдайда мен үшін шешім қабылдамаңыз.
ось
синхронды беру
Асинхронды (кезек)
Пайдаланушының күту уақыты
Ұзақ (жөнелтуді күту)
Қысқа (бірден қайтарылады)
Ақауларға төзімділік
Төмен (жіберу жарылса, сұрау жарылады)
Жоғары (қайталау мүмкін)
күрделілік
төмен
Орташа жоғары (кезек инфрақұрылымы)
Инфрақұрылым құны
төмен
Қосымша компоненттер қажет
Қай жерде сәйкес келеді
Төмен көлем, қарапайым қолдану
Жоғары көлем, сыни жеткізу
Кеңес: AI-ға «мен үшін шешім қабылдама, маған опциялар мен шарттарды көрсет» деп айту сізді ойлауға мәжбүр етеді және ұсынысты соқыр қабылдау қаупін азайтады. Ең жақсы дизайн шешімі - сіздің контекстіңізді (сіз) білетін адам қабылдаған шешім.
Әлсіз шақыру / Күшті шақыру
ƏЛСІЗ: «Тапсырыс жүйесі үшін деректер базасын жобалау». (Нәтиже: қандай масштаб, қандай қатынас, қандай шектеулер анық емес; жалпы, шындыққа жанаспайтын схема.) КҮШТІ: "Шағын электрондық коммерция үшін деректер үлгісінің жобасын ұсыныңыз. Нысандар: Тұтынушы, Тапсырыс, Өнім, Тапсырыс тармағы. Шектеулер: тапсырыста көптеген өнімдер болуы мүмкін; өнімнің бағасы уақыт өте келе өзгеруі мүмкін, бірақ тапсырыс бойынша ағымдағы баға өткен күнде сақталады50; Қарым-қатынастар және неге бұл «Шешімді қабылдағаныңызды түсіндіріңіз. Баға тарихы мәселесін қалай шешкеніңізді көрсетіңіз. Оны код емес, нысандар мен өрістер тізімі ретінде беріңіз."
Күшті шақырудың айырмашылығы; шкала (тәулігіне 500 тапсырыс), бизнес ережесі (өткен баға сақталуы керек) және қажетті шығару пішімі. «Бұрынғы баға сақталуы керек» сияқты бір сөйлем дизайнды толығымен өзгертеді; Егер сіз мұны көрсетпесеңіз, AI дәл емес, бірақ сенімді көрінетін диаграмманы шығарады.
Шағын корпустар
1-жағдай – Жасырын болжам. Топ "пайдаланушы профильдік фотосуретті жүктей алады" сұрауын тікелей кодтайды. Басқа команда AI-дан белгісіздік туралы сұрады: "максималды өлшем? рұқсат етілген форматтар? сәйкессіз мазмұнды басқару? ескі фотосуретті жою керек пе?" сияқты 8 сұрақ шығарады. Бірінші топ 20 Мбайт файлдар серверді толтырған кезде өндірістегі мәселе туралы біледі; Екінші топ оны жобалауда шешеді.
2-жағдай — Шкаланың дұрыс емес болжамы. AI есеп беру мүмкіндігі үшін күрделі кэштеу қабатын ұсынады. Инженер нақты деректер күніне небәрі 30 есеп екенін көрсеткенде, AI ұсынысты жеңілдетеді. Масштабты көрсетпеу қажетсіз күрделіліктің құнын тудырады; нақтылау 2 апта қажетсіз жұмысты үнемдейді.
3-жағдай – Қабылдау критерийлерінің алшақтығы. «Егер төлем сәтсіз болса не болады?» Сұрақ ешқашан қойылмағандықтан, төлем сәтсіз болған жағдайда тапсырыс жүйесі тапсырысты «расталды» деп белгілейді. AI жасаған теріс сценарийлер тізімі осы алшақтықты қамтиды; 1 жолды қабылдау критерийлері нақты ақшаның жоғалуына жол бермейді.
Жалпы қателер
- Сұрауды тікелей кодқа жіберу. Анықсыздық шешілмес бұрын жазылған код қате мәселені тез шешеді.
- AI-ның жалпы «үздік тәжірибесін» соқыр түрде қабылдау. Мәтінмәнді (масштаб, бюджет, топ) көрсетпесеңіз, ұсыныс сіз үшін жұмыс істемейді.
- Функционалды емес талаптарды өткізіп жіберу. Егер жылдамдық, қауіпсіздік және масштаб көрсетілмесе, дизайн толық емес болады.
- Тек бақытты сценарий туралы ойлау. Бос деректер, рұқсат етілмеген пайдаланушы, қате күйі сияқты теріс сценарийлер дизайнға қосылуы керек.
- Шешімді AI-ға беру. AI опцияларды жасайды; Сіздің бизнесіңізге қай сауда-саттық сәйкес келетінін өзіңіз шешесіз.
Қысқаша
Талаптарды талдау және жобалау - ең арзан қателер анықталатын кезең. Мұнда AI белгісіздікті ашатын сұрақтарды жасайды, пайдаланушы оқиғалары мен қабылдау критерийлерін жасайды және диаграммаларды құрастырады. Бірақ контекстті сіз ғана білесіз; Сіздің міндетіңіз - сіздің ауқымыңыз, бюджетіңіз, командаңыз және заңды шектеулер негізінде AI ұсыныстарын сүзгілеу және соңғы шешімді қабылдау. «Мен үшін шешім қабылдама, маған нұсқаларды көрсет» пәні дизайнды жақсартуға және тереңірек үйренуге әкеледі.
Қолданбалы тапсырма
Мәтінмәннен бір сөйлемнен тұратын жұмыс сұрауын таңдаңыз. Біріншіден, AI-ге түсініксіз сұрауды қолданыңыз және сұрақтарға нақты шектеулеріңізбен жауап беріңіз. Содан кейін нақтыланған қажеттілікті кем дегенде 2 пайдаланушы әңгімесіне және әрқайсысы үшін 3 қабылдау критерийіне аударыңыз; Кемінде 1 теріс сценарийді қосыңыз. Соңында жобалау шешімі үшін салыстыру кестесін жасаңыз (синхронды/асинхронды, кесте құрылымы және т.б.) және өз шешіміңізді 2 сөйлеммен жазыңыз.
бақылау парағы
- [ ] Мен сұрауды кодқа жібермес бұрын сұрақтар ретінде түсініксіз жерлерді алып тастадым.
- [ ] Мен AI-ға контекст (масштаб, өкілеттік, өнімділік, заңды шектеу) бердім.
- [ ] Мен пайдаланушы оқиғаларын тексерілетін қабылдау критерийлеріне бөлдім.
- [ ] Мен кем дегенде бір жағымсыз/жиек сценарийді қостым.
- [ ] Мен дизайн шешімін айырбастау кестесімен бағаладым.
- [ ] Мен өзімнің контекстім негізінде соңғы шешімді қабылдадым, мен оны AI-ға қалдырған жоқпын.