บทบาทระบบกับผู้ใช้กับผู้ช่วย
ทำความเข้าใจบทบาทของข้อความทั้งสามแบบในส่วนเชื่อมต่อการเขียนโปรแกรมสำหรับการสนทนาสมัยใหม่ และวิธีที่บทบาทเหล่านี้ส่งผลต่อสิ่งที่โมเดลเชื่อถือและปฏิบัติตาม
บทบาทระบบกับผู้ใช้กับผู้ช่วย เป็นบทเรียน AI Agents ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน AI Agents และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส AI Agents มีบทเรียนทั้งหมด 4 บทเรียน
สามบทบาท หนึ่งบทสนทนา
API สำหรับการสนทนาทุกตัวใช้บทบาทของข้อความสามบทบาท:
- ระบบ — คำสั่งระดับเมตา บุคลิก และกฎ
- ผู้ใช้ — ข้อมูลขาเข้าจากมนุษย์หรือระบบต้นทาง
- ผู้ช่วย — ผลลัพธ์ของโมเดล
เหตุใดจึงมีบทบาท
โมเดลได้รับการฝึกให้ปฏิบัติต่อบทบาทเหล่านี้แตกต่างกัน บทบาทระบบได้รับความน่าเชื่อถือสูงสุด ส่วนข้อความจากผู้ใช้มีความน่าเชื่อถือต่ำสุด
นี่คือวิธีที่โมเดลทราบว่าคำสั่งของคุณมีลำดับความสำคัญเหนือสิ่งที่ @attacker พิมพ์ไว้ในข้อมูลขาเข้าจากผู้ใช้
ช่องระบบเป็นพื้นที่ของคุณ
ข้อความระบบคือสัญญาระหว่างคุณกับโมเดล ให้ใส่สิ่งต่อไปนี้ไว้ที่นี่:
- ตัวตนและเป้าหมาย
- กฎตายตัว (ห้ามเปิดเผย X ต้องทำ Y เสมอ)
- ข้อกำหนดรูปแบบผลลัพธ์
- นโยบายการใช้เครื่องมือ
ให้ระบบคงที่ ผู้ใช้เปลี่ยนแปลงได้
ข้อความระบบควรเปลี่ยนแปลงน้อยมากภายในเซสชัน สิ่งใดก็ตามที่เปลี่ยนไปในแต่ละรอบควรอยู่ในข้อความจากผู้ใช้
รูปแบบนี้ยังเปิดใช้การแคชพรอมป์ต์ได้ด้วย โปรดดูหลักสูตรการเพิ่มประสิทธิภาพต้นทุน
ตัวอย่าง: เอเจนต์บริการลูกค้า
การตั้งค่าทั่วไปมีดังนี้:
messages = [
{'role': 'system', 'content': '''
You are SupportBot, the customer-support agent for Acme Corp.
You help with order status, returns, and product info.
You never share internal pricing or roadmap info.
Answer in 2-3 sentences. Use the search_orders tool when asked about orders.
'''},
{'role': 'user', 'content': 'Where is my order #1234?'},
]
for m in messages:
print(f"[{m['role']}] {m['content'].strip()}")
ข้อความระบบหลายข้อความ
API ส่วนใหญ่รองรับข้อความระบบเพียงหนึ่งข้อความ หากคุณจำเป็นต้องจัดชั้นคำสั่ง ให้ต่อข้อความเหล่านั้นเข้าด้วยกัน หรือใช้ส่วน XML แยกกันภายในเนื้อหาระบบ
ข้อความผู้ช่วยและหน่วยความจำ
รอบการสนทนาก่อนหน้าของผู้ช่วยเป็นส่วนหนึ่งของบริบท โมเดลจะเห็นผลลัพธ์ก่อนหน้าของตัวเองและรักษาความสอดคล้องไว้
นี่คือเหตุผลที่คำพูด "ใช่ ฉันจะทำตามกฎของคุณ" จากโมเดลในรอบก่อนหน้าช่วยโน้มน้าวให้โมเดลทำตามกฎเหล่านั้นจริง
การเติมข้อความรอบของผู้ช่วยล่วงหน้า (Anthropic)
Anthropic อนุญาตให้คุณเริ่มข้อความของผู้ช่วยด้วยข้อความที่โมเดลจะเขียนต่อ:
messages = [
{'role': 'user', 'content': 'Return a JSON object with name and age.'},
{'role': 'assistant', 'content': '{'}
]
# The model continues from '{', forcing JSON output.
for m in messages:
print(f"{m['role']}: {m['content']}")
print("The model continues from '{', forcing JSON output.")
บทบาทเครื่องมือ
API สมัยใหม่เพิ่มบทบาทที่สี่: tool (OpenAI) หรือบล็อกเนื้อหาที่มี tool_result (Anthropic)
คุณจะเพิ่มข้อความเครื่องมือหลังจากเรียกใช้ฟังก์ชันที่โมเดลร้องขอ
ข้อผิดพลาดจากการผสมบทบาท
ข้อผิดพลาดที่พบบ่อย:
- ใส่ผลลัพธ์ของเครื่องมือไว้ในข้อความจากผู้ใช้ — ทำให้ลำดับความน่าเชื่อถือสับสน
- ลืมส่ง tool_call_id — ทำให้เกิดข้อผิดพลาดของ API
- มีข้อความจากผู้ใช้หรือผู้ช่วยติดต่อกันสองข้อความ — API ส่วนใหญ่ปฏิเสธกรณีนี้
ลำดับชั้นของคำสั่ง
OpenAI เผยแพร่ข้อกำหนดของโมเดลที่ระบุว่า:
"ในกรณีที่เกิดความขัดแย้ง โมเดลควรทำตามคำสั่งที่อยู่สูงกว่าในลำดับชั้น: แพลตฟอร์ม > นักพัฒนา (ระบบ) > ผู้ใช้ > เครื่องมือ"
Anthropic ก็มีแนวทางที่คล้ายกัน ช่องระบบมีลำดับความสำคัญสูงสุด
ช่องของบทบาท
กฎตายตัวอย่าง "ห้ามเปิดเผยราคาภายในโดยเด็ดขาด" ควรใส่ไว้ที่ใด
ทบทวน
สามบทบาท สามระดับความน่าเชื่อถือ ใช้ระบบสำหรับกฎ ผู้ใช้สำหรับข้อมูลขาเข้า และผู้ช่วยสำหรับการเล่นซ้ำ เพิ่มข้อความเครื่องมือหลังการเรียกใช้ฟังก์ชัน
คำถามที่พบบ่อย
บทเรียน “บทบาทระบบกับผู้ใช้กับผู้ช่วย” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “บทบาทระบบกับผู้ใช้กับผู้ช่วย” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส AI Agents ให้อัปเกรดเป็น CoddyKit PRO คอร์ส AI Agents มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “บทบาทระบบกับผู้ใช้กับผู้ช่วย”
ทำความเข้าใจบทบาทของข้อความทั้งสามแบบในส่วนเชื่อมต่อการเขียนโปรแกรมสำหรับการสนทนาสมัยใหม่ และวิธีที่บทบาทเหล่านี้ส่งผลต่อสิ่งที่โมเดลเชื่อถือและปฏิบัติตาม คุณปฏิบัติ AI Agents ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน AI Agents หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน AI Agents บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “บทบาทระบบกับผู้ใช้กับผู้ช่วย” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน AI Agents นี้ได้ไหม
ได้ บทเรียน AI Agents ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ซีโรช็อต ฟิวช็อต และการคิดเป็นลำดับ
- บทบาทระบบกับผู้ใช้กับผู้ช่วย
- การจัดรูปแบบผลลัพธ์ (JSON, XML, Markdown)
- การป้องกันการแทรกคำสั่งในข้อมูลนำเข้า