gc-tree เป็นเครื่องมือจัดการ global context สำหรับ AI coding agent

ทำไมถึงสร้างมันขึ้นมา

เวลาใช้งาน AI พอเปลี่ยนเซสชันก็ต้องอธิบายเรื่องเดิมซ้ำทุกครั้ง

  • เราทำงานกันแบบไหน
  • ทีมใช้คำศัพท์อะไร
  • repo นี้กับ repo นั้นเชื่อมโยงกันอย่างไร

ถ้าเซสชันหายไปหรือ context ถูกบีบอัด
ก็ต้องใส่ข้อมูลพื้นหลังพวกนี้ใหม่ทุกครั้ง

แม้จะมีวิธีจัดการ context อย่าง CLAUDE.md หรือ AGENTS.md
แต่วิธีแบบนี้เหมาะกับการอธิบาย repo เดียวมากกว่า และยังมีข้อไม่สะดวกเมื่อต้องจัดการหลาย repo พร้อมกัน

  • เก็บความสัมพันธ์ระหว่าง repo ได้ยาก
  • ความรู้พื้นฐานที่ใช้ร่วมกันมักซ้ำซ้อนกระจัดกระจายไปหลายที่
  • พอเซสชันปิดก็ต้องเริ่มอธิบายใหม่ตั้งแต่ต้น

ผมอยากลดงานที่ต้องทำซ้ำเหล่านี้

gc-tree ทำอะไรได้บ้าง

gc-tree เป็นเครื่องมือที่เก็บสไตล์การทำงานของผม คำศัพท์เฉพาะของทีม และความรู้พื้นฐานที่ใช้ร่วมกันไว้เป็น global context ภายนอก repo
และดึงมาอ้างอิงเฉพาะข้อมูลที่จำเป็นตอนทำงาน

พอตั้งค่า onboarding ไว้ครั้งหนึ่งแล้ว หลังจากนั้นก็ไม่ต้องอธิบายยาว ๆ ทุกครั้งว่าผมคือใครและทำงานแบบไหน

มันมีประโยชน์มากเป็นพิเศษเมื่อทำงานในสภาพแวดล้อมแบบ multi-repo
เพราะไม่ถูกจำกัดอยู่ใน repo ใด repo หนึ่ง และสามารถนำบริบทร่วมที่ใช้ในหลายโปรเจกต์กลับมาใช้ซ้ำได้

สิ่งที่ใส่ใจระหว่างการพัฒนา

  • ลดการใช้โทเคนด้วยการดึงมาเฉพาะข้อมูลที่จำเป็น แทนการอ่าน context ทั้งหมดทุกครั้ง
  • แยกจัดการหลาย workflow ได้เหมือนการแตก branch
  • มองข้ามบริบทที่ไม่เกี่ยวข้องโดยอัตโนมัติ
  • ถ้ามี onboarding data ที่เพื่อนร่วมทีมจัดไว้แล้ว ก็สามารถนำมาใช้เริ่มต้นได้ทันที
  • ออกแบบให้เชื่อมต่อเข้ากับสภาพแวดล้อมการพัฒนาเดิมได้ โดยไม่ต้องเปลี่ยนแปลงมาก

สรุป

ถ้าคุณทำงานกับหลาย repo หรือรู้สึกยุ่งยากที่ต้องคอยอธิบายความรู้พื้นหลังที่มีแค่คุณรู้ให้ฟังซ้ำ ๆ ก็น่าจะลองใช้ดูได้ครับ
หากได้ลองใช้แล้วส่งฟีดแบ็กมาก็จะขอบคุณมากครับ

GitHub Link: https://github.com/handsupmin/gc-tree

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น