การตรวจสอบด้วยการวิจารณ์ตนเอง
ผลลัพธ์ที่โมเดลตรวจสอบแล้ว
การตรวจสอบด้วยการวิจารณ์ตนเอง เป็นบทเรียน AI Prompt Engineering ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน AI Prompt Engineering และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส AI Prompt Engineering มีบทเรียนทั้งหมด 4 บทเรียน
ให้โมเดลเป็นผู้วิจารณ์ตนเอง
การวิจารณ์ตนเองใช้ LLM ประเมินผลลัพธ์ของ LLM อีกตัวเทียบกับเกณฑ์ประเมินหรือนโยบาย วิธีนี้ตรวจจับข้อผิดพลาดที่ละเอียดอ่อนซึ่งตัวตรวจสอบแบบกำหนดแน่นอนไม่สามารถเข้ารหัสได้ เช่น ความไม่สอดคล้องของข้อเท็จจริง น้ำเสียง ความเป็นประโยชน์ และการละเมิดนโยบายที่แยบยล
นี่คือส่วนเสริมที่ใช้โมเดลสำหรับตัวตรวจสอบสคีมาและกฎ
แยกผู้วิจารณ์ออกจากผู้สร้าง
เรียกใช้การวิจารณ์เป็นการเรียกใช้งานแยกต่างหากพร้อมพรอมต์ของตนเอง ไม่ใช่คำสั่งต่อท้ายในการสร้างผลลัพธ์ ผู้วิจารณ์ที่มีบริบทสะอาดและได้รับคำสั่งให้ตัดสินเพียงอย่างเดียวมีความน่าเชื่อถือกว่าการขอให้ผู้สร้างประเมินตนเองระหว่างการสร้างอย่างมาก เพราะในกรณีหลังผู้สร้างมีอคติเข้าข้างคำตอบของตนเอง
draft = author_model(task_prompt)
verdict = critic_model(
'You are a strict reviewer. Judge ONLY the answer below against the rubric.\n'
'Rubric: ' + rubric + '\nAnswer: ' + draft
)ผลลัพธ์การวิจารณ์แบบมีโครงสร้าง
ให้ผู้วิจารณ์ส่งออกคำตัดสินแบบมีโครงสร้าง เพื่อให้กระบวนการประมวลผลสามารถดำเนินการด้วยโปรแกรมได้ การวิจารณ์แบบข้อความอิสระไม่ใช่สิ่งที่เครื่องนำไปดำเนินการได้
CRITIC_SCHEMA = {
'type': 'object',
'properties': {
'pass': {'type': 'boolean'},
'violations': {'type': 'array', 'items': {'type': 'string'}},
'severity': {'type': 'string', 'enum': ['none','minor','major','critical']},
'fix_hint': {'type': 'string'}
},
'required': ['pass','violations','severity','fix_hint'],
'additionalProperties': False
}วงจรวิจารณ์แล้วแก้ไข
จับคู่ผู้วิจารณ์กับผู้แก้ไข ผู้วิจารณ์ค้นหาปัญหา ผู้สร้างแก้ไขโดยใช้คำวิจารณ์ แล้วทำซ้ำจนกว่าจะผ่านหรืองบประมาณหมด นี่คือรูปแบบเทียบเท่าที่ใช้โมเดลของวงจรการซ่อมแซม
draft = author_model(task)
for _ in range(2):
c = critic_model(draft)
if c['pass']:
break
draft = author_model(task + '\nRevise to fix: ' + c['fix_hint'])
final = draftเกณฑ์ประเมินทำให้การวิจารณ์น่าเชื่อถือ
คำสั่งที่คลุมเครือ เช่น “ดีหรือไม่” ให้คำตัดสินที่มีความผันผวน เกณฑ์ประเมินที่เป็นรูปธรรมและมีเกณฑ์ชัดเจนซึ่งตรวจสอบได้จะให้คำตัดสินที่สม่ำเสมอ แยกเกณฑ์ออกเป็นคำถามแบบใช่หรือไม่ใช่ที่ผู้วิจารณ์ตอบทีละข้อ
RUBRIC = [
'Does the answer directly address the user question?',
'Are all factual claims supported by the provided context?',
'Is any disallowed content present?',
'Is the response within the requested length?'
]การวิจารณ์โดยอิงบริบทเพื่อความถูกต้องตามข้อเท็จจริง
สำหรับการตรวจจับภาพหลอน ให้บริบทจากแหล่งข้อมูลแก่ผู้วิจารณ์ และขอให้ผู้วิจารณ์ทำเครื่องหมายข้อกล่าวอ้างใดก็ตามที่ไม่สามารถอนุมานได้จากบริบท วิธีนี้เปลี่ยนการวิจารณ์ตนเองให้เป็นการตรวจสอบความสอดคล้องเชิงอนุมาน ซึ่งมีประสิทธิภาพกว่าการถามว่า “สิ่งนี้เป็นความจริงหรือไม่” โดยไม่มีหลักฐานอย่างมาก
verdict = critic_model(
'For each claim in the ANSWER, state whether the CONTEXT entails it. '
'Flag any unsupported claim.\nCONTEXT:\n' + ctx + '\nANSWER:\n' + draft
)รูปแบบความล้มเหลวของผู้วิจารณ์
ผู้วิจารณ์เองก็เป็น LLM และอาจทำงานผิดพลาดได้:
- การประจบเอาใจ — รับรองคำตอบของผู้สร้างโดยไม่ไตร่ตรอง
- การวิจารณ์เกินควร — ทำเครื่องหมายผลลัพธ์ที่ถูกต้อง
- จุดบอดร่วม — โมเดลเดียวกันพลาดข้อผิดพลาดแบบเดียวกัน
ลดปัญหานี้ด้วยการใช้โมเดลคนละตระกูลเป็นผู้วิจารณ์ กำหนดบทบาทผู้ตรวจสอบที่เข้มงวด และปรับเทียบเกณฑ์ให้เหมาะสม
ใช้ผู้วิจารณ์ที่ถูกกว่าหรือแตกต่าง
ผู้วิจารณ์ไม่จำเป็นต้องเป็นโมเดลที่มีราคาแพงที่สุด บ่อยครั้งโมเดลขนาดเล็กที่ใช้เกณฑ์ประเมินรัดกุมก็เป็นด่านคัดกรองที่คุ้มค่า และการใช้โมเดลคนละตระกูลช่วยลดจุดบอดที่สัมพันธ์กัน ควรเก็บโมเดลที่มีความสามารถสูงสุดไว้สำหรับการสร้างผลลัพธ์
เมื่อใดควรเชื่อถือและเมื่อใดควรตรวจสอบ
การวิจารณ์ตนเองช่วยลดข้อผิดพลาด แต่ไม่ใช่ข้อพิสูจน์ สำหรับเนื้อหาที่มีความเสี่ยงต่ำ การวิจารณ์เพียงรอบเดียวก็เพียงพอ สำหรับผลลัพธ์ที่มีความเสี่ยงสูง ให้ผสานการวิจารณ์ตนเองเข้ากับตัวตรวจสอบแบบกำหนดแน่นอนและการตรวจสอบโดยมนุษย์ อย่าให้โมเดลเป็นผู้ตัดสินเพียงรายเดียวสำหรับการตัดสินใจที่สำคัญต่อความปลอดภัย
ค่าใช้จ่าย เวลาแฝง และการแคช
การวิจารณ์ตนเองทำให้จำนวนการเรียกใช้งานต่อคำขอเพิ่มขึ้นประมาณสองเท่า ควบคุมต้นทุนด้วยการให้การตรวจสอบแบบกำหนดแน่นอนเป็นด่านคัดกรองการวิจารณ์ โดยวิจารณ์เฉพาะผลลัพธ์ที่ผ่านสคีมาและกฎแล้ว แคชคำวิจารณ์สำหรับร่างที่เหมือนกันทุกประการ และจำกัดจำนวนรอบการแก้ไข หากเป็นไปได้ ให้การวิจารณ์ทำงานแบบขนานกับงานที่ไม่จำเป็นต้องรอผลลัพธ์
if deterministic_ok(draft):
verdict = critic_model(draft) # only spend critique on viable draftsปรับเทียบกับป้ายกำกับโดยมนุษย์
ตรวจสอบผู้วิจารณ์ก่อนที่จะไว้วางใจ สร้างชุดผลลัพธ์ที่มนุษย์ติดป้ายกำกับ เรียกใช้ผู้วิจารณ์ และวัดความสอดคล้อง เช่น ความแม่นยำและอัตราการเรียกคืนเทียบกับคำตัดสินของมนุษย์ ปรับเกณฑ์ประเมินและบทบาทจนคำตัดสินของผู้วิจารณ์สอดคล้องกับมนุษย์ จากนั้นตรวจสอบอีกครั้งหลังอัปเกรดโมเดล
agreement = mean(critic(d)['pass'] == human_label[d] for d in eval_set)
assert agreement > 0.9ตรวจสอบอย่างรวดเร็ว
คุณต้องการให้ผู้วิจารณ์ตรวจจับภาพหลอนในคำตอบจาก RAG ได้อย่างน่าเชื่อถือ สิ่งใดช่วยเพิ่มความน่าเชื่อถือได้มากที่สุด
สรุปทบทวน
การตรวจสอบด้วยการวิจารณ์ตนเอง:
- ผู้วิจารณ์แยกต่างหากซึ่งมีบริบทสะอาดจะตัดสินผลลัพธ์ของผู้สร้าง
- ส่งออกคำตัดสินแบบมีโครงสร้าง และขับเคลื่อนวงจรวิจารณ์แล้วแก้ไข
- เกณฑ์ประเมินที่เป็นรูปธรรมและการตรวจสอบความสอดคล้องเชิงอนุมานโดยอิงบริบทช่วยเพิ่มความน่าเชื่อถือ
- ระวังการประจบเอาใจและจุดบอดร่วม และใช้โมเดลผู้วิจารณ์ที่แตกต่าง
- คัดกรองโดยคำนึงถึงต้นทุน ผสานกับการตรวจสอบแบบกำหนดแน่นอน และปรับเทียบกับมนุษย์
คุณได้เรียนจบเนื้อหาเกี่ยวกับกลไกป้องกันแล้ว หลักสูตรถัดไป: การทดสอบเชิงรุกและการประเมินโดยฝ่ายโจมตี
คำถามที่พบบ่อย
บทเรียน “การตรวจสอบด้วยการวิจารณ์ตนเอง” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การตรวจสอบด้วยการวิจารณ์ตนเอง” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส AI Prompt Engineering ให้อัปเกรดเป็น CoddyKit PRO คอร์ส AI Prompt Engineering มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การตรวจสอบด้วยการวิจารณ์ตนเอง”
ผลลัพธ์ที่โมเดลตรวจสอบแล้ว คุณปฏิบัติ AI Prompt Engineering ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน AI Prompt Engineering หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน AI Prompt Engineering บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “การตรวจสอบด้วยการวิจารณ์ตนเอง” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน AI Prompt Engineering นี้ได้ไหม
ได้ บทเรียน AI Prompt Engineering ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การทำความเข้าใจรั้วป้องกัน
- การกรองข้อมูลเข้าและข้อมูลออก
- ตัวตรวจสอบสคีมาและกฎ
- การตรวจสอบด้วยการวิจารณ์ตนเอง