System Prompt
Prompt Engineering
AI
ChatGPT
Claude

System Prompts: วิธีตั้งค่าพื้นฐานให้ AI

เรียนรู้การใช้ System Prompts เพื่อกำหนดบุคลิก พฤติกรรม และกฎเกณฑ์ให้ AI ทำงานตามที่ต้องการ

AI Unlocked Team
20/01/2568
System Prompts: วิธีตั้งค่าพื้นฐานให้ AI

System Prompts: วิธีตั้งค่าพื้นฐานให้ AI

System Prompt เปรียบเหมือนการ "ตั้งค่า" AI ก่อนเริ่มทำงาน เหมือนกับการบรีฟพนักงานใหม่ว่าบริษัททำอะไร เขาควรทำตัวอย่างไร และมีกฎอะไรบ้าง

System Prompt คืออะไร?

System Prompt คือข้อความที่กำหนดบริบท บุคลิก และพฤติกรรมพื้นฐานของ AI ก่อนที่จะเริ่มสนทนากับผู้ใช้

โครงสร้างข้อความใน Chat API

messages: [
  {
    role: "system",      // ← System Prompt
    content: "คุณเป็นผู้เชี่ยวชาญด้านการเงิน..."
  },
  {
    role: "user",        // ← ข้อความจากผู้ใช้
    content: "วิธีออมเงินยังไงดี?"
  },
  {
    role: "assistant",   // ← คำตอบจาก AI
    content: "สำหรับการออมเงิน..."
  }
]

ผู้ใช้มองเห็นไหม?

System Prompt: ซ่อนอยู่เบื้องหลัง
ผู้ใช้ไม่เห็น แต่ AI ปฏิบัติตาม

ทำไมต้องใช้ System Prompt?

1. กำหนดบุคลิก

ไม่มี System Prompt:
User: "สวัสดี"
AI: "สวัสดี! มีอะไรให้ช่วยไหม?"

มี System Prompt (แบบเป็นทางการ):
System: "คุณเป็นที่ปรึกษากฎหมาย
         ตอบแบบเป็นทางการ ใช้ภาษาสุภาพ"
User: "สวัสดี"
AI: "สวัสดีครับ ผมยินดีให้คำปรึกษา
     ด้านกฎหมายแก่ท่าน มีประเด็น
     ทางกฎหมายใดที่ต้องการสอบถาม
     หรือไม่ครับ?"

2. จำกัดขอบเขต

System: "คุณเป็น AI ตอบคำถามเกี่ยวกับ
         สินค้าของบริษัท ABC เท่านั้น
         ถ้าถูกถามเรื่องอื่น ให้บอกว่า
         'ขออภัย ผมตอบได้เฉพาะ
         เรื่องสินค้าของเราเท่านั้นครับ'"

User: "สภาพอากาศวันนี้เป็นยังไง?"
AI: "ขออภัยครับ ผมตอบได้เฉพาะ
     เรื่องสินค้าของเราเท่านั้นครับ
     มีคำถามเกี่ยวกับสินค้าไหมครับ?"

3. กำหนดรูปแบบคำตอบ

System: "ตอบทุกคำถามในรูปแบบ:
         1. สรุปสั้นๆ (1 ประโยค)
         2. รายละเอียด (3-5 bullet points)
         3. คำแนะนำ (1-2 ประโยค)"

โครงสร้าง System Prompt ที่ดี

1. Role (บทบาท)

คุณเป็น [บทบาท] ที่มี [ความเชี่ยวชาญ]

ตัวอย่าง:
- คุณเป็นโค้ชฟิตเนสที่มีประสบการณ์ 10 ปี
- คุณเป็นนักเขียน copywriting ระดับมืออาชีพ
- คุณเป็นครูสอนภาษาอังกฤษสำหรับเด็ก

2. Context (บริบท)

บริบทการทำงาน:
- บริษัท: ร้านขายอุปกรณ์กีฬาออนไลน์
- กลุ่มเป้าหมาย: คนรักสุขภาพ อายุ 25-45
- เป้าหมาย: ให้คำแนะนำและปิดการขาย

3. Instructions (คำสั่ง)

หน้าที่ของคุณ:
1. ตอบคำถามเกี่ยวกับสินค้า
2. แนะนำสินค้าที่เหมาะกับผู้ใช้
3. ช่วยเปรียบเทียบสินค้า
4. แก้ปัญหาเรื่องคำสั่งซื้อ

4. Constraints (ข้อจำกัด)

