ออกแบบ Prompt
เจาะลึกการเขียน prompt ระดับสูง — CoT, role, structured output, iteration
ในระดับประถมผมสอน "prompt ที่ดีคืออะไร" บทนี้ผมจะลึกลงไปอีก — เทคนิคที่ผมใช้กับงานที่ "ครั้งแรกตอบไม่ดี ครั้งที่ห้าก็ยังไม่ดี" จนหาวิธีออกแบบ prompt ใหม่แล้วจบในครั้งเดียว
โครง 5 ชั้นที่ผมใช้กับ prompt สำคัญ
ผมเขียน prompt ยากๆ ตามลำดับนี้ทุกครั้ง
1. Role — คุณคือใคร
2. Context — สถานการณ์/ข้อมูล
3. Task — ต้องทำอะไร
4. Constraints — ห้าม/ต้อง อะไร
5. Format — output รูปแบบไหน
ตัวอย่างจริงจากบริษัทผม
[Role]
คุณคือ project manager ของบริษัทรับเหมาก่อสร้างขนาดเล็ก
มีประสบการณ์รับมือลูกค้าเรียกร้องที่ไม่อยู่ใน scope
[Context]
ลูกค้าโครงการบ้าน 5 ล้านส่ง LINE มา 3 ข้อความ
ขอให้ "เพิ่มกล้องวงจรปิด 4 ตัวที่ไม่ได้อยู่ใน BOQ"
เขาเชื่อว่าราคาที่จ่ายไปแล้วครอบคลุม
[Task]
ร่าง reply 3 เวอร์ชัน:
- A: นุ่มนวล รักษาความสัมพันธ์ ไม่ยอมความเสียหาย
- B: ตรงไปตรงมา อธิบาย scope ชัดเจน
- C: เสนอทางเลือกทั้งฟรีและจ่ายเพิ่ม
[Constraints]
- ห้ามใช้คำว่า "ขอโทษ" ในรูปยอมรับผิด
- ห้ามให้ฟรีโดยไม่มี condition
- โทนต้องเป็นมืออาชีพแต่ไม่แข็งจัด
[Format]
แต่ละเวอร์ชันใส่หัวข้อ **เวอร์ชัน X — ชื่อโทน**
ตามด้วยข้อความที่ก็อปไปใช้ใน LINE ได้เลย
ปิดท้ายตารางเปรียบเทียบ pros/cons แต่ละเวอร์ชัน
ผลลัพธ์คนละชั้นเทียบกับ "ช่วยตอบลูกค้าหน่อย"
เทคนิค Chain of Thought — เมื่อต้องการเหตุผล
ใช้เมื่องานต้อง "คิดก่อนตอบ" เช่น ตัดสินใจราคา / วินิจฉัยปัญหา / วิเคราะห์ตัวเลือก
วิธีง่ายที่สุด — ใส่บรรทัดเดียว
ก่อนตอบ ให้คิดเป็นขั้นๆ ใน <thinking> tag ก่อน
แล้วค่อยสรุปคำตอบสุดท้ายข้างนอก tag
หรือกำหนด step ชัดเจน
ใช้กระบวนการ 4 ขั้นนี้:
1. ระบุข้อเท็จจริงที่รู้
2. ระบุสมมติฐานที่ต้องตั้ง
3. คิด 3 ทางเลือก
4. แนะนำทางเลือกที่ดีที่สุด พร้อมเหตุผล
แสดงทุกขั้น อย่ากระโดดข้าม
ผมใช้แบบหลังตอนวิเคราะห์ supplier ใหม่ — ให้ Claude เปรียบเทียบ 3 เจ้าตามกระบวนการ ผลลัพธ์ดีกว่าให้ตอบมาเลย
เทคนิค Few-shot — เมื่อต้องการสไตล์เฉพาะ
อธิบายสไตล์ลำบาก แต่ตัวอย่าง 2-3 อันสอนได้ทันที
เขียน caption Facebook สำหรับร้านกาแฟ ตามสไตล์นี้
ตัวอย่าง 1:
"เช้านี้ฝนตก กาแฟร้อนดูดีกว่าปกตินะ
ลด 10 บาทถึงเที่ยง — ถือเป็นเหตุผลให้ออกจากบ้าน"
ตัวอย่าง 2:
"เมล็ดล็อตใหม่จาก Doi Chang มาแล้ว
รสคล้ายช็อกโกแลตนม + ปลายปลายของส้ม
ลองเย็นนี้ก่อนเปลี่ยนเมล็ด"
จุดสังเกต:
- 2-3 บรรทัด สั้นพอดี
- ข้อความที่ 1 = ภาพ/อารมณ์ + ข้อมูลเล็กๆ
- บรรทัดท้าย = ชวนแบบไม่บังคับ
ตอนนี้เขียน 5 caption สำหรับ [event/เมนูใหม่]
3 ตัวอย่างเพียงพอจับ pattern ผมไม่ค่อยใส่เกิน 5 — เปลือง context
Structured Output — เมื่อต้องการคำตอบมีรูปแบบ
ใช้กับงานที่ผลลัพธ์ต้องเอาไป process ต่อ (ทำตาราง, import เข้าระบบ, ใช้ใน script)
JSON output
ตอบกลับเป็น JSON ตาม schema นี้เท่านั้น
ไม่ต้องมีคำนำคำท้าย ไม่ต้องมี markdown fence
{
"lead_quality": "hot" | "warm" | "cold",
"estimated_value_thb": number,
"next_action": string,
"follow_up_in_days": number,
"reasons": string[]
}
ผมใช้กับ script ที่ classify ลีดอัตโนมัติ — Claude คืน JSON ตรงๆ ผมเอาไปใส่ Google Sheet ได้
Markdown table
ตอบเป็นตาราง markdown columns:
| ลูกค้า | วันที่ส่ง quote | สถานะ | next action | due |
อย่าใส่ข้อความนอกตาราง
XML สำหรับ section ที่ชัด
ตอบในรูปแบบ:
<summary>...</summary>
<risks>
<risk>...</risk>
</risks>
<next_steps>
<step>...</step>
</next_steps>
XML ดีเมื่อแต่ละ section ยาว ไม่พอใส่ในตาราง
เทคนิค Iterative Refinement
แทนที่จะเขียน prompt 100 บรรทัดให้ครบรอบเดียว — ผมใช้วิธี "ค่อยๆ ปรับ" บ่อยกว่า
รอบ 1: prompt ง่ายๆ
รอบ 2: "อันที่ X ขาดประเด็น Y เพิ่มหน่อย"
รอบ 3: "เปลี่ยน tone ให้ฟอร์มอลขึ้น"
รอบ 4: "บรรทัดสุดท้ายห้วน — เกลาให้นุ่ม"
หลัง 3-4 รอบ ผมขอ "สรุปทุกการแก้ไขเป็น prompt เดียวที่ดีกว่าตอนแรก" — Claude จะเขียน prompt v2 ให้
ครั้งหน้าผม paste prompt v2 ตั้งแต่รอบแรกได้เลย ค่อยๆ สะสม "prompt library" ของตัวเอง
Constraint ที่ลืมง่าย
อันที่ผมใส่ทุกครั้งจนติดเป็นนิสัย
- ถ้าไม่มีข้อมูล อย่าเดา ให้ถามผม
- ถ้าผมพิมพ์ผิด/พูดไม่ชัด ให้ถามทวน อย่าตีความเอง
- คำตอบเป็นไทยเสมอ
- อย่าใช้คำสุภาษิตที่ดูฝรั่งแปล (เช่น "ในตอนสุดท้าย")
- อย่ายอกย้อนความเดิม เริ่มจากประเด็นใหม่ไปเลย
3 ข้อบนสุดสำคัญที่สุด — ลด hallucination ในงาน business
ลองเลย: แปลง prompt เก่าให้ดีขึ้น
กรอกให้ตรงกับคุณ
(ไม่บังคับ — ว่างไว้ก็คัดลอกได้)ผมมี prompt ที่ใช้อยู่แต่ผลลัพธ์ไม่ตรงใจ
prompt เดิม:
"""
[paste prompt เดิม]
"""
ปัญหาที่เจอ:
[เล่า 2-3 ปัญหา เช่น 'ตอบเยิ่นเย้อ', 'ไม่มี structure', 'ลืม context']
ช่วย rewrite ตามโครง 5 ชั้น (Role / Context / Task / Constraints / Format)
และอธิบายสั้นๆ ว่าแต่ละชั้นแก้ปัญหาเดิมยังไงเคล็ดลับ
- • ยิ่งเล่าปัญหาชัด Claude ยิ่งแก้ตรงจุด
- • ขอให้แสดง diff หรือ before/after ก็ได้
เลือกเทคนิคไหนเมื่อไหร่
| สถานการณ์ | เทคนิคหลัก |
|---|---|
| ผลลัพธ์เยิ่นเย้อ ไม่ตรงโจทย์ | โครง 5 ชั้น + Format ชัด |
| ตัดสินใจ/วิเคราะห์ผิด | Chain of Thought |
| สไตล์/โทนไม่ตรง | Few-shot 2-3 ตัวอย่าง |
| ต้องเอาผลไป process ต่อ | JSON / XML structured |
| Hallucinate ข้อมูล | Constraint "ถ้าไม่รู้ให้ถาม" |
| งานใหม่ที่ยังไม่รู้จะถามไง | Iterative — เริ่มง่ายๆ ค่อยเกลา |
ลองทำดู: ปรับ prompt 3 อันที่ใช้บ่อยที่สุด
บทถัดไป
ทักษะ prompt ทั้งหมดพอเอามาใช้กับธุรกิจจริง — บทความเสริม "ใช้กับธุรกิจก่อสร้าง" จะเล่า case ของบริษัทผม ดู workflow จริงตั้งแต่ต้นจนจบ
บทนี้มีประโยชน์กับคุณมั้ยครับ?
ผมอ่าน feedback เองทุกอันแล้วเอาไปปรับเนื้อหา