อย่าโฆษณาในคอมมิต
(akselmo.dev)- ข้อความคอมมิต ควรเป็นพื้นที่สำหรับข้อมูลเชิงเทคนิค และวลีอย่าง “Assisted by blabot” ก็กลายเป็นโฆษณาที่เผยชื่อเครื่องมือหรือบริษัท
- ทั้งที่โปรเจกต์โอเพนซอร์สไม่ได้รับเงินจากบริษัทเหล่านั้น แต่กลับเกิดธรรมเนียมที่ผู้ใช้ซึ่งจ่ายค่าสมาชิกใส่ ข้อความโปรโมต ลงไปในคอมมิต
- หากจำเป็น การเปิดเผยว่าใช้เครื่องมือ AI สามารถทำได้ใน merge request และในคอมมิตควรใช้ถ้อยคำทั่วไปอย่าง “generated by an LLM” จะเหมาะสมกว่า
- เครื่องมือที่ใส่ข้อความเชิงโฆษณาอัตโนมัติลงในคอมมิต อีเมล หรือข้อความอื่น ๆ เป็น เครื่องมือที่แย่ และประเด็นสำคัญคือการทำให้เมทาดาทาปนเปื้อน มากกว่าจะเป็นเรื่องของการใช้เครื่องมือ
- แม้แต่รูปแบบอย่าง “Co-authored-by” หากถูกใช้เกินกว่าการบอกข้อมูลการทำงานร่วมกันทางเทคนิคเพื่อโชว์บอตหรือบริการใดบริการหนึ่ง ก็จะกลายเป็น พื้นที่โฆษณาฟรี
ข้อความคอมมิตควรเป็นพื้นที่ของข้อมูลเชิงเทคนิค
- หากใส่วลีอย่าง “Assisted by blabot”, “co-authored-by: slopgpt”, “sent from my fartphone” ลงใน ข้อความคอมมิต ก็เท่ากับเป็นโฆษณาที่เผยชื่อบริษัทหรือเครื่องมือ
- ทั้งที่โปรเจกต์โอเพนซอร์สไม่ได้รับเงินจากบริษัทเหล่านั้น แต่กลับมีโครงสร้างที่ทำให้ผู้ใช้ที่จ่ายค่าสมาชิกต้องใส่ข้อความประชาสัมพันธ์บริษัทลงในคอมมิต
- จึงเกิดความย้อนแย้งแบบที่ใช้ตัวบล็อกโฆษณา แต่กลับใส่โฆษณาไว้ในคอมมิตเอง
- คอมมิตควรเป็นที่สำหรับ ข้อมูลเชิงเทคนิค ไม่ใช่พื้นที่โปรโมตเครื่องมือหรือบริษัทใดบริษัทหนึ่ง
วิธีเปิดเผยการใช้เครื่องมือ AI
- หากจำเป็น ก็สามารถเปิดเผยการใช้เครื่องมือ AI ได้ใน merge request
- ในคอมมิต การใช้ถ้อยคำทั่วไปอย่าง “generated by an LLM” แทนชื่อบริษัทหรือชื่อผลิตภัณฑ์เฉพาะจะเหมาะสมกว่า
- การใส่ชื่อบริษัทเฉพาะลงในคอมมิต เท่ากับเป็นการมอบพื้นที่โฆษณาฟรีให้
- หรือจะเลือกไม่ใช้เครื่องมือแบบนี้เลยก็ได้
เกณฑ์ในการตัดสินเครื่องมือ
- เครื่องมือที่ใส่ข้อความเชิงโฆษณาอัตโนมัติลงในคอมมิต อีเมล หรือข้อความอื่น ๆ ถือได้ว่าเป็น เครื่องมือที่แย่
- แก่นของปัญหาไม่ใช่แค่เรื่องใช้เครื่องมือหรือไม่ แต่คือวิธีที่ข้อความโปรโมตบริษัทแทรกเข้ามาในเมทาดาทาหรือข้อความของสิ่งที่ถูกสร้างขึ้น
- แม้แต่รูปแบบอย่าง “Co-authored-by” หากถูกใช้เกินกว่าการบอกข้อมูลการทำงานร่วมกันทางเทคนิคเพื่อเผยชื่อบอตหรือบริการใดบริการหนึ่ง ก็ถือเป็นโฆษณา
จุดยืนที่เกี่ยวข้อง
- Why I will likely never use AI programming tools: สรุปจุดยืนเกี่ยวกับ AI แยกต่างหาก
1 ความคิดเห็น
ความคิดเห็นจาก Lobste.rs
ที่บอกว่า เครื่องมือที่แปะโฆษณาเพิ่ม ลงในข้อความอย่างคอมมิตหรืออีเมลเป็นเครื่องมือที่แย่มากนั้นก็ถูกต้องอยู่ แต่ทางแก้ไม่ใช่การทำให้จับได้ยากขึ้นว่ากำลังใช้เครื่องมือแย่ ๆ แบบนี้อยู่ ทางแก้คือไม่ใช้เครื่องมือพวกนั้นตั้งแต่แรก
ส่วนตัวกลับรู้สึกขอบคุณนิด ๆ ที่คนทำแบบนี้อยากแสดงตัวเองออกมา
สุดท้ายแล้วทางแก้จริง ๆ ก็คือไม่ใช้เครื่องมือที่ใส่โฆษณาลงในผลลัพธ์
หลายคนให้ความสำคัญกับการหลีกเลี่ยง โค้ดที่สร้างโดย LLM ดังนั้นผมไม่คิดว่าการลดการเปิดเผยการใช้ LLM จะเป็นทิศทางที่ถูกต้อง
ถ้าใส่ข้อมูลนั้นไว้ในข้อความคอมมิต ก็จะทำให้ใช้เครื่องมืออย่าง slopcheck เพื่อตรวจอัตโนมัติได้ง่ายว่ามีโค้ดที่สร้างโดย LLM อยู่ในโค้ดเบสหรือไม่
แต่สิ่งสำคัญไม่ใช่ว่าใช้ LLM ตัวไหน แต่อยู่ที่ความจริงที่ว่าได้ใช้ LLM ต่างหาก ถ้าผู้ใช้เครื่องมือเหล่านี้เปลี่ยนไปใช้รูปแบบนั้น ก็อาจลดโทษของการโฆษณาสินค้าเฉพาะเจาะจงได้ ในขณะที่ยังตอบโจทย์เรื่องความจำเป็นในการเปิดเผยข้อมูล
ผมเข้าใจทั้งหมดว่าหมายถึงอะไร แต่มีอยู่ส่วนหนึ่งที่มองต่างออกไปเล็กน้อย
บริษัท AI กำลังได้โฆษณาฟรีแบบเต็ม ๆ และผมก็เกลียดมากที่พวกเขาแทรกซึมเข้ามาในซอฟต์แวร์โอเพนซอร์สแบบนี้
แต่ผมไม่เห็นด้วยกับการให้เปิดเผยแค่ใน merge request เพราะไม่ใช่ทุกคนจะดู merge request และถ้าจะรู้ว่าคอมมิตนี้เชื่อถือได้หรือไม่ ก็ควรไม่ต้องพึ่งอะไรนอกเหนือจาก ประวัติ git
แต่สำหรับโค้ดที่สร้างโดย LLM ผมไม่ค่อยเห็นความหมายเท่าไร การที่เครื่องมืออย่าง Dependabot เซ็นชื่อคอมมิตถือว่าโอเค เพราะมันเป็นข้อมูลที่มีประโยชน์เวลาเกิดอะไรผิดพลาด จะได้แก้ปัญหาและป้องกันไม่ให้เกิดซ้ำ
งั้นถ้าใช้ประมาณ “Proudly typed in nano” จะเป็นยังไง? :D
ถ้า Visual Studio เริ่มแปะ “Made using Visual Studio” ลงในคอมมิตของผม ผมน่าจะหงุดหงิดมาก
Sent using
Firefox 140.10.2esr (64-bit)
Debian GNU/Linux 13 (trixie) x86_64
Linux 6.12.86+deb13-amd64
Using locally sourced electricity from free range waterfalls
Method names suggested by Microsoft IntelliSense (R) and Pyright (TM)\
Grammar and spelling corrections by Apple Intelligence (R)
อาจเป็นเหตุผลเดียวกับที่คนใส่เสื้อที่เขียนว่า “Nike” หรือ “Adidas” ก็ได้
บางทีใส่ชุดกีฬาอาจจะดีกว่าก็ได้
ถ้าผม pair programming กับใครสักคนแล้วผมเป็นคนคอมมิต ชื่อของเขาก็จะอยู่ใน co-authored-by
เวลาผมเขียนโปรแกรม ผมมองว่าการมีส่วนร่วมของ LLM มากพอจะได้รับการรับรองในคอมมิต โค้ดนั้นผมเป็นคนคอมมิตและผมก็เป็นคนรับผิดชอบ แต่ผมไม่ใช่ผู้เขียนเพียงคนเดียวของโค้ดนั้น
แต่ผมก็ไม่เคยเห็นใครรีบใส่ในคอมมิตว่า “ฉันอ้างอิง Google ตอนเขียนสิ่งนี้ และกด tab completion ใน xcode ไป 4 ครั้ง”
คุณสามารถบูตสแตรปโปรเจ็กต์ Spring, สร้างบางอย่างใน Go ด้วย echo หรือ cobra CLI, หรือสร้าง boilerplate ของ Laravel ได้ หลายภาษาเองก็มี generator
แต่เราก็ไม่ได้เพิ่ม “co-authored by X tool”
มันอาจไม่เหมือนกันเสียทีเดียว แต่ก็คล้ายกัน คือคุณกำลังใส่ เมทาดาทาของเครื่องมือ ลงในชุดการเปลี่ยนแปลง ซึ่งไม่จำเป็นเลย แค่ใส่แนวคิดทางธุรกิจที่เกี่ยวข้อง และแจ้งให้ทราบเกี่ยวกับการตัดสินใจทางเทคนิคก็พอ
ไม่จำเป็นต้องพูดถึงเครื่องมือ
ผมไม่รู้ว่าเป็นเพราะเว็บเซิร์ฟเวอร์รับโหลดไม่ไหว ตั้งค่าผิด หรือจัดผมเป็นบอต แต่ผมต้องรอประมาณ 30 วินาทีกับ การเชื่อมต่อ HTTPS
ผมกลับมองว่านี่เป็น สัญญาณ ที่ดีนะ เป็นวิธีที่ดีในการดูว่ามีความพยายาม หรือขาดความพยายาม ใส่ลงไปในโค้ดมากแค่ไหน
ผมต่อต้านโฆษณามาก แต่ไม่ใช่เพราะผมหวังว่าไม่มีใครจะรู้จักหรือใช้สินค้าผู้บริโภค
แต่เพราะผมอยากให้ผู้คนได้รับข้อมูลที่ถูกต้องและไม่ลำเอียงเกี่ยวกับสินค้าผู้บริโภค
ผมไม่คิดว่าการใส่ข้อมูลนี้ไว้ในคอมมิตจะก่อให้เกิดอคติ ไม่ว่าจะเป็น Claude หรือ Copilot หรืออะไรก็ตาม การที่มันมีส่วนเกี่ยวข้องกับการทำคอมมิตนั้นเป็นข้อเท็จจริงอย่างชัดเจน และหลายคนก็มีความสนใจอย่างสมเหตุสมผลที่จะรู้เรื่องนั้นในบริบทนี้ ตรงกันข้ามกับเรื่องว่าผู้คอมมิตใช้ Emacs หรือไม่ ซึ่งเป็นข้อมูลที่ไม่มีใครสนใจ มันไม่ได้ถูกใส่ลงไปแบบไร้เหตุผล
ถ้าไม่ชอบ ก็แค่ตั้งค่าไม่ให้ user agent พิมพ์มันออกมาก็พอ