Level 5 · Vibe Codingscheduleอ่าน 10 นาที

ลองบนของจริงก่อน อย่าทดลองกับคนที่ใช้อยู่

starsTL;DR

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

ลองบนของจริงก่อน อย่าทดลองกับคนที่ใช้อยู่

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

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

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

ความเข้าใจผิดที่ทำให้มือเกร็ง

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

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

💡 ใจความสำคัญ: เว็บของคุณไม่ได้มีก้อนเดียว มันมีสามก้อน สามโลกที่แยกขาดจากกัน คุณลองของในสองโลกแรกได้เต็มที่ พังกี่รอบก็ได้ คนที่ใช้จริงไม่มีทางเห็น จนกว่าคุณจะตั้งใจส่งมันออกไป

สามโลก ไม่ใช่หนึ่งโลก

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

โลกที่หนึ่ง คือเครื่องของคุณเอง เว็บที่รันอยู่ในเครื่องคุณ เห็นได้คนเดียว พังได้ไม่กระทบใคร ในวงการเรียกว่า local (มันคืออะไร รันยังไง บทที่ owns เต็ม ๆ คือ รันแอปบนเครื่องตัวเอง) ในโลกนี้คุณพังได้เต็มที่ ลองสีแปลก ๆ ลบทั้งหน้าทิ้งแล้วทำใหม่ ใส่ข้อมูลมั่ว ๆ เข้าไปลองได้ ไม่มีใครเห็น เพราะมันคือครัวของคุณ

โลกที่สอง คือสำเนาที่ถูกปล่อยขึ้นเน็ต แต่มีที่อยู่ลับเฉพาะ สำเนาเว็บหนึ่งเวอร์ชันที่ถูกเอาขึ้นไปวางบนอินเทอร์เน็ตจริง แต่อยู่ที่ลิงก์เฉพาะที่มีแค่คุณรู้ คนทั่วไปที่เข้าเว็บหลักของคุณจะไม่เจอเวอร์ชันนี้ ในวงการเรียกว่า preview (บางที่เรียก staging) ลิงก์ลับนี้มาจากไหน ใครสร้างให้ บทที่ owns คือ รันแอปบนเครื่องตัวเอง บทนี้สนใจแค่ว่า มันคือที่ให้คุณลองคลิกของจริงก่อน โดยยังไม่มีคนจริงมาเจอ

โลกที่สาม คือของจริงที่คนใช้อยู่ เว็บที่อยู่บนที่อยู่หลัก ถ้าใครพิมพ์ชื่อเว็บคุณเข้ามาจะเจออันนี้ ลูกค้าใช้จริง สมาชิกล็อกอินจริง ข้อมูลจริงของคนจริงอยู่ในนั้น ในวงการเรียกว่า production โลกนี้ศักดิ์สิทธิ์ คุณไม่ทดลองอะไรตรงนี้ คุณส่งของเข้ามาที่นี่เฉพาะเมื่อมันผ่านสองโลกแรกมาแล้วเท่านั้น

ทำไมสามโลกนี้ถึงไม่เหมือนกัน

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

local รันบนเครื่องคุณ มักต่อกับข้อมูลทดสอบ ตั้งค่าคนละแบบกับเครื่องเซิร์ฟเวอร์จริง preview ถูกเอาขึ้นไปวางบนเซิร์ฟเวอร์เหมือน production จึงใกล้ของจริงกว่า local มาก แต่ก็ยังต่างจาก production ได้นิด ๆ ส่วน production คือของจริงทุกมิติ ข้อมูลจริง คนจริง การตั้งค่าจริง

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

วิธีที่ของไหล จากซ้ายไปขวา ทางเดียว

จับหลักง่าย ๆ ว่าของไหลจากซ้ายไปขวาเสมอ ไม่เคยไหลย้อน

คุณแก้ใน local ก่อน ลองในเครื่องตัวเองจนพอใจ จากนั้นส่งขึ้นไปดูใน preview เพื่อเช็คว่าพอวางบนของจริงแล้วมันยังโอเคไหม เมื่อ preview ผ่าน คุณถึง promote ขึ้น production ให้คนใช้จริงเห็น คุณไม่เคยเริ่มจากการแก้ที่ production ตรง ๆ เลย production เป็นปลายทาง ไม่ใช่ที่ทดลอง

ในทางปฏิบัติ "การแวะผ่าน preview" หน้าตาเป็นลำดับนี้ คุณ push เวอร์ชันที่พอใจขึ้นไป (push คืออะไร เป็นของบท จากเครื่องคุณ ถึงเว็บจริง) แพลตฟอร์มที่รับฝากเว็บประกอบสำเนานั้นขึ้นมาพร้อมลิงก์ preview ให้อัตโนมัติ คุณเปิดลิงก์นั้น คลิกของจริง ลองให้พอใจ แล้วค่อย promote ขึ้น production สี่จังหวะนี้คือวินัย ไม่ใช่ทางเลือก

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

กฎสำคัญ หลัง promote แล้วต้องเปิด production ดูซ้ำ

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

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

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

ซ้อมใหญ่บนเวทีจริง แต่ยังไม่มีคนดู

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

preview คือการซ้อมใหญ่บนเวทีจริง คุณได้ลองบนของที่เหมือนจริงทุกอย่าง แต่ยังไม่มีผู้ชม คือคนใช้จริง เข้ามาเห็น production คือรอบแสดงจริงที่คนดูเข้ามานั่งเต็มแล้ว

จุดที่การเปรียบเทียบนี้ใช้ไม่ได้ และเป็นจุดที่คุณต้องระวัง คือ การซ้อมใหญ่บนเวทีจริง มันเหมือนวันแสดงเกือบทุกอย่าง แต่ preview ไม่ได้เหมือน production ทุกอย่างเสมอไป preview อาจต่อกับข้อมูลคนละชุดกับ production อาจมีการตั้งค่าบางอย่างที่ต่างกันนิด ๆ นี่แหละคือเหตุผลที่กฎ "หลัง promote แล้วเปิด production ดูซ้ำ" ถึงสำคัญ ซ้อมใหญ่ผ่านสวยไม่ได้แปลว่าคืนจริงจะไม่มีอะไรสะดุด คุณต้องดูเวทีจริงด้วยตาตัวเองอีกหนึ่งรอบเสมอ

ความเข้าใจผิดสองข้อที่อันตราย

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

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

ของจริงจากเว็บนี้

เว็บที่คุณกำลังอ่านอยู่ตอนนี้ คือ AI ภาษาคน ทำขึ้นโดยคนที่ไม่ใช่โปรแกรมเมอร์ เป็นผู้บริหารสายธุรกิจ สร้างเว็บนี้ด้วยการสั่ง AI ล้วน ๆ และเว็บนี้อยู่บน production จริง คนเข้าใช้จริงอยู่ทุกวัน ที่ aipasakon.com

แล้วเขาแก้เว็บนี้ยังไงโดยไม่ทำคนใช้เดือดร้อน เขาทำตามสามโลกนี้เป๊ะ เวลาจะแก้อะไร เขาแก้ใน local ก่อนเสมอ รันเว็บขึ้นมาดูบนเครื่องตัวเอง ลองคลิก ลองกด ลองทุกอย่างก่อน เมื่อพอใจในเครื่องแล้ว เขา push ขึ้นไปดูใน preview ได้ลองบนของจริงอีกชั้น ก่อนจะ promote ขึ้น production ที่ aipasakon.com แล้วเปิด production ดูซ้ำอีกรอบว่ายังโอเค ของที่เสี่ยง ของที่ยังไม่มั่นใจ ไม่มีทางขึ้นตรงไป production เด็ดขาด มันต้องผ่านสองด่านแรกก่อนเสมอ

ผลคือเขากล้าแก้เว็บได้บ่อย กล้าลองของใหม่ เพราะเขารู้ว่าทุกการทดลองเกิดหลังบ้าน ไม่ใช่หน้าร้าน คนที่เข้ามาอ่าน AI ภาษาคน ไม่เคยเห็นเวอร์ชันที่ยังพังอยู่ เพราะเวอร์ชันพังถูกกักไว้ใน local กับ preview หมดแล้ว

สรุป

กลับไปที่ความใจหายตอนต้นบท ที่คุณกลัวว่าแก้อะไรนิดเดียวแล้วคนใช้จะเห็นทันที ความกลัวนั้นมาจากภาพผิดในหัว ที่คิดว่าเว็บมีก้อนเดียว

ความจริงคือมีสามโลก local ในเครื่องคุณคนเดียว ลองของได้เต็มที่ preview สำเนาที่วางบนเน็ตจริงแต่มีลิงก์ลับ ไว้ซ้อมใหญ่บนของจริงก่อน production ของจริงที่คนใช้อยู่ ศักดิ์สิทธิ์ แตะเฉพาะเมื่อผ่านสองโลกแรกแล้ว ของไหลจากซ้ายไปขวาทางเดียว คุณลองในสองโลกแรก promote ขึ้น production เมื่อมั่นใจ แล้วเปิด production ดูซ้ำอีกที เพราะมันยังต่างจาก preview ได้นิดหน่อย

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

แหล่งอ้างอิง