2 คะแนน โดย GN⁺ 5 시간 전 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • SQLite AGENTS.md เป็นไฟล์สำหรับผู้ที่ใช้เอเจนต์กับโค้ดเบส โดยระบุเงื่อนไขของ pull request และนโยบายเกี่ยวกับโค้ดที่เอเจนต์สร้างไว้อย่างชัดเจน
  • SQLite จะไม่รับ pull request หากไม่มีการตกลงล่วงหน้าหรือเอกสารทางกฎหมายแบบ public domain สำหรับ pull request นั้น และการเปลี่ยนแปลงจริงจะถูกเขียนขึ้นใหม่โดยนักพัฒนาโดยตรง
  • SQLite ไม่รับ agentic code แต่สามารถรับ agentic bug report ที่มี test case ซึ่งทำซ้ำปัญหาได้
  • คอมมิตล่าสุดลบคำว่า “currently” ออก เพื่อเปลี่ยนถ้อยคำการปฏิเสธโค้ดที่เอเจนต์สร้างจากข้อความชั่วคราวให้เป็นข้อความที่ชัดเจนแน่นอนยิ่งขึ้น
  • เมื่อมี รายงานบั๊กที่สร้างด้วย AI ซึ่งมีคุณภาพหลากหลายเพิ่มขึ้น SQLite จึงสร้างฟอรัมบั๊กใหม่เพื่อแยกการรายงานปัญหาออกจากการเขียนซ้ำโดยนักพัฒนามนุษย์

นโยบาย AGENTS.md ของ SQLite

  • sqlite AGENTS.md เป็นไฟล์สำหรับผู้ที่ใช้เอเจนต์กับโค้ดเบสของ SQLite และไม่ได้ระบุว่าเป็นแนวทางสำหรับการพัฒนา SQLite ภายในเอง
  • ไฟล์นี้ถูกเพิ่มเข้ามาใน คอมมิตเมื่อ 5 วันที่แล้ว และระบุ เงื่อนไขการรับ pull request กับ นโยบายโค้ดที่เอเจนต์สร้าง ของโครงการ SQLite ไว้อย่างชัดเจน
  • SQLite จะไม่รับ pull request หากไม่มีการตกลงล่วงหน้าหรือเอกสารทางกฎหมายที่นำ pull request นั้นเข้าสู่ public domain
  • pull request ที่เขียนโดยมนุษย์และกระชับจัดระเบียบดีอาจถูกพิจารณาในฐานะตัวพิสูจน์แนวคิด แต่การเปลี่ยนแปลงจริงจะถูกเขียนขึ้นใหม่โดยนักพัฒนา SQLite เอง

เส้นแบ่งระหว่างโค้ดจากเอเจนต์กับรายงานบั๊ก

  • SQLite ไม่รับ agentic code
  • SQLite สามารถรับ agentic bug report ที่มี test case ซึ่งทำซ้ำปัญหาได้
  • patch หรือ pull request ที่แสดงแนวทางการแก้ไขที่เป็นไปได้ยังได้รับการต้อนรับ หากมีจุดประสงค์เพื่อการจัดทำเอกสาร
  • คอมมิตล่าสุด ได้ลบ “(currently)” ออกจากข้อความ “SQLite does not (currently) accept agentic code” และข้อความคอมมิตคือ “Strengthen the statement about not accepting agentic code”
  • การเปลี่ยนแปลงนี้ทำให้นโยบายปฏิเสธโค้ดที่เอเจนต์สร้างของ SQLite เปลี่ยนจากถ้อยคำเชิงชั่วคราวไปเป็นถ้อยคำที่หนักแน่นชัดเจนยิ่งขึ้น

รายงานบั๊กที่สร้างด้วย AI และฟอรัมแยกต่างหาก

  • ในฟอรัมของ SQLite มี รายงานบั๊กที่สร้างด้วย AI จำนวนมากไหลเข้ามา โดยมีคุณภาพแตกต่างกันไป
  • SQLite จึง แยกส่วนนี้ออกต่างหาก และสร้าง SQLite Bug Forum ใหม่
  • D. Richard Hipp กำลังจัดการประเด็นต่างๆ ในฟอรัมบั๊กใหม่นี้ และทำคอมมิตต่อเนื่องหลายรายการในโค้ดเบส
  • นโยบายของ SQLite ถูกจัดวางให้ไม่รวมโค้ดที่เอเจนต์สร้างเข้ามาโดยตรง แต่แยกส่วนระหว่างรายงานปัญหาที่ทำซ้ำได้กับการเขียนซ้ำโดยนักพัฒนามนุษย์

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

 
GN⁺ 5 시간 전
ความคิดเห็นจาก Lobste.rs
  • จำได้ว่า SQLite ไม่รับ contribution ใด ๆ หากไม่มี CLA ที่ส่งมาทางไปรษณีย์จริง ดังนั้นเรื่องนี้เลยไม่น่าแปลกใจเลย

    • ใช่ เพียงแต่สิ่งที่น่าแปลกใจคือพวกเขาใช้ กลไกเฉพาะนี้ ในการประกาศเรื่องดังกล่าว
      หัวข้อมาจาก การอ้างข้อความ ในไฟล์ AGENTS.md
  • ไม่น่าแปลกใจเลย สิ่งที่น่าสนใจคือพวกเขาเพิ่มไฟล์ AGENTS.md เข้าไปในรีโพเพื่อให้จัดการได้ง่ายขึ้นเมื่อมีคนพยายามส่งโค้ดแบบนั้นเข้ามา

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

    • https://www.sqlite.org/lts.html
      ดูจาก archive แล้วก็ดีที่พวกเขาอัปเดตข้อความนี้มาเรื่อย ๆ ในเวอร์ชันปี 2016 ที่ https://web.archive.org/web/20161021183035/… เขียนไว้ว่า “ปี 2050 ยังอยู่อีก 34 ปีข้างหน้า”
  • ถ้าคุณชอบ version control หรือเว็บ UI/UX การไปดูคอมมิต “เสริมความชัดเจนของข้อความไม่รับ agentic code” ที่ Simon พูดถึงใน Fossil web UI ในรูปแบบดั้งเดิม แทน Git ก็อาจน่าสนุก
    คอมมิตนี้อยู่บน trunk เลยเลยน่าสนใจน้อยกว่า แต่ถ้าอยู่บน branch คุณก็สามารถเลือก timeline ของ branch ได้จากรายการ ‘Timelines’ ส่วน timeline แบบ ‘Ancestors’ จะแสดงบรรพบุรุษที่อยู่นอก branch ด้วย ทำให้ตรวจสอบได้ว่ามีอะไรถูก merge เข้ามาใน branch บ้าง

  • งั้นก็คือ ถึงยังไงก็ไม่รับโค้ดอยู่แล้ว แต่ก็ยังห้ามเป็น โค้ดที่เอเจนต์เขียน ด้วย เข้าใจแล้ว