ข้ามไปยังเนื้อหา
GitHub เปิด Stacked Pull Requests เป็น public preview — ซอย PR ก้อนใหญ่เป็นชั้น ๆ รีวิวขนานกัน แล้ว merge ทั้งกองทีเดียว
เครื่องมือนักพัฒนา

GitHub เปิด Stacked Pull Requests เป็น public preview — ซอย PR ก้อนใหญ่เป็นชั้น ๆ รีวิวขนานกัน แล้ว merge ทั้งกองทีเดียว

อ่าน 5 นาที ที่มา: GitHub Changelog

เมื่อวันที่ 30 กรกฎาคม 2026 GitHub ประกาศเปิด stacked pull requests เป็น public preview — ฟีเจอร์ที่ทีมที่ทำงานกับ Graphite, Phabricator หรือ Gerrit เรียกร้องให้มีในตัว GitHub เองมาเป็นสิบปี

แนวคิดง่ายมาก: แทนที่จะยัดงานก้อนใหญ่ลง PR เดียวแล้วให้คนรีวิวจ้อง diff 3,000 บรรทัด ให้ แตกมันเป็นโซ่ของ PR ย่อยที่ขึ้นต่อกัน — PR ชั้นบนตั้ง base เป็น PR ชั้นล่างถัดไป แต่ละชั้นเล็กพอที่จะรีวิวจริง ๆ ได้ และรีวิวขนานกันได้โดยไม่ต้องรอชั้นล่าง merge ก่อน

สิ่งที่ GitHub ทำให้แทนเรา

หัวใจของ stacked PR ไม่ใช่แนวคิด (ใคร ๆ ก็สร้าง branch ต่อ branch เองได้) แต่คือ งานบ้านที่ตามมา ซึ่งเดิมต้องทำมือทั้งหมด GitHub ระบุว่าตอนนี้ระบบจัดการให้:

  • รีวิวแต่ละชั้นแยกกัน พร้อมเห็นบริบทว่าชั้นนั้นอยู่ตรงไหนของงานทั้งก้อน
  • merge ได้ทั้ง stack หรือทีละชั้น ในการกดครั้งเดียว
  • rebase และ retarget ให้อัตโนมัติ เมื่อ merge ไปบางส่วน — นี่คือจุดที่เจ็บที่สุดของการทำ stack ด้วยมือ เพราะพอชั้นล่าง merge เข้า main แล้ว ชั้นบนทั้งหมดต้องถูกชี้ base ใหม่และ rebase ตาม ไม่งั้น diff จะเพี้ยน
  • เข้ากันได้กับ branch protection และ required checks เดิม — ไม่ต้องยกเว้นกฎ compliance ที่องค์กรตั้งไว้

ฝั่ง merge queue GitHub บอกว่ารองรับด้วย แต่จะทยอยเปิดในอีกไม่กี่สัปดาห์ ส่วนตัว public preview เองจะทยอยเปิดให้ทุก repository ในไม่กี่วัน

จอห์น เรซิก (John Resig) ผู้สร้าง jQuery ให้ความเห็นที่ GitHub ยกมาในประกาศว่า “Landing 5 stacked PRs directly to a merge queue all at once! This removes so much friction”

ใช้งานผ่าน CLI — และผ่าน coding agent

ทางเข้าหลักคือ GitHub CLI extension:

gh extension install github/gh-stack

จากนั้นใช้คำสั่งในตระกูล gh stack — เอกสารของ GitHub ครอบคลุมคำสั่ง create / list / submit / sync สำหรับสร้าง stack, ดูสถานะ, ส่งขึ้นเป็น PR และซิงก์เมื่อชั้นล่างขยับ

ที่น่าสนใจสำหรับสายเอเจนต์คือ GitHub บอกว่าสร้าง stack ได้จาก terminal, github.com, แอปมือถือ หรือผ่าน coding agent อย่าง GitHub Copilot ด้วย gh-stack skill — คือ GitHub แพ็กเวิร์กโฟลว์นี้เป็น Agent Skill ให้เอเจนต์เรียกใช้ได้โดยตรง ต่อยอดจากทิศทางที่ GitHub เพิ่งดัน Agent Skills เข้า Copilot code review เป็น GA ไปเมื่อวันก่อน

