4 คะแนน โดย GN⁺ 2025-11-27 | 2 ความคิดเห็น | แชร์ทาง WhatsApp
  • มีการส่ง PR ขนาดใหญ่ราว 13,000 บรรทัดเพื่อเพิ่ม ข้อมูลดีบัก DWARF v5 ให้กับคอมไพเลอร์เนทีฟของ OCaml เพื่อรองรับ การดีบักระดับซอร์สโค้ดด้วย GDB·LLDB บน macOS และ Linux
  • เนื้อหาการพัฒนาครอบคลุม เบรกพอยต์ระดับฟังก์ชัน·ระดับบรรทัด, การติดตามพารามิเตอร์และตัวแปรภายใน, การแสดงข้อมูลชนิดพื้นฐาน, รองรับ AMD64·ARM64 เป็นต้น
  • ผู้เขียนระบุว่าโค้ดนี้เป็นผลลัพธ์ที่ AI หลายโมเดล เช่น Claude Sonnet 4.5 และ ChatGPT 5(Codex) ร่วมกันสร้างขึ้น และตนเองทำหน้าที่เพียง สั่งการ·ตรวจทาน AI แทนการเขียนโค้ด
  • ผู้ดูแล OCaml ปฏิเสธการรวมโค้ดและปิด PR โดยให้เหตุผลเรื่อง ปัญหาลิขสิทธิ์, การไม่มีการพูดคุยด้านการออกแบบ, ภาระการบำรุงรักษา, ความยากในการรีวิวโค้ดจาก AI
  • การถกเถียงครั้งนี้เป็นตัวอย่างที่สะท้อนโจทย์ใหม่ของชุมชนโอเพนซอร์สเกี่ยวกับ คุณภาพ, ลิขสิทธิ์ และกระบวนการทำงานร่วมกันของโค้ดที่สร้างโดย AI

ภาพรวมของ PR รองรับการดีบัก DWARF v5

  • PR นี้เพิ่ม ข้อมูลดีบัก DWARF v5 ให้กับคอมไพเลอร์เนทีฟของ OCaml ทำให้สามารถ ดีบักระดับซอร์สโค้ด ได้ใน GDB และ LLDB
    • ตั้งเบรกพอยต์ตามชื่อฟังก์ชัน·ไฟล์·บรรทัด แสดงชื่อตัวแปร และให้ข้อมูลชนิด
    • รองรับสถาปัตยกรรม AMD64·ARM64 และยังไม่รองรับแพลตฟอร์ม 32 บิต
  • มีการทำให้รองรับ DWARF อย่างสมบูรณ์ทั้งบน macOS (Mach-O) และ Linux (ELF) โดยใช้ section-relative relocation
  • เพิ่ม ปลั๊กอิน LLDB (ocaml_lldb.py) เพื่อรองรับคำสั่งแสดงค่า OCaml (ocaml print)
  • การทดสอบประกอบด้วย 9 รายการเพื่อตรวจสอบ การทำงาน·ชนิด·การดีบักตามบรรทัด

รายละเอียดการพัฒนา

  • อัปเกรดจาก DWARF v4 เป็น v5 และใช้ DW_FORM_string เพื่อหลีกเลี่ยงข้อผิดพลาดระหว่างลิงก์
  • รองรับ หลาย compilation unit (CU) และลดความซ้ำซ้อนของตารางสตริง
  • สะท้อน การติดตามตัวแปรภายใน·พารามิเตอร์, lexical block, ข้อมูลชนิดพื้นฐาน ลงในโครงสร้าง DWARF
  • ใช้โมดูล Var_lifetime เพื่อติดตามวงจรชีวิตของตัวแปร และใช้ฟิลด์ fun_var_info เพื่อส่งต่อข้อมูลตัวแปรตลอดทั้งไปป์ไลน์การคอมไพล์
  • ใช้ DW_TAG_lexical_block เพื่อแสดง scope ที่ซ้อนกัน
  • สคริปต์ทดสอบ ตรวจสอบเบรกพอยต์และการแสดงชนิดใน GDB·LLDB

ข้อถกเถียงเรื่องโค้ดที่สร้างโดย AI

  • ผู้เขียนระบุว่า “Claude Sonnet 4.5 เป็นผู้เขียนส่วนใหญ่ และ ChatGPT 5(Codex) เป็นผู้ตรวจทาน”
    • พร้อมอธิบายว่าตนเอง “เพียงกำกับและตรวจทาน AI เท่านั้น ไม่ได้เขียนเองแม้แต่บรรทัดเดียว”
  • มีบางไฟล์ที่ใส่ชื่อ Mark Shinwell เป็นผู้เขียน ทำให้เกิด ข้อถกเถียงเรื่องที่มาของลิขสิทธิ์
  • ผู้เขียนอ้างผ่านรายงานวิเคราะห์แยกต่างหากว่า “โครงสร้าง การตั้งชื่อ และระบบชนิด แตกต่างจากการพัฒนาใน OxCaml จึงไม่ใช่การคัดลอก”

ปฏิกิริยาของผู้ดูแลโครงการ

  • gasche: ชี้ว่ามีการส่งโค้ดกว่า 13,000 บรรทัดโดยไม่มีการคุยเรื่องการออกแบบล่วงหน้า ทำให้เกิด ภาระด้านการรีวิว·การบำรุงรักษา สูง
    • พร้อมตัดสินว่าโค้ดที่ AI เขียน “รีวิวยากกว่าและมีความเสี่ยงทางกฎหมาย” จึงไม่สามารถรวมเข้ามาได้
  • dra27: วิจารณ์คำกล่าวที่ว่า “AI เข้าใจโค้ด” และย้ำว่า LLM เป็นเพียง เครื่องมือสร้างแพตเทิร์น ไม่ใช่ความเข้าใจจริง
  • bluddy และ tmcgilchrist: ระบุว่าโค้ด DWARF ควรถูกแยกออกเป็นไลบรารีต่างหาก และหากรวมไว้ในคอมไพเลอร์ภายในจะเพิ่ม ภาระการบำรุงรักษา
  • เมื่อการถกเถียงร้อนแรงขึ้น PR นี้จึงถูกล็อกในสถานะ ‘too heated’

ประเด็นของ AI กับการทำงานร่วมกันในโอเพนซอร์ส

  • ผู้เขียนย้ำว่านี่เป็น การทดลองพัฒนาด้วย AI โดยต้องการพิสูจน์ว่า “AI สามารถสร้างโค้ดคุณภาพสูงจนสมบูรณ์ได้”
  • ฝั่งผู้ดูแลชี้ว่าปัจจุบันยังไม่มีนโยบายที่ชัดเจนเกี่ยวกับ “คุณภาพ ลิขสิทธิ์ และขั้นตอนการตรวจทานโค้ดที่สร้างโดย AI”
  • กรณีนี้จุดประเด็นถกเถียงเรื่อง ขั้นตอนและเกณฑ์ที่จำเป็นเมื่อจะผสานการพัฒนาแบบมี AI ช่วยเข้ากับโครงการโอเพนซอร์ส

2 ความคิดเห็น

 
iolothebard 2025-11-27

แต่… คนที่ส่ง PR นี้กลับไม่เข้าใจเลยแม้แต่น้อย
ดังนั้น… ขอปัดตก PR นี้ (ปัง ปัง ปัง)

 
GN⁺ 2025-11-27
ความเห็นจาก Hacker News
  • สงสัยว่าเมนเทนเนอร์ของ OCaml เคยผ่าน การฝึกพิเศษในการรับมือกับคนยากๆ มาหรือเปล่า
    ความอดทนและความเป็นผู้ใหญ่ของพวกเขาน่าทึ่งมาก
    ถ้าเป็นผมคงบล็อกแบบ Torvalds ไปตั้งนานแล้ว

    • ที่บริษัทใหญ่ที่ผมทำงานอยู่ ถ้าใครสงสัยใน AI จะมีบรรยากาศเหมือน ถูกกันออกจากกลุ่ม
      ฝ่ายผู้นำแทบจะมีศรัทธาใน AI แบบเกือบเป็นศาสนา และอยากให้วิศวกรทุกคนใช้ AI ให้มากที่สุด
      แม้แต่ code review ก็เริ่มให้ AI รับหน้าที่มากขึ้นเรื่อยๆ แต่กรณีนี้ดูเหมือนจะไม่ได้ใจดีเพราะเหตุผลนั้น
    • ถ้าเป็นเมนเทนเนอร์ของโปรเจกต์โอเพนซอร์สขนาดใหญ่ ก็ดูเหมือนจะได้รับการฝึกแบบนั้นไปโดยธรรมชาติ
    • ผู้มีส่วนร่วมคนนั้นดูไม่ได้มีเจตนาร้าย อาจจะมีทาง เปลี่ยนพลังนั้นให้สร้างสรรค์ ได้ก็ได้
      เช่น ช่วยชี้นำให้แยก PR หรือทำข้อเสนอด้านการออกแบบ
    • บางคนดูเหมือนว่า ความสามารถในการคิดพังไปแล้ว เพราะการมีอยู่ของ AI
      เมนเทนเนอร์ใจดีเกินไป จนเห็นแล้วหงุดหงิดที่ต้องเสียเวลาให้คนแบบนั้น
    • กลับไปอ่านเธรดอีกครั้งแล้วยิ่งทึ่ง
      วิธีที่เมนเทนเนอร์ตอบด้วยเหตุผลและความเห็นอกเห็นใจโดยไม่ใช้อารมณ์ เป็น การสื่อสารแบบตำราเรียน จริงๆ
      แต่ก็อดคิดไม่ได้ว่าความใจดีแบบนี้จะยิ่งทำให้ภาพลวงตาแข็งแรงขึ้นหรือเปล่า
  • บางคนดูเหมือนจะ ขาดการตระหนักรู้ในตัวเอง ยิ่งกว่า LLM เสียอีก
    การไปถาม AI ว่า commit ที่ AI สร้างนั้นสมเหตุสมผลไหม เป็นเรื่องเหลือเชื่อจริงๆ
    อย่างน้อยเขาก็ยังซื่อสัตย์อยู่บ้าง ประโยคที่ว่า “ผมจะดูแลกองขยะนี้ให้นะ แต่ต้องจ่ายเงิน” นี่พีคมาก

    • ประทับใจที่ชุมชนยังให้ ฟีดแบ็กเชิงสร้างสรรค์ อย่างใจเย็น
      จนทำให้ผมเองอยากมีส่วนร่วมกับ ecosystem ของ OCaml เลย
    • ผมคิดว่าเขาอาจไม่ได้แค่โง่ แต่อาจเป็น โทรลล์ระดับสูง ก็ได้
    • ส่วนนั้นแหละที่เหมือนเชอร์รีบนหน้าเค้กจริงๆ
  • คำถามว่า “ทำไมผู้เขียนของไฟล์ที่ส่งมาถึงเป็น Mark Shinwell?”
    แล้วตอบว่า “AI เป็นคนตัดสินแบบนั้น ผมไม่ได้ถามมัน” สรุปทุกอย่างได้หมด

    • ที่ตลกกว่านั้นคือก่อนหน้านั้นเขาเคยพูดว่า “AI เข้าใจโค้ดนี้อย่างลึกซึ้ง ลองท้ามันดูสิ”
    • มันทำให้นึกถึงคำพูดที่ว่าคนเขียนซอฟต์แวร์ที่ดีต้อง คิดได้พร้อมกันหลายระดับของ abstraction
      แต่คนรุ่น AI แบบนี้กลับไม่มีแม้แต่การคิดหลายมุมพื้นฐาน
      ทั้งที่เดาได้อยู่แล้วว่าต้องถูกถามว่าทำไมถึงมี copyright ใส่มา แต่ก็ไม่ได้เตรียมคำตอบไว้เลย
    • ถึงจะเป็นโอเพนซอร์ส แต่การมีส่วนร่วมแบบนี้ก็รู้สึกว่า ห่างไกลจากจิตวิญญาณโอเพนซอร์สในทางความคิด
      สุดท้ายภาระการรีวิวก็ถูกโยนให้เมนเทนเนอร์ และผู้มีส่วนร่วมก็ไม่ต้องรับผิดชอบการดูแลต่อ
    • ตอนแรกผมนึกว่าเป็นมุก ที่ไหนได้เรื่องจริง ช็อกเลย
    • ผมถึงขั้นไปหา โปรไฟล์ GitHub ของเขา เผื่อว่า Mark Shinwell ตัวจริงจะอยู่ตรงนี้จริงๆ
  • เรซูเม่ ของคนนี้ระดับตำนานมาก
    ผ่านธนาคารวอลล์สตรีทมาแล้ว ไปเป็นผู้อำนวยการฝ่ายเทคโนโลยีที่ Deutsche Bank ขายไลเซนส์ให้ EA
    เคยพยายามเขียนหนังสือ “Hardcore Erlang” และระดมทุนคริปโตได้ 2 ล้านดอลลาร์ใน 2 วัน
    ไม่อัจฉริยะก็จอมโม้แห่งศตวรรษไปเลยสักทาง
    ลิงก์ที่เกี่ยวข้อง: บล็อกเก่า, เรซูเม่ PDF, บทสัมภาษณ์, เว็บไซต์ทางการ, ข่าวการยกเลิกหนังสือ Erlang

  • ต่อให้เป็นโค้ดที่ AI สร้าง ถ้าชุมชนยังสละเวลามาคุยและให้ฟีดแบ็ก
    แต่เจ้าของกลับ ก๊อปวางข้อความยาวๆ ที่ AI เขียนมา แบบตรงๆ ผมคิดว่านั่นควรถูกแบนทันที
    ถ้าทำตัวเหมือนสแปมบอต ก็สมควรถูกปฏิบัติเหมือนสแปมบอต

    • ก่อนหน้านี้มีเพื่อนร่วมงานเอา Jira ticket ไปแปะใน ChatGPT แล้วคัดลอกคำตอบมาส่งเป็น PR
      พอผมถามอะไร คำตอบก็เป็นน้ำเสียงแบบ GPT ชัดเจนมาก
      สุดท้ายพอลองทำเองก็ได้คำตอบที่แทบจะ เหมือนกันแทบทุกคำ
      หลังจากนั้นผมก็ประกาศเลยว่าจะไม่รีวิวโค้ดของเขาอีก
  • พอมีประโยคว่า “นี่คือการวิเคราะห์ copyright ที่เขียนโดย AI” ก็เกินขีดจำกัดแล้ว
    ถ้าเป็นผม ตอนนั้นคง บล็อก repo ไปแล้ว

    • ระดับ วุฒิภาวะทางอารมณ์ ของเมนเทนเนอร์น่าทึ่งมาก
    • ผมว่าแค่ตัวตลกเล่นมุกอะไรสักอย่าง ขำๆ แล้วปล่อยผ่านก็พอ
  • ผมเองก็เคยมี ประสบการณ์ปิด PR ที่สร้างโดย AI ในหลายโปรเจกต์โอเพนซอร์ส
    คนส่งแบบนี้พอโดนปฏิเสธจากโปรเจกต์หนึ่ง ก็จะย้ายไปอีกที่
    ภาระการรีวิวเพิ่มขึ้น แต่ผู้มีส่วนร่วมจริงๆ กลับลดลง
    ถึงอย่างนั้นการได้ดูการถกเถียงแบบเรียลไทม์บน HN ก็น่าสนใจดี

    • PR นี้สุดท้ายก็ถูกปิดและล็อก เมนเทนเนอร์ตอบอย่าง อดทนมาก
      แต่เจ้าตัวก็ไม่ยอมรับเหตุผลอะไรเลย ดูแล้วโปรเจกต์อื่นๆ ก็น่าจะรับมือแบบนี้ได้เหมือนกัน
    • เมนเทนเนอร์โอเพนซอร์สน่าจะต่อต้านกระแสนี้ อย่างน้อยก็เพราะ ไม่อยากถูกเอาไปล้อบน HN หรือ Reddit
      ที่น่าห่วงจริงๆ กลับเป็นฝั่งซอฟต์แวร์องค์กร
  • อยากถามคนที่สนับสนุน AI ว่า
    ถ้าคุณขึ้นพูดด้วยสุนทรพจน์ที่ AI เขียนให้ แล้วหลังจากนั้นมีคนถามคำถาม คุณจะตอบยังไง?
    สถานการณ์นี้ก็แบบนั้นแหละ

    • ถ้ามองจากฝั่งคนสนับสนุน AI ปัญหาไม่ได้อยู่ที่ AI เอง แต่คือ ท่าทีที่ส่งงานโดยไม่เข้าใจมัน
      การโยน PR ขนาด 13k บรรทัดเข้ามาโดยไม่เข้าใจ ไม่ว่าจะมี AI หรือไม่ก็เป็นเรื่องผิดอยู่ดี
      AI เป็นแค่เครื่องมือ จะใช้ เครื่อง CNC หรือใช้เลื่อย สิ่งสำคัญก็คือต้องเข้าใจผลลัพธ์
    • คำตอบว่า “AI เป็นคนตัดสินแบบนั้น ผมไม่ได้ถามมัน” บอกทุกอย่างแล้ว
    • ท่าทีแบบ “ผมไม่มีเงินเลยตอบไม่ได้ ถ้าคุณจ่าย ผมจะไปถาม AI ให้” นี่ชวนอึ้งมาก
    • มีคนแซวด้วยว่าจริงๆ นักการเมืองก็ทำแบบนี้มานานแล้ว
    • ยังมีประโยคว่า “AI เข้าใจคำถามของคุณอย่างสมบูรณ์แบบแล้ว พิสูจน์สิว่ามันผิด”
  • จาก PR ที่สร้างโดย AI ทั้งหมดที่เคยเห็น อันนี้เป็น เคสที่แปลกที่สุด
    ส่วนใหญ่มักเป็นโค้ดที่มือใหม่เขียนแล้วใช้ไม่ได้ แต่ครั้งนี้มันซับซ้อนและใช้งานได้จริง
    ผู้ส่ง Joel Reymont เป็นนักพัฒนาที่มีประสบการณ์ 30 ปี และเป็นรุ่นเก๋าที่มีบัญชี HN มาตั้งแต่ปี 2008
    ความอดทนของเมนเทนเนอร์ OCaml น่าทึ่งมาก และสุดท้ายเขาก็สรุปจุดยืนของตัวเองด้วยคอมเมนต์ที่มีความเป็นมนุษย์
    พร้อมบอกว่าจะเลิกมีส่วนร่วมกับ OSS ผ่าน AI
    ถึงอย่างนั้น PR แบบนี้ก็ยังคงเป็น การเสียเวลาของทุกฝ่าย
    และผมยังไม่เคยเห็นกรณีไหนที่ใช้ได้อย่างสร้างสรรค์จริงๆ

  • เป็น PR ที่น่าตกใจจริงๆ
    ลิงก์ commit นั้น

    • มีคนเล่นมุกว่าอย่างน้อยการแก้ไขส่วนนั้นก็อาจไม่ใช่สิ่งที่ AI เขียน /s