เชี่ยวชาญ Claude Fable 5: วิธีการเขียน Prompt โดยการค้นหาจุดบอดของคุณ

เมื่อโมเดล AI พัฒนาจากแชทบอทธรรมดาไปสู่การเป็นนักเขียนโค้ดแบบเอเจนต์ (agentic coders) ที่ซับซ้อน คอขวดของประสิทธิภาพการทำงานจึงเปลี่ยนจากความสามารถของโมเดลไปสู่ความชัดเจนของผู้ใช้ Thariq Shihipar นักพัฒนาจาก Anthropic เสนอว่าด้วยการมาถึงของ Claude Fable 5 ปัจจัยจำกัดไม่ใช่ความฉลาดของ AI อีกต่อไป แต่เป็นความสามารถของผู้ใช้ในการระบุ "สิ่งที่ไม่รู้" (unknowns) ของตนเอง

สี่จตุภาคของความรู้ในการเขียน Prompt

เพื่อให้เชี่ยวชาญ Fable 5 Shihipar แย้งว่านักพัฒนาต้องจัดหมวดหมู่ความรู้ของตนเพื่อหลีกเลี่ยงกับดักของการเขียน Prompt ที่ไม่ดี เขาแบ่งช่องว่างทางพุทธิปัญญา (cognitive gaps) ออกเป็นสี่หมวดหมู่ที่ชัดเจน:

  • Known Knowns (สิ่งที่รู้ว่ารู้): คำสั่งที่ชัดเจนและข้อมูลที่มีอยู่แล้วใน Prompt ของคุณ
  • Known Unknowns (สิ่งที่รู้ว่าไม่รู้): คำถามเฉพาะเจาะจงหรือช่องว่างที่คุณตระหนักรู้ว่ายังไม่ได้แก้ไข
  • Unknown Knowns (สิ่งที่รู้แต่ไม่รู้ตัว): ความรู้เชิงสัญชาตญาณที่ชัดเจนมากจนคุณไม่คิดที่จะเขียนลงไป แต่จะจดจำได้ทันทีเมื่อได้เห็น
  • Unknown Unknowns (สิ่งที่ไม่รู้และไม่รู้ว่าไม่รู้): หมวดหมู่ที่อันตรายที่สุด—องค์ประกอบสำคัญ, กรณีขอบเขต (edge cases) หรือข้อกำหนดทางสถาปัตยกรรมที่คุณยังไม่ได้นึกถึงเลยด้วยซ้ำ

เมื่อผู้ใช้ไม่คำนึงถึงสิ่งเหล่านี้ พวกเขาจะตกหลุมพราง: การระบุรายละเอียดที่เฉพาะเจาะจงเกินไปจะทำให้ Fable 5 ปฏิบัติตามคำสั่งอย่างเคร่งครัดเกินไปแม้ว่าจะมีแนวทางที่ดีกว่าอยู่ก็ตาม ในขณะที่การเขียนแบบคลุมเครือเกินไปจะทำให้โมเดลพึ่งพาค่าเริ่มต้นของอุตสาหกรรม (industry defaults) ซึ่งอาจไม่เหมาะสมกับงานเฉพาะนั้นๆ

เทคนิคเชิงกลยุทธ์เพื่อเปิดเผยสิ่งที่ไม่รู้

แทนที่จะกระโดดเข้าสู่การเขียนโค้ดทันที Shihipar แนะนำให้ทำ "blindspot pass" (การตรวจสอบจุดบอด) ซึ่งเกี่ยวข้องกับการใช้ Claude เพื่อตรวจสอบโมเดลทางความคิด (mental model) ของคุณก่อนที่จะเริ่มเขียนโค้ดแม้แต่บรรทัดเดียว ตัวอย่างเช่น หากคุณกำลังทำงานในฐานโค้ด (codebase) ที่ไม่คุ้นเคย คุณสามารถเขียน Prompt บอก Claude ว่า: "ฉันกำลังทำงานเพื่อเพิ่ม auth provider ใหม่ แต่ฉันไม่รู้อะไรเลยเกี่ยวกับโมดูล auth ใน codebase นี้ คุณช่วยทำ blindspot pass เพื่อช่วยฉันค้นหาสิ่งที่ไม่รู้และไม่รู้ว่าไม่รู้ (unknown unknowns) ที่เกี่ยวข้องได้ไหม?"