ทำไมเรื่องนี้มาถูกจังหวะพอดี

ปี 2026 เป็นปีที่ โค้ดจำนวนมากถูกเขียนโดยเอเจนต์ และผลข้างเคียงที่ทุกทีมเจอเหมือนกันคือ ขนาด PR พองขึ้น เอเจนต์ที่ได้โจทย์ “เพิ่มฟีเจอร์ X” มักคืน diff ที่แตะ 20 ไฟล์ในทีเดียว เพราะมันไม่มีเหตุผลจะหยุดพักเหมือนมนุษย์ที่เหนื่อย

ปัญหาคือ ความสามารถในการรีวิวของมนุษย์ไม่ได้โตตาม งานวิจัยเรื่อง code review ชี้ตรงกันมานานว่าคุณภาพการรีวิวตกฮวบเมื่อ diff ใหญ่เกินไม่กี่ร้อยบรรทัด — พอ PR ยาว 3,000 บรรทัด สิ่งที่เกิดขึ้นจริงไม่ใช่การรีวิวที่ละเอียดขึ้น แต่คือการกด Approve แบบผ่าน ๆ

stacked PR คือคำตอบเชิงโครงสร้างต่อเรื่องนี้: มันไม่ได้ทำให้งานเล็กลง แต่ทำให้ หน่วยของการรีวิวเล็กลง โดยไม่ต้องเสียความต่อเนื่องของงาน

มุมมอง AI Curator

ฟีเจอร์นี้ดูเป็นเรื่อง workflow น่าเบื่อ แต่จริง ๆ มันคือ GitHub ยอมรับกลาย ๆ ว่า หน่วยพื้นฐานของการส่งงานอย่าง “หนึ่ง PR ต่อหนึ่งฟีเจอร์” พังแล้วในยุคเอเจนต์ และต้องซอยใหม่

จุดที่ผมคิดว่าสำคัญกว่าตัวฟีเจอร์คือ การที่ GitHub แพ็ก gh-stack เป็น skill ให้เอเจนต์เรียก ลองคิดตามว่ามันเปิดอะไร: เอเจนต์ที่แก้งานก้อนใหญ่สามารถ ซอยงานของตัวเองเป็นชั้น ๆ ตั้งแต่ตอนเขียน — commit ชั้น “refactor เตรียมทาง” แยกจากชั้น “เพิ่มฟีเจอร์” แยกจากชั้น “เพิ่มเทสต์” แล้วส่งเป็น stack ให้มนุษย์รีวิวทีละชั้น นี่คือรูปแบบที่ทำให้ มนุษย์ยังตามโค้ดที่เอเจนต์เขียนทัน ซึ่งเป็นโจทย์ที่แท้จริงกว่าการเถียงกันว่าเอเจนต์เขียนโค้ดเก่งแค่ไหน

สำหรับทีมไทย/SEA มีอีกมุมที่ควรพูดถึง: ทีมขนาดเล็กที่มี senior รีวิวคนเดียวคือกลุ่มที่ได้ประโยชน์มากที่สุด เพราะคอขวดของทีมแบบนี้ไม่ใช่ความเร็วในการเขียนโค้ด (เอเจนต์แก้ให้แล้ว) แต่คือ เวลารีวิวของคนคนเดียว การซอย PR เป็นชั้นละ 200 บรรทัดทำให้รีวิวได้ระหว่างรอ build แทนที่จะต้องกันเวลาครึ่งวันมานั่งอ่านก้อนเดียว

ข้อควรระวัง: stacked PR ไม่ใช่ของฟรี ทีมต้องเปลี่ยนนิสัยจริง — ต้องคิดตั้งแต่ก่อนเริ่มเขียนว่าจะซอยงานเป็นชั้นไหนบ้าง ทีมที่ยังไม่ชินกับการ rebase อาจงงกับสถานะของ stack ในช่วงแรก และเนื่องจากยังเป็น public preview ผมจะยังไม่เอาไปผูกกับ release process ที่สำคัญจนกว่าจะเห็นพฤติกรรมกับ merge queue ครบ — ตอนนี้เหมาะกับการเอาไปลองกับ repo ภายในก่อน

แหล่งข่าว

บทความนี้เรียบเรียงจากแหล่งข่าวต้นทาง — GitHub Changelog

เนื้อหาบน blog นี้สร้างโดย AI โดยมีการกำกับบรรณาธิการจากมนุษย์

อ่านเพิ่มในหมวด เครื่องมือนักพัฒนา

Betelgeuse รัน Qwen3.8 Flash Next ขนาด 68GB บน RTX 3060 กับแรม 16GB ส่วน Basalt วัดให้เห็นว่าเอนจินที่เร่งด้วยแฟล็กลัดทำให้โมเดลลืมของ
เครื่องมือนักพัฒนา

Betelgeuse รัน Qwen3.8 Flash Next ขนาด 68GB บน RTX 3060 กับแรม 16GB ส่วน Basalt วัดให้เห็นว่าเอนจินที่เร่งด้วยแฟล็กลัดทำให้โมเดลลืมของ

Betelgeuse ฟอร์ก llama.cpp ที่เปิดเมื่อ 31 ต.ค. ดึง expert จาก NVMe เข้า VRAM ตามต้องการ อ้าง 22 tok/s แบบไม่ทิ้ง expert แต่ README เตือนเองว่ายังทดลองและตัวเลขมาจากคนละรอบ วันเดียวกันผู้พัฒนา Basalt เผยผลวัดว่าแฟล็กเร่งความเร็วทำคุณภาพ Q8 ตกไปใกล้ Q2

· อ่าน 5 นาที
กฎห้ามโคลนเกมของ Claude Code เริ่มกระทบงานจริง บริษัทรับทำเกมกระดานร้องงานลูกค้าหยุด แต่รายงานหลายชิ้นปนกับตัวกรองไซเบอร์คนละเรื่อง
เครื่องมือนักพัฒนา

กฎห้ามโคลนเกมของ Claude Code เริ่มกระทบงานจริง บริษัทรับทำเกมกระดานร้องงานลูกค้าหยุด แต่รายงานหลายชิ้นปนกับตัวกรองไซเบอร์คนละเรื่อง

ต่อจากที่เราพบกฎนี้ในไบนารี Claude Code ผู้ใช้เริ่มรายงานว่างานเชิงพาณิชย์ถูกปฏิเสธ และ Tom's Hardware กับ Mashable หยิบไปรายงาน แต่เมื่อไล่ issue ที่อ้างถึง พบว่าหลายรายการเกิดก่อนกฎจะมา จึงน่าจะเป็นตัวกรองด้านไซเบอร์ ส่วน Anthropic ยังไม่ชี้แจง

· อ่าน 4 นาที
Claude Code ส่ง transcript ของ background agent ให้โมเดลทุก ~30 วินาทีเพื่อเขียนสถานะ 3–5 คำ ผู้วัดรายงานกินราว 16% และยังปิดแบบทางการไม่ได้
เครื่องมือนักพัฒนา

Claude Code ส่ง transcript ของ background agent ให้โมเดลทุก ~30 วินาทีเพื่อเขียนสถานะ 3–5 คำ ผู้วัดรายงานกินราว 16% และยังปิดแบบทางการไม่ได้

รายงานอิสระพบว่าฟีเจอร์ agent_summary ของ Claude Code ส่ง transcript เต็มของ background agent ไปถามสถานะทุก ~30 วินาที คิดเป็น 16.4% ของค่าใช้จ่ายในระบบของผู้วัด Issue เปิดมาตั้งแต่ ส.ค. ยังไม่มีสวิตช์ปิดที่รองรับ เราตรวจพบโค้ดนี้ใน 2.1.314 และพบกฎใหม่เรื่องเกมที่ไม่อยู่ใน changelog

· อ่าน 4 นาที