เครื่องมือใหม่
Tools
Simon Willison ปล่อย commit-rewriter แก้ข้อความ commit เก่าให้สะอาดก่อนปล่อยโค้ด
เครื่องมือจิ๋วที่แก้ปัญหาจริงของคนเขียนโค้ดกับ AI แล้วต้องเอาออกมาเปิดให้คนอื่นดู
ทีมข่าว เอไอไทย.com
⏱ อ่าน 3 นาที
ปัญหาที่คนใช้ AI เขียนโค้ดทุกคนเจอ แต่ไม่ค่อยมีใครกล้าพูด: ประวัติ commit ของคุณเต็มไปด้วยขยะที่ AI ทิ้งไว้
ถ้าคุณเคยใช้ coding agent ช่วยเขียนโค้ด แล้ววันหนึ่งต้องเอาซอร์สนั้นออกไปให้คนอื่นดูหรือปล่อยเป็นโอเพนซอร์ส คุณน่าจะรู้ดีว่าประวัติ commit มันเละขนาดไหน Simon Willison เพิ่งปล่อยเครื่องมือเล็กๆ ชื่อ commit-rewriter ออกมา และเหตุผลที่เขาเขียนมันขึ้นมาก็ตรงไปตรงมาเลย
เรื่องมีอยู่ว่า Willison ต้องปล่อย security release ของ Datasette แล้วปรากฏว่า commit แรกๆ เต็มไปด้วย "coding agent cruft" หรือก็คือเศษขยะที่ AI เขียนทิ้งไว้ในข้อความ commit บวกกับ reference ไปยัง issue ID จาก private repository ซึ่งแน่นอนว่าเอาออกไปเผยแพร่ไม่ได้ เพราะคนข้างนอกไม่เห็น repo ส่วนตัวของคุณหรอก
ตัวเครื่องมือเป็นเว็บแอปเล็กๆ รันผ่าน uvx ง่ายๆ แค่พิมพ์ uvx commit-rewriter path/to/repo ถ้าอยู่ในโฟลเดอร์ repo อยู่แล้วก็ไม่ต้องใส่ path ก็ได้
สร้าง branch สำรองก่อน
ตอน submit การแก้ไข เครื่องมือจะสร้าง branch ที่มี timestamp ของสถานะ repo ปัจจุบันไว้ก่อน เผื่อคุณอยากย้อนกลับ
เขียน commit ใหม่ทั้งหมด
หลังจากนั้นมันจะ rewrite ทุก commit ตั้งแต่ตัวแรกที่คุณแก้ ไปจนถึงตัวล่าสุด
จุดที่ผมชอบคือการออกแบบให้มี safety net มาก่อน เพราะการ rewrite git history เป็นอะไรที่คนทำ git มาสักพักจะรู้สึกเสียวสันหลังทุกครั้ง ต่อให้ใช้ git rebase -i มากี่ร้อยครั้งก็เถอะ การมี branch สำรองอัตโนมัติช่วยให้กล้าแก้มากขึ้นเยอะ
จริงๆ เครื่องมือนี้สะท้อนปัญหาที่ใหญ่กว่าตัวมันเอง นั่นคือยุคที่ AI เขียนโค้ดแทนเรา มันทิ้งร่องรอยไว้ในทุกที่ รวมถึงข้อความ commit ที่คนมักมองข้าม แต่พอต้องเปิด repo ให้คนอื่นดู ข้อความ commit กลับกลายเป็นหน้าตาของงานคุณไปทันที มันไม่ใช่แค่เรื่อง aesthetic แต่เป็นเรื่องว่า repo ของคุณดู professional แค่ไหนในสายตาคนอื่น
Willison จัดแท็กข่าวนี้ว่าเป็นทั้ง git, projects, python และ ai-assisted-programming ซึ่งก็บอกอยู่แล้วว่ามันเกิดจากบริบทของการเขียนโค้ดด้วย AI โดยตรง ไม่ใช่เครื่องมือ git ทั่วไป
commit-rewriter อาจดูเป็นเครื่องมือเล็กๆ ที่แก้ปัญหาเฉพาะทาง แต่จริงๆ มันคือสัญญาณว่าปัญหา "AI ทิ้งขยะไว้ในโค้ด" เริ่มเป็นเรื่องที่คนต้องสร้างเครื่องมือมาจัดการแล้ว ไม่ใช่แค่ปล่อยผ่านเหมือนแต่ก่อน
ที่มา: Simon Willison's Weblog — อ่านต้นฉบับ
ความคิดเห็น 4
กำลังโหลดความคิดเห็น...