შეხვედრების ჩანაწერები ცოდნის არასაკმარისად გამოყენებული რესურსია. მათში ძიება რთულია, ხელახლა მოსმენას ბევრი დრო სჭირდება და გუნდის სხვადასხვა დისკზეა გაფანტული, ამიტომ ღირებული მიგნებები ხშირად შეუმჩნეველი რჩება.
ერთდღიანი ჰაკათონის ფარგლებში სამკაციანმა გუნდმა Callombia შექმნა. ეს შიდა პლატფორმაა, რომელიც ჩაწერილ ზარებს ავტომატურად გარდაქმნის ტექსტად, ანიჭებს ტეგებს, აჯამებს და თემატურ ფრაგმენტებად ჭრის, შემდეგ კი გლობალური ოფისებისთვის ხელმისაწვდომ, YouTube-ის მსგავს საძიებო რეპოზიტორიუმში ათავსებს.
მთლიანად Codex-ით შექმნილი გადაწყვეტა OpenAI-ის ემბედინგებითა და კოსინუსური მსგავსებით გამართულ სემანტიკურ ძიებას იყენებს, რათა შესაბამისი მომენტები ზუსტი საკვანძო სიტყვების გარეშეც იპოვოს; ამას ემატება RAG-ჩატბოტი და შეტყობინებების სისტემა.
საქმე, რომელსაც ადრე კვირები დასჭირდებოდა, შვიდ საათში დასრულდა. ამან აჩვენა, რომ Codex-ის მსგავსი პროგრამირების აგენტებით AI-ზე დაფუძნებულ განვითარებას შეუძლია პროდუქტის შექმნის ციკლი მკვეთრად შეამციროს და შიდა ჰაკათონებს რეალური ბიზნესღირებულება შესძინოს.
თუ ჩემნაირი ხართ, ჩაწერილი შეხვედრების ხელახლა მოსასმენად იშვიათად გრჩებათ დრო — ან ყურადღება. ამის მიზეზი ხშირად ისაა, რომ გუნდის მოუწესრიგებელ დისკებში უნდა იქექოთ, უინტერესო საუბრები გადაახვიოთ და ელფოსტებისა თუ შეტყობინებების გაგზავნის პარალელურად მოსმენას ნამდვილად ეცადოთ.
მაგრამ იქნებ ასე სულაც არ უნდა იყოს? იქნებ შეგვექმნა რამე, რაც ჩაწერილ შეხვედრებთან მუშაობას მთლიანად შეცვლიდა? სწორედ ეს იდეა დაედო საფუძვლად ჩვენს ბოლო ჰაკათონის პროექტს.
სულ ერთ დღეში ინჟინერიის, მიწოდებისა და ოპერაციების გუნდების 50-მა წევრმა კომპანიის მასშტაბით შეგროვებულ არაერთ ამოცანაზე იმუშავა — დასაქმების ოპერაციების გაფართოებიდან და სამუშაოს მოცულობის დოკუმენტების შექმნის გამარტივებიდან დაწყებული, პროექტების მდგომარეობის შეფასებით, პროტოტიპების რეალურ დროში გენერირებითა და ჩაწერილ შეხვედრებში მნიშვნელოვანი მიგნებების აღმოჩენით დასრულებული.
Codex-ზე დაფუძნებულ ამ ჰაკათონზე Callombia შევქმენით. Callombia ჩვენი კომპანიის YouTube-ია, რომელიც ყოველ ზარს მუდმივად განახლებად, საძიებო რესურსად აქცევს. ყოველი ზარი ავტომატურად გარდაიქმნება ტექსტად, იღებს ტეგებსა და შეჯამებას, შემდეგ თემატურ კლიპებად იჭრება და არხების (კლიენტების) და თემების (AI-ის სპეციალიზაციის სფეროების) მიხედვით დაჯგუფებულ რეპოზიტორიუმს ემატება. ამის წყალობით, ლონდონში, ედინბურგში, სინგაპურსა თუ ავსტრალიაში მყოფ გუნდის ნებისმიერ წევრს შეუძლია ზარისთვის მისთვის საინტერესო მონაკვეთები მყისიერად ნახოს.
ნაცნობი და ბრენდთან შესაბამისი ინტერფეისი შიგთავსის აღმოჩენას მარტივსა და ინტუიციურს ხდის, ხოლო სემანტიკური ძიება და, რა თქმა უნდა, RAG AI-ჩატბოტი ადამიანებს ზუსტად სასურველი ინფორმაციის პოვნაში ეხმარება. შეტყობინებების სისტემის დამატებით ჩვენს კოლეგებს შეუძლიათ სასურველი თემები გამოიწერონ და მათთვის შესაბამისი ახალი კლიპის გამოქვეყნებისას შეტყობინება მიიღონ.
თუმცა Callombia-ში ყველაზე მაგარი არც თავად პროდუქტია და არც ჰაკათონში გამარჯვებისთვის მიღებული 2 ათასი გირვანქა (ცოტას ვიტრაბახებთ) — მთავარი ისაა, რომ ორი ინჟინრითა და მიწოდების ხელმძღვანელით ეს ყველაფერი სულ შვიდ საათში შევქმენით. ერთი წლის წინ ეს შეუძლებელი იყო. პროგრამირების აგენტების გაუმჯობესებამ პროდუქტის შექმნის სრული პროცესი საგრძნობლად დააჩქარა, ეს ჰაკათონი კი მათი შესაძლებლობების არათანაბარი საზღვრების შესასწავლად შესანიშნავი საცდელი სივრცე აღმოჩნდა. მაშ, როგორ გამოვიყენეთ Codex?
უამრავი მოთხოვნის ჩამოწერის ნაცვლად, ჯერ პრობლემის სფეროსა და Callombia-ს ხედვაზე ჩვენი საერთო მოსაზრება მოთხოვნის სახით გავუზიარეთ. განზრახ ზოგადი აღწერით სამუშაო მოდელს მივანდეთ და შემოქმედებითი აზროვნების საშუალება მივეცით:
ათწუთიანი მიმოწერის შემდეგ Plan Mode ჩავრთეთ, რათა მოთხოვნები დაგვეზუსტებინა და შექმნის ტექნიკური ნაწილი დაგვეგეგმა. Plan Mode ჰგავს იმ მომაბეზრებელი მეგობრის კითხვებზე პასუხს, რომელსაც ყველა შესაძლო სცენარი უკვე (ჩვენდა სასიკეთოდ) გააზრებული აქვს. როცა შევთანხმდით ვიდეოების რაოდენობაზე, სემანტიკურ თუ საკვანძო სიტყვებით ძიებასა და გამოსაყენებელ არქიტექტურაზე, მან შექმნა Markdown-ფაილი, რომელიც პროექტის შემდგომ საფუძვლად იქცა.


