Мэдээ

AI-ийн эрин үе дэх Код Тойлмололтыг Хялбарчлах нь: GitHub "Stacked Pull Requests" Боломжийг Нийтэд Нээлээ

TOGTOKHTOGTOKH·2026 оны наймдугаар сарын 4·3 үзсэн·
AI-ийн эрин үе дэх Код Тойлмололтыг Хялбарчлах нь: GitHub "Stacked Pull Requests" Боломжийг Нийтэд Нээлээ

AI системүүд болон код автоматаар үүсгэгч туслахууд (GitHub Copilot, Cursor, Claude Code) сүүлийн жилүүдэд програм хангамж хөгжүүлэлтийн хурдыг асар хурдацтай ахиуллаа. Гэвч код бичих хурд нэмэгдэхийн хэрээр хөгжүүлэгчдийн багуудад цоо шинэ бэрхшээл тулгарч байна: хэтэрхий их кодод Code Review хийх буюу PR (Pull Request) хянаж амжихгүй байх.

Энэхүү сорилтыг шийдвэрлэхийн тулд GitHub компани томоохон кодын өөрчлөлтүүдийг жижиг, дараалласан хэсгүүдэд хуваан тоймлох боломж олгодог Stacked Pull Requests функцыг албан ёсоор Public Preview буюу туршилтын горимд нийтэд нээснээ зарлалаа.

Нийлмэл болон асар том хэмжээний Pull Request-үүд нь код хянаж буй инженерүүдийн анхаарлыг сарниулж, системд алдаа шургалах эрсдэлийг нэмэгдүүлдэг. Харин Stacked PR-ийн шийдэл нь хөгжүүлэлтийн хурдыг сааруулахгүйгээр кодын чанарыг өндөр түвшинд барихад туслах юм.

Stacked Pull Requests гэж юу вэ?

Уламжлалт хөгжүүлэлтийн загварт нэг том функц (feature) дээр ажиллаж буй хөгжүүлэгч бүх өөрчлөлтөө ганц салбар (branch) дээр хийж, хэдэн арван файл, зуу зуун мөр бүхий нэг аварга Pull Request нээдэг. Энэ нь кодын тоймлолт хийхэд хүндрэл үүсгэж, "PR Fatigue" буюу олон мөр код нэг дор хараад шантрах дарамтыг бий болгодог.

Stacked Pull Requests (Давхарласан Pull Request) гэдэг нь том хэмжээний өөрчлөлтийг логик хамаарал бүхий жижиг, дараалласан PR-уудын цуваа болгон хуваах арга зүй юм.

Өөрөөр хэлбэл, та нэг том өөрчлөлтийг дараах байдлаар үе шатанд хуваана:

  • 1-р үе (Layer 1): Мэдээллийн баазын миграци (Database migration) болон дата загвар.
  • 2-р үе (Layer 2): Backend сервист шаардлагатай API логик болон контроллер.
  • 3-р үе (Layer 3): Frontend дээрх хэрэглэгчийн интерфэйс (UI) болон компонент.

Эдгээр PR-ууд нь бие биенээсээ хамааралтайгаар дарааллан stack (давхарга) үүсгэх бөгөөд хянагч инженер хэсэг бүрийг тус тусад нь, маш тодорхой хүрээнд хянаж, батлах (approve) боломжтой болно.

Уламжлалт PR болон Stacked PR-ийн харьцуулалт

Багийн хамтын ажиллагаанд эдгээр хоёр урсгал хэрхэн ялгагддагийг харна уу:

  • Уламжлалт Workflow: 1 том PR -> 20 гаруй файлын өөрчлөлт, 900+ мөр код -> Хянагч инженер кодтой танилцаж амжихгүй хойшлуулна -> Багийн ажил 3 хоног гацна -> Төгсгөлд нь main branch-тай асар том merge conflict үүснэ.
  • Stacked PR Workflow: 1 дараалал бүхий 4 жижиг PR -> Эхний PR нь 150 мөр кодтой -> Хянагч 15 минутын дотор хянаж батална -> Хоёр дахь болон дараагийн PR-ууд параллелиар хянагдана -> Merge conflict үүсэх эрсдэл хамгийн бага түвшинд очно.

Яагаад AI-ийн эрин үед энэ функц нэн чухал вэ?

