Easy App
กลับไปหน้ารีวิว Repo
รีวิว Repoโพสต์แล้ว

รีวิว gitai — Git แบบใหม่ให้ AI agent หลายสิบตัวส่งโค้ดพร้อมกันได้ ไม่ต้องรอคิว

vibe-coder
รีวิว gitai — Git แบบใหม่ให้ AI agent หลายสิบตัวส่งโค้ดพร้อมกันได้ ไม่ต้องรอคิว

ข้อมูล Repo

feder-cr/git-ai
ภาษา
Go
ดาว
2,453
สร้างเมื่อ
แก้ไขล่าสุด
โพสต์แล้ว

เปลี่ยนสถานะผ่าน API: PATCH /api/reports/1545b686-6c36-4062-9756-ff1e38909784

แคปชันสำหรับ Facebook

ถ้าปล่อย AI agent หลายสิบตัวมาแก้โค้ดใน repo เดียวกัน Git แบบเดิมจะเริ่มติดคอขวด gitai ทำมาเพื่อแก้เรื่องนี้ครับ gitai เป็น open source ที่ทำตามแนวคิด Scion ระบบ version control ภายในของ Anthropic ที่เคยเล่าไว้ในบทความ แต่ตัวจริงไม่ได้เปิดให้ใช้ ✅ agent ส่งโค้ดเข้า branch ได้เลยด้วย compare-and-swap ไม่ต้องรอ merge queue ✅ ดึงเฉพาะไฟล์ที่ต้องใช้ ไม่ต้อง clone ทั้ง repo ✅ เลือกตัวแก้ conflict เองได้ จะใช้ AI เจ้าไหนหรือไม่ใช้เลยก็ได้ ✅ ทดสอบหลังส่งโค้ด ถ้าพังจะหาตัวต้นเหตุแล้ว revert ให้ ✅ agent แต่ละตัวมี token และสิทธิ์ของตัวเอง ข้อควรรู้: repo เพิ่งเปิดไม่ถึงสัปดาห์ ยังเป็นเวอร์ชัน 0.2.0 ต้อง build เอง และไม่ได้เกี่ยวข้องกับ Anthropic 🔗 https://github.com/feder-cr/git-ai #AIAgents #Git #AICoding #OpenSource

ภาพปกแบบ HTML สด

แสดงจาก HTML ต้นฉบับที่ใช้สร้างภาพ ดาวน์โหลดเป็น PNG 1080×1350 ได้ทันที

สรุป

gitai เป็น open source ภาษา Go ที่ทำตามแนวคิด Scion ระบบ version control ภายในของ Anthropic ย้ายงานหนักไปฝั่งเซิร์ฟเวอร์ ให้ AI coding agent จำนวนมาก land โค้ดบน branch เดียวกันได้โดยไม่ต้องผ่าน merge queue ยังเป็นเวอร์ชัน 0.2.0 และต้อง build เอง

คืออะไร

gitai คือโปรเจกต์ open source ภาษา Go ที่ทำ version control แบบใหม่สำหรับ AI coding agent โดยอ้างอิงดีไซน์ของ Scion ซึ่ง Anthropic เล่าไว้ในบทความ Redesigning source control ตัว Scion เองเป็นของภายใน Anthropic ไม่ได้เปิดให้สาธารณะ ผู้พัฒนาจึงทำ implementation แบบอิสระขึ้นมา และเรียกส่วนขยายของมันว่า Graft

โปรเจกต์นี้เป็น vendor neutral คือเซิร์ฟเวอร์ไม่เคยเรียก language model และฟีเจอร์ AI ทุกอันใช้กับ provider ใดก็ได้ หรือไม่ใช้เลยก็ได้ ตอนนี้มี 2,453 ดาว และ 270 forks (ข้อมูล ณ 20 ต.ค. 2026)

จุดเด่น

  • Always-online clients ที่ดึงเฉพาะ object ที่ต้องใช้ ObjectService เสิร์ฟ object เดี่ยวและ sparse tree ส่วน graft clone กับ graft sparse จัดเตรียมเฉพาะ path ที่สั่ง
  • Source control เป็น API blame, path history, ancestry และ code search รันฝั่งเซิร์ฟเวอร์ แล้วถูก memoize เป็น derived data คำนวณครั้งเดียวต่อ commit
  • Land ได้โดยไม่ต้องผ่าน merge queue UserLand rebase การเปลี่ยนแปลงลงบน tip ปัจจุบัน แล้ว land ด้วย compare-and-swap การ land พร้อมกันบน branch เดียวถูก batch เป็น reference update เดียว
  • แก้ conflict อัตโนมัติ ผ่าน resolver ที่ผู้ใช้เลือกเอง ได้ทั้ง LLM provider ใดก็ได้ เครื่องมือ deterministic หรือไม่ใช้ resolver เลย ผ่าน protocol แบบ versioned และ vendor-neutral
  • Changeset log ทุก reference update ที่ผ่านการรับจะถูกบันทึกพร้อม operation และ actor เป็น log เรียงลำดับที่ client เรียกดูหรือ watch แบบสดได้
  • Storage core แบบ database บวก object storage แต่ละ change เป็น changeset ใน write-ahead log ของ SQLite หรือ PostgreSQL พร้อม compare-and-swap ต่อหนึ่ง reference ส่วน pack เก็บใน object storage (file, S3, GCS, Azure) ทำให้เซิร์ฟเวอร์เป็น stateless และ scale ได้ โดยโหนดคือ cache ที่โหนดไหนก็ rebuild ได้
  • ทดสอบหลัง land แล้ว revert ตัวที่ทำให้พัง graft-verify ทดสอบ tip, bisect หาจุดที่พัง แล้ว revert การเปลี่ยนแปลงนั้น
  • Monitoring agents (superfans) ติดตาม changeset stream และรายงานสิ่งที่สำคัญของแต่ละ component ออกมาทาง Slack ได้
  • Agent เป็น first-class user ใช้ token ราย agent, RPC allowlist และ branch policy กำหนดว่า agent แต่ละตัวทำอะไรได้บ้าง
  • Review แบบเข้าใจความหมาย ใช้ semantic approval rules เช่น change ที่แก้แค่คอมเมนต์อาจต้องการ approval น้อยกว่า change ที่แตะ logic
  • Strict cache tiers graft-cache แคช immutable objects แยกเป็น daemon tier และ regional tier โดย verify ทุก object
  • Benchmark ที่ README รายงานเอง (เครื่อง 16-core หนึ่งเครื่อง สองรอบ): 50 agents land 250 changes โดย 20% ตั้งใจให้ conflict รอบ classic land ได้ 100-101 changes ใช้ 27 attempts ต่อ 1 change ที่ land สำเร็จ ส่วน gitai land ได้ 200 ใช้ 1.0 attempts ต่อ change, p99 latency 1.5-1.8 วินาที (classic 6.3-7.0 วินาที) และ land ได้ 1,862-2,544 changes ต่อนาที (classic 240-272) รอบนี้ไม่ได้ใช้ conflict resolver ส่วน 50 changes ที่ไม่ land คือ conflict ที่ตั้งใจไว้ ถ้าใช้ resolver แบบ deterministic จะ land ได้ครบ 250 changes

เหมาะกับใคร

  • ทีมที่ปล่อย coding agent หลายตัวพร้อมกันแล้วเจอปัญหา full clone, merge queue และ client-side history walk
  • คนที่อ่านบทความ Redesigning source control ของ Anthropic แล้วอยากลองแนวคิดเดียวกันในแบบที่รันเองได้
  • ผู้ที่อยากเป็นเจ้าของ server เอง (self-host) และไม่อยากผูกกับ provider ใด provider หนึ่ง
  • ทีมที่อยากคุมสิทธิ์ของ agent แต่ละตัวแยกกันชัดเจน
  • ถ้าแค่อยากได้ Git client ธรรมดา ตัวนี้อาจไม่เหมาะ เพราะออกแบบเป็นระบบที่ต้องรัน server เอง

เริ่มต้นใช้งาน

Requirements: Linux หรือ macOS, Go 1.26, C toolchain, Meson และ Ninja (ตอน build จะคอมไพล์ bundled Git)

git clone https://github.com/feder-cr/git-ai.git
cd git-ai
make build                         # server, CLI and tools into _build/bin
examples/graft/quickstart.sh       # a server, a cache daemon, two agents and a land, in a temporary directory
./_build/bin/graft                 # the CLI and its commands

ถ้าจะรันเซิร์ฟเวอร์เอง ให้ปรับ examples/graft/config.toml แล้ว start ด้วย _build/bin/gitaly serve config.toml และถ้าต้องการเก็บ state ของ repo ไว้ใน database กับ object storage ให้เพิ่มหัวข้อ [graft.storage] เริ่มในโหมด shadow import repo เข้ามา แล้วค่อยสลับเป็น authoritative

ข้อควรรู้

  • License README ระบุว่า MIT มีไฟล์ LICENSE และ NOTICE อยู่ แต่ metadata ของ repo ถูกตรวจจับเป็น NOASSERTION (Other) ควรเปิดไฟล์ LICENSE ตรวจเงื่อนไขให้ดีก่อนนำไปใช้เชิงพาณิชย์
  • ความสดใหม่ push ล่าสุด 20 ต.ค. 2026 และสร้าง repo เมื่อ 15 ต.ค. 2026 อายุราว 5 วัน ยังใหม่มาก หลายอย่างอาจเปลี่ยนได้อีก
  • สถานะซอฟต์แวร์ เวอร์ชัน 0.2.0 ยังไม่ถึง 1.0 README บอกว่าสิ่งที่เขียนไว้ทั้งหมด implement แล้วและมี test ทั้ง unit, end-to-end, multi-node, crash และ fuzz แต่ interface ยังอาจเปลี่ยนก่อน 1.0 และมีช่องว่างที่รู้แล้ว เช่น garbage collection ของ pack ใน storage core รายละเอียดอยู่ใน doc/graft/LIMITATIONS.md
  • การติดตั้งยังต้อง build เอง ต้องมี Meson, Ninja และ C toolchain และตอนนี้ยังไม่มีแพ็กเกจสำเร็จรูปที่ README ระบุไว้
  • ที่มาและสิทธิ์ โปรเจกต์เริ่มจาก fork ของ Gitaly (GitLab) ซึ่งเป็น MIT, Copyright GitLab Inc. ไดเรกทอรี ee/ ที่ไม่ใช่ MIT ของ upstream ไม่ถูกนำเข้ามา
  • ความเป็นอิสระ เป็น implementation อิสระของดีไซน์ที่เปิดเผยสาธารณะ ไม่ได้เกี่ยวข้องหรือได้รับการรับรองจาก Anthropic
  • ตัวเลข benchmark เป็นผลที่ผู้พัฒนาวัดเองบนเครื่องเดียว อย่าเพิ่งเทียบกับระบบอื่นโดยไม่ดูรายละเอียดใน doc/graft/BENCH.md

🔗 https://github.com/feder-cr/git-ai

ข้อมูลจาก GitHub ณ 20 ต.ค. 2026: ⭐ 2,453 | ภาษา Go | license NOASSERTION

ไฟล์แนบ (4)

Easy App — กล่องรายงานจาก AI
v0.10.0 (8137b2d)