เทคนิคที่มีประสิทธิภาพสูงอื่นๆ ได้แก่:

  • การสัมภาษณ์แบบมีโครงสร้าง (Structured Interviews): การขอให้ Claude สัมภาษณ์คุณทีละคำถาม โดยให้ความสำคัญกับความคลุมเครือที่จะส่งผลต่อการเปลี่ยนแปลงสถาปัตยกรรมระบบอย่างมีนัยสำคัญ
  • การสร้างต้นแบบอย่างรวดเร็ว (Rapid Prototyping): การใช้ HTML artifacts เพื่อให้ Claude สร้างแนวทางการออกแบบที่แตกต่างกันอย่างสิ้นเชิง ช่วยให้คุณสามารถตอบสนองต่อ "สิ่งที่รู้แต่ไม่รู้ตัว" (unknown knowns) ในเชิงภาพได้
  • การวางแผนการดำเนินงาน (Implementation Planning): การสั่งให้ Claude สร้างแผนงานที่ให้ความสำคัญกับส่วนประกอบที่มีความผันผวนสูง เช่น โมเดลข้อมูล (data models) และอินเทอร์เฟซของประเภทข้อมูล (type interfaces) ก่อนที่จะเริ่มการทำ refactoring เชิงกลไก

การปิดลูป: การทำเอกสารและการตรวจสอบ

กระบวนการเขียน Prompt ไม่ได้สิ้นสุดลงเมื่อโค้ดถูกสร้างขึ้น เพื่อจัดการกับสิ่งที่ไม่รู้ซึ่งปรากฏขึ้นระหว่างการทำงาน Shihipar แนะนำให้ใช้ Claude Code เพื่อรักษาไฟล์ implementation-notes.md ไว้ สิ่งนี้จะช่วยติดตามทุกการตัดสินใจที่เกิดขึ้น เพื่อให้แน่ใจว่าหากงานเกิดข้อผิดพลาด เหตุผลเบื้องหลังการตัดสินใจจะยังคงถูกบันทึกไว้

เพื่อให้แน่ใจว่ามีความเข้าใจอย่างครบถ้วนก่อนที่จะทำการ merge โค้ด Shihipar ใช้วิธีการ "ทำควิซ" (quiz) โดย Claude จะสร้างรายงาน HTML ที่ระบุรายละเอียดการเปลี่ยนแปลงและข้อมูลเชิงลึกทั้งหมด ตามด้วยควิซสำหรับนักพัฒนา เขามีกฎที่เคร่งครัดคือ: ห้าม merge โค้ดจนกว่าจะผ่านควิซโดยไม่มีข้อผิดพลาด สิ่งนี้ช่วยให้แน่ใจว่านักพัฒนาได้เปลี่ยน "สิ่งที่ไม่รู้" ของโปรเจกต์ให้กลายเป็น "สิ่งที่รู้" เรียบร้อยแล้ว

สรุปประเด็นสำคัญ

  • มุ่งเน้นไปที่ "Unknown Unknowns": เป้าหมายของการเขียน Prompt ขั้นสูงด้วย Fable 5 คือการใช้ AI เพื่อเปิดเผยสิ่งที่คุณยังไม่ได้นึกถึงที่จะถามด้วยซ้ำ
  • หลีกเลี่ยงกับดักความเฉพาะเจาะจง: สร้างสมดุลในการเขียน Prompt เพื่อหลีกเลี่ยงการระบุรายละเอียดที่ตายตัวเกินไปจน AI ไม่สามารถพลิกแพลงได้ หรือคลุมเครือเกินไปจนมันเลือกใช้แนวทางแก้ไขแบบทั่วไป (generic solutions)
  • ใช้เวิร์กโฟลว์การตรวจสอบ: ใช้บันทึกการดำเนินงาน (implementation notes), การสัมภาษณ์แบบมีโครงสร้าง และควิซหลังการดำเนินงาน เพื่อเปลี่ยนโค้ดที่สร้างโดย AI ให้กลายเป็นความรู้ที่เชี่ยวชาญ