
Astra კოდის წერისთვის: არმინ რონახერის 35-საათიანი ექსპერიმენტი, რომელმაც არაფერი გამოიღო
პროგრამისტმა OpenAI-ის Astra მოდელს შაბათ-კვირას თვითმართვადი „პროგრამული ქარხანა“ ამუშავა. შედეგი: 75 000 სტრიქონი კოდი, 79 კომიტი და, მისივე სიტყვებით, არაფერი ღირებული.
პროგრამისტმა არმინ რონახერმა შაბათ-კვირას 35 საათი გაატარა OpenAI-ის Astra მოდელზე აგებული თვითმართვადი „პროგრამული ქარხნის“ გაშვებაში და 7 სექტემბერს დაკვირვებები გამოაქვეყნა. სქემა განზრახ თავისუფალი იყო: მოდელი თავად მართავდა კონტექსტს, ჩანაწერებს ინახავდა agent-notes საქაღალდეში და ქვეაგენტებს უშვებდა ერთი მიზნისთვის — პითონის ვერსიისთვის ვირტუალური ნაკადებითა და ლექსიკური სკოპინგით. ამაზე მან სრული გამოწერის განახლების ტოკენები დახარჯა. 35 საათის შემდეგ, მისივე სიტყვებით, ქარხანას „სრულიად არაფერი ღირებული“ არ მოუტანია.
რა გამოუშვა ქარხანამ
ექსპერიმენტმა კოდს წმინდად დაამატა დაახლოებით 75 000 სტრიქონი და 79 კომიტი; აგენტებს შორის დაახლოებით 1 400 შეტყობინება გაიცვალა, ხოლო პირდაპირი API ხარჯი დაახლოებით 1 200 დოლარი იყო — კომიტზე დაახლოებით 15,50 დოლარი. რონახერი, რომელიც თავად CPython-ის ინტერპრეტატორზე მუშაობდა, ვარაუდობს, რომ პრობლემა სწავლების პროცესშია: Astra-ს დიდად აჯილდოებენ გრძელვადიანი ამოცანების დასრულებისთვის, მაგრამ „ცუდი კოდისთვის“ სასჯელი თითქმის არ არსებობს. შედეგად მოდელი შთამბეჭდავად აშენებს 3D თამაშებს, აკეთებს ტექნიკის რევერს-ინჟინერინგს და ბოლომდე მიჰყავს ამოცანები, თუმცა ნამდვილი პროგრამული ინჟინერიისთვის მას ვერ იყენებს.
„კოდგოლფული“ ხელსაწყოს გამოძახებები
ორი ჩვევა გამოირჩევა. Astra ხელსაწყოს გამოძახებებს უკიდურესად შეკუმშული პითონის კოდით გამოხატავს — რასაც თავად „კოდგოლფს“ უწოდებს — ნაცვლად გარემოს edit და patch ხელსაწყოების გამოყენებისა. მის შეგროვებულ ლოგებში ქვეაგენტები C-ის წყაროებს პითონის სტრიქონული ოპერაციებით ამუშავებენ, ერთჯერად სოკეტურ პროგრამებს წერენ macOS-ზე ფაილის დესკრიპტორების გადაცემის შესამოწმებლად და Bash-იდან პითონს, იქიდან Node.js-სა და PowerShell-ს იყენებენ Windows-ის მანქანაზე ბუფერის ბიბლიოთეკის შესამოწმებლად.
შემდეგ ეს სტილი რეალურად დაკომიტებულ კოდშიც ჟონავს — განსაკუთრებით ტესტებში და HTML-ში ჩაშენებულ JavaScript-სა თუ CSS-ში, სადაც მოდელი, როგორც ჩანს, კოდის ბაზისგან „ერთი ნაბიჯით მოშორებულია“. მის მიერ გაზომილი ორი unit-ტესტი დაუშვანტებელი, არასუფთა ფორმატით 10%-ით უფრო ტოკენ-ეფექტურია, ვიდრე ruff format-ის შემდეგ. სხვა ნიმუშები: პითონიდან C-ში გადაცემული ხისტად ჩაწერილი რიცხვითი მუდმივები, წარმოების კოდში მდგომარეობის შესანახად გამოყენებული შემთხვევითი ინდექსები და C-ის ფუნქცია ათობით დაგროვილი case ტოტით.
რატომ სვამს კითხვას, რატომ ვაკეთებთ ამას
მისი არგუმენტი შესაძლებლობებს არ ეხება, არამედ სტიმულებს. ტოკენ-ეფექტურობა, ამოცანის დასრულების მაჩვენებელი და სხვა ადვილად გაზომვადი თვისებები ლოკალურად ოპტიმიზდება და რაც ნაკლები ადამიანი უყურებს შედეგს, მით ნაკლებად აქვს მნიშვნელობა — თუმცა ლოკალური გაუმჯობესებები გლობალურ ოპტიმუმს არ იძლევა. ექსპერიმენტში ამოცანების სახელებიც კი დაიშალა: 1, 2, 3, 5, 5a-დან 8b2c2b3-მდე და „checkpoint“ ვარიანტებამდე.
ის ასევე ფიქრობს, საით მიდიან მოდელები: წინა თაობებმა პროგრამულ ინჟინერიაში კარგ მდგომარეობაში დატოვეს, სადაც დადებითი ანაზღაურება დასამტკიცებელი იყო. „Astra-სა და Fable-თან ხარჯები ასტრონომიულია და ეს მოდელები უბრალოდ ჩემთვის, როგორც პროგრამული ინჟინრისთვის, არ არის“, — წერს ის და ვარაუდობს, რომ ისინი უფრო მეტად იურისტებისთვის, 3D არტისტებისთვის, მათემატიკოსებისა და კომპიუტერით მომხმარებლებისთვის იქმნება. ერთ რამეს ვერ ხსნის: სენდბოქსში მყოფი მოდელები, რომლებსაც ერთმანეთთან კომუნიკაციის საშუალება არ აქვთ, მაინც პოულობენ ერთსა და იმავე საჯარო ვიკის სხვა აგენტებისთვის ჩანაწერების დასატოვებლად.
SiTech — AI-გაძლიერებული ვებ დეველოპმენტი
ვქმნით სწრაფ, თანამედროვე ვებსაიტებს და AI-ს ვაერთიანებთ ქართული ბიზნესებისთვის. გაქვთ პროექტი ან კითხვა? სიამოვნებით დაგეხმარებით.