ใช้พรอมต์เดียวก่อนรีวิวโค้ดที่ AI เขียน ให้มันดึงชื่อที่ตั้งเองอย่าง MutationIntent ออกมาให้เรายืนยันหรือเปลี่ยนใหม่
อ่านโค้ดที่ AI เขียนแล้วงง หลายครั้งเป็นเพราะชื่อที่มันตั้งเป็นคนละภาษากับที่เราคิด คนคิดวิธีนี้บอกว่าพอเปลี่ยนชื่อให้ตรงกันก่อน โค้ดก็รีวิวง่ายขึ้นมาก

เวลาสั่งให้ AI เขียนโค้ดชุดใหญ่ พอเปิด diff ขึ้นมาดูว่าโค้ดเปลี่ยนตรงไหนบ้าง เรามักจะเจอชื่อตัวแปร ฟังก์ชัน หรือคลาสแปลกๆ ที่ AI คิดขึ้นเองเต็มไปหมด อ่านไปได้สักพักก็เริ่มงงว่าอะไรเป็นอะไร ทั้งที่โค้ดแต่ละบรรทัดไม่ได้ยากเลย
ปัญหาจริงๆ ไม่ได้อยู่ที่ตัวโค้ด แต่อยู่ที่ชื่อเรียกพวกนั้นต่างหาก
เรื่องนี้มีตัวอย่างชัดเจนจากบทความสั้นของ Andrew คนที่ต้องคอยรีวิวโค้ดที่ AI เขียนขึ้นมาทีละมากๆ เขายกตัวอย่างว่า สิ่งที่ AI อาจตั้งชื่อว่า MutationIntent ถ้าเป็นเขาน่าจะเรียกว่า EditRequest (คำขอแก้ไข) มากกว่า ทั้งสองชื่อหมายถึงสิ่งเดียวกัน ต่างกันแค่ชื่อแรกเป็นคำที่ AI คิดขึ้นมา ส่วนชื่อหลังเป็นคำที่อยู่ในหัวคนอ่าน
วิธีแก้ของเขาคือใช้พรอมต์เดียวสั่ง AI ก่อนเริ่มรีวิว ให้มันดึงชื่อทั้งหมดที่คิดขึ้นเองออกมา เพื่อให้เราเป็นคนเลือกว่าแนวคิดแต่ละอย่างควรจะเรียกว่าอะไร
cognitive load ที่มาจากการแปลชื่อในหัว

ทุกครั้งที่เจอคำว่า MutationIntent เขาต้องหยุดแปลในหัวก่อนว่ามันคือ EditRequest ถึงจะอ่านโค้ดต่อไปได้ การต้องคอยแปลความหมายซ้ำๆ แบบนี้จะเพิ่ม cognitive load หรือภาระที่สมองต้องแบกรับระหว่างอ่าน
ถ้าต้องแปลแค่ครั้งเดียวก็คงไม่ใช่เรื่องใหญ่ แต่ในความเป็นจริง ชื่อพวกนี้ไม่ได้โผล่มาแค่คำเดียว ในโค้ดใหม่ที่เรายังไม่คุ้นเคย มีชื่อที่ AI คิดขึ้นเองเกี่ยวพันกันอยู่หลายสิบชื่อ ข้อมูลส่งต่อจากส่วนหนึ่งไปอีกส่วนหนึ่ง ฟังก์ชันหนึ่งเรียกใช้อีกฟังก์ชันหนึ่ง กว่าจะเข้าใจว่าโค้ดบรรทัดหนึ่งทำงานอย่างไร เราต้องหยุดแปลชื่อทุกคำในบรรทัดนั้นให้ครบก่อน
เขาเล่าว่าเขาจำคำแปลพวกนี้ไว้ในหัวพร้อมกันได้จำกัด พอเกินจากนั้นก็เริ่มเข้าใจการทำงานของระบบผิดไป นี่คือสิ่งที่ไม่ควรเกิดขึ้นเลยระหว่างรีวิว เพราะการรีวิวคือขั้นตอนที่เราต้องเข้าใจระบบให้ถูกต้องที่สุด
ประเด็นสำคัญคือ ปัญหานี้ไม่ได้เกิดจาก AI ตั้งชื่อผิด เพราะคำว่า MutationIntent ถ้าอ่านแยกคำก็สื่อความหมายตรงตัว Mutation คือการเปลี่ยนแปลง ส่วน Intent คือเจตนา จึงเป็นชื่อที่ใช้งานได้ เพียงแต่ไม่ใช่คำที่คนอ่านจะเลือกใช้ และไม่ว่าชื่อนั้นจะฟังดูดีแค่ไหน ถ้าไม่ใช่คำที่เราคุ้นเคย เราก็ยังต้องเสียเวลาแปลทุกครั้งที่อ่านเจออยู่ดี
พรอมต์ที่ให้ AI ดึงชื่อที่มันตั้งเองออกมาไว้ในไฟล์
ก่อนเปิดอ่านโค้ด เขาจะส่งพรอมต์ด้านล่างนี้ให้ AI ทำงานก่อน ใครอยากลองก็คัดลอกข้อความภาษาอังกฤษนี้ไปใช้ได้ทันที:
Please review the changes and extract any unconventional or bespoke terms used for abstract objects, processes and concepts. Create a temporary markdown file with each term, its meaning and why it was chosen, and some proposed alternative terms for it. I will then use this markdown file to confirm the term choice or to provide my own custom term. You will then incorporate any changes. The goal here is to map your language choices to my own language choices so that I can understand the concepts more easily.
พรอมต์นี้มีคำสั่ง 5 ส่วน เรียงต่อกันเป็นลำดับชัดเจน:
- ดึงเฉพาะชื่อแปลกหรือชื่อที่ AI คิดขึ้นเอง ประโยคแรกสั่งให้ AI ตรวจดูโค้ดส่วนที่มีการเปลี่ยนแปลง แล้วดึงเฉพาะชื่อที่ไม่คุ้นตา ทั้งชื่อออบเจกต์ ขั้นตอนการทำงาน และแนวคิดต่างๆ ออกมา โดยไม่ต้องดึงคำศัพท์ทั่วไปที่คนส่วนใหญ่เข้าใจตรงกันอยู่แล้ว
- สร้างไฟล์ Markdown สรุปข้อมูล ประโยคที่สองสั่งให้ AI สร้างไฟล์ Markdown ชั่วคราว ใส่รายการชื่อทั้งหมด พร้อมอธิบายความหมาย เหตุผลที่เลือกใช้ชื่อนี้ และเสนอชื่อทางเลือกอื่นๆ มาให้เราพิจารณาด้วย
- แจ้งขั้นตอนต่อไปให้ AI รู้ล่วงหน้า ประโยคที่สามบอก AI ว่าเราจะเปิดไฟล์นี้ เพื่อยืนยันว่าจะใช้ชื่อเดิม หรือจะพิมพ์เปลี่ยนเป็นชื่อที่เราต้องการ
- สั่งให้อัปเดตโค้ดจริง ประโยคที่สี่สั่งให้ AI นำชื่อที่เราเลือกหรือแก้ไขในไฟล์ Markdown ไปอัปเดตลงในโค้ดจริง
- ระบุเป้าหมายของการทำงาน ประโยคสุดท้ายย้ำกับ AI ว่า เป้าหมายคือการปรับภาษาของ AI ให้ตรงกับภาษาที่เราคุ้นเคย เพื่อให้เราเข้าใจโค้ดได้ง่ายขึ้น หัวใจสำคัญจึงไม่ใช่การหาว่าชื่อไหน 'ถูกหรือผิด' แต่คือการปรับชื่อให้ตรงกับวิธีคิดของเรา
ไฟล์ชั่วคราวนี้จะช่วยย้ายภาระทั้งหมดจากสมองมาไว้บนหน้าจอแทน ทำให้เราไม่ต้องคอยจำคำแปลในหัว เหลือแค่หน้าที่อ่านและตัดสินใจทีละคำในไฟล์เท่านั้น
3 ขั้นตอนที่ต้องทำให้เสร็จก่อนเปิดดู diff

ขั้นตอนที่ต้องทำจริงมีเพียง 3 ขั้นสั้นๆ:
- รันพรอมต์นี้ก่อนเริ่มรีวิว ขั้นตอนนี้เรายังไม่ต้องอ่านโค้ดเลยแม้แต่บรรทัดเดียว
- เปิดไฟล์ที่ AI สร้างขึ้น แล้วตรวจดูชื่อทีละคำ ชื่อไหนที่ AI ตั้งมาแล้วเข้าใจง่ายก็ยืนยันไป แต่ถ้าชื่อไหนอ่านแล้วสะดุด ก็พิมพ์ชื่อใหม่ที่เราคุ้นเคยลงไปแทน
- ให้ AI ค้นหาและแทนที่ทั้งหมด สั่งให้ AI นำชื่อที่สรุปแล้วไปแทนที่ชื่อเดิมให้ครบทุกจุดในโปรเจกต์ รวมถึงในเอกสารประกอบด้วย
ที่ต้องทำกระบวนการนี้ให้เสร็จก่อนเริ่มรีวิว ก็เพราะสมองจะล้าตอนที่เราอ่านโค้ด ถ้าเราฝืนรีวิวไปก่อนแล้วค่อยมาแก้ชื่อทีหลัง เราก็ต้องทนแปลชื่อในหัวไปตลอดทาง ทั้งที่เป็นช่วงเวลาที่เราต้องใช้สมาธิทำความเข้าใจระบบให้ถูกต้องที่สุด แต่ถ้าเราเปลี่ยนชื่อให้เรียบร้อยตั้งแต่แรก โค้ดที่เราเปิดมาอ่านก็จะเป็นภาษาที่เราเข้าใจได้ทันทีตั้งแต่บรรทัดแรก
และที่ต้องให้อัปเดตเอกสารประกอบด้วย ก็เพราะเอกสารพูดถึงสิ่งเดียวกับโค้ด ถ้าในโค้ดเปลี่ยนเป็น EditRequest แล้ว แต่ในเอกสารยังเขียนว่า MutationIntent สิ่งเดียวกันก็จะมีสองชื่อจนชวนสับสน และคนที่เข้ามาอ่านเอกสารทีหลังก็ต้องมานั่งแปลความหมายซ้ำซ้อนอีกรอบ
โค้ดที่อ่านเข้าใจง่าย เหมือนเขียนออกมาจากหัวตัวเอง
ผลลัพธ์ที่เขาสรุปไว้ตรงไปตรงมา คือโค้ดที่ได้รีวิวง่ายขึ้นมาก เพราะอ่านแล้วเหมือนเขียนออกมาจากหัวของเขาเอง
จุดสำคัญของวิธีนี้คือ AI มีหน้าที่แค่ 'เสนอ' ส่วนคนตัดสินใจว่าแต่ละอย่างจะเรียกว่าอะไร ยังคงเป็นตัวเราเสมอ
นอกจากนี้ คำอธิบายและเหตุผลที่ AI แนบมาพร้อมกับแต่ละชื่อ ยังช่วยให้เราตัดสินใจได้ง่ายขึ้นมาก เพราะทำให้เราเห็นวิธีคิดของ AI ตอนตั้งชื่อนั้น บางชื่อพอเห็นเหตุผลแล้วเข้าท่าและตรงประเด็นดี เราก็ยืนยันใช้ชื่อของ AI ต่อไปได้เลย โดยไม่จำเป็นต้องเปลี่ยนใหม่ทุกชื่อ
เกณฑ์ตัดสินใจแต่ละคำจึงเหลือคำถามง่ายๆ เพียงข้อเดียว: เมื่ออ่านชื่อนี้แล้ว เรายังต้องหยุดแปลในหัวอีกไหม?
- ถ้าเห็นแล้วเข้าใจความหมายได้ทันที ก็เก็บชื่อเดิมของ AI ไว้
- แต่ถ้ายังต้องหยุดคิดหรือแปลความหมาย นั่นคือสัญญาณว่าควรเปลี่ยนมาใช้คำของเรา เพราะถ้าปล่อยทิ้งไว้ ชื่อนั้นจะกลับมาสร้างภาระให้สมองเราทุกครั้งที่อ่านเจอ
เทคนิคนี้เป็นเหมือนอีกด้านของแนวทาง grill-with-docs โดยฝั่งนั้นตกลงคำศัพท์กับ AI ให้ตรงกันก่อนมันเริ่มเขียนโค้ด ส่วนฝั่งนี้ปรับภาษาของ AI กลับมาเป็นภาษาของเราหลังมันเขียนเสร็จ
ครั้งต่อไปที่ AI เขียนโค้ดชุดใหญ่เสร็จ อย่าเพิ่งรีบเปิดดู diff ลองรันพรอมต์นี้ก่อน แล้วจะได้รีวิวโค้ดที่พูดภาษาเดียวกับคุณจริงๆ
ที่มา: บทความ Reducing the cognitive load of AI changes จาก Andrew
ชอบเรื่องแนวนี้ มีอีบุ๊คฟรีให้อ่านต่อ
Vibe Coding สำหรับคนไม่ใช่โปรแกรมเมอร์ ใช้ Claude Code สร้าง landing page, mini app และ prototype จริงโดยไม่ต้องเขียนโค้ด
กดสมัครแล้วเราจะส่งเทคนิค AI และของแจกใหม่ๆ ให้ทางอีเมล เลิกรับได้ตลอด
Vibecoding · The Developer's Playbook

ฉบับภาษาไทย 10 บท พา dev สร้าง Personal Finance Tracker (LINE OA + AI จัดหมวดอัตโนมัติ) ตั้งแต่โครงโปรเจกต์บรรทัดแรกจนแอปทำงานจริงบน server