გეგმის მომზადების შემდეგ უნდა შეგვექმნა ძირითადი კომპონენტები, რომლებიც Callombia-ს რეალურად აამუშავებდა. ეს ნიშნავდა ჩაწერილი ზარების საძიებო რესურსებად გარდაქმნის პროცესის აგებას:
ვიდეოებისა და ტრანსკრიპტების მიღება,
მათგან მნიშვნელოვანი მომენტების გამოყოფა,
მათი შეჯამებებითა და ტეგებით გამდიდრება,
მათი ხელმისაწვდომობა API-ებით, რომელთა გამოყენებაც ფრონტენდს შეეძლებოდა.
ედი ძირითადად ნედლი ჩანაწერებისა და ტრანსკრიპტების მონაცემების გამოსადეგ ფორმატში გადაყვანაზე მუშაობდა, ნიკო კი ინფორმაციის მოძიების შრეს ქმნიდა, რომელიც ამ მომენტების აღმოჩენას შესაძლებელს გახდიდა. Codex-ის დახმარებით მათ მონაცემთა მოდელები, ამოღების სკრიპტები და ბექენდის დამაკავშირებელი ინფრასტრუქტურა გაცილებით სწრაფად ააწყვეს, ვიდრე ხელით შევძლებდით. შედეგად მივიღეთ ბევრად მეტი, ვიდრე ვიდეოზე მიმაგრებული ტრანსკრიპტი. მივიღეთ კონკრეტული მომენტები: Tesco-ს მონაკვეთი, სტრატეგიის განახლება, თანამშრომლების აყვანის განხილვა — ზარის ზუსტად ის 90 წამი, რომლის ნახვაც ვინმეს რეალურად სურს.
განსაკუთრებით საინტერესო სწორედ ინფორმაციის მოძიების შრე აღმოჩნდა. გვინდოდა, მომხმარებელს შეეყვანა, მაგალითად, “financial performance,” “Tesco roadmap,” ან “conversation evals” და ყველაზე შესაბამის კლიპებზე გადასულიყო, მაშინაც კი, თუ ჩანაწერში ზუსტად ეს სიტყვები არასოდეს გაჟღერებულა. ამისთვის შევქმენით ფრაგმენტები დროის ნიშნულებით, შეჯამებებით, ტრანსკრიპტის ტექსტითა და მეტამონაცემებით. მკაფიო არქიტექტურითა და Codex-ის დიდი დახმარებით თემა, შეჯამება და ტრანსკრიპტი ერთ მოთხოვნად გავაერთიანეთ, შემდეგ კი OpenAI-ის text-embedding-3-small მოდელით თითოეული ფრაგმენტის ემბედინგები შევქმენით. ემბედინგები მონაცემთა ბაზაში შევინახეთ და მომხმარებლის მოთხოვნის თითოეულ ფრაგმენტთან შესადარებლად კოსინუსური მსგავსება გამოვიყენეთ. ასე საკვანძო სიტყვების უბრალო ძიების ნაცვლად ინფორმაციის სემანტიკური მოძიების შრე მივიღეთ.
ამ მიდგომამ სიზუსტის მხრივ შესანიშნავად იმუშავა და ჰაკათონის დემოს დროს პროდუქტს „ჯადოსნური“ ეფექტი შესძინა. ამავე დროს ვიცოდით, რომ ვიდეოების რაოდენობის ზრდასთან ერთად ეს მიდგომა უსასრულოდ ვერ გაფართოვდებოდა, რადგან საბოლოოდ ყოველი მოთხოვნის თითოეულ ფრაგმენტთან შედარება მეტისმეტად ძვირი გახდებოდა. შემდეგი ბუნებრივი ნაბიჯი ინფორმაციის მოძიების უფრო ეფექტიანი სტრატეგიების, მაგალითად, Hierarchical Navigable Small World-ის დანერგვა იქნებოდა, რათა შედარებების რაოდენობა შემცირებულიყო და მონაცემთა კორპუსის ზრდისას დაყოვნება დაბალი დარჩენილიყო. ამ ფუნქციის ამუშავების შემდეგ Callombia ნაკლებად ჰგავდა მედიაბიბლიოთეკას და უფრო მეტად — ცოდნის სისტემას.
როგორც ყველა კარგ ჰაკათონზე, ამ ნაწილსაც დახვეწა დასჭირდა: თავდაპირველად ფრაგმენტების საზღვრები მეტისმეტად უხეში იყო, ზოგი დროის ნიშნული დაზუსტებას საჭიროებდა, ზოგი ტეგი ზედმეტად ფართო იყო, ტრანსკრიპტისა და ჩანაწერის ფაილები კი ყოველთვის ზუსტად არ ემთხვეოდა ერთმანეთს. მაგრამ ღირებულებაც სწორედ აქ გამოჩნდა. Codex-ის წყალობით სისტემის სწრაფად დახვეწა შევძელით და საწყის გამართვასა თუ სამუშაოს ხელახლა შესრულებაში არ გავიჭედეთ. საბოლოოდ გვქონდა ბექენდი, რომელსაც კლიპების, მოკლე ფრაგმენტებისა და ნამდვილად სასარგებლო სემანტიკური ძიების მხარდაჭერა შეეძლო. სწორედ ამ ეტაპზე დაემსგავსა Callombia რეალურ პროდუქტს და არა მხოლოდ ჰაკათონის დემოს.
სანამ ედი და ნიკო მონაცემების მიღებისა და ინტელექტის შრეებს ქმნიდნენ, მე ფრონტენდზე ვმუშაობდი. ჩვენი სრული სტეკის შაბლონით ვებსაიტის პირველი ვერსია სწრაფად ავაწყვე ისე, რომ კოდის არცერთი სტრიქონი არ დამიწერია. მას შემდეგ, რაც ვთხოვდი ვებსაიტი ჩემს ბრაუზერში ლოკალურად გაეხსნა, დიზაინის სასურველ შედეგამდე დასახვეწად მარტივ, პუნქტებად ჩამოწერილ უკუკავშირს ვაძლევდი.
დაახლოებით ერთსაათიანი მიმოწერის შემდეგ მივიღე შედეგი, რომლითაც საკმაოდ კმაყოფილი ვიყავი — თანაც ინტერფეისისა თუ დიზაინის ყოველგვარი გამოცდილების გარეშე. მართალია, საბოლოო პროდუქტი იდეალური ნამდვილად არ არის, მაგრამ ეს საკმაოდ კარგი პირველი ვერსიაა, რომელიც ადამიანებს პროდუქტის არსის გაგებაში ეხმარება.


დღის ბოლოს ხელშესახები შედეგი რომ გვქონოდა, სამუშაო ერთმანეთში გავინაწილეთ. ცხადია, რამდენიმე საათის მეტ-ნაკლებად დამოუკიდებელი მუშაობის შემდეგ ყველას საკუთარი ლოკალური ბრენჩი და უამრავი კონფლიქტი გვქონდა.
კონფლიქტების გულდასმით განხილვასა და მოგვარებაზე დროის დახარჯვის ნაცვლად — რომელიც ისედაც არ გვქონდა — გადავწყვიტეთ, Codex რეპოზიტორიუმებში თავისუფლად გაგვეშვა და კონფლიქტები მისთვის მიგვენდო. ამ ეტაპზე საწარმოო დონის პროგრამული უზრუნველყოფის შექმნისას ამ მიდგომას არ გირჩევდით, თუმცა დაბალი რისკის გარემოში მისი ეფექტიანობა გასაოცარი იყო და მრავალი საათი დაგვაზოგვინა.
ჰაკათონის ბოლო ეტაპი ჟიურისთვის Callombia-ს დემოს ჩაწერა იყო. თავდაპირველად ინსტინქტურად Loom-ის გახსნა და ჩანაწერის იქ გაკეთება მოგვინდა, თუმცა ვიფიქრეთ, რომ ეს Codex-ისთვის რეალური გამოცდა იქნებოდა და მის ამჟამინდელ შესაძლებლობებს ოდნავ გასცდებოდა. ამიტომ... დავწერეთ მოთხოვნა, მივეცით Callombia-ს ვებსაიტის ბმული, დავურთეთ OpenAI-ის დეველოპერთა პლატფორმაზე გაკეთებული ჩემი ხმის ჩანაწერი და დანარჩენის შესრულება ვთხოვეთ.
პირველი მცდელობა ძალიან შთამბეჭდავი იყო — მან დაწერა დემოს სცენარი, ჩაიწერა ეკრანი, დაამატა ჩემი გახმოვანება და დავალებას თითქმის სრულად გაართვა თავი. ერთადერთი, რაც მაშინვე არ მოგვეწონა, გახმოვანებისა და დემოს ჩანაწერის სინქრონიზაცია იყო, ამიტომ ვთხოვეთ: “MANDATORY: align the voiceover exactly with what is being shown in the demo. There was misalignment (e.g. on the chat page). Triple check alignment of voiceover and the screen-recorded demo at the end. Match it up through whichever means possible.”
ამ მოთხოვნის საპასუხოდ Codex-მა გახმოვანება და ჩანაწერი მცირე ნაწილებად დაყო და დავალება თითქმის უნაკლოდ შეასრულა — ზუსტად 17:30-მდე, როცა შედეგი ლუდითა და პიცით აღვნიშნეთ.
ვიცით, რომ Callombia ბიზნესების უმეტესობისთვის ნაცნობ პრობლემას წყვეტს. სწრაფად მზარდ კომპანიაში ყველა ზარზე დასწრება რთულია, თუმცა ამ საუბრებში გაზიარებული ღირებული მიგნებების ფასი განუზომელია. ახლა მხოლოდ საწარმოო გარემოში მისი გაშვება დაგვრჩა.
თუმცა აქ უფრო ფართო გაკვეთილიცაა: რას ნიშნავს AI-ზე ორიენტირებული მუშაობა და რა სარგებელი მოაქვს საერთო პრობლემების გადასაჭრელად საინჟინრო და პროდუქტული გამოცდილების მიმართვას. ჩვეული სამუშაო ციკლიდან გამოსვლით, გუნდებს შორის თანამშრომლობითა და ზომიერად კონკურენტულ გარემოში მუშაობით მივიღეთ არაერთი გადაწყვეტა, რომელთა საწარმოო გარემოში გაშვებაც მცირე ცვლილებებით შეიძლება. თუ ამას რეგულარულად გავაკეთებთ, შიდა პროცესებიც ისეთივე გამართული გვექნება, როგორიც მომხმარებლებისთვის შექმნილი გადაწყვეტებია.