สิบเอ็ดข้อที่ล้มเองได้ สิบข้อที่เป็นแค่ข้อความ: คืนที่ห้อง AI ของเราตรวจกติกาของตัวเอง

สิบเอ็ดข้อที่ล้มเองได้ สิบข้อที่เป็นแค่ข้อความ

หลังวันทำงานหนักวันที่ 9 ตุลาคม ห้อง AI สิบเจ็ดห้องของเราเขียนทบทวนงานของตัวเอง ให้ห้องอื่นมาอ่านแย้ง แล้วห้องหนึ่งรวบรวมกติกาที่ทุกห้องเขียนขึ้นใหม่วันนั้นมาแยกเป็นสองกองด้วยคำถามเดียว คือถ้าข้ามกติกานี้ไป จะมีอะไรล้มไหม บทความนี้เล่าว่าแยกแล้วได้อะไร และทำไมตัวเลขสิบเอ็ดต่อสิบยังใจดีเกินไป

ห้อง AI ของเราเขียนกติกาให้ตัวเองได้เร็วมาก พลาดครั้งหนึ่ง ห้องก็เขียนบทเรียนหนึ่งบรรทัด แล้วเติมข้อใหม่ลงคู่มือของตัวเอง วันที่ 9 ตุลาคมซึ่งเป็นวันงานหนัก ทุกห้องทำแบบนี้หลายรอบ

คืนนั้นเราถามคำถามที่ตามมา กติกาที่เขียนเพิ่มทั้งวัน มีกี่ข้อที่ทำงานจริง

วิธีตรวจ

แต่ละห้องเขียนบันทึกทบทวนวันของตัวเอง ว่าทำอะไร พลาดอะไร เปลี่ยนอะไร แล้วมีห้องอื่นเข้ามาอ่านและเขียนข้อแย้งต่อท้าย จากนั้นห้องหนึ่งรับหน้าที่รวบรวม บันทึกรวบรวมลงเวลาไว้ราวตีหนึ่งยี่สิบของวันที่ 10 และบอกว่าใช้บันทึกของสิบเจ็ดห้องพร้อมข้อแย้งเป็นวัตถุดิบ

ห้องรวบรวมทำสามอย่าง

อย่างแรก หากติกาที่ซ้ำกัน หลายห้องเจอปัญหาเดียวกันและต่างคนต่างเขียนวิธีแก้ ตารางของห้องรวบรวมมีแปดแถว แถวละหนึ่งชนิดของปัญหา แต่ละแถวเลือกหนึ่งฉบับเป็นตัวหลัก แล้วให้ฉบับอื่นชี้มาที่ตัวหลักแทนการเขียนซ้ำ แถวที่ซ้ำมากที่สุดมีคู่มือห้าฉบับชี้มาที่ตัวหลักตัวเดียว

อย่างที่สอง แยกกติกาเป็นสองกอง

อย่างที่สาม เลือกว่ากติกาข้อไหนควรถูกสร้างเป็นเครื่องมือก่อน

คำถามเดียวที่ใช้แยก

หัวข้อของสองกองเขียนเกณฑ์ไว้ในวงเล็บ กองแรกชื่อว่าด่าน นิยามว่า "ล้มเองได้" คือเป็นสคริปต์หรือตัวดักคำสั่งที่มีรหัสออกและผ่านการทดสอบแล้ว กองที่สองชื่อว่าข้อความ นิยามว่า "ไม่มีอะไรล้มถ้าข้ามไป"

ผลคือกองแรกสิบเอ็ดรายการ กองที่สองสิบรายการ

กองที่สองไม่ได้แปลว่ากติกาแย่ หลายข้อเป็นกติกาที่จับปัญหาจริงได้ในวันนั้น มันแค่ทำงานต่อเมื่อห้องจำได้ว่าต้องทำ

รายการสิบเอ็ดต่อสิบนั้นนับเฉพาะกติกาที่เขียนหรือแก้ในวันนั้น ถ้ามองคู่มือทั้งชั้น ภาพเอียงกว่ามาก บ่ายวันที่ 10 เรานับคู่มือที่ทุกห้องใช้ร่วมกันได้ 141 เล่ม มี 14 เล่มที่มีไฟล์สคริปต์อยู่ข้างในอย่างน้อยหนึ่งไฟล์ อีก 127 เล่มเป็นข้อความล้วน ตัวเลขนี้หยาบ คู่มือที่มีสคริปต์ไม่ได้แปลว่าสคริปต์นั้นเป็นด่าน และคู่มือข้อความล้วนหลายเล่มก็เป็นความรู้อ้างอิงที่ไม่จำเป็นต้องมีด่าน แต่มันบอกสัดส่วนคร่าว ๆ ว่ากติกาส่วนใหญ่ของเราอยู่ในรูปไหน

แผนภาพคำถามเดียวที่แยกกติกาเป็นสองกอง คือด่านสิบเอ็ดรายการ กับข้อความสิบรายการ

ทำไมสิบเอ็ดยังใจดีเกินไป

อ่านรายการของกองแรกให้ละเอียด สี่ในสิบเอ็ดรายการมีวงเล็บกำกับจากห้องรวบรวมเอง รายการหนึ่งถูกเขียนว่ายังมีช่องที่จับไม่ได้ รายการหนึ่งปล่อยผ่านเมื่อได้รับค่าว่าง รายการหนึ่งยังไม่มีชุดทดสอบ และรายการหนึ่งยังไม่ได้รวมเข้าสายหลัก

รายการสุดท้ายนั้น ห้องที่มาแย้งเขียนไว้แรงกว่า ว่า ณ เวลาที่ตรวจ มัน "เป็นข้อความหรือความตั้งใจ ยังไม่ใช่ด่าน" บ่ายวันที่ 10 เราไปดูเอง คำขอรวมโค้ดของเครื่องมือตัวนั้นยังเปิดค้างอยู่

ห้องรวบรวมยังมีหัวข้อแยกสำหรับช่องโหว่ที่ห้องแย้งหาเจอในตัวด่านเอง หัวข้อนั้นเอ่ยถึงด่านหกตัว หนึ่งตัวถูกกำกับว่าแก้แล้ว

และด่านที่ไม่มีข้อบกพร่องเลยก็ยังอาจไม่ได้อยู่ในทางที่งานเดินผ่าน เราเล่าไว้ในอีกบทหนึ่งถึงด่านที่ทำงานถูกต้อง แต่ต้องมีคนจำไปเรียกเอง ผู้แย้งเรียกมันว่าข้อความที่มีสคริปต์แนบ

ถ้านับเฉพาะรายการที่ไม่มีวงเล็บกำกับและไม่อยู่ในหัวข้อช่องโหว่ ตัวเลขจะน้อยกว่าสิบเอ็ด เราไม่ได้ให้ตัวเลขนั้น เพราะการไม่มีข้อบกพร่องที่บันทึกไว้ ไม่ได้แปลว่าไม่มีข้อบกพร่อง

กติกาข้อไหนควรเป็นเครื่องมือก่อน

หัวข้อที่สามของบันทึกรวบรวมใช้เกณฑ์เดียว คือข้อความที่ทำให้พลาดมาแล้วตั้งแต่สองห้องขึ้นไป

มีหกรายการที่เข้าเกณฑ์ แต่ละรายการระบุสิ่งที่จะสร้าง ห้องที่โดน และเจ้าของ รายการที่โดนมากที่สุดมีหกห้อง คือการตรวจว่าผลที่โมเดลรับงานรายงานกลับมา ตรงกับผลเมื่อรันจริงไหม

เกณฑ์นี้ตัดการถกเถียงออกไปมาก ไม่ต้องเถียงว่ากติกาข้อไหนสำคัญ นับแค่ว่าข้อไหนถูกข้ามแล้วเสียหายมาแล้วกี่ห้อง

สิ่งที่การให้ห้องอื่นมาแย้งให้เรา

ห้องที่เขียนด่านมักทดสอบด่านกับกรณีที่ตัวเองนึกออก ห้องที่มาแย้งลองกรณีที่เจ้าของไม่ได้นึก ด่านหนึ่งในกองแรกถูกบันทึกว่า "แก้แล้วหลังการแย้ง" อยู่ในตารางของห้องรวบรวมเอง

การแย้งยังเปลี่ยนกองได้ ห้องหนึ่งที่กติกาอยู่ในกองข้อความตอบข้อแย้งว่ารับ แล้วสร้างส่วนหนึ่งของกติกานั้นเป็นด่านจริงในคืนเดียวกัน ห้องเขียนตรง ๆ ด้วยว่าขั้นที่เหลือยังเป็นรายการตรวจด้วยมือ เพราะต้องใช้วิจารณญาณ

อะไรทำให้ทำแบบนี้ได้ในคืนเดียว

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

ถ้าคู่มือของแต่ละห้องแยกกันอยู่ การให้ห้าฉบับชี้มาที่ตัวหลักตัวเดียวจะเป็นงานประสานห้าห้อง

สิ่งที่เรายังไม่รู้

ข้อคิดที่เอาไปใช้ได้

คำถามที่พบบ่อย

แยกกติกาที่เป็นด่านจริงกับกติกาที่เป็นแค่ข้อความอย่างไร

กองแรกชื่อว่าด่าน นิยามว่า "ล้มเองได้" คือเป็นสคริปต์หรือตัวดักคำสั่งที่มีรหัสออกและผ่านการทดสอบแล้ว กองที่สองชื่อว่าข้อความ นิยามว่า "ไม่มีอะไรล้มถ้าข้ามไป"