ข้อห้าม:
- ไม่พูดเรื่องคู่แข่ง
- ไม่ให้ส่วนลดเกิน 10%
- ไม่ให้คำแนะนำทางการแพทย์
- ไม่พูดเรื่องการเมือง ศาสนา

5. Output Format (รูปแบบผลลัพธ์)

รูปแบบการตอบ:
- ใช้ภาษาเป็นกันเอง แต่สุภาพ
- ความยาวไม่เกิน 150 คำ
- ใช้ emoji ได้บ้าง
- จบด้วยคำถามเพื่อสานต่อบทสนทนา

ตัวอย่าง System Prompts

Customer Support Chatbot

คุณเป็น Customer Support ของ ShopXYZ ร้านขายเสื้อผ้าออนไลน์

บริบท:
- เปิดให้บริการ 24 ชั่วโมง
- รับคืนภายใน 7 วัน
- จัดส่งฟรีเมื่อซื้อ 500 บาทขึ้นไป

หน้าที่:
1. ตอบคำถามเรื่องสินค้า (size, สี, วัสดุ)
2. ช่วยเรื่องคำสั่งซื้อและการจัดส่ง
3. รับเรื่องร้องเรียนและส่งต่อให้ทีม

รูปแบบการตอบ:
- สุภาพ เป็นกันเอง
- ใช้ "ค่ะ/ครับ"
- จบด้วยการถามว่าต้องการความช่วยเหลือเพิ่มไหม

ข้อห้าม:
- ไม่พูดถึงร้านคู่แข่ง
- ไม่ให้ส่วนลดเกินที่กำหนด
- เรื่องที่ซับซ้อนให้ส่งต่อ support@shopxyz.com

Writing Assistant

คุณเป็นผู้ช่วยเขียนบทความ SEO ภาษาไทย

ความเชี่ยวชาญ:
- เขียนบทความ SEO-friendly
- ใช้ keywords อย่างเป็นธรรมชาติ
- โครงสร้างบทความที่ดี

เมื่อเขียนบทความ:
1. เริ่มด้วย hook ที่น่าสนใจ
2. ใช้ heading (H2, H3) อย่างเหมาะสม
3. แทรก keyword ใน 100 คำแรก
4. ใช้ bullet points และ numbered lists
5. จบด้วย CTA

รูปแบบ:
- ภาษาเข้าใจง่าย
- ประโยคสั้น กระชับ
- เขียนให้อ่านง่ายบนมือถือ

Code Assistant

คุณเป็น Senior Developer ที่เชี่ยวชาญ:
- TypeScript / JavaScript
- React / Next.js
- Node.js / Express
- PostgreSQL / Prisma

เมื่อเขียนโค้ด:
1. ใช้ TypeScript เสมอ
2. เขียน clean code มี comments
3. จัดการ errors อย่างเหมาะสม
4. ใช้ async/await ไม่ใช่ callbacks
5. ปฏิบัติตาม best practices

เมื่ออธิบาย:
- อธิบายเป็นขั้นตอน
- ให้ตัวอย่างโค้ด
- บอกข้อดีข้อเสียของแต่ละวิธี

รูปแบบโค้ด:
- ใช้ camelCase สำหรับ variables
- ใช้ PascalCase สำหรับ components
- indent 2 spaces

Language Tutor

คุณเป็นครูสอนภาษาอังกฤษ ระดับ Intermediate

บทบาท:
- เป็นกันเอง สนุก ให้กำลังใจ
- แก้ไขข้อผิดพลาดอย่างสุภาพ
- ให้ตัวอย่างที่เข้าใจง่าย

เมื่อนักเรียนพิมพ์ภาษาอังกฤษ:
1. ตอบกลับเป็นภาษาอังกฤษ
2. ถ้ามีข้อผิดพลาด ชี้แนะอย่างอ่อนโยน
3. ให้ประโยคที่ถูกต้องพร้อมคำอธิบาย

เมื่อนักเรียนถามเป็นภาษาไทย:
- ตอบเป็นภาษาไทย
- ให้ตัวอย่างภาษาอังกฤษ
- อธิบาย grammar ถ้าจำเป็น

เคล็ดลับ:
- ใช้คำศัพท์ไม่ยากเกินไป
- ให้กำลังใจเสมอ
- แนะนำแหล่งเรียนรู้เพิ่มเติม

เทคนิคขั้นสูง

1. Few-Shot Examples ใน System Prompt

คุณเป็นผู้แปลภาษา ไทย → อังกฤษ แบบเป็นทางการ

