ทำไม UI ที่ AI ทำถึงหน้าตาเหมือนกันหมด — และวิธีแก้ให้เหมือนคนทำ
สูตร 3 ชั้นกัน AI slop: กำหนดทิศทางก่อนลงมือ, ล็อกวัตถุดิบ, แล้วไล่เก็บจุดที่ AI ชอบข้าม

มุมม่วงไล่ฟ้า การ์ดโค้งมน เงาจางๆ ฟอนต์ Inter — เห็นปุ๊บรู้ปั๊บว่า AI ทำ ปัญหาไม่ใช่ว่า AI ออกแบบไม่เป็น แต่คือเราไม่ได้ให้ทิศทางมันตั้งแต่แรก พอไม่มีโจทย์ มันก็หยิบค่ากลางของทุกเว็บบนโลกมาเฉลี่ยให้ ผลคือหน้าตา “ปลอดภัย” ที่เหมือนกันไปหมด
วิธีแก้ที่ใช้แล้วได้ผลจริง แบ่งเป็น 3 ชั้น:
ชั้นที่ 1 — กำหนดบุคลิกก่อนเขียนโค้ดบรรทัดแรก
อย่าเปิดฉากด้วย “ทำหน้า dashboard ให้หน่อย” ให้เริ่มจากตอบคำถามชุดนี้ก่อน: งานนี้ mood ไหน (นิ่ง/สนุก/หรู) โทนเสียงแบบไหน สี ฟอนต์ รูปทรงประมาณไหน — สรุปออกมาเป็น design tokens หรือไฟล์ DESIGN.md หนึ่งไฟล์ แล้วค่อยปล่อย AI ลงมือภายใต้กรอบนั้น
ทางลัดที่เวิร์คมาก: เจอเว็บที่ชอบอยู่แล้ว ให้ถอดธีมจากเว็บนั้นมาเป็นไฟล์เลย — มี Chrome extension สาย DESIGN.md extractor (เช่นของค่าย TypeUI) กดปุ่มเดียวได้ทั้งสี ฟอนต์ spacing ออกมาเป็น markdown เอาไปวางให้ Claude Code / Codex ใช้เป็นพิมพ์เขียวต่อได้ทันที เหมาะสุดกับเคสที่มี wireframe อยู่แล้วแต่อยากได้กลิ่นของเว็บอื่น
ชั้นที่ 2 — ล็อกวัตถุดิบ อย่าให้มันประดิษฐ์เอง
AI จะ slop หนักสุดตอนมันต้อง “คิดเอง” ทุกชิ้น ดังนั้นบีบตัวเลือกซะ:
- สั่งชัดๆ ว่าใช้ component จากที่เดียว เช่น shadcn/ui เท่านั้น — ได้ความสม่ำเสมอฟรีๆ
- เก็บ reference จริงก่อนเริ่ม: Mobbin ไว้ส่อง pattern แอปดัง, 21st.dev ไว้หยิบ component สำเร็จ เอามาผสมจนได้หน้าตาที่เราชอบ แล้วให้ AI ทำตามนั้น
- ถ้าใช้ Claude Code มี skill สายนี้ให้ลงเพิ่มได้หลายตัว (เช่น Impeccable, ui-ux-pro-max, theme-factory) — แก่นของทุกตัวเหมือนกัน: ยัดรสนิยมเข้าไปแทนค่า default
ชั้นที่ 3 — ไล่เก็บจุดที่ AI ชอบข้าม
ต่อให้สองชั้นแรกดี งานยังไม่จบ เพราะมีรายการที่ AI ทำหลุดประจำ เก็บเป็น checklist ปิดงานได้เลย:
- การตัดคำไทย — ขึ้นบรรทัดกลางคำ อ่านแล้วสะดุดทันที
- Contrast + โหมดตาบอดสี — สีสวยแต่คนอ่านไม่ออกก็จบ
- Focus state — กด Tab แล้วมองไม่เห็นว่าอยู่ตรงไหน
- Visual hierarchy, spacing ที่เพี้ยนเป็นจุดๆ, responsive จอเล็ก และ performance
สามชั้นนี้สรุปเหลือประโยคเดียว: AI เก่งตอนถูกกำกับ ห่วยตอนถูกปล่อย — ทิศทางต้องมาจากคน ตั้งแต่ก่อนเริ่ม ไม่ใช่มาตามแก้ทีหลัง ลองหยิบโปรเจกต์ที่ค้างอยู่มาเขียน DESIGN.md สักไฟล์ก่อนสั่งงานรอบหน้า แล้วเทียบผลดูเองครับ
Photo: Hal Gatewood / Unsplash