AI ของคุณไม่ได้กำลังหลอน แต่มันกำลังเดาอยู่
โมเดล AI ไม่รู้ว่าเมื่อไหร่ที่มันตอบผิด พวกมันไม่มีสัญญาณที่จะระบุถึงความไม่แน่นอน สิ่งที่พวกมันทำคือการสร้างคำถัดไปที่มีความเป็นไปได้มากที่สุดตามอินพุตของคุณ และพวกมันแสดงความมั่นใจในระดับเดียวกันไม่ว่าคำตอบนั้นจะถูกหรือผิด
นี่ไม่ใช่ข้อบกพร่องของระบบ แต่นี่คือวิธีการทำงานของสถาปัตยกรรมของมัน
LLM คือตัวทำนายโทเคนถัดไป (next-token predictors) พวกมันไม่ได้ตรวจสอบฐานข้อมูลข้อเท็จจริง แต่พวกมันทำการเติมเต็มรูปแบบ (pattern completion) ในระดับสเกลขนาดใหญ่ หากโมเดลให้คำตอบที่ผิด นั่นเป็นเพราะพรอมต์ (prompt) ของคุณนำพาความน่าจะเป็นไปสู่ผลลัพธ์นั้น
ความแตกต่างนี้จะเปลี่ยนวิธีที่คุณแก้ไขปัญหา หากโมเดลกำลัง "หลอน" (hallucinating) คุณไม่สามารถแก้ไขมันได้ แต่ถ้าโมเดลกำลัง "เดา" เพราะพรอมต์ของคุณคลุมเครือ คุณสามารถแก้ไขมันได้ทันที
ที่ Datawise เราทำการทดสอบมาตรฐาน (benchmark) ของโมเดล AI และเราพบรูปแบบที่เกิดขึ้นอย่างต่อเนื่อง นั่นคือโมเดลจะให้คำตอบที่ผิดเมื่ออินพุตขาดรายละเอียด โมเดลจะตอบคำถามที่คุณถามจริงๆ ไม่ใช่คำถามที่คุณตั้งใจจะถาม
ลองเปรียบเทียบพรอมต์สองแบบนี้:
- "How do I connect to Postgres in Python?"
- "How do I connect to Postgres in Python using psycopg3, a connection pool of 10, on Ubuntu 24.04, behind a Cloudflare Tunnel, with a 30-second timeout?"
พรอมต์แรกบังคับให้โมเดลต้องเดาถึงหกครั้ง ส่วนพรอมต์ที่สองมีการกำหนดข้อจำกัด (constraints) ไว้ให้
ความยากในการเขียนพรอมต์ที่เฉพาะเจาะจง ก็คือความยากในการรู้ความต้องการของตัวเอง หากคุณไม่สามารถเขียนพรอมต์ที่เฉพาะเจาะจงได้ แสดงว่าคุณยังไม่รู้ว่าตัวเองต้องการอะไร หยุดเขียนพรอมต์แล้วเริ่มคิดก่อน
AI สร้างเอาต์พุตที่ผิดพลาดด้วยความลื่นไหลเท่ากับเอาต์พุตที่ถูกต้อง สำนวนภาษาดูน่าเชื่อถือ โค้ดดูสะอาดตา และไม่มีสัญญาณใดๆ เลยว่าโมเดลกำลังพยายามเติมเต็มช่องว่างที่ขาดหายไป
วิศวกรระดับอาวุโสจะไม่เชื่อเอาต์พุตในทันที แต่พวกเขาจะถามว่า: "ฉันเปิดช่องว่างให้เกิดการตีความตรงไหนบ้าง?" ทุกคำที่คลุมเครือคือการตัดสินใจที่โมเดลเลือกแทนคุณ
อย่าเพียงแค่ส่งพรอมต์เดิมซ้ำด้วยการเปลี่ยนคำพูดเพียงเล็กน้อย นั่นเหมือนกับการรีสตาร์ทเซอร์วิสโดยไม่ตรวจสอบ log คุณไม่ได้กำลังแก้ไขที่ต้นเหตุ
เมื่อเอาต์พุตผิดพลาด ให้กลับไปอ่านพรอมต์ของคุณก่อน หาจุดที่คุณเปิดช่องว่างให้เกิดการตีความ แล้วเพิ่มข้อจำกัดสำหรับ:
- Inputs และ outputs
- Error handling
- Dependencies
- Edge cases
ก่อนจะกด Enter ให้ลองอ่านพรอมต์ของคุณราวกับว่าคุณเป็นวิศวกรใหม่ที่ไม่มีบริบทใดๆ เลย ทุกสิ่งที่คุณต้องเดา คือจุดที่โมเดลจะเดาเช่นกัน
โมเดลจะแสดงให้คุณเห็นถึงช่องว่างในคำสั่งของคุณ จงแก้ไขช่องว่างเหล่านั้น และเขียน Prompt ให้รัดกุมยิ่งขึ้น
แหล่งที่มา: https://dev.to/gmoustakas/your-ai-assistant-is-not-hallucinating-its-guessing-and-you-asked-it-to-guess-56of
ชุมชนแห่งการเรียนรู้ (ไม่บังคับ): https://t.me/GyaanSetuAi