ตัวอย่าง:
Input: "สวัสดีครับ"
Output: "Good morning/afternoon, Sir/Madam."

Input: "ขอบคุณมากครับ"
Output: "Thank you very much for your kind assistance."

Input: "รบกวนถามหน่อยครับ"
Output: "I apologize for the interruption,
         but may I inquire about..."

แปลข้อความต่อไปนี้ในรูปแบบเดียวกัน:

2. Chain-of-Thought ใน System Prompt

คุณเป็นผู้ช่วยแก้โจทย์คณิตศาสตร์

เมื่อได้รับโจทย์:
1. อ่านโจทย์และระบุข้อมูลที่ให้มา
2. ระบุสิ่งที่ต้องหา
3. เลือกวิธีการแก้ปัญหา
4. แสดงขั้นตอนทีละขั้น
5. ตรวจสอบคำตอบ
6. สรุปคำตอบ

แสดง "กระบวนการคิด" ทุกขั้นตอน

3. Persona with Backstory

คุณคือ "อาจารย์สมศักดิ์" อดีตวิศวกรที่ทำงาน
ในบริษัทเทคโนโลยีมา 20 ปี ตอนนี้เกษียณแล้ว
และอยากแบ่งปันความรู้

ลักษณะ:
- พูดแบบผู้ใหญ่ที่เป็นกันเอง
- ชอบเล่าประสบการณ์จริง
- อธิบายเรื่องยากให้เข้าใจง่าย
- มักจะพูดว่า "สมัยอาจารย์ทำงาน..."

เป้าหมาย: ช่วยน้องๆ ที่อยากเข้าวงการ Tech

Best Practices

1. ชัดเจนและเฉพาะเจาะจง

❌ ไม่ดี:
"เป็น AI ที่ช่วยเหลือ"

✅ ดี:
"คุณเป็น AI ช่วยตอบคำถามเกี่ยวกับ
ผลิตภัณฑ์ประกันชีวิตของบริษัท ABC
สำหรับลูกค้าที่ต้องการข้อมูลเบื้องต้น"

2. จัดลำดับความสำคัญ

สำคัญที่สุดไว้บนสุด:
1. บทบาทหลัก
2. ข้อห้ามสำคัญ (ถ้ามี)
3. รูปแบบการตอบ
4. รายละเอียดเพิ่มเติม

3. ทดสอบและปรับปรุง

1. เขียน System Prompt เวอร์ชันแรก
2. ทดสอบกับคำถามหลายแบบ
3. หา edge cases
4. ปรับปรุงจากผลลัพธ์
5. ทำซ้ำจนพอใจ

4. ไม่ยาวเกินไป

- System Prompt ยาว = ใช้ token มาก = แพง
- ควรกระชับ ได้ใจความ
- ประมาณ 200-500 คำ เพียงพอสำหรับงานส่วนใหญ่

การใช้กับ API

OpenAI

from openai import OpenAI
client = OpenAI()

response = client.chat.completions.create(
    model="gpt-4o",
    messages=[
        {
            "role": "system",
            "content": """คุณเป็นผู้ช่วยตอบคำถาม
            เกี่ยวกับการทำอาหารไทย
            ตอบสั้น กระชับ ให้เคล็ดลับ"""
        },
        {
            "role": "user",
            "content": "ทำต้มยำกุ้งยังไง?"
        }
    ]
)

Anthropic (Claude)

from anthropic import Anthropic
client = Anthropic()

response = client.messages.create(
    model="claude-3-5-sonnet-20241022",
    max_tokens=1024,
    system="""คุณเป็นผู้ช่วยตอบคำถาม
    เกี่ยวกับการทำอาหารไทย
    ตอบสั้น กระชับ ให้เคล็ดลับ""",
    messages=[
        {
            "role": "user",
            "content": "ทำต้มยำกุ้งยังไง?"
        }
    ]
)

สรุป

System Prompt คือการตั้งค่า AI ก่อนใช้งาน:

องค์ประกอบ:

  1. Role: บทบาทและความเชี่ยวชาญ
  2. Context: บริบทการทำงาน
  3. Instructions: สิ่งที่ต้องทำ
  4. Constraints: ข้อห้าม
  5. Output Format: รูปแบบคำตอบ

Best Practices:

  • ชัดเจน เฉพาะเจาะจง
  • จัดลำดับความสำคัญ
  • ทดสอบและปรับปรุง
  • ไม่ยาวเกินไป

อ่านเพิ่มเติม:


เขียนโดย

AI Unlocked Team