แค่ Prompt อย่างเดียวไม่พอ: การบังคับใช้ข้อกำหนดที่เข้มงวด (Hard Constraints) กับผลลัพธ์จาก LLM

เดโมของ LLM ดูดีเสมอ จนกว่ามันจะต้องเผชิญกับข้อกำหนดที่เข้มงวด

โมเดลทำงานบนพื้นฐานของความน่าจะเป็น แต่ระบบที่ใช้งานจริง (Production systems) ต้องการความแน่นอน

ผมเรียนรู้เรื่องนี้ตอนที่กำลังสร้าง AI news pipeline ให้กับ Radio del Volga ในอาร์เจนตินา ระบบนี้จะทำการเขียนข่าวใหม่และสร้างโพสต์สำหรับโซเชียลมีเดีย มันทำงานได้ดีจนกระทั่งเจอปัญหาหนึ่ง คือ Gemini มักจะเขียนภาษาสเปนผิดสำเนียง

ในอาร์เจนตินา ผู้คนใช้คำเฉพาะเจาะจง พวกเขาพูดว่า "podés" แทนที่จะเป็น "puedes" และ "sos" แทนที่จะเป็น "eres" หากโมเดลใช้ภาษาสเปนแบบกลาง (neutral Spanish) ข้อความนั้นจะดูผิดเพี้ยนสำหรับผู้อ่านในท้องถิ่น

ตอนแรกผมพยายามใช้การเขียน Prompt ที่ดีขึ้น ผมบอกโมเดลว่า:

วิธีนี้ช่วยได้บ้าง แต่ไม่ได้แก้ปัญหาทั้งหมด แหล่งข่าวที่เป็นทางการทำให้โมเดลกลับไปใช้ภาษาสเปนแบบกลาง ไม่ว่าผมจะเขียนลงใน Prompt มากแค่ไหน ข้อผิดพลาดก็ยังคงอยู่

ผมเลิกมองว่านี่เป็นปัญหาเรื่องการเขียน Prompt แต่เริ่มมองว่ามันเป็นปัญหาเรื่องการตรวจสอบความถูกต้อง (validation)

บางอย่างเป็นเรื่องของความน่าจะเป็น เช่น น้ำเสียงหรือสไตล์ แต่บางอย่างเป็นเรื่องที่แน่นอน (deterministic) หากข้อความมีคำว่า "puedes" แสดงว่ามันผิด คุณไม่จำเป็นต้องใช้ AI เพื่อหาคำตอบนั้น คุณแค่ต้องใช้โค้ดง่ายๆ

ผมจึงเพิ่มขั้นตอน post-processing เข้าไป ซึ่งจะทำงานหลังจาก AI ทำงานเสร็จ โดยมันจะค้นหาคำเฉพาะเจาะจงและแทนที่ด้วยคำใหม่:

รายการนี้มีขนาดเล็กและปลอดภัย ผมไม่ได้พยายามจะแก้ไขภาษาสเปนทั้งหมด ผมเพียงแค่แก้ไขกฎที่โค้ดสามารถตรวจสอบได้อย่างแน่นอนเท่านั้น

บทเรียนนี้ไม่ใช่เรื่องเกี่ยวกับภาษาสเปน แต่มันคือเรื่องเกี่ยวกับขีดจำกัดของ prompt engineering

การเขียน Prompt ช่วยเพิ่มประสิทธิภาพ แต่ไม่สามารถให้การรับประกันได้ หากกฎนั้นมีความคงที่และสามารถทดสอบได้ ให้ใช้โค้ดในการบังคับใช้กฎนั้น

ใช้ LLM เพื่อสร้างข้อความที่สละสลวย และใช้โค้ดแบบ deterministic เพื่อบังคับใช้คำศัพท์ของแบรนด์, ถ้อยคำทางกฎหมาย และกฎการจัดรูปแบบ

ระบบที่เชื่อถือได้จะแบ่งความรับผิดชอบดังนี้: • โมเดลทำหน้าที่สร้างเนื้อหา • โค้ดทำหน้าที่บังคับใช้กฎที่เข้มงวด • มนุษย์ทำหน้าที่ตัดสินใจในขั้นตอนบรรณาธิการขั้นสุดท้าย

Source: https://dev.to/zendev2112/prompts-arent-enough-enforcing-hard-constraints-on-llm-output-2hpo

Optional learning community: https://t.me/GyaanSetuAi