การเปลี่ยนแปลงที่แท้จริงในโครงการซอฟต์แวร์มักต้องมีการแก้ไขโค้ด การทดสอบ และไฟล์คอนฟิกพร้อมกัน ซึ่งแตกต่างจากการเปรียบเทียบความแตกต่างของบรรทัด (Line Diffs) ใน Git
สำหรับระบบควบคุมเวอร์ชันที่ออกแบบสำหรับ Agent นั้น มีข้อกำหนดสำคัญ 8 ประการ เช่น การเปลี่ยนแปลงเชิงตรรกะ (Logical change units) และการมี Metadata สำหรับเครื่องจักรเป็นหลัก (Machine-first metadata) เพื่อให้การทำงานของ Agent มีความโปร่งใสและทำซ้ำได้
การนำร่องระบบนี้แบ่งเป็น 4 สัปดาห์ โดยเริ่มจากการแยก Worktree ของ Agent แต่ละตัว ไปจนถึงการใช้ Manifests และ CI gates เพื่อควบคุมการรวมโค้ด ซึ่งเป็นขั้นตอนที่สามารถนำไปใช้ได้ภายในหนึ่งเดือน โดยไม่ทิ้งจุดแข็งของ Git ไป
ศัพท์ที่ควรรู้
- SWE-bench – คือชุดทดสอบที่สร้างจากคู่ของ issue และ pull request จริงใน Python repositories เพื่อจำลองสถานการณ์การพัฒนาซอฟต์แวร์
- Agent-Native Version Control – คือระบบควบคุมเวอร์ชันที่ถูกออกแบบมาโดยตรงเพื่อรองรับการทำงานของ AI Agents โดยเฉพาะ
- Line Diffs – คือการแสดงความแตกต่างของโค้ดในระดับบรรทัด ซึ่งเป็นวิธีการเปรียบเทียบแบบดั้งเดิมของ Git
- Manifests – คือไฟล์ที่บรรจุข้อมูลเกี่ยวกับสถานะของ Agent ณ จุดใดจุดหนึ่ง เช่น การอ้างอิงถึง Dependencies หรือสภาพแวดล้อม
- Provenance – คือการบันทึกที่มาทั้งหมดของโค้ด เช่น prompt hash, model และ tool versions ที่ใช้ในการสร้าง commit นั้นๆ
ที่มา: pastagi.com