როგორ გადავხედოთ AI-ის მიერ დაწერილ კოდს
AI-ის მიერ დაწერილი კოდის გადასახედად დაიწყეთ იმით, რა შეიცვალა — რომელი ფაილები და რატომ — და ქცევა თავად გამოსცადეთ, სანამ რომელიმე ხაზს წაიკითხავთ. ამის შემდეგ შეამოწმეთ ის ადგილები, სადაც AI-ის კოდი ყველაზე ხშირად ცდება: სერვერის მხარეს დაკარგული ნებართვის შემოწმებები, ბრაუზერისთვის გახსნილი საიდუმლოებები, შემოწმებული არმქონე შემავალი მონაცემები, პაკეტები ან ფუნქციები, რომლებიც არ არსებობს, და ისეთი რაღაცების რედაქტირება, რომელთაც არ მოუთხოვიათ.
AI წერს კოდს, რომელიც ჩვეულებრივ მუშაობს და ხშირად მოწესრიგებულად გამოიყურება. ეს აადვილებს მის დამტკიცებას რეალური შემოწმების გარეშე. ეს გზამკვლევი არის გადახედვის რუტინა, რომელიც მუშაობს იმის მიუხედავად, კოდს თავისუფლად კითხულობთ თუ საერთოდ არ კითხულობთ.
მოარგეთ გადახედვა რისკს
ყველა ცვლილებას ერთნაირი ყურადღება არ სჭირდება.
| ცვლილება | გადახედვა |
|---|---|
| ტექსტი, ფერები, განლაგება | ნახეთ წინასწარ ნახვაში კომპიუტერზე და ტელეფონზე |
| ახალი გვერდი ან ფუნქცია | გამოსცადეთ ნაკადი; გადახედეთ შეცვლილ ფაილებს |
| შესვლა, ნებართვები, გადახდები, პერსონალური მონაცემები | ფრთხილი წაკითხვა, რეალური ტესტირება, განიხილეთ მეორე მიმომხილველი |
| მონაცემთა ბაზის სტრუქტურა, მონაცემების წაშლა, მიგრაციები | წაიკითხეთ ცვლილება, გამოსცადეთ ასლზე, ჯერ სარეზერვო ასლი შექმენით |
ნაბიჯი 1: ნახეთ, რა შეიცვალა
კოდის შეფასებამდე მიიღეთ ცვლილებების სია:
- თუ პროექტი Git-შია, ნახეთ diff: ფაილები და ხაზები, რომლებიც ბოლო commit-ის შემდეგ შეიცვალა. იხილეთ როგორ გამოვიყენოთ Git AI-ით აშენებულ აპში.
- ან პირდაპირ ჰკითხეთ AI-ს:
ჩამოთვალე ყველა ფაილი, რომელიც ბოლო ცვლილებაში შეცვალე, და თითოეულისთვის ერთი წინადადებით აგიხსენი, რა შეიცვალა და რატომ.
გაფრთხილების ნიშნები ამ ეტაპზე: ფაილები, რომლებიც მოთხოვნას არ უკავშირდება, წაშლილი ფაილები, კონფიგურაციის ან დამოკიდებულებების ცვლილებები, რომელთაც არ მოუთხოვიათ.
ნაბიჯი 2: ჯერ ქცევა გამოსცადეთ
კოდის კითხვა გეუბნებათ, რისთვისაა განკუთვნილი; ტესტირება გეუბნებათ, რას აკეთებს სინამდვილეში. წაკითხვამდე:
- სცადეთ ცვლილება ჩვეულებრივ მომხმარებლად, კომპიუტერზე და ტელეფონის ზომის ეკრანზე.
- სცადეთ არასწორი შეყვანით: ცარიელი ველები, ძალიან გრძელი ტექსტი, უარყოფითი რიცხვები, წარსულის თარიღი.
- სცადეთ გასვლილი და სხვა მომხმარებლად.
- ხელახლა გაუშვით ყველაზე მნიშვნელოვანი ნაკადები: რეგისტრაცია, შესვლა, მთავარი მოქმედება, გადახდა.
თუ ტესტირება ვერ გაივლის, კითხვის დროს დაზოგეთ — მკაფიოდ აცნობეთ და AI-ს მიანდეთ გამოსწორება. იხილეთ როგორ დავწეროთ კარგი შეცდომის შესახებ მოხსენება.
ნაბიჯი 3: შეამოწმეთ ნებართვები სერვერზე
ყველაზე მნიშვნელოვანი, რაც უნდა შეამოწმოთ. AI ინსტრუმენტები ხშირად ღილაკს გვერდზე მალავენ, მაგრამ სერვერს რჩება მზადყოფნა, შეასრულოს მოქმედება ნებისმიერისთვის, ვინც სთხოვს.
ყოველი მარშრუტის ან ფუნქციისთვის, რომელიც მონაცემს კითხულობს ან ცვლის, იკითხეთ:
- ამოწმებს თუ არა, რომ მომხმარებელი შესულია?
- ამოწმებს თუ არა, რომ ამ მომხმარებელს ამ ჩანაწერზე წვდომა აქვს?
- ეს შემოწმება სერვერზეა, თუ მხოლოდ გვერდზე?
თითოეული API მარშრუტისთვის, რომელიც დაამატე ან შეცვალე, მითხარი, რა ნებართვის შემოწმებას აკეთებს სერვერზე, მოიტანე შესაბამისი ხაზი. მონიშნე ყველა მარშრუტი, რომელსაც შემოწმება არ აქვს.
შემდეგ გამოსცადეთ: შედით მომხმარებლად A, ჩაიწერეთ ჩანაწერის ID, შედით მომხმარებლად B და მოითხოვეთ ის. სრული ტესტი გაქვთ უსაფრთხოების ჩამონათვალში AI-ით აშენებული აპებისთვის.
ნაბიჯი 4: მოძებნეთ გაჟონილი საიდუმლოებები
- მოძებნეთ შეცვლილ ფაილებში ყველაფერი, რაც გასაღებს ან პაროლს ჰგავს.
- შეამოწმეთ, რომ საიდუმლო გასაღებები გარემოს ცვლადებიდან იკითხება და მხოლოდ სერვერის კოდში გამოიყენება.
- გაუფრთხილდით საჯარო პრეფიქსებს, როგორიცაა
VITE_ანNEXT_PUBLIC_საიდუმლო ცვლადებზე — ისინი ბრაუზერის კოდში ჩაიწერება.
იხილეთ როგორ შევინახოთ API გასაღებები უსაფრთხოდ.
ნაბიჯი 5: შეამოწმეთ შემავალი მონაცემები და შეცდომები
- ვალიდაცია სერვერზე. ბრაუზერის შემოწმებები შეიძლება გამოვლენ. სავალდებულო ველები, სიგრძეები, ფორმატები და დასაშვები მნიშვნელობები სერვერმაც უნდა შეამოწმოს.
- მონაცემთა ბაზის მოთხოვნები იყენებენ პარამეტრებს, და არა ტექსტს, რომელიც მომხმარებლის შეყვანის მოთხოვნაში ჩასმით აიწყობა.
- შეცდომები არ იფარება.
try/catch, რომელიც არაფერს არ აკეთებს, მარცხს მალავს. შეცდომები უნდა ჩაიწეროს ლოგში, ხოლო მომხმარებელმა უნდა ნახოს მარტივი შეტყობინება. - მომხმარებლებს არ უჩვენებენ შიდა დეტალებს — სტეკის ტრასები და მონაცემთა ბაზის შეცდომები ლოგებში უნდა იყოს.
ნაბიჯი 6: შეამოწმეთ, რომ ის ნამდვილია
AI მოდელები ზოგჯერ აწარმოებენ კოდს, რომელიც სწორად გამოიყურება, მაგრამ მიუთითებს არარსებულ რაღაცებზე.
- პაკეტები: ყოველი ახალი დამოკიდებულება უნდა იყოს ნამდვილი, მხარდაჭერილი პაკეტი ზუსტად ამ სახელით. ფრთხილად იყავით სახელების მიმართ, რომლებიც პოპულარული პაკეტების ბეჭდური შეცდომის მსგავსია.
- ფუნქციები და API-ის პარამეტრები: თუ კოდი ბიბლიოთეკის ფუნქციას ან გარე API-ის პარამეტრს იძახებს, რომელიც არასდროს გინახავთ, შეამოწმეთ ოფიციალურ დოკუმენტაციაში.
- დროებითი კოდი: მოძებნეთ
TODO,mock,fake, კოდში ჩაწერილი ნიმუშური მონაცემები ან ფუნქციები, რომლებიც ფიქსირებულ მნიშვნელობას აბრუნებენ.
ხომ არ დაამატე ახალი პაკეტები? თითოეულისთვის მომეცი ზუსტი სახელი, რისთვისაა და შეიძლება თუ არა მისი გარეშე ყოფნა.
ნაბიჯი 7: შეამოწმეთ, ჯდება თუ არა
კოდმა შეიძლება იმუშაოს და ამავდროულად აპი მოგვიანებით უფრო რთული გახადოს:
- დუბლირება. ერთი და იგივე ლოგიკა რამდენიმე ადგილას კოპირებული გადაუხვევს ერთმანეთს.
- თანმიმდევრულობა. უნდა მიჰყვებოდეს აპის დანარჩენ ნიმუშებს.
- ზომა. 20-ხაზიანი მოთხოვნა, რომელმაც 600 ხაზი დაწერა, კითხვას იმსახურებს.
- გამოუყენებელი კოდი. ძველი ვერსიები, რომლებიც ახლის გვერდით დარჩა.
არის ამ ცვლილების გამო პროექტში რამე გამოუყენებელი კოდი, ან სხვაგან დუბლირებული ლოგიკა? ნუ შეცვლი რამეს; უბრალოდ ჩამოთვალე.
გავრცელებული შეცდომები
- დამტკიცება, რადგან სუფთად გამოიყურება. მოწესრიგებულმა კოდმა შეიძლება ნებართვის შემოწმება მაინც გამოტოვოს.
- წაკითხვა ტესტირების ნაცვლად. ჯერ გამოსცადეთ; მერე წაიკითხეთ.
- მხოლოდ ნორმალური გზის ტესტირება. სცადეთ არასწორი შეყვანა, არასწორი მომხმარებელი და გასვლილი მდგომარეობა.
- არასაჭირო ფაილების ცვლილებების იგნორირება. იკითხეთ, რატომ შეიცვალა ყველა ფაილი.
- თვითგადახედვის მთლიანად ნდობა. გამოიყენეთ AI-ის გადახედვა როგორც პირველი გავლა და დაადასტურეთ ტესტირებით.
- ერთი კვირის ცვლილებების ერთდროულად გადახედვა. გადახედეთ პატარა ცვლილებებს მაშინვე, როცა ისინი ხდება.
ჩამონათვალი
- ვიცი, რომელი ფაილები შეიცვალა და რატომ, და არაფერი არასაჭირო არ შეცვლილა.
- ცვლილება მუშაობს კომპიუტერზე და ტელეფონზე, არასწორ შეყვანაზე, გასვლილ მდგომარეობასა და სხვა მომხმარებლად.
- ყოველი მონაცემთა მარშრუტი სერვერზე ამოწმებს შესვლასა და საკუთრებას.
- საიდუმლოებები არ არის კოდში ან ბრაუზერის ნაკრებებში.
- შემავალი მონაცემები სერვერზე მოწმდება; მოთხოვნები იყენებენ პარამეტრებს.
- შეცდომები ილოგება, არ იფარება და მომხმარებლებს დეტალურად არ უჩვენდება.
- ახალი პაკეტები ნამდვილია და საჭიროა; გამოგონილი ფუნქციები ან დროებითი ნიმუშები არ რჩება.
- მაღალი რისკის ცვლილებას ფრთხილად წაკითხვა და, საჭიროებისამებრ, მეორე მიმომხილველი ჰქონდა.
კოდის გადახედვა Mythex-ზე
- Ask mode პასუხობს კოდის შესახებ კითხვებს მის შეცვლის გარეშე — იდეალურია მოთხოვნებისთვის „ახსენი ყოველი ცვლილება“ და „რომელ მარშრუტებს არ აქვთ ნებართვის შემოწმება“. იხილეთ ჩატი.
- Code view აჩვენებს ფაილების ხეს, რედაქტორსა და ტერმინალს ყველა გეგმაზე (Free-ზე მხოლოდ წაკითხვადი, Pro-ზე რედაქტირებადი), რომ თავად წაიკითხოთ, რა შეიცვალა. იხილეთ კოდის რედაქტორი.
/testაგენტს აძლევს საშუალებას, წინასწარ ნახვაში მომხმარებლის მსგავსად დააწკაპუნოს და გაუმართავი ნაკადები მოგახსენოთ.- Checkpoints საშუალებას გაძლევთ დააბრუნოთ ცვლილება, რომელიც გადახედვას ვერ გაივლის.
თუ დეველოპერი გადაგიხედავთ, როგორ ვიმუშაოთ დეველოპერთან AI-ით აშენებულ აპზე ჩაბარებას ეხება; თუ გადახედვისას შეცდომა გამოჩნდება, იხილეთ როგორ გავასწოროთ შეცდომები AI-ით აშენებულ აპში.
კითხვები
შემიძლია AI-ის კოდის გადახედვა, თუ დეველოპერი არ ვარ?
ბევრის გადახედვა შეგიძლიათ. შეამოწმეთ, რომ ცვლილება ზუსტად ის აკეთებს, რაც სთხოვეთ, გამოსცადეთ მნიშვნელოვანი ნაკადები, სცადეთ სხვა მომხმარებლის მონაცემებზე წვდომა და სთხოვეთ AI-ს, ყოველი შეცვლილი ფაილი მარტივი ენით აგიხსნათ. გადახდებზე, მგრძნობიარე მონაცემებზე ან უსაფრთხოებაზე დეველოპერმაც უნდა შეხედოს.
რომელი პრობლემებია ყველაზე გავრცელებული AI-ის კოდში?
სერვერის მხარეს დაკარგული ნებართვის შემოწმებები, საიდუმლოებები იქ, სადაც ბრაუზერს შეუძლია მათი წაკითხვა, სერვერზე არაშემოწმებული შემავალი მონაცემები, პაკეტები ან ფუნქციები, რომლებიც არ არსებობს, შეცდომები, რომლებიც უხმოდ იფარება, და ისეთი ფაილების ცვლილებები, რომელთაც არ მოუთხოვიათ.
შემიძლია AI-ს ვთხოვო საკუთარი კოდის გადახედვა?
დიახ, და ის ხშირად რეალურ პრობლემებს პოულობს, განსაკუთრებით თუ კონკრეტულ კითხვებს დასვამთ, მაგალითად რომელ მარშრუტებს არ აქვთ ნებართვის შემოწმება. ეს მიიღეთ როგორც პირველ გავლად და არა როგორც გარანტიად, და მისი დასკვნები ტესტირებით დაადასტურეთ.
რამდენ ხანს უნდა გრძელდებოდეს კოდის გადახედვა?
მოარგეთ რისკს. ტექსტის ან სტილის ცვლილებას სწრაფად უნდა გადახედოთ წინასწარ ნახვაში. შესვლის, ნებართვების, გადახდების ან მონაცემთა ბაზის ცვლილებები საფუძვლიან წაკითხვას, რეალურ ტესტირებასა და შესაძლოა მეორე ადამიანსაც იმსახურებს.