เรียน claude
14 นาที

ออกแบบ 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 เก่าให้ดีขึ้น

0/1 ช่อง

กรอกให้ตรงกับคุณ

(ไม่บังคับ — ว่างไว้ก็คัดลอกได้)
ผมมี prompt ที่ใช้อยู่แต่ผลลัพธ์ไม่ตรงใจ

prompt เดิม:
"""
[paste prompt เดิม]
"""

ปัญหาที่เจอ:
[เล่า 2-3 ปัญหา เช่น 'ตอบเยิ่นเย้อ', 'ไม่มี structure', 'ลืม context']

ช่วย rewrite ตามโครง 5 ชั้น (Role / Context / Task / Constraints / Format)
และอธิบายสั้นๆ ว่าแต่ละชั้นแก้ปัญหาเดิมยังไง
เปิด Claude.ai

เคล็ดลับ

  • ยิ่งเล่าปัญหาชัด 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 เองทุกอันแล้วเอาไปปรับเนื้อหา