Inkitt สร้างเครื่องมือสร้าง Pull Request แบบ One-Shot ด้วย Agent Orchestration

Inkitt รายงานว่าระบบนี้ได้ส่งโค้ดออกไปใช้งานทุกวัน ตามบทความทางเทคนิคที่เผยแพร่โดย Inkitt Tech โดยฟังก์ชันการเปลี่ยนสถานะหลักจะแมปสถานะการทำงานปัจจุบันและเหตุการณ์ขาเข้าไปยังการกระทำถัดไป โดยไม่เข้าถึงฐานข้อมูล เครือข่าย หรือโมเดลภาษาโดยตรง

มีการตรวจสอบแยกต่างหากที่ diff ของ Git เพื่อให้แน่ใจว่าการเปลี่ยนแปลงไม่ได้แตะต้อง path ที่ถูกจำกัด และเวิร์กโฟลว์จะปฏิเสธงานที่เกี่ยวข้องกับการย้ายฐานข้อมูล, การเปลี่ยนแปลงสคีมา, หรือการกำหนดค่า CI/container build

ระบบนี้รองรับการจัดการ webhook ซ้ำซ้อนผ่านการลดความซ้ำซ้อนและการเขียนฐานข้อมูลแบบมีเงื่อนไข โดยใช้หลักการของ idempotent operations สำหรับเวิร์กโฟลว์ที่อาจมีการลองใหม่หรือได้รับเหตุการณ์ซ้ำ

สำหรับ CI completion นั้น Orchestrator จะสอบถาม GitHub เพื่อดูว่างานที่เกี่ยวข้องทั้งหมดเสร็จสิ้นแล้วหรือไม่ แทนที่จะถือว่าทุกเหตุการณ์ของงานคือการเสร็จสิ้นของเวิร์กโฟลว์ทั้งหมด

Inkitt เน้นย้ำถึงสถานะเวิร์กโฟลว์ที่คงอยู่, การลองใหม่ที่จำกัด, และการควบคุมการกระทำภายนอกแบบรวมศูนย์ โดยระบบจะเปิด draft PR และไม่สามารถข้าม branch protection หรือรวมการเปลี่ยนแปลงของตนเองได้ และต้องมีคนมาอนุมัติในขั้นตอนสุดท้าย

ศัพท์ที่ควรรู้

  • Pull Request (PR) – คือการร้องขอให้รวมโค้ดเข้าไปในโปรเจกต์หลัก ซึ่งต้องผ่านการตรวจสอบก่อน
  • Agent Orchestration – คือการจัดการและควบคุมการทำงานของ AI Agent หลายตัวให้ทำงานร่วมกันเป็นขั้นตอน
  • Idempotent operations – คือการดำเนินการที่หากทำซ้ำหลายครั้งจะได้ผลลัพธ์เหมือนกับการทำครั้งเดียว
  • Git diff – คือการเปรียบเทียบความแตกต่างของโค้ดระหว่างสองเวอร์ชัน
  • CI (Continuous Integration) – คือกระบวนการรวมโค้ดจากหลายแหล่งเข้าด้วยกันอย่างต่อเนื่องเพื่อทดสอบ

ที่มา: infoq.com

Leave a Comment