Сүүлийн үед хөгжүүлэгчид AI туслах ашиглан хэдхэн минутын дотор асар их хэмжээний код генераци хийдэг болсон. Үүний үр дүнд орчин үеийн SDLC (Software Development Life Cycle)-ийн хамгийн том bottleneck буюу гацаа нь код бичих биш, харин бичигдсэн кодыг хянаж чанарыг баталгаажуулах үйл явц болоод байна.

GitHub-ийн мэдээлснээр Stacked PRs нь дараах гол асуудлуудыг шийдвэрлэж байна:

  1. Тодорхой хүрээтэй код тоймлолт (Focused Code Reviews): Багийн гишүүд асар том PR хараад шантрахын оронд тухайн функцийн тусдаа давхаргуудыг хурдан, нарийн хянана.
  2. Параллель хөгжүүлэлт: Доод давхаргын PR хянагдаж байх хооронд хөгжүүлэгч дараагийн давхарга дээрх ажлаа зогсолтгүй үргэлжлүүлэн код бичих боломжтой.
  3. Дараалласан Merge туян байдал: Бүх өөрчлөлтийг заавал нэг дор нэгтгэх шаардлагагүй. Бэлэн болсон тусдаа давхаргуудыг (layer) үндсэн branch (main) руу шат дараатайгаар merge хийж болно.

Хэрхэн ашиглаж эхлэх вэ? (gh stack CLI extension)

Одоогоор Stacked Pull Requests функцыг ашиглахын тулд албан ёсны GitHub CLI болон зориулалтын gh-stack өргөтгөлийг (extension) ашиглах шаардлагатай.

Хөгжүүлэгчид терминал дээрээ дараах тушаалаар суулгана:

bash gh extension install github/gh-stack

Өргөтгөлийг суулгасны дараа та дараах тушаалуудаар stack үүсгэх болон удирдана:

  • Давхарга нэмэх: Код дээрээ өөрчлөлт хийсний дараа жижиг commit-уудыг тусдаа давхарга болгон хувааж stack-д нэмнэ.
  • Автомат Rebase ба Синхрончлол: Доод давхаргын кодод өөрчлөлт орж шинэчлэгдэхэд, дээд давхаргын салбарууд (branches) автоматаар rebase хийгдэж, каскад шинэчлэлт хийгддэг. Энэ нь Git дээр гар аргаар rebase хийхэд үүсдэг ядаргаатай merge conflict-ийг автоматаар шийдвэрлэнэ.

CI/CD ба Аюулгүй байдлын шалгалт

Stacked PR бүр нь өөрийн гэсэн CI/CD pipeline болон Automated Tests ажиллуулах боломжтой. Тухайлбал, эхний давхарга дээрх Unit Test эсвэл Linter шалгалт амжилтгүй болбол дараагийн давхаргуудын build автоматаар мэдээлэл авна. Энэ нь системд эвдрэл гарахаас урьдчилан сэргийлж, Branch Protection каскад дүрмүүдийг чанд мөрдүүлдэг.

GitHub-ийн зүгээс тун удахгүй энэхүү функцыг GitHub.com вэб интерфэйс болон GitHub Desktop програм дээр визуал графикаар бүрэн нэгтгэн харуулахаар ажиллаж байгаагаа дурджээ.

Дүгнэлт: Инженерүүдийн роль хэрхэн өөрчлөгдөж байна вэ?

2026 онд програм хангамжийн салбарт код бичих зардал асар их буурсан. Инженерүүдийн гол ажил нь код шивэхээс илүүтэй системын архитектур зохиомжлох, кодын чанар болон аюулгүй байдлыг хангах, AI агент болон хэрэгслүүдийг оновчтой чиглүүлэх руу шилжиж байна.

GitHub-ийн "Stacked Pull Requests" шинэчлэл нь зүгээр нэг Git-ийн шинэ команд биш юм. Энэ нь AI-д суурилсан хурдан хөгжүүлэлтийн эрин үед инженерүүдийн багийн хамтын ажиллагааг системтэй, чанартай, стрессгүй байлгахад чиглэгдсэн чухал алхам болж байна.

Хэрэв танай баг GitHub CLI ашигладаг бол одооноос gh stack өргөтгөлийг туршин, кодын тоймлолтын шинэ соёлд суралцаарай.

Эх сурвалж: InfoWorld, GitHub Official Announcements

Сэтгэгдэл

Ачаалж байна...