5 жилийн ажлыг 2 долоо хоногт: Asana 6 сая ам.долларын өртөгтэй код шилжүүлэлтийг AI агентаар 12 мянган долларт хийж дуусгажээ
Программ хангамжийн томоохон төслүүдэд хуучирсан сан (legacy framework), тестийн дэд бүтцийг шинэчлэх нь хөгжүүлэгчдийн хамгийн их зайлсхийдэг, хэзээ ч дуусдаггүй "хар нүх" болдог. Тэгвэл дэлхийн томоохон ажлын менежментийн платформ болох Asana өөрсдийн кодын сангаас хуучирсан Enzyme тестийн системийг бүрэн устгаж, орчин үеийн React Testing Library (RTL) руу шилжүүлэх төслийг AI кодинг агент ашиглан ердөө 2 долоо хоногийн дотор хийж дуусгаснаа зарлалаа.
Анхны тооцоогоор хамгийн багадаа 5 жил үргэлжилж, 6 сая ам.долларын инженерийн зардал шаардахаар байсан энэхүү аварга шилжүүлэлтийг тэд ердөө 12,000 ам.долларын API зардлаар амжилттай гүйцэтгэсэн нь инженерийн ертөнцийг шуугиулаад байна.
5 жилийн гацаа: Яагаад Enzyme-аас салах тийм хэцүү байв?
Asana компани 2022 оноос хойш фронтенд кодоо шинэчлэх, ялангуяа React-ийн сүүлийн хувилбарууд руу шилжихэд Enzyme сан хамгийн том чөдөр болж байжээ. Enzyme нь хөгжүүлэлт нь зогссон төдийгүй, хэрэглэгчийн үйлдлийг биш харин компонентын дотоод бүтцийг (state, props, internal methods) шууд шалгадаг муу дадалтай байв.
Үүний оронд кодын дотоод хэрэгжүүлэлтийг бус хэрэглэгчийн бодит үйлдлийг шалгадаг React Testing Library руу шилжүүлэх шаардлагатай болсон. Гэвч олон сая мөр кодоос бүрдэх Asana-ийн репозиторт олон мянган тестийг гараар нэг бүрчлэн өөрчлөх нь бизнес болон бүтээгдэхүүний үндсэн ажлуудын хажуугаар бараг л боломжгүй зүйл байлаа. Олон инженер бүхий баг ажилласан ч бүрэн дуустал дахин 5 жил шаардагдах тооцоо гарсан байв.
Шийдэл: 5 өгүүлбэртэй промпт ба 4 зэрэгцээ агент
Asana-ийн инженерийн баг энэхүү гацааг арилгахын тулд өндөр түвшний reasoning чадвартай OpenAI Codex загваруудыг туршиж үзэх зоригтой алхам хийжээ.
Хамгийн гайхалтай нь тэд хэт нарийн төвөгтэй архитектур, агент хоорондын гинжин хэлхээ зохиох гэж оролдоогүй бөгөөд асуудлыг туйлын энгийн байдлаар шийджээ. Тэд кодын сангийн өөр өөр хавтаснууд дээр 4 хүртэлх кодинг агентыг зэрэг (in parallel) ажиллуулсан байна.
Агентад өгсөн промпт нь ердөө дараах 5 өгүүлбэр байв:
/goal Бид энэхүү репозиторын Enzyme тестүүдийг React Testing Library загвар руу шилжүүлэхийг хүсэж байна.
Кодын санд байгаа одоогийн стандартууд болон шилдэг туршлагуудыг (best practices) ягштал дага.
Тухайн хавтсан доторх Enzyme ашиглаж буй бүх файлыг React Testing Library руу шилжүүл.
Өөрийн хийсэн өөрчлөлтүүдийг [тест ажиллуулах команд]-аар заавал шалгаж баталгаажуул.
Эхний ээлжинд хөрвүүлэхэд хамгийн хялбар файлуудаас эхэл.
Хөгжүүлэгчийн үүрэг хэрхэн өөрчлөгдсөн бэ?
Агентууд шөнө өдөргүй тасралтгүй ажиллаж, тестүүдийг хөрвүүлэн, алдаа гарвал өөрсдөө тестийн компилятор, test runner-ийн үр дүнг уншиж дахин засаж байв.
Инженерийн ажил дараах хэв маяг руу шилжсэн байна:
- Өдөрт 2 удаа хяналт хийх: Өглөө болон оройдоо агентуудын гаргасан өөрчлөлтүүд (git diff)-ийг хянаж, Pull Request (PR) үүсгэх.
- Reviewer / Architect болох: Инженер өөрөө шууд код шивэх биш, харин агентын бичсэн тест логикийн хувьд зөв эсэх, mock сангуудыг зөв ашигласан эсэхийг батлах (code review).
Үр дүнд нь нийт 1.5 долоо хоногийн инженерийн цаг (бодит 2 хуанлийн долоо хоног)-ийн дотор Enzyme сан Asana-ийн кодоос 100% бүрэн арчигджээ.
6 саяын эсрэг 12 мянган доллар: Эдийн засгийн хувьсгал
Төслийн нийт дэд бүтэц болон загварын тооцоолох өртөг нь $12,000 болсон. Хэрэв үүнийг хуучин уламжлалт аргаар хөгжүүлэгчдээр хийлгэсэн бол цалин, цаг хугацааны зардал нь ойролцоогоор $6,000,000 болох тооцоо гарч байв.
Asana-ийн CTO Амританш Рагхав (Amritansh Raghav) хэлэхдээ:
"Олон жил үргэлжлэх бүх төсөл 2 долоо хоног болж багасна гэж хэлэхгүй. Гэхдээ AI агентууд инженерүүдэд өөрсдийн ур чадвар, бүтээлч байдалдаа төвлөрөх асар их орон зайг олгож, урьд өмнө нь хийх боломжгүй, хэтэрхий их зардалтай гэж үздэг байсан техникийн өр (technical debt), refactoring төслүүдийг эхлүүлэх боломжийг нээж байна" хэмээн онцолсон байна.
Дүгнэлт ба Бидэнд өгөх сургамж
Энэхүү кейсээс хөгжүүлэгчид дараах 3 чухал дүгнэлтийг хийж болно:
- AI-д хамгийн тохиромжтой ажил бол deterministic үр дүнтэй refactoring: Тест нь ажилласан уу, үгүй юу гэдэг нь
npm testтушаалаар 100% баталгааждаг тул AI ганцаараа hallucinate хийж худлаа код бичих эрсдэл бага байдаг. - Хэт төвөгтэй систем хэрэггүй: Нарийн sub-agent, олон давхар orchestration хийхээс илүүтэй зөв зохион байгуулсан энгийн промпт, цэвэр репозиторын бүтэц хамаагүй өндөр үр дүн өгдөг.
- Инженерийн үүрэг өөрчлөгдсөн: Бид одоо код "шидэгч" биш, харин бие даасан олон AI агентыг удирдаж, үр дүнг нь шалгаж баталгаажуулдаг "Системийн Архитектор", "Ахлах Хянагч" болж байна.
Эх сурвалж: OpenAI Customer Stories, Asana Engineering Blog, Hacker News
Сэтгэгдэл
Ачаалж байна...