review 3/3
agent ที่ตรวจงานตัวเองบอดจุดเดียวกับตอนเขียน คนตรวจต้องเป็น context ที่ไม่แบกข้อสมมติของคนเขียน และต้องกล้าตอบว่าไม่ผ่าน ไม่งั้นมันคือตรายาง
[AI for teams · 3/3]
ลองสังเกตเวลาสั่ง AI agent ทำงานเสร็จ แล้วถามมันต่อว่า "ตรวจให้หน่อยว่าถูกมั้ย" มันจะตอบกลับมาว่าเรียบร้อยดีเกือบทุกครั้ง ทั้งที่บางทีงานยังมีปัญหาอยู่
ไม่ใช่มันโกหก มันตรวจจริงๆ แต่มันตรวจด้วยหัวเดียวกับตอนที่มันเขียน ข้อสมมติที่มันตั้งไว้ตอนเขียนผิด พอมาตรวจมันก็เอาข้อสมมติเดิมนั่นแหละมาตรวจ จุดที่มันมองไม่เห็นตอนเขียน มันก็มองไม่เห็นตอนตรวจ เพราะมันคือตาคู่เดิม
นี่คือปัญหาที่ใหญ่ที่สุดของการให้ agent ตรวจงานตัวเอง มันไม่ใช่การตรวจที่อ่อน มันแทบไม่ใช่การตรวจที่ไว้ใจได้เลย มันแค่อ่านข้อสมมติของตัวเองซ้ำอีกรอบ
พอทำงานเป็นทีม อาการนี้มันอันตรายขึ้น
agent ตัวแรกเขียนงาน แล้วตรวจเอง บอกว่าผ่าน ส่งต่อให้ agent ของอีกคน คนที่รับไปไม่ได้รับ "งานที่ถูกตรวจแล้ว" เขารับ "จุดบอดของ agent ตัวแรกที่ถูกตีตราว่าผ่าน" ทั้งทีมสร้างงานต่อบนของที่ไม่มีใครตรวจจริง
นี่คือข้อสุดท้ายของ series นี้ post แรกคือส่งงานข้ามกันยังไงไม่ให้หลุด post สองคือประกาศเส้นชัยก่อนปล่อยงาน แล้วข้อนี้คือ ใครเป็นคนเช็คว่าเส้นชัยนั้นถึงจริง ถ้าคนเช็คคือคนเดียวกับคนที่ประกาศว่าถึงแล้ว แปลว่ายังไม่มีใครเช็ค
ทางแก้ไม่ใช่แค่หา AI ที่เก่งขึ้น มันคือเปลี่ยนคนตรวจ
ประเด็นไม่ได้อยู่ที่ว่าตรวจสองรอบดีกว่ารอบเดียว ประเด็นคือคนตรวจต้องไม่ใช่คนที่เพิ่งเขียนมันมา ต้องเป็น context ที่ไม่แบกข้อสมมติของคนเขียน เห็น spec เห็น diff เห็น test แล้วเช็คว่าตรงกันมั้ย
agent ที่ตรวจด้วย context ของคนเขียน มันก็แค่คนเขียนที่ใส่หมวกคนตรวจ บอดจุดเดียวกัน การตรวจที่ใช้ได้ต้องมาจากตาที่ไม่เคยเห็นตอนสร้าง
ตัวชี้วัดง่ายๆ ว่าเป็นการตรวจจริงมั้ย การตรวจที่ดีต้องกล้าตอบว่า "ไม่ผ่าน" ได้ ถ้า review ของคุณไม่มีทางออกมาเป็นไม่ผ่าน มันไม่ใช่การตรวจ มันคือตรายาง
ของที่ตาสดจับได้แต่คนเขียนจับไม่ได้ คือพวกโค้ดทำเกินหรือขาดจาก spec, การผูก module ที่ไม่ควรผูก, ค่าที่ hardcode ไว้เงียบๆ, เส้นทางที่เปลี่ยนพฤติกรรมแต่ไม่มี test คุม พวกนี้คนเขียนมองข้ามเพราะมันอยู่ใน blind spot ของตัวเอง คนที่ไม่ได้เขียนถึงจะเห็น
ผมใช้หลักนี้กับ post ชุดนี้ด้วย ตัวที่ร่างโพสต์กับตัวที่ตรวจโพสต์เป็นคนละ model กันทุกโพสต์ ตัวที่ไม่ได้เขียนมันเจอจุดที่ตัวเขียนมองไม่เห็นทุกครั้ง หลักเดียวกัน แค่เปลี่ยนจากโค้ดเป็นคอนเทนต์
สรุปทั้ง series สั้นๆ spec คือกฎของทั้งโปรเจกต์ contract คือนิยามของคำว่าเสร็จของงานเดียว review คือตาสดที่มายืนยันว่าเสร็จนั้นเสร็จจริง สามหน้าที่ ไม่มีอันไหนแทนกันได้
ใน kanly มี skill ชื่อ review แต่ skill เป็นแค่ปลายทาง ต้นทางคือกฎข้อเดียว คนเขียนคือคนที่ไม่ควรเป็นคนอนุมัติ
ครั้งหน้าที่ AI บอกว่า "ตรวจแล้ว เรียบร้อย" ถามมันกลับว่าใครตรวจ ถ้าคำตอบคือตัวมันเอง แปลว่ายังไม่มีใครตรวจ