შეუძლია თუ არა GitHub-ის Copilot AI-ს გართობა დეველოპერად ააგო?
GitHub მკვლევარები ადარებენ, თუ რამდენად სწრაფად შეუძლიათ დეველოპერებს კოდირება Copilot- ის AI დახმარებით, ჯგუფის წინააღმდეგ, რომელიც ეყრდნობა სტანდარტული დეველოპერის პრაქტიკას.
AI- ს დახმარებით დეველოპერის პროდუქტიულობის გაზომვის მისიაზე, GitHub- ის მკვლევარებმა ცოტა ხნის წინ ჩაატარეს ექსპერიმენტი, რომელიც ადარებდა ჯგუფის კოდირების სიჩქარეს მისი Copilot კოდის დასრულების ინსტრუმენტის გამოყენებით, მხოლოდ ადამიანის უნარზე დაყრდნობით.
GitHub Copilot არის AI წყვილის პროგრამირების სერვისი, რომელიც საჯაროდ დაიწყო ამ წლის დასაწყისში თვეში 10 დოლარად ან წელიწადში 100 აშშ დოლარად. დაწყების შემდეგ, მკვლევარებს აინტერესებთ იცოდნენ, ნამდვილად თარგმნიან თუ არა ეს AI ინსტრუმენტები დეველოპერის პროდუქტიულობის გაზრდას. დაჭერა ის არის, რომ ადვილი არ არის სწორი მეტრიკის იდენტიფიცირება შესრულების ცვლილებების გასაზომად.
Copilot გამოიყენება როგორც კოდის რედაქტორების გაფართოება, როგორიცაა Microsoft- ის VS კოდი. ის ქმნის კოდების შემოთავაზებებს პროგრამირების მრავალ ენაზე, რომელთა მიღება, უარყოფა ან რედაქტირება შეუძლია მომხმარებლებს. შემოთავაზებებს გთავაზობთ OpenAI's Codex, სისტემა, რომელიც თარგმნის ბუნებრივ ენას კოდირებაზე და ემყარება OpenAI- ს GPT-3 ენის მოდელს .
იხილეთ: რა არის კოდირება და რისთვის გამოიყენება? დამწყებთათვის გზამკვლევი
Google Research-მა და Google Brain-ის გუნდმა ივლისში დაასკვნეს, რომ AI კოდის წინადადებების გავლენის შესწავლის შემდეგ საკუთარი დეველოპერების პროდუქტიულობის 10,000-ზე მეტზე, რომ დებატები შედარებით შესრულების სიჩქარეზე რჩება "ღია კითხვად". ეს მიუხედავად იმისა, რომ ტრადიციული წესებზე დაფუძნებული სემანტიკური ძრავებისა და დიდი ენის მოდელების კომბინაცია, როგორიცაა Codex/Copilot, "შეიძლება გამოყენებულ იქნას დეველოპერის პროდუქტიულობის მნიშვნელოვნად გასაუმჯობესებლად კოდის უკეთესი დასრულებით".
მაგრამ როგორ გავზომოთ პროდუქტიულობა? სხვა მკვლევარებმა ამ წლის დასაწყისში, 24 დეველოპერის მცირე ნიმუშის გამოყენებით, დაადგინეს, რომ კოპილოტმა სულაც არ გააუმჯობესა დავალების დასრულების დრო ან წარმატების მაჩვენებელი. ამასთან, მან აღმოაჩინა, რომ კოპილოტმა გადაარჩინა დეველოპერები, რომ ეძებონ ონლაინ კოდის ფრაგმენტები კონკრეტული პრობლემების გადასაჭრელად. ეს არის მნიშვნელოვანი მაჩვენებელი იმისა, თუ რამდენად შეუძლია AI ინსტრუმენტს, როგორიცაა Copilot, შეუძლია შეამციროს კონტექსტური კონცენტრატორები, როდესაც დეველოპერები რედაქტორიდან გამოდიან პრობლემის გადასაჭრელად.
GitHub- მა ასევე გამოკითხა 2,600 -ზე მეტი დეველოპერი, დასვა კითხვები, როგორიცაა: "ადამიანები გრძნობენ, რომ GitHub Copilot მათ უფრო პროდუქტიულს ხდის?" მის მკვლევარებს ასევე ჰქონდათ სარგებელი ფართომასშტაბიანი ტელემეტრიის მონაცემებზე უნიკალური წვდომით და ივნისში გამოაქვეყნეს კვლევა. სხვა საკითხებთან ერთად, მკვლევარებმა დაადგინეს, რომ მომხმარებელთა 60% -დან 75% -მდე უფრო მეტად ასრულებს თავის საქმეს Copilot- ის გამოყენებისას, თავს ნაკლებად იმედგაცრუებულად გრძნობს კოდირების დროს და შეუძლია ფოკუსირება მოახდინოს უფრო დამაკმაყოფილებელ სამუშაოზე.
"ჩვენს კვლევაში ჩვენ ვნახეთ, რომ GitHub Copilot მხარს უჭერს დასრულების უფრო სწრაფ დროს, ინარჩუნებს დეველოპერების გონებრივ ენერგიას, ეხმარება მათ ფოკუსირება მოახდინონ უფრო დამაკმაყოფილებელ სამუშაოზე და საბოლოოდ უფრო სახალისო აღმოჩნდნენ კოდირებაში," - თქვა GitHub- მა.
GitHub- ის მკვლევარმა, დოქტორმა ეირინი კალიამვაკუმ, განმარტა მიდგომა: "ჩვენ ჩავატარეთ კვლევის მრავალი რაუნდი, მათ შორის თვისობრივი (აღქმის) და რაოდენობრივი (დაფიქსირებული) მონაცემები სრული სურათის შესაქმნელად. ჩვენ გვინდოდა გადაამოწმოთ: (ა) ადასტურებს თუ არა მომხმარებლების რეალური გამოცდილება იმას, რასაც ტელემეტრიიდან ვუყვებით? (ბ) ჩვენი თვისებრივი გამოხმაურება განზოგადდება ჩვენს დიდ მომხმარებლის ბაზაზე?"
Kalliamvakou, რომელიც მონაწილეობდა თავდაპირველ კვლევაში, ახლა მასზე აშენდა ექსპერიმენტით, რომელშიც ჩართულია 95 დეველოპერი, რომლებიც ყურადღებას ამახვილებდნენ კოდირების სიჩქარის საკითხზე კოპილოტისთან და მის გარეშე.
ამ კვლევამ აჩვენა, რომ ჯგუფმა, რომელიც იყენებდა Copilot ( 45 დეველოპერი) დაასრულა დავალება საშუალოდ 1 საათის და 11 წუთის განმავლობაში. ჯგუფმა, რომელმაც არ გამოიყენა Copilot (50 დეველოპერი) დაასრულა იგი საშუალოდ 2 საათში და 41 წუთში. ასე რომ, Copilot- ის ჯგუფი 55% -ით უფრო სწრაფი იყო, ვიდრე ჯგუფი მის გარეშე.
კალიამვაკუმ ასევე აღმოაჩინა ჯგუფის უფრო მაღალი პროცენტი Copilot- ით დაასრულა დავალება - Copilot ჯგუფის 78% 70% ჯგუფში კოპილოტის გარეშე.
კვლევა შეზღუდულია ბუნებით, რადგან მან შეადარა მხოლოდ დეველოპერების სიჩქარე JavaScript- ში ვებ სერვერის კოდირებისას და სხვა დავალებები, რომლებიც მოიცავს სხვა ენებს, როგორიცაა Python ან Java. ასევე, მან არ შეაფასა კოდის ხარისხი.
და ექსპერიმენტმა არ დაათვალიერა ფაქტორები, რომლებიც ხელს უწყობენ პროდუქტიულობას, როგორიცაა კონტექსტის გადართვა. ამასთან, GitHub- ის ადრინდელმა კვლევამ აჩვენა, რომ დეველოპერების 73% -მა განაცხადა, რომ Copilot დაეხმარა მათ ნაკადში დარჩენაში.
ელ.ფოსტაში, Kalliamvakou- მ ZDNET- ს განუმარტა, რას ნიშნავდა ეს მაჩვენებელი კონტექსტის გადართვისა და დეველოპერის პროდუქტიულობის თვალსაზრისით.
""ნაკადში დარჩენა", რა თქმა უნდა, გულისხმობს ნაკლები კონტექსტის გადართვას და ჩვენ გვაქვს დამატებითი მტკიცებულებები. გამოკითხულთა 77%-მა განაცხადა, რომ GitHub Copilot-ის გამოყენებისას ისინი ნაკლებ დროს უთმობენ ძებნას", - წერს იგი.
"განცხადება აფასებს დეველოპერებისთვის ცნობილი კონტექსტური გადართვის შეცვლას, როგორიცაა დოკუმენტაციის ძებნა, ან Q&A საიტების მონახულება, როგორიცაა Stack Overflow პასუხების მოსაძებნად ან კითხვების დასმის მიზნით. GitHub Copilot- ით რედაქტორში ინფორმაციის შემოტანა, დეველოპერებს არ სჭირდებათ IDE- დან გადართვა, როგორც ხშირად", - განმარტა მან.
მაგრამ კონტექსტის გადართვის გამოყენება მხოლოდ AI კოდის წინადადებებიდან გაუმჯობესებული პროდუქტიულობის გასაზომად ვერ აჩვენებს სრულ სურათს. ასევე არსებობს "კარგი" და "ცუდი" კონტექსტის გადართვა, რაც ართულებს კონტექსტის გადართვის გავლენის გაზომვას.
იხილეთ: მონაცემთა მეცნიერი vs მონაცემთა ინჟინერი: როგორ იცვლება მოთხოვნა ამ როლებზე
ტიპიური დავალების დროს დეველოპერები ბევრს გადადიან სხვადასხვა საქმიანობას, ინსტრუმენტებსა და საინფორმაციო წყაროებს შორის, განმარტა კალიამვაკუმ.
მან მიუთითა 2014 წელს გამოქვეყნებულ კვლევაზე, რომელმაც დაადგინა, რომ დეველოპერები საშუალოდ 1.6 წუთს ხარჯავენ აქტივობაზე გადართვამდე, ან საშუალოდ 47-ჯერ საათში .
"ეს მხოლოდ მათი მუშაობის ხასიათისა და უამრავი ინსტრუმენტის გამო გამოიყენება, ამიტომ ითვლება "კარგი" კონტექსტის გადართვად. ამის საპირისპიროდ, არსებობს "ცუდი" კონტექსტის გადართვა შეფერხებების ან შეფერხებების გამო", - თქვა მან.
"ჩვენ აღმოვაჩინეთ ჩვენს ადრეულ კვლევაში, რომ ეს ძალიან მტკივა პროდუქტიულობას, ისევე როგორც დეველოპერების საკუთარი პროგრესის გრძნობას. კონტექსტის გადართვა ძნელია გასაზომად, რადგან ჩვენ არ გვაქვს კარგი გზა, რომ განვასხვავოთ ავტომატურად "კარგი" და "ცუდი" შემთხვევები - ან როდესაც შეცვლა არის დავალების შესრულების ნაწილი, წინააღმდეგ იწვევს დეველოპერების ნაკადის და პროდუქტიულობის შეფერხებას. თუმცა, არსებობს გზები, რომ შევაფასოთ კონტექსტის გადართვა თვითრეპორტებისა და დაკვირვებების საშუალებით, რომლებსაც ჩვენ ვიყენებთ ჩვენს კვლევაში.
რაც შეეხება კოპილოტის სხვა ენებთან მუშაობას, კალიამვაკუ ამბობს, რომ ის მომავალში ექსპერიმენტების ჩატარებით არის დაინტერესებული.
"რა თქმა უნდა, სახალისო ექსპერიმენტი იყო. ეს კონტროლირებადი ექსპერიმენტები საკმაოდ შრომატევადია, რადგან ჩვენ ვცდილობთ, რომ ისინი უფრო დიდი ან ყოვლისმომცველი გავხადოთ, მაგრამ მომავალში სხვა ენებზე ტესტირების შესწავლა მინდა", - თქვა მან.
Kalliamvakou- მ გამოაქვეყნა სხვა ძირითადი დასკვნები GitHub- ის ფართომასშტაბიანი გამოკითხვიდან ბლოგპოსტში, სადაც დეტალურად არის აღწერილი მისი მცდელობა, რომ იპოვოს ყველაზე შესაფერისი მეტრიკა დეველოპერის პროდუქტიულობის შესაფასებლად.
