სტუბი ChatDev: პროგრამული უზრუნველყოფის განვითარების საკომუნიკაციო აგენტები - Unite.AI
დაკავშირება ჩვენთან ერთად

ხელოვნური ინტელექტი

ChatDev: საკომუნიკაციო აგენტები პროგრამული უზრუნველყოფის განვითარებისთვის

mm
განახლებულია on
ChatDev: AI-ის დახმარებით პროგრამული უზრუნველყოფის განვითარება

პროგრამული უზრუნველყოფის განვითარების ინდუსტრია არის დომენი, რომელიც ხშირად ეყრდნობა როგორც კონსულტაციას, ასევე ინტუიციას, რომელიც ხასიათდება გადაწყვეტილების მიღების რთული სტრატეგიებით. გარდა ამისა, პროგრამული უზრუნველყოფის შემუშავება, შენარჩუნება და ექსპლუატაცია მოითხოვს დისციპლინირებულ და მეთოდურ მიდგომას. ჩვეულებრივია, რომ პროგრამული უზრუნველყოფის შემქმნელები გადაწყვეტილებებს ეყრდნობიან ინტუიციაზე და არა კონსულტაციაზე, რაც დამოკიდებულია პრობლემის სირთულეზე. პროგრამული უზრუნველყოფის ინჟინერიის ეფექტურობის გაზრდის მცდელობისას, პროგრამული უზრუნველყოფის ეფექტურობისა და განვითარების ხარჯების შემცირების ჩათვლით, მეცნიერები იკვლევენ ღრმა სწავლაზე დაფუძნებული ჩარჩოების გამოყენებას პროგრამული უზრუნველყოფის განვითარების პროცესში სხვადასხვა ამოცანების გადასაჭრელად. ღრმა სწავლისა და ხელოვნური ინტელექტის სექტორებში ბოლო განვითარებით და მიღწევებით, დეველოპერები ეძებენ გზებს პროგრამული უზრუნველყოფის განვითარების პროცესებისა და პრაქტიკის გარდაქმნისთვის. ისინი ამას აკეთებენ პროგრამული უზრუნველყოფის განვითარების პროცესის სხვადასხვა ეტაპზე განხორციელებული დახვეწილი დიზაინის გამოყენებით.

დღეს ჩვენ განვიხილავთ ChatDev-ს, Large Language Model (LLM) დაფუძნებულ, ინოვაციურ მიდგომას, რომელიც მიზნად ისახავს რევოლუციას მოახდინოს პროგრამული უზრუნველყოფის განვითარების სფეროში. ეს პარადიგმა ცდილობს აღმოფხვრას სპეციალიზებული მოდელების საჭიროება განვითარების პროცესის ყოველ ფაზაში. ChatDev ჩარჩო იყენებს LLM ჩარჩოების შესაძლებლობებს, იყენებს ბუნებრივ ენაზე კომუნიკაციას პროგრამული უზრუნველყოფის განვითარების ძირითადი პროცესების გაერთიანებისა და გასამარტივებლად.

ამ სტატიაში ჩვენ განვიხილავთ ChatDev-ს, ვირტუალურ ფუნქციონირებულ კომპანიას, რომელიც სპეციალიზირებულია პროგრამული უზრუნველყოფის შემუშავებაში. ChatDev იღებს ჩანჩქერის მოდელს და ზედმიწევნით ყოფს პროგრამული უზრუნველყოფის განვითარების პროცესს ოთხ ძირითად ეტაპად.

  1. დიზაინი. 
  2. კოდირება. 
  3. ტესტირება. 
  4. დოკუმენტაცია. 

თითოეული ეს ეტაპი ავრცელებს ვირტუალური აგენტების გუნდს, როგორიცაა კოდის პროგრამისტები ან ტესტერები, რომლებიც თანამშრომლობენ ერთმანეთთან დიალოგების გამოყენებით, რაც იწვევს უწყვეტ სამუშაო პროცესს. ჩეთის ჯაჭვი მუშაობს როგორც ფასილიტატორი და ანაწილებს განვითარების პროცესის თითოეულ ეტაპს ატომურ ქვეამოცნებებად, რითაც იძლევა ორმაგ როლებს, რაც საშუალებას აძლევს წინადადებებს და გადაწყვეტილებების დადასტურებას კონტექსტური კომუნიკაციების გამოყენებით, რაც დეველოპერებს საშუალებას აძლევს ეფექტურად გადაჭრას მითითებული ქვეამოცნები. 

ChatDev: AI-ის დახმარებით პროგრამული უზრუნველყოფის განვითარება

ChatDev-ის ინსტრუმენტული ანალიზი აჩვენებს, რომ ChatDev ჩარჩო არა მხოლოდ ძალზე ეფექტურია პროგრამული უზრუნველყოფის შემუშავების პროცესის დასასრულებლად, არამედ ძალიან ეფექტურია და ასევე ასრულებს პროგრამული უზრუნველყოფის შემუშავების მთელ პროცესს სულ რაღაც დოლარში. გარდა ამისა, ჩარჩო არა მხოლოდ იდენტიფიცირებს, არამედ ამსუბუქებს პოტენციურ მოწყვლადობას, ასწორებს პოტენციურ ჰალუცინაციებს, ეს ყველაფერი მაღალი ეფექტურობისა და ხარჯების ეფექტურობის შენარჩუნებით. 

ChatDev: შესავალი LLM-ის პროგრამული უზრუნველყოფის შემუშავებაში

ტრადიციულად, პროგრამული უზრუნველყოფის განვითარების ინდუსტრია არის ის, რომელიც აგებულია დისციპლინირებული და მეთოდური მიდგომის საფუძვლებზე არა მხოლოდ აპლიკაციების შემუშავებისთვის, არამედ მათი შენარჩუნებისა და ფუნქციონირებისთვის. ტრადიციულად რომ ვთქვათ, ტიპიური პროგრამული უზრუნველყოფის შემუშავების პროცესი არის უაღრესად რთული, რთული და შრომატევადი პროცესი ხანგრძლივი განვითარების ციკლებით, რადგან განვითარების პროცესში ჩართულია მრავალი როლი, მათ შორის ორგანიზაციაში კოორდინაცია, ამოცანების განაწილება, კოდის დაწერა. ტესტირება და ბოლოს დოკუმენტაცია. 

ბოლო რამდენიმე წლის განმავლობაში, დახმარებით LLM ან დიდი ენის მოდელებიხელოვნური ინტელექტის საზოგადოებამ მიაღწია მნიშვნელოვან ეტაპებს კომპიუტერული ხედვისა და ბუნებრივი ენის დამუშავების სფეროებში და „შემდეგი სიტყვების პროგნოზირების“ პარადიგმებზე ტრენინგის შემდეგ, Large Language Models-მა კარგად აჩვენა მათი უნარი, დააბრუნონ ეფექტური შესრულება ქვემოთ მოცემული ამოცანების ფართო სპექტრში. როგორიცაა მანქანური თარგმანი, კითხვებზე პასუხის გაცემა და კოდის გენერაცია. 

მიუხედავად იმისა, რომ დიდ ენობრივ მოდელებს შეუძლიათ დაწერონ კოდი მთელი პროგრამული უზრუნველყოფისთვის, მათ აქვთ მნიშვნელოვანი ნაკლი: კოდის ჰალუცინაციები, რომელიც საკმაოდ ჰგავს ჰალუცინაციებს, რომლებსაც აწყდება ბუნებრივი ენის დამუშავების ჩარჩოები. კოდის ჰალუცინაციები შეიძლება შეიცავდეს ისეთ საკითხებს, როგორიცაა აღმოჩენილი შეცდომები, დაკარგული დამოკიდებულებები და ფუნქციების არასრული განხორციელება. კოდის ჰალუცინაციების ორი ძირითადი მიზეზი არსებობს. 

  • დავალების არარსებობა: პროგრამული კოდის ერთ საფეხურზე გენერირებისას, ამოცანის სპეციფიკის არ განსაზღვრა აბნევს LLM-ებს, როგორც ამოცანებს პროგრამული უზრუნველყოფის განვითარების პროცესში, როგორიცაა მომხმარებლის მოთხოვნების ანალიზი, ან სასურველი პროგრამირების ენის არჩევა, ხშირად იძლევა ხელმძღვანელობით აზროვნებას, რაც არ არის მაღალი. - დონის ამოცანები, რომლებიც ასრულებენ ამ LLM-ებს. 
  • ჯვარედინი გამოცდის ნაკლებობა : მნიშვნელოვანი რისკები ჩნდება, როდესაც ჯვარედინი გამოკვლევა არ ტარდება განსაკუთრებით გადაწყვეტილების მიღების პროცესში. 

ChatDev მიზნად ისახავს ამ პრობლემების გადაჭრას და ხელი შეუწყოს LLM-ებს, რათა შექმნან თანამედროვე და ეფექტური პროგრამული აპლიკაციები, პროგრამული უზრუნველყოფის შემუშავებისთვის ვირტუალური ენერგიის მქონე კომპანიის შექმნით, რომელიც აყალიბებს ჩანჩქერის მოდელს და ზედმიწევნით ყოფს პროგრამული უზრუნველყოფის განვითარების პროცესს ოთხ ძირითად ნაწილად. ეტაპები,

  1. დიზაინი. 
  2. კოდირება. 
  3. ტესტირება. 
  4. დოკუმენტაცია. 

თითოეული ეს ეტაპი ავრცელებს ვირტუალური აგენტების გუნდს, როგორიცაა კოდის პროგრამისტები ან ტესტერები, რომლებიც თანამშრომლობენ ერთმანეთთან დიალოგების გამოყენებით, რაც იწვევს უწყვეტ სამუშაო პროცესს. გარდა ამისა, ChatDev იყენებს ჩეთის ჯაჭვს, რომელიც მუშაობს როგორც ფასილიტატორი და ანაწილებს განვითარების პროცესის თითოეულ ეტაპს ატომურ ქვეამოცნებებად, რითაც საშუალებას აძლევს ორმაგ როლებს, რაც საშუალებას აძლევს წინადადებებს და გადაწყვეტილებების დადასტურებას კონტექსტური კომუნიკაციების გამოყენებით, რაც დეველოპერებს საშუალებას აძლევს ეფექტურად განახორციელონ განსაზღვრული ქვეამოცნების გადაჭრა. ჩატის ჯაჭვი შედგება რამდენიმე კვანძისგან, სადაც თითოეული ცალკეული კვანძი წარმოადგენს კონკრეტულ ქვეამოცანას და ეს ორი როლი მონაწილეობს მრავალმხრივ კონტექსტში გაცნობიერებულ დისკუსიებში, რათა არა მხოლოდ შესთავაზოს, არამედ დაამტკიცოს გადაწყვეტილებები. 

ამ მიდგომით, ChatDev Framework ჯერ აანალიზებს კლიენტის მოთხოვნებს, ქმნის კრეატიულ იდეებს, აყალიბებს და ახორციელებს პროტოტიპის სისტემებს, იდენტიფიცირებს და მიმართავს პოტენციურ საკითხებს, ქმნის მიმზიდველ გრაფიკას, განმარტავს გამართვის ინფორმაციას და აყალიბებს მომხმარებლის სახელმძღვანელოებს. დაბოლოს, ChatDev ჩარჩო აწვდის მომხმარებელს პროგრამულ უზრუნველყოფას საწყის კოდთან, მომხმარებლის სახელმძღვანელოებთან და დამოკიდებულების გარემოს სპეციფიკაციებთან ერთად. 

ChatDev: არქიტექტურა და მუშაობა

ახლა, როდესაც ჩვენ გვაქვს ChatDev-ის მოკლე შესავალი, მოდით გადავხედოთ ChatDev ჩარჩოს არქიტექტურას და მუშაობას, დაწყებული Chat Chain-ით. 

ჩატის ჯაჭვი

როგორც წინა სექციაში აღვნიშნეთ, ChatDev ფრეიმვორი იყენებს ჩანჩქერის მეთოდს პროგრამული უზრუნველყოფის განვითარებისთვის, რომელიც ყოფს პროგრამული უზრუნველყოფის განვითარების პროცესს ოთხ ფაზად, მათ შორის დიზაინი, კოდირება, ტესტირება და დოკუმენტაცია. თითოეულ ამ ფაზას აქვს უნიკალური როლი განვითარების პროცესში და მათ შორის ეფექტური კომუნიკაციის საჭიროებაა და არსებობს პოტენციური გამოწვევების წინაშე მყოფი პირების იდენტიფიცირება და ურთიერთქმედების თანმიმდევრობის განსაზღვრა. 

ამ საკითხის გადასაჭრელად, ChatDev ჩარჩო იყენებს Chat Chain-ს, განზოგადებულ არქიტექტურას, რომელიც ანაწილებს თითოეულ ფაზას სუბატომურ ჩატში, სადაც თითოეული ეს ფაზა ფოკუსირებულია ამოცანაზე ორიენტირებულ როლურ თამაშზე, რომელიც მოიცავს ორმაგ როლებს. ჩატისთვის სასურველი შედეგი ქმნის სასიცოცხლო კომპონენტს სამიზნე პროგრამული უზრუნველყოფისთვის და ის მიიღწევა განვითარების პროცესში მონაწილე აგენტებს შორის თანამშრომლობისა და ინსტრუქციების გაცვლის შედეგად. ჩეთის ჯაჭვის პარადიგმა შუალედური ამოცანების გადასაჭრელად ილუსტრირებულია ქვემოთ მოცემულ სურათზე. 

ყოველი ინდივიდუალური ჩატისთვის, ინსტრუქტორი ჯერ იწყებს ინსტრუქციებს, შემდეგ კი წარმართავს დიალოგს დავალების დასრულებისკენ და ამასობაში ასისტენტები მიჰყვებიან ინსტრუქტორის მითითებებს, იძლევიან იდეალურ გადაწყვეტილებებს და მონაწილეობენ დისკუსიაში მიზანშეწონილობის შესახებ. ხსნარის. შემდეგ ინსტრუქტორი და აგენტი ჩაერთვებიან მრავალმხრივ დიალოგებში, სანამ არ მიაღწევენ კონსენსუსს და ჩათვლიან, რომ დავალება წარმატებით შესრულებულია. ჯაჭვის ჯაჭვი მომხმარებლებს აძლევს გამჭვირვალე ხედვას განვითარების პროცესის შესახებ, ნათელს ჰფენს გადაწყვეტილებების მიღების გზას და სთავაზობს შეცდომების გამართვის შესაძლებლობებს, როდესაც ისინი წარმოიქმნება, რაც საშუალებას აძლევს საბოლოო მომხმარებლებს გააანალიზონ და დაადგინონ შეცდომები, შეამოწმონ შუალედური შედეგები, და საჭიროების შემთხვევაში ჩაერიოს პროცესში. ჩატის ჯაჭვის ინკორპორირებით, ChatDev ჩარჩოს შეუძლია ფოკუსირება მოახდინოს თითოეულ კონკრეტულ ქვეამოცანაზე მარცვლოვანი მასშტაბით, რაც არა მხოლოდ ხელს უწყობს აგენტებს შორის ეფექტურ თანამშრომლობას, არამედ იწვევს საჭირო შედეგების სწრაფ მიღწევას. 

პროექტირება

დიზაინის ფაზაში, ChatDev ჩარჩო მოითხოვს თავდაპირველ იდეას, როგორც ადამიანის კლიენტისგან, და ამ ეტაპზე სამი წინასწარ განსაზღვრული როლია. 

  1. აღმასრულებელი დირექტორი ან აღმასრულებელი დირექტორი. 
  2. CPO ან პროდუქტის მთავარი ოფიცერი. 
  3. CTO ან მთავარი ტექნიკური ოფიცერი. 

შემდეგ ჩეთის ჯაჭვი იმოქმედებს და ყოფს დიზაინის ფაზას თანმიმდევრულ სუბატომურ ჩატის ამოცანებად, რომელიც მოიცავს პროგრამირების ენას (CTO და CEO) და სამიზნე პროგრამული უზრუნველყოფის მოდალობას (CPO და CEO). დიზაინის ფაზა მოიცავს სამ ძირითად მექანიზმს: როლის მინიჭებას ან როლის სპეციალიზაციას, მეხსიერების ნაკადს და თვითრეფლექსიას. 

როლის მინიჭება

Chat Dev ჩარჩოში თითოეულ აგენტს ენიჭება როლი სპეციალური შეტყობინებების ან სპეციალური მოთხოვნის გამოყენებით როლური თამაშის პროცესში. სხვა სასაუბრო ენის მოდელებისგან განსხვავებით, ChatDev ჩარჩო შემოიფარგლება მხოლოდ აგენტებს შორის როლური სცენარების ინიცირებით. ეს მოთხოვნები გამოიყენება აგენტებისთვის როლების მინიჭებისთვის დიალოგების დაწყებამდე. 

თავდაპირველად, ინსტრუქტორი იღებს აღმასრულებელი დირექტორის პასუხისმგებლობებს და ერთვება ინტერაქტიულ დაგეგმვაში, ხოლო CPO-ს პასუხისმგებლობას ახორციელებს აგენტი, რომელიც ასრულებს დავალებებს და უზრუნველყოფს საჭირო პასუხებს. ჩარჩო იყენებს "საწყისი მოთხოვნაროლური სპეციალიზაციისთვის, რომელიც საშუალებას აძლევს აგენტებს ეფექტურად შეასრულონ თავიანთი როლები. ასისტენტისა და ინსტრუქტორის მოთხოვნა შედგება სასიცოცხლო დეტალებისგან დანიშნულ როლებთან და ამოცანებთან დაკავშირებით, შეწყვეტის კრიტერიუმები, კომუნიკაციის პროტოკოლები და რამდენიმე შეზღუდვა, რომელიც მიზნად ისახავს თავიდან აიცილოს არასასურველი ქცევები, როგორიცაა უსასრულო მარყუჟები, არაინფორმაციული პასუხები და ინსტრუქციების სიჭარბე. 

მეხსიერების ნაკადი

მეხსიერების ნაკადი არის მექანიზმი, რომელსაც იყენებს ChatDev ჩარჩო, რომელიც ინახავს აგენტის წინა დიალოგების ყოვლისმომცველ სასაუბრო ჩანაწერს და ეხმარება გადაწყვეტილების მიღების პროცესს, რომელიც მოჰყვება გამოთქმის გაცნობიერებული გზით. ChatDev ჩარჩო იყენებს მოთხოვნებს საჭირო საკომუნიკაციო პროტოკოლების დასამყარებლად. მაგალითად, როდესაც მონაწილე მხარეები მიაღწევენ კონსენსუსს, საბოლოო შეტყობინება, რომელიც აკმაყოფილებს ფორმატირების კონკრეტულ მოთხოვნას, როგორიცაა ( : დესკტოპის აპლიკაცია“). დანიშნულ ფორმატთან შესაბამისობის უზრუნველსაყოფად, ჩარჩო მუდმივად აკონტროლებს და საბოლოოდ საშუალებას აძლევს მიმდინარე დიალოგს მიაღწიოს დასკვნას. 

თვითრეფლექსია

ChatDev ჩარჩოს შემქმნელებმა დააფიქსირეს სიტუაციები, როდესაც ორივე მონაწილემ მიაღწია ორმხრივ კონსენსუსს, მაგრამ წინასწარ განსაზღვრული საკომუნიკაციო პროტოკოლები არ იყო ამოქმედებული. ამ საკითხების მოსაგვარებლად, ChatDev ჩარჩო შემოაქვს თვითრეფლექსიის მექანიზმს რომელიც ეხმარება მეხსიერების მოპოვებასა და ამოღებას. თვითრეფლექსიის მექანიზმის განსახორციელებლად, ChatDev ჩარჩო იწყებს ახალ და ახალ ჩეთს „ფსევდო მე“-ს ახალ კითხვად ჩართვის გზით. „ფსევდო თვითმმართველობა“ აანალიზებს წინა დიალოგებს და ისტორიულ ჩანაწერებს და აცნობებს ამჟამინდელ ასისტენტს, რის შემდეგაც ის ითხოვს საბოლოო და ღირებული ინფორმაციის შეჯამებას, როგორც ეს ნაჩვენებია ქვემოთ მოცემულ ფიგურაში. 

თვითდახმარების მექანიზმის დახმარებით, ChatDev ასისტენტი წახალისებულია ასახოს და გააანალიზოს მის მიერ შემოთავაზებული გადაწყვეტილებები. 

კოდირება

კოდირების ფაზაში არის სამი წინასწარ განსაზღვრული როლი, ესენია CTO, პროგრამისტი და ხელოვნების დიზაინერი. ჩვეულებისამებრ, ჩეთის ჯაჭვის მექანიზმი ყოფს კოდირების ფაზას ინდივიდუალურ სუბატომურ ამოცანებად, როგორიცაა კოდების გენერირება (პროგრამისტი და CTO), ან GUI-ს შემუშავება. ან გრაფიკული მომხმარებლის ინტერფეისი (პროგრამისტი და დიზაინერი). შემდეგ CTO ავალებს პროგრამისტს გამოიყენოს მარკდაუნის ფორმატი პროგრამული სისტემის დასანერგად, რის შემდეგაც არტ დიზაინერი შესთავაზებს მოსახერხებელი და ინტერაქტიული GUI, რომელიც იყენებს გრაფიკულ ხატებს მომხმარებლებთან ურთიერთობისთვის, ვიდრე დაეყრდნოს ტრადიციულ ტექსტზე დაფუძნებულ ბრძანებებს. 

კოდის მართვა

ChatDev Framework იყენებს ობიექტზე ორიენტირებულ პროგრამირების ენებს, როგორიცაა Python, Java და C++ რთული პროგრამული სისტემების დასამუშავებლად, რადგან ამ პროგრამირების ენების მოდულურობა საშუალებას იძლევა გამოიყენოს თვითმყოფადი ობიექტები, რომლებიც არა მხოლოდ ეხმარება პრობლემების აღმოფხვრას, არამედ თანამშრომლობით განვითარებას. , და ასევე ხელს უწყობს ჭარბი რაოდენობის მოცილებას ობიექტების ხელახალი გამოყენებით მემკვიდრეობის კონცეფციის საშუალებით. 

აზროვნების ინსტრუქციები

კითხვებზე პასუხის გაცემის ტრადიციული მეთოდები ხშირად იწვევს არარელევანტურ ინფორმაციას, ან უზუსტობებს, განსაკუთრებით კოდის გენერირებისას, რადგან გულუბრყვილო ინსტრუქციების მიწოდებამ შეიძლება გამოიწვიოს LLM ჰალუცინაციები და ეს შეიძლება გახდეს რთული საკითხი. ამ საკითხის მოსაგვარებლად, ChatDev ჩარჩო შემოაქვს „აზროვნების ინსტრუქციების“ მექანიზმს, რომელიც შთაგონებას იღებს აზრების ჯაჭვის მოთხოვნიდან. „აზროვნების ინსტრუქციების“ მექანიზმი ცალსახად მიმართავს ინსტრუქციებში შემავალ ინდივიდუალურ პრობლემის გადაჭრის აზრებს, ისევე როგორც ამოცანების გადაჭრას თანმიმდევრულად და ორგანიზებულად. 

ტესტირება

პირველივე მცდელობისას უშეცდომოდ კოდის დაწერა რთულია არა მხოლოდ LLMs, არამედ ადამიანური პროგრამისტებისთვის და არასწორი კოდის სრულად გაუქმების ნაცვლად, პროგრამისტები აანალიზებენ მათ კოდს, რათა დაადგინონ შეცდომები და გამოასწორონ ისინი. ChatDev ჩარჩოში ტესტირების ეტაპი დაყოფილია სამ როლად: პროგრამისტი, ტესტერი და მიმომხილველი. ტესტირების პროცესი შემდგომში იყოფა ორ თანმიმდევრულ სუბატომურ ამოცანად: თანატოლების მიმოხილვა ან სტატიკური გამართვა (მიმომხილველი და პროგრამისტი) და სისტემის ტესტირება ან დინამიური გამართვა (პროგრამისტი და ტესტერი). სტატიკური გამართვა ან თანატოლების მიმოხილვა აანალიზებს წყაროს კოდს შეცდომების იდენტიფიცირებისთვის, ხოლო დინამიური გამართვა ან სისტემის ტესტირება ამოწმებს პროგრამული უზრუნველყოფის შესრულებას სხვადასხვა ტესტების საშუალებით, რომლებიც ტარდება პროგრამისტის მიერ თარჯიმანის გამოყენებით. დინამიური გამართვა ძირითადად ფოკუსირებულია შავი ყუთის ტესტირებაზე აპლიკაციების შესაფასებლად. 

დოკუმენტაცია

მას შემდეგ, რაც ChatDev ჩარჩო დასრულებულია დიზაინის, კოდირებისა და ტესტირების ფაზებით, იგი იყენებს ოთხ აგენტს, კერძოდ აღმასრულებელ დირექტორს, CTO, CPO და პროგრამისტს, რათა შექმნან დოკუმენტაცია პროგრამული პროექტისთვის. ChatDev ჩარჩო იყენებს LLM-ებს, რათა გამოიყენოს რამდენიმე კადრის მოთხოვნა, კონტექსტური მაგალითებით, დოკუმენტების გენერირებისთვის. CTO ავალებს პროგრამისტს მიაწოდოს ინსტრუქციები გარემოსდაცვითი დამოკიდებულებების კონფიგურაციისთვის და შექმნას დოკუმენტი, როგორიცაა „dependency requirements.txt“. ამავდროულად, მოთხოვნები და სისტემის დიზაინი ეცნობება CPO-ს აღმასრულებელი დირექტორის მიერ პროდუქტის მომხმარებლის სახელმძღვანელოს შესაქმნელად. 

შედეგები

პროგრამული სტატისტიკა

ChatDev ჩარჩოს მუშაობის გასაანალიზებლად, დეველოპერთა ჯგუფმა ჩაატარა სტატისტიკური ანალიზი პროგრამული უზრუნველყოფის აპლიკაციების შესახებ, რომლებიც გენერირებულია Framework-ის მიერ რამდენიმე ძირითადი მეტრიკის საფუძველზე, მათ შორის მოხმარებული ნიშნები, დიალოგის მთლიანი მონაცვლეობა, გამოსახულების აქტივები, პროგრამული ფაილები, ვერსიების განახლებები და კიდევ რამდენიმე, და შედეგები არის ნაჩვენებია ქვემოთ მოცემულ ცხრილში. 

ხანგრძლივობის ანალიზი

ChatDev-ის პროგრამული უზრუნველყოფის წარმოების დროის გამოსაკვლევად სხვადასხვა მოთხოვნის მოთხოვნაზე, დეველოპერებმა ასევე ჩაატარეს ხანგრძლივობის ანალიზი და სხვადასხვა მოთხოვნის განვითარების დროს განსხვავება ასახავს დავალებული ამოცანების ცვალებად სიცხადეს და სირთულეს, და შედეგები ნაჩვენებია ქვემოთ მოცემულ ფიგურაში. . 

კვლევა

შემდეგი სურათი გვიჩვენებს, რომ ChatDev ავითარებს რიგზე ხუთეულს ან Gomoku თამაშს. 

მარცხნივ ფიგურა გვიჩვენებს ჩარჩოს მიერ შექმნილ ძირითად პროგრამულ უზრუნველყოფას, GUI-ის გამოყენების გარეშე. როგორც ნათლად ჩანს, აპლიკაცია ყოველგვარი GUI-ის გარეშე გთავაზობთ შეზღუდულ ინტერაქტიულობას და მომხმარებლებს შეუძლიათ ამ თამაშის თამაში მხოლოდ ბრძანების ტერმინალის მეშვეობით. შემდეგი ფიგურა გვიჩვენებს ვიზუალურად უფრო მიმზიდველ თამაშს, რომელიც შექმნილია GUI-ს გამოყენებით, გთავაზობთ მომხმარებლის უკეთეს გამოცდილებას და გაძლიერებულ ინტერაქტიულობას საინტერესო სათამაშო გარემოსთვის, რომლითაც მომხმარებლებს შეუძლიათ უფრო მეტი სიამოვნება მიიღონ. შემდეგ დიზაინერის აგენტი ქმნის დამატებით გრაფიკას, რათა კიდევ უფრო გააძლიეროს გეიმპლეის გამოყენებადობა და ესთეტიკა, ყოველგვარი ფუნქციონალური ზემოქმედების გარეშე. თუმცა, თუ ადამიანები არ არიან კმაყოფილი დიზაინერის მიერ შექმნილი სურათით, მათ შეუძლიათ შეცვალონ სურათები მას შემდეგ, რაც ChatDev ჩარჩო დაასრულებს პროგრამულ უზრუნველყოფას. ChatDev ჩარჩოს მიერ შემოთავაზებული მოქნილობა სურათების ხელით ჩანაცვლებისთვის საშუალებას აძლევს მომხმარებლებს დააკონფიგურირონ აპლიკაციები მათი პრეფერენციების მიხედვით, გაუმჯობესებული ინტერაქტიულობისა და მომხმარებლის გამოცდილებისთვის, პროგრამული უზრუნველყოფის ფუნქციონალურობაზე რაიმე სახის გავლენის გარეშე. 

საბოლოო ფიქრები

ამ სტატიაში ჩვენ ვისაუბრეთ ChatDev-ზე, ან LLM ან დიდი ენის მოდელი დაფუძნებული ინოვაციური პარადიგმა, რომელიც მიზნად ისახავს რევოლუციას მოახდინოს პროგრამული უზრუნველყოფის დამუშავების სფეროში სპეციალიზებული მოდელების მოთხოვნილების აღმოფხვრა განვითარების პროცესის ყოველ ფაზაში. ChatDev ჩარჩო მიზნად ისახავს გამოიყენოს LLM ჩარჩოების შესაძლებლობები ბუნებრივი ენობრივი კომუნიკაციის გამოყენებით პროგრამული უზრუნველყოფის განვითარების ძირითადი პროცესების გაერთიანებისა და გამარტივებისთვის. ChatDev ჩარჩო იყენებს ჩეთის ჯაჭვის მექანიზმს, რათა დაშალოს პროგრამული უზრუნველყოფის შემუშავების პროცესი თანმიმდევრულ სუბატომურ ამოცანებად, რითაც უზრუნველყოფილია მარცვლოვანი ფოკუსირება და ხელს უწყობს სასურველ შედეგებს ყველა სუბატომური ამოცანისთვის. 

"პროფესიით ინჟინერი, ზეპირად მწერალი". კუნალი არის ტექნიკური მწერალი, რომელსაც აქვს AI და ML ღრმა სიყვარული და გაგება, რომელიც ეძღვნება ამ სფეროებში რთული კონცეფციების გამარტივებას მისი საინტერესო და ინფორმაციული დოკუმენტაციის საშუალებით.