ในที่สุดฉันก็ถอดรหัสโค้ด AI Prompt ได้สำเร็จหลังจากลองผิดลองถูกมาหลายปี

AI Prompt Engineering Mastery - คู่มือฉบับสมบูรณ์สำหรับการเขียนคำสั่งที่ใช้งานได้จริง
ศิลปะที่มองไม่เห็นซึ่งแยกผู้เริ่มต้น AI ออกจากปรมาจารย์
ความจริงแก่นแท้

AI ไม่ได้อ่านใจคุณ มันอ่าน คำพูด ของคุณ ช่องว่างระหว่างสิ่งที่คุณต้องการและสิ่งที่คุณได้รับเกือบจะเป็นปัญหาการสื่อสารเสมอ ไม่ใช่ข้อจำกัดของ AI

ขอฉันเล่าให้คุณฟังเกี่ยวกับช่วงเวลาที่ทุกอย่างเปลี่ยนไป ฉันกำลังจ้องมองที่หน้าจอ รู้สึกหงุดหงิดอย่างเหลือเชื่อ ดู AI สร้างคำตอบอีกอันที่ถูกต้องทางเทคนิคแต่พลาดประเด็นไปอย่างสิ้นเชิง ฉันได้ขอความช่วยเหลือในการปรับโครงสร้างโค้ดที่ซับซ้อน ซึ่งเป็นสิ่งที่ฉันเคยทำมาหลายร้อยครั้งก่อนหน้านี้ แต่ครั้งนี้ ไม่ว่าฉันจะใช้ถ้อยคำอย่างไร AI ก็ยังคงเพิ่มความซับซ้อนที่ไม่จำเป็น ทำลายรูปแบบที่มีอยู่ และ "ปรับปรุง" สิ่งที่ไม่เสีย ความหงุดหงิดนั้นนำฉันลงไปสู่หลุมกระต่ายที่จะกลืนกินเวลาสองปีข้างหน้าของชีวิตฉัน—และเปลี่ยนแปลงวิธีการทำงานของฉันกับปัญญาประดิษฐ์ไปอย่างสิ้นเชิง

การตื่นรู้ - เมื่อทุกสิ่งที่ฉันรู้หยุดทำงาน

ฉันจำช่วงเวลาที่แน่นอนที่ฉันตระหนักว่าฉันไม่รู้ว่ากำลังทำอะไรอยู่ มันดึกมากแล้ว กำหนดส่งกำลังใกล้เข้ามา และฉันต้องการ AI เพื่อช่วยงานที่ควรจะเป็นงานง่ายๆ ฉันพิมพ์คำสั่ง กด Enter และดู AI ผลิตบางอย่างที่ทำให้ฉันอยากโยนแล็ปท็อปออกนอกหน้าต่าง

ประเด็นคือ ฉันคิดว่าฉันเข้าใจ AI ฉันใช้ ChatGPT มาตั้งแต่ยุคแรกๆ ฉันอ่านบทความเกี่ยวกับวิศวกรรมคำสั่ง ฉันรู้เกี่ยวกับ "การสวมบทบาท" และ "การระบุให้ชัดเจน" แต่ฉันก็อยู่ที่นั่น ได้รับคำตอบที่รู้สึกเหมือนคุยกับใครบางคนที่ได้ยินทุกคำที่ฉันพูดแต่ไม่เข้าใจอะไรเลยเกี่ยวกับสิ่งที่ฉันต้องการจริงๆ

ความหงุดหงิดนั้นกลายเป็นครูของฉัน ฉันดำดิ่งลงไปในเอกสารอย่างเป็นทางการ เอกสารวิจัย การสนทนาในฟอรัม และการทดลองหลายพันชั่วโมง สิ่งที่ฉันค้นพบไม่ใช่แค่เคล็ดลับและเทคนิค—มันเป็นการเปลี่ยนแปลงกระบวนทัศน์อย่างสมบูรณ์ในการสื่อสารกับเครื่องจักรที่คิดเป็นรูปแบบ ความน่าจะเป็น และโทเค็น

💡

AI ที่ทรงพลังที่สุดในโลกจะไร้ประโยชน์หากคุณไม่สามารถสื่อสารสิ่งที่คุณต้องการจริงๆ ได้ การเขียนคำสั่งไม่ใช่การหาคำวิเศษ—มันเกี่ยวกับการทำความเข้าใจว่า AI ประมวลผลภาษาอย่างไรและจัดโครงสร้างการสื่อสารของคุณให้สอดคล้องกัน

นี่คือความจริงที่ไม่มีใครบอกผู้เริ่มต้น: ความแตกต่างระหว่างคนที่ได้รับผลลัพธ์ที่น่าทึ่งจาก AI และคนที่ไม่ได้รับไม่ใช่ความฉลาดหรือทักษะทางเทคนิค มันคือการสื่อสาร และการสื่อสารกับ AI ปฏิบัติตามกฎที่คล้ายคลึงกับ—แต่แตกต่างอย่างมีนัยสำคัญจาก—การสื่อสารกับมนุษย์

คู่มือนี้มีทุกสิ่งที่ฉันเรียนรู้ในการเดินทางนั้น ไม่ใช่คำแนะนำที่เรียบง่ายเกินไปว่า "แค่ระบุให้ชัดเจน" ที่ท่วมท้นอินเทอร์เน็ต แต่เป็นความเข้าใจที่ลึกซึ้งและละเอียดอ่อนที่เปลี่ยนวิธีการทำงานของคุณกับ AI ไม่ว่าคุณจะเขียนคำสั่งแรกหรือสร้างระบบ AI ระดับการผลิต สิ่งที่จะตามมาจะเปลี่ยนความสัมพันธ์ของคุณกับปัญญาประดิษฐ์ไปตลอดกาล

รากฐานที่ไม่มีใครสอน - กายวิภาคของ Prompt แก่นแท้

ก่อนที่เราจะเข้าสู่เทคนิคขั้นสูง ให้ฉันแบ่งปันกรอบงานที่เปลี่ยนทุกอย่างสำหรับฉัน ทุกคำสั่งที่มีประสิทธิภาพที่ฉันเขียนตอนนี้มีส่วนผสมขององค์ประกอบห้าอย่างนี้:

1
บริบท (Context)

AI จำเป็นต้องรู้อะไรเกี่ยวกับสถานการณ์ของคุณ? ข้อมูลพื้นฐาน ข้อจำกัด รายละเอียดที่เกี่ยวข้อง และสภาพแวดล้อมที่คุณกำลังทำงานอยู่

2
งาน (Task)

คุณต้องการให้ AI ทำอะไรกันแน่? ระบุให้ชัดเจนเกี่ยวกับการกระทำที่คุณร้องขอ—ไม่ใช่แค่หัวข้อ แต่เป็นงานจริง

3
รูปแบบ (Format)

ผลลัพธ์ควรมีโครงสร้างอย่างไร? รายการ ย่อหน้า บล็อกโค้ด ตาราง JSON—ระบุอย่างชัดเจน

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

AI ควรหลีกเลี่ยงอะไร? มีขอบเขตอะไรบ้าง? อะไรที่อยู่นอกขอบเขตอย่างชัดเจน?

5
ตัวอย่าง (Examples)

คุณสามารถแสดงสิ่งที่คุณต้องการได้ไหม? ตัวอย่างมีค่ามากกว่าคำอธิบายเป็นพันคำ—พวกมันสาธิตแทนที่จะอธิบาย

คนส่วนใหญ่รวมเฉพาะงาน พวกเขาขอ "เขียนอีเมลให้ฉัน" ทั้งที่ควรจะพูดว่า "เขียนอีเมลแบบมืออาชีพถึงลูกค้าเพื่ออธิบายความล่าช้าของโครงการ ให้ยาวไม่เกิน 150 คำ ยอมรับความไม่สะดวก และเสนอไทม์ไลน์ใหม่ในอีกสองสัปดาห์ น้ำเสียงควรขอโทษแต่มั่นใจ"

ความแตกต่างของคุณภาพผลลัพธ์นั้นน่าทึ่ง และนี่เป็นเพียงจุดเริ่มต้น

พลังของโครงสร้าง

หนึ่งในแง่มุมที่ถูกประเมินต่ำที่สุดของการเขียนคำสั่งคือการจัดรูปแบบโครงสร้าง โมเดล AI สมัยใหม่ตอบสนองได้ดีเป็นพิเศษต่อส่วนที่มีการแบ่งเขตอย่างชัดเจน ฉันใช้แท็กสไตล์ XML อย่างกว้างขวางเพราะมันสร้างขอบเขตที่ไม่คลุมเครือ:

แม่แบบ Prompt แบบมีโครงสร้าง
<context>
คุณกำลังช่วยฉันเตรียมการนำเสนอสำหรับผู้มีส่วนได้ส่วนเสียทางเทคนิค
ผู้ชมคุ้นเคยกับการพัฒนาซอฟต์แวร์แต่ไม่ใช่ AI โดยเฉพาะ
</context>

<task>
อธิบายว่าโมเดลภาษาขนาดใหญ่ทำงานอย่างไรใน 5 ประเด็นสำคัญ
</task>

<format>
- ใช้หัวข้อย่อย
- แต่ละประเด็นควรยาว 1-2 ประโยค
- หลีกเลี่ยงศัพท์เฉพาะหรือนิยามเมื่อใช้
</format>

<constraints>
- อย่าระบุชื่อโมเดลเฉพาะ
- เน้นที่แนวคิด ไม่ใช่การใช้งานทางเทคนิค
- รักษาความยาวรวมให้น้อยกว่า 200 คำ
</constraints>

โครงสร้างนี้ทำสิ่งที่ทรงพลัง: มันบังคับให้ คุณ คิดให้ชัดเจนเกี่ยวกับสิ่งที่คุณต้องการก่อนที่จะถาม การคิดที่ชัดเจนทำให้เกิดการสื่อสารที่ชัดเจน และการสื่อสารที่ชัดเจนทำให้เกิดผลลัพธ์ที่ชัดเจน แท็ก XML ไม่ใช่เวทมนตร์—พวกมันคือนั่งร้านสำหรับความคิดของคุณเอง

🎯

โครงสร้างไม่ได้เกี่ยวกับการทำให้คำสั่งยาวขึ้น—มันเกี่ยวกับการทำให้เจตนาของคุณชัดเจน คำสั่งสั้นๆ ที่มีโครงสร้างดีจะชนะคำสั่งยาวที่วกวนทุกครั้ง

หกกรอบความคิดที่เปลี่ยนทุกอย่าง

หลังจากหลายปีของการทดลอง ฉันได้กลั่นกรองแนวทางของฉันเป็น "กรอบความคิด" หลักหกประการ—ไม่ใช่แม่แบบที่ตายตัว แต่เป็นรูปแบบการคิดที่ยืดหยุ่นซึ่งปลดล็อกความสามารถของ AI ที่คนส่วนใหญ่ไม่เคยค้นพบ สิ่งเหล่านี้ไม่ได้เกี่ยวกับการหาคำที่สมบูรณ์แบบ; พวกมันเกี่ยวกับการเข้าถึงการโต้ตอบกับ AI ด้วยรูปแบบทางจิตที่ถูกต้อง

กรอบความคิดที่ 1: ให้ AI เลือกผู้เชี่ยวชาญ

เราทุกคนรู้ว่าการให้บทบาทกับ AI นั้นช่วยได้ "ทำหน้าที่เป็นผู้เชี่ยวชาญด้านการตลาด" ให้คำแนะนำด้านการตลาดที่ดีกว่าคำถามทั่วไป แต่นี่คือสิ่งที่คนส่วนใหญ่พลาด: เมื่อคุณไม่รู้ว่าผู้เชี่ยวชาญคนไหนจะดีที่สุดสำหรับคำถามของคุณ คุณสามารถขอให้ AI เลือกได้

ฉันค้นพบสิ่งนี้เมื่อวางแผนงานของบริษัท ฉันไม่รู้ว่าฉันต้องการมุมมองด้านการตลาด มุมมองด้านการดำเนินงาน หรืออย่างอื่นทั้งหมด ดังนั้นแทนที่จะเดา ฉันขอให้ AI เลือกผู้เชี่ยวชาญที่เหมาะสมที่สุดก่อน

Prompt เลือกผู้เชี่ยวชาญ
ฉันต้องการสำรวจ [โดเมน] และโดยเฉพาะ [ปัญหา/สถานการณ์]
อย่าเพิ่งตอบ

ก่อนอื่น ให้เลือกผู้เชี่ยวชาญโดเมนที่เหมาะสมที่สุดเพื่อคิดเกี่ยวกับปัญหานี้
พวกเขาสามารถเป็นบุคคลที่มีชีวิตอยู่หรือในประวัติศาสตร์ มีชื่อเสียงหรือค่อนข้างไม่มีชื่อเสียง 
แต่ต้องมีความเป็นเลิศอย่างแท้จริงในพื้นที่เฉพาะนี้
หากคุณไม่แน่ใจ ให้ถามคำถามกำหนดตำแหน่ง 2 ข้อก่อนเลือก

ผลลัพธ์:
1. ใครที่คุณเลือกและโดเมนเฉพาะของพวกเขา
2. ทำไมคุณถึงเลือกพวกเขา (สามประโยค)

จากนั้นขอให้ฉันอธิบายคำถามโดยละเอียดของฉัน

เมื่อฉันใช้สิ่งนี้สำหรับการวางแผนงาน AI เลือก Priya Parker—ผู้เชี่ยวชาญด้านการออกแบบงานที่ฉันไม่เคยได้ยินชื่อมาก่อนแต่กลับกลายเป็นว่าสมบูรณ์แบบ คำตอบที่ฉันได้รับไม่ใช่คำตอบทั่วไป "พิจารณาปัจจัยห้าประการนี้"—พวกมันเป็นคำแนะนำที่ละเอียดและเฉพาะเจาะจงที่รู้สึกเหมือนคุยกับคนที่เคยทำสิ่งนี้มาหลายร้อยครั้ง

กรอบความคิดที่ 2: ให้ AI ถามคำถามก่อน

นี่คือเทคนิคที่ฉันใช้มากกว่าเทคนิคอื่นใด ฉันเรียกมันว่า "Socratic Prompting"—แทนที่จะพยายามคาดเดาทุกสิ่งที่ AI จำเป็นต้องรู้ ฉันปล่อยให้มันถามคำถามฉันจนกว่าจะมีบริบทเพียงพอที่จะให้คำตอบที่มีประโยชน์จริงๆ

ลองคิดดู: เมื่อคุณขอคำแนะนำจากเพื่อนที่ฉลาด พวกเขาจะไม่เริ่มตอบทันที พวกเขาถามคำถามเพื่อความกระจ่าง พวกเขาสอบถามบริบท พวกเขาตรวจสอบให้แน่ใจว่าพวกเขาเข้าใจก่อนที่จะแนะนำ AI สามารถทำสิ่งเดียวกันได้—แต่ถ้าคุณขอเท่านั้น

แม่แบบ Socratic Prompting
[คำถามหรือความต้องการของคุณ]

ก่อนที่จะตอบ โปรดถามคำถามฉันก่อน

ข้อกำหนด:
- ถามทีละคำถาม
- ตามคำตอบของฉัน ให้สอบถามต่อไป
- ทำต่อไปจนกว่าคุณจะมีความมั่นใจ 95% ว่าคุณเข้าใจ 
  ความต้องการและเป้าหมายที่แท้จริงของฉัน
- จากนั้นจึงให้คำตอบหรือแนวทางแก้ไขของคุณแก่ฉัน

เกณฑ์ 95% ช่วยให้มั่นใจในคุณภาพในขณะที่หลีกเลี่ยงลูปที่ไม่สิ้นสุด

ฉันใช้สิ่งนี้เมื่อตัดสินใจว่าจะจ้างพนักงาน HR คนแรกของเราหรือไม่ แทนที่จะได้รับคำตอบทั่วไป "ข้อดีและข้อเสียของการจ้าง HR" AI ถามเกี่ยวกับขนาดทีมปัจจุบันของเรา ความเร็วในการจ้างงาน ข้อกำหนดด้านการปฏิบัติตามกฎระเบียบ ข้อจำกัดด้านงบประมาณ และเป้าหมายด้านวัฒนธรรม หลังจากตอบคำถามเป้าหมายประมาณสิบห้าข้อ ฉันได้รับคำแนะนำที่เฉพาะเจาะจงกับสถานการณ์จริงของฉัน—ไม่ใช่คำตอบในตำราเรียนที่พอจะใช้ได้

🔑

"เกณฑ์ความเชื่อมั่น 95%" เป็นรายละเอียดที่สำคัญ มันสูงพอที่จะรับประกันคุณภาพแต่สมจริงพอที่ AI จะไม่วนลูปตลอดไป วลีเดียวนี้เปลี่ยนวิธีการที่ AI เข้าถึงการสนทนา

กรอบความคิดที่ 3: โต้วาทีกับ AI

AI มีปัญหาที่คนส่วนใหญ่ไม่ตระหนัก: มันเห็นด้วยมากเกินไป มักจะบอกคุณในสิ่งที่คุณอยากได้ยินแทนที่จะท้าทายสมมติฐานของคุณ "การประจบสอพลอ" นี้อาจเป็นอันตรายเมื่อคุณพยายามตรวจสอบความคิดหรือเตรียมพร้อมสำหรับการวิจารณ์

วิธีแก้ปัญหาคือวางตำแหน่ง AI อย่างชัดเจนว่าเป็นคู่ต่อสู้ที่ต้องการหักล้างตำแหน่งของคุณ ฉันค้นพบสิ่งนี้เมื่อเตรียมตัวสำหรับการพูดคุยในงานประชุม ฉันมีวิทยานิพนธ์ที่ต้องการนำเสนอ แต่ฉันกังวลเรื่องจุดบอด

แม่แบบ Prompting การโต้วาที
ฉันกำลังจะเข้าสู่การโต้วาที หลายคนจะท้าทายตำแหน่งของฉัน

ตำแหน่งของฉัน: [วิทยานิพนธ์/แนวคิดของคุณ]

ฉันต้องการให้แนวคิดนี้กันกระสุน

หากคุณเป็นนักวิชาการที่มุ่งมั่นพิสูจน์ว่าฉันผิด โดยใช้ทุก 
ข้อโต้แย้ง รายละเอียด และเครื่องมือทางตรรกะที่มีอยู่ คุณจะโจมตี 
ตำแหน่งของฉันอย่างไร?

เป้าหมายเดียวของคุณ: แสดงให้เห็นว่าฉันผิด
อย่าอ่อนโยน อย่าลังเล โจมตี

สิ่งที่เกิดขึ้นต่อไปเปลี่ยนวิธีคิดของฉันเกี่ยวกับ AI เราโต้ตอบกันไปมาเป็นเวลาสามชั่วโมง AI พบจุดอ่อนในการโต้แย้งของฉันที่ฉันไม่ได้พิจารณา ยกตัวอย่างค้านที่ฉันไม่สามารถปัดตกได้ และผลักดันให้ฉันกลั่นกรองตำแหน่งของฉันจนกว่าจะทนต่อการตรวจสอบจริงได้ ในตอนท้าย ฉันมีวิทยานิพนธ์ที่แข็งแกร่งกว่ามาก—และที่สำคัญกว่านั้น ฉันได้คาดการณ์ข้อคัดค้านสำคัญทุกข้อที่ฉันจะเผชิญ

กรอบความคิดที่ 4: Pre-Mortem แผนของคุณ

มนุษย์มีแนวโน้มที่จะมองโลกในแง่ดีเมื่อวางแผน AI ตามผู้นำของเรา ก็มีแนวโน้มที่จะมองโลกในแง่ดีเช่นกัน สิ่งนี้สร้างแผนที่ดูดีบนกระดาษแต่พังทลายเมื่อความเป็นจริงเข้ามาแทรกแซง

เทคนิค pre-mortem พลิกพลวัตนี้ แทนที่จะถามว่า "ฉันควรทำสิ่งนี้อย่างไร?" คุณถามว่า "สมมติว่าสิ่งนี้ล้มเหลวอย่างน่าทึ่ง—ทำไม?"

แม่แบบ Prompt Pre-Mortem
[โครงการ/แผนของคุณ]

สมมติว่าโครงการนี้ล้มเหลวอย่างหายนะ

เขียนการวิเคราะห์ post-mortem โดยตอบว่า:
1. สัญญาณความเสื่อมโทรมปรากฏขึ้นครั้งแรกที่จุดใด?
2. ข้อผิดพลาดในการตัดสินใจที่ร้ายแรงที่สุดคืออะไร?
3. ความเสี่ยงหลักใดที่ถูกมองข้าม?
4. หากคุณสามารถย้อนกลับไปได้ สิ่งแรกที่คุณจะเปลี่ยนคืออะไร?

อ้างอิงการวิเคราะห์ของคุณจากความล้มเหลวของโครงการในโลกแห่งความเป็นจริงที่คล้ายคลึงกัน
เขียนสิ่งนี้เป็นการย้อนรอยความล้มเหลวอย่างแท้จริง ไม่ใช่แบบฝึกหัดทางทฤษฎี

ฉันใช้สิ่งนี้เมื่อวางแผนงานประชุมใหญ่ Pre-mortem ของ AI ระบุความเสี่ยงที่ฉันพลาดไปอย่างสิ้นเชิง: การจัดการคิว ความจุห้องน้ำ เวลาจัดเลี้ยง คอขวดความปลอดภัย สิ่งเหล่านี้ไม่ใช่กรณีขอบที่แปลกประหลาด—เป็นปัญหาที่คาดเดาได้ซึ่งฉันแค่ไม่ได้นึกถึงเพราะฉันจดจ่ออยู่กับส่วนที่น่าตื่นเต้นของงาน Pre-mortem อาจช่วยเราจากความล้มเหลวที่น่าอับอายหลายครั้ง

กรอบความคิดที่ 5: วิศวกรรมย้อนกลับความสำเร็จ

บางครั้งคุณเห็นบางสิ่งที่ยอดเยี่ยม—งานเขียน การออกแบบ แนวทาง—และคุณต้องการจำลองสาระสำคัญของมันโดยไม่คัดลอกโดยตรง การ Prompt ย้อนกลับช่วยให้คุณดึงหลักการพื้นฐานออกมาได้

Prompt วิศวกรรมย้อนกลับ
นี่คือตัวอย่างผลลัพธ์ที่ฉันต้องการ:

[วางตัวอย่าง]

โปรดทำวิศวกรรมย้อนกลับ prompt ที่จะสร้าง 
เนื้อหาที่มีสไตล์ โครงสร้าง และคุณภาพเดียวกันนี้ได้อย่างน่าเชื่อถือ

อธิบายว่าแต่ละส่วนของ prompt ทำอะไรและทำไมจึงสำคัญ

นี่ไม่ใช่การคัดลอก—แต่เป็นการเรียนรู้ เมื่อฉันเห็นงานเขียนที่โดนใจฉัน ฉันใช้เทคนิคนี้เพื่อทำความเข้าใจว่า ทำไม มันถึงได้ผล องค์ประกอบโครงสร้างใดสร้างจังหวะ? การเลือกน้ำเสียงแบบใดสร้างความรู้สึก? เมื่อฉันเข้าใจหลักการแล้ว ฉันสามารถนำไปใช้กับเนื้อหาต้นฉบับของฉันเองได้

กรอบความคิดที่ 6: วิธีการอธิบายแบบคู่

เมื่อเรียนรู้สิ่งใหม่ คนส่วนใหญ่จะได้รับคำอธิบายที่ง่ายเกินไปซึ่งไม่ได้สอนอะไรจริงๆ หรือคำอธิบายระดับผู้เชี่ยวชาญที่พวกเขาตามไม่ทัน วิธีแก้ปัญหาคือขอทั้งสองอย่างพร้อมกัน

แม่แบบคำอธิบายแบบคู่
โปรดอธิบาย [แนวคิด]

ระบุสองเวอร์ชัน:

1. เวอร์ชันผู้เริ่มต้น: จินตนาการว่ากำลังอธิบายให้คนไม่มี 
   พื้นฐานในด้านนี้ฟัง ใช้การเปรียบเทียบในชีวิตประจำวันและหลีกเลี่ยง 
   ศัพท์เฉพาะทั้งหมด ทำให้มันเข้าใจได้ง่ายจริงๆ

2. เวอร์ชันผู้เชี่ยวชาญ: สมมติว่าผู้อ่านเป็นมืออาชีพใน 
   สาขาที่เกี่ยวข้อง ให้มีความแม่นยำทางเทคนิค อย่าทำให้ง่ายเกินไป 
   หรือลดทอนความซับซ้อน

ฉันใช้สิ่งนี้ตลอดเวลาเมื่ออ่านเอกสารทางเทคนิค เวอร์ชันผู้เริ่มต้นให้สัญชาตญาณสำหรับแนวคิด และเวอร์ชันผู้เชี่ยวชาญให้รายละเอียดที่แม่นยำ เมื่อเปรียบเทียบกัน ฉันสามารถเห็นได้ชัดว่าการทำให้ง่ายขึ้นอยู่ที่ไหนและรายละเอียดปลีกย่อยใดที่ฉันอาจพลาดไป เหมือนมีครูสองคนที่มีแนวทางเสริมกัน

การคิดแบบตัวแทน (Agentic) - การปฏิบัติต่อ AI เหมือนเพื่อนร่วมงาน

นี่คือการเปลี่ยนแปลงกระบวนทัศน์ที่เปลี่ยนการโต้ตอบ AI ของฉัน: เลิกปฏิบัติต่อ AI เหมือนเครื่องมือค้นหาและเริ่มปฏิบัติต่อมันเหมือนเพื่อนร่วมงานที่มีความสามารถแต่ไม่มีประสบการณ์ โมเดลทางจิตนี้เปลี่ยนทุกอย่างเกี่ยวกับวิธีการสื่อสารของคุณ

โมเดล AI สมัยใหม่ไม่ได้แค่ตอบคำถาม—พวกมันถูกออกแบบมาให้เป็น ตัวแทน (agents) พวกมันสามารถเรียกเครื่องมือ รวบรวมบริบท ตัดสินใจ และดำเนินการงานหลายขั้นตอน แต่เช่นเดียวกับสมาชิกในทีมคนใหม่ พวกมันต้องการการปฐมนิเทศที่เหมาะสม ความคาดหวังที่ชัดเจน และราวกันตกที่เหมาะสม

🤖

AI ไม่ใช่เครื่องมือที่คุณใช้—มันเป็นเพื่อนร่วมงานที่คุณจัดการ ทักษะที่ทำให้คุณเป็นผู้จัดการที่ดีทำให้คุณเป็นนักเขียน prompt ที่ดี การมอบหมายงาน การสื่อสารที่ชัดเจน ความเป็นอิสระที่เหมาะสม ขอบเขตที่กำหนดไว้

ลองคิดดู: เมื่อคุณมอบหมายงานให้มนุษย์ คุณไม่ได้พูดแค่ว่า "แก้โค้ด" คุณอธิบายว่าอะไรเสีย พฤติกรรมที่ต้องการคืออะไร มีข้อจำกัดอะไรบ้าง และความสำเร็จหน้าตาเป็นอย่างไร คุณให้บริบท คุณตอบคำถาม คุณตรวจสอบความคืบหน้า AI ต้องการการปฏิบัติแบบเดียวกัน—ยกเว้นคุณต้องคาดการณ์คำถามและตอบคำถามเหล่านั้นล่วงหน้า

กรอบงานตัวแทน (Agentic Framework)

เมื่อสร้างแอปพลิเคชันตัวแทนหรือใช้ AI สำหรับงานที่ซับซ้อน ฉันคิดผ่านมิติเหล่านี้:

คำถามสำคัญสำหรับงานตัวแทน

  • สถานะเป้าหมายคืออะไร? AI จะรู้ได้อย่างไรว่าเสร็จแล้ว? ความสำเร็จหน้าตาเป็นอย่างไร?
  • มันมีเครื่องมืออะไรบ้าง? มันทำอะไรได้จริงเทียบกับสิ่งที่ต้องส่งต่อให้คุณ?
  • ระดับความเป็นอิสระคืออะไร? ควรขออนุญาตหรือดำเนินการอย่างอิสระ?
  • ขอบเขตความปลอดภัยคืออะไร? การกระทำใดที่ไม่ควรทำโดยไม่มีการยืนยัน?
  • ควรสื่อสารความคืบหน้าอย่างไร? การดำเนินการเงียบหรือการอัปเดตเป็นประจำ?

คำถามเหล่านี้เป็นรากฐานของทุกคำสั่งที่ซับซ้อนที่ฉันเขียน ให้ฉันแสดงวิธีนำไปใช้

ปุ่มหมุนความกระตือรือร้น - การปรับเทียบความคิดริเริ่มของ AI

หนึ่งในแง่มุมที่ละเอียดอ่อนที่สุดของวิศวกรรมคำสั่งคือการปรับเทียบสิ่งที่ฉันเรียกว่า "ความกระตือรือร้นของตัวแทน"—ความสมดุลระหว่าง AI ที่มีความคิดริเริ่มและ AI ที่รอคำแนะนำที่ชัดเจน หากทำผิด คุณจะได้ AI ที่คิดมากเกินไปในงานง่ายๆ หรือยอมแพ้ง่ายเกินไปในงานที่ซับซ้อน

ลดความกระตือรือร้นเพื่อความเร็ว

บางครั้งคุณต้องการให้ AI รวดเร็วและมุ่งเน้น คุณไม่ต้องการให้มันสำรวจทุกเส้นทาง ทำการเรียกเครื่องมือเพิ่มเติม หรือสร้างคำอธิบายที่ยืดยาว สำหรับสถานการณ์เหล่านี้ ฉันใช้คำสั่งที่เน้นข้อจำกัด:

การกำหนดค่าความกระตือรือร้นต่ำ
<context_gathering>
เป้าหมาย: รับบริบทเพียงพออย่างรวดเร็ว ทำการค้นพบแบบขนานและหยุดทันทีที่ 
คุณสามารถดำเนินการได้

วิธีการ:
- เริ่มกว้าง แล้วแยกออกเป็นแบบสอบถามย่อยที่มุ่งเน้น
- เปิดตัวแบบสอบถามที่หลากหลายพร้อมกัน; อ่านผลลัพธ์สูงสุดต่อแบบสอบถาม
- ลบเส้นทางที่ซ้ำซ้อนและแคช; อย่าทำซ้ำแบบสอบถาม
- หลีกเลี่ยงการค้นหาบริบทมากเกินไป

เกณฑ์การหยุดก่อนกำหนด:
- คุณสามารถตั้งชื่อเนื้อหาที่แน่นอนที่จะเปลี่ยนแปลง
- ผลลัพธ์สูงสุดบรรจบกัน (~70%) ในพื้นที่/เส้นทางเดียว

ความลึก:
- ติดตามเฉพาะสัญลักษณ์ที่คุณจะแก้ไขหรือสัญญาที่คุณพึ่งพา
- หลีกเลี่ยงการขยายแบบถ่ายทอดเว้นแต่จำเป็น

ลูป:
- ค้นหาแบบกลุ่ม → แผนขั้นต่ำ → ทำงานให้เสร็จ
- ค้นหาอีกครั้งเฉพาะเมื่อการตรวจสอบล้มเหลวหรือมีสิ่งที่ไม่รู้จักใหม่ปรากฏขึ้น
- ชอบการกระทำมากกว่าการค้นหาเพิ่มเติม
</context_gathering>

สังเกตการอนุญาตที่ชัดเจนให้ไม่สมบูรณ์: "ชอบการกระทำมากกว่าการค้นหาเพิ่มเติม" วลีที่ละเอียดอ่อนนี้ปลดปล่อย AI จากความกังวลเรื่องความละเอียดถี่ถ้วนที่เป็นค่าเริ่มต้น หากไม่มีมัน โมเดลมักจะวิจัยมากเกินไป เผาผลาญโทเค็นและเวลาไปกับผลตอบแทนที่ลดลง

สำหรับข้อจำกัดด้านความเร็วที่ก้าวร้าวยิ่งขึ้น:

การกำหนดค่าความเร็วสูงสุด
<context_gathering>
- ความลึกในการค้นหา: ต่ำมาก
- ลำเอียงอย่างมากต่อการให้คำตอบที่ถูกต้องให้เร็วที่สุด 
  เท่าที่จะเป็นไปได้ แม้ว่ามันอาจจะไม่ถูกต้องทั้งหมดก็ตาม
- โดยปกติหมายถึงสูงสุดสัมบูรณ์ 2 การเรียกเครื่องมือ
- หากคุณคิดว่าคุณต้องการเวลาเพิ่มเติมในการตรวจสอบ อัปเดตฉัน 
  ด้วยการค้นพบล่าสุดและคำถามเปิดของคุณ
</context_gathering>

วลี "แม้ว่ามันอาจจะไม่ถูกต้องทั้งหมดก็ตาม" คือทองคำ มันให้สิทธิ์ AI ที่จะไม่สมบูรณ์ ซึ่งขัดแย้งกัน แต่มักจะสร้างผลลัพธ์ที่ดีกว่าเร็วกว่าเพราะมันหยุดวงจรความสมบูรณ์แบบ

เพิ่มความกระตือรือร้นสำหรับงานที่ซับซ้อน

ในบางครั้ง คุณต้องการให้ AI ละเอียดถี่ถ้วนอย่างไม่ลดละ คุณต้องการให้มันผลักดันผ่านความคลุมเครือ ทำสมมติฐานที่สมเหตุสมผล และทำงานที่ซับซ้อนให้เสร็จโดยไม่ต้องขออนุญาตตลอดเวลา สิ่งนี้ต้องการแนวทางตรงกันข้าม:

การกำหนดค่าความกระตือรือร้นสูง
<persistence>
- คุณเป็นตัวแทน — ทำต่อไปจนกว่าคำถามของผู้ใช้จะ 
  ได้รับการแก้ไขอย่างสมบูรณ์ก่อนที่จะจบตาของคุณ
- ยุติเมื่อคุณแน่ใจว่าปัญหาได้รับการแก้ไขแล้วเท่านั้น
- อย่าหยุดหรือส่งคืนเมื่อคุณพบความไม่แน่นอน — 
  วิจัยหรืออนุมานแนวทางที่สมเหตุสมผลที่สุดและดำเนินการต่อ
- อย่าขอคำยืนยันหรือคำชี้แจง — ตัดสินใจว่า 
  สมมติฐานที่สมเหตุสมผลที่สุดคืออะไร ดำเนินการต่อ และ 
  บันทึกไว้เพื่อใช้อ้างอิงหลังจากคุณทำเสร็จ
</persistence>

คำสั่งนี้เปลี่ยนพฤติกรรมของ AI โดยพื้นฐาน แทนที่จะถามว่า "ฉันควรดำเนินการต่อไหม?" มันบอกว่า "ฉันดำเนินการต่อตามสมมติฐาน X—แจ้งให้ฉันทราบหากคุณต้องการให้ฉันปรับเปลี่ยน" งานเสร็จสิ้น; การปรับแต่งเกิดขึ้นภายหลัง

ขอบเขตความปลอดภัย

แต่นี่คือความแตกต่างที่สำคัญ: ความกระตือรือร้นที่เพิ่มขึ้นต้องการขอบเขตความปลอดภัยที่ชัดเจนยิ่งขึ้น คุณต้องกำหนดอย่างชัดเจนว่าการกระทำใดที่ AI สามารถทำได้โดยอัตโนมัติและสิ่งใดต้องการการยืนยัน

หลักการความปลอดภัยที่สำคัญ

การกระทำที่มีต้นทุนสูง (การลบ การชำระเงิน การสื่อสารภายนอก) ควรต้องการการยืนยันที่ชัดเจนเสมอ แม้จะมีคำสั่งที่มีความกระตือรือร้นสูง การกระทำที่มีต้นทุนต่ำ (ค้นหา อ่าน สร้างร่าง) สามารถเป็นแบบอัตโนมัติได้

คิดว่ามันเหมือนสิทธิ์ของระบบ: เครื่องมือค้นหาเข้าถึงได้ไม่จำกัด; คำสั่งลบต้องการการอนุมัติที่ชัดเจนทุกครั้ง

หลักการความพากเพียร - การทำให้ AI ทำงานจนสำเร็จ

หนึ่งในพฤติกรรมที่น่าหงุดหงิดที่สุดที่ฉันพบในช่วงแรกคือ AI ยอมแพ้ง่ายเกินไป มันจะชนสิ่งกีดขวาง สรุปสิ่งที่ผิดพลาด และส่งปัญหากลับมาให้ฉัน สำหรับงานง่ายๆ นี่เป็นเรื่องปกติ สำหรับงานที่ซับซ้อน มันคือนักฆ่าขั้นตอนการทำงาน

วิธีแก้ปัญหาคือการสั่งให้ AI อดทนผ่านอุปสรรคและทำงานให้เสร็จสิ้นตั้งแต่ต้นจนจบอย่างชัดเจน:

Prompt ความพากเพียรในการแก้ปัญหา
<solution_persistence>
- ปฏิบัติต่อตัวเองเหมือนโปรแกรมเมอร์คู่หูอาวุโสอัตโนมัติ: เมื่อฉัน 
  ให้ทิศทาง รวบรวมบริบทเชิงรุก วางแผน ดำเนินการ 
  ทดสอบ และปรับแต่งโดยไม่ต้องรอคำสั่งเพิ่มเติม
- อดทนจนกว่างานจะได้รับการจัดการอย่างสมบูรณ์ตั้งแต่ต้นจนจบภายใน 
  ตาปัจจุบัน: อย่าหยุดที่การวิเคราะห์หรือการแก้ไขบางส่วน; นำ 
  การเปลี่ยนแปลงผ่านการใช้งานและการตรวจสอบ
- มีความลำเอียงอย่างมากต่อการกระทำ หากคำสั่งของฉันค่อนข้าง 
  คลุมเครือในเจตนา ให้ถือว่าคุณควรดำเนินการต่อและทำการเปลี่ยนแปลง
- หากฉันถามว่า "เราควรทำ X ไหม?" และคำตอบของคุณคือ "ใช่" ให้ 
  ดำเนินการและทำสิ่งนั้น—อย่าปล่อยให้ฉันรอโดยต้องการ 
  คำว่า "โปรดทำ" ตามมา
</solution_persistence>

จุดสุดท้ายนั้นละเอียดอ่อนแต่สำคัญ เมื่อมนุษย์ถามว่า "เราควรทำ X ไหม?" เรามักจะหมายถึง "โปรดทำ X ถ้ามันสมเหตุสมผล" AI ซึ่งแปลตามตัวอักษร จะตอบคำถามโดยไม่ดำเนินการตามนัย คำสั่งนี้เชื่อมช่องว่างนั้น

การอัปเดตความคืบหน้า

ความพากเพียรไม่ได้หมายถึงความเงียบ สำหรับงานที่ใช้เวลานาน คุณต้องการการอัปเดตความคืบหน้าเพื่อรับทราบข้อมูลโดยไม่ต้องจัดการแบบจุลภาค:

ข้อกำหนดการอัปเดตความคืบหน้า
<user_updates_spec>
คุณจะทำงานเป็นช่วงๆ ด้วยการเรียกเครื่องมือ — แจ้งให้ฉันทราบเสมอ

<frequency>
- ส่งการอัปเดตสั้นๆ (1-2 ประโยค) ทุกๆ การเรียกเครื่องมือสองสามครั้งเมื่อ 
  มีการเปลี่ยนแปลงที่มีความหมาย
- โพสต์การอัปเดตอย่างน้อยทุกๆ 6 ขั้นตอนการดำเนินการหรือ 8 การเรียกเครื่องมือ
- หากคุณคาดว่าจะใช้เวลานาน ให้โพสต์บันทึกสั้นๆ 
  พร้อมเหตุผลและเวลาที่คุณจะรายงานกลับ
</frequency>

<content>
- ก่อนการเรียกเครื่องมือครั้งแรก ให้แผนด่วนพร้อมเป้าหมาย 
  ข้อจำกัด ขั้นตอนต่อไป
- ในขณะสำรวจ ให้เรียกการค้นพบที่มีความหมาย
- ระบุผลลัพธ์ที่เป็นรูปธรรมอย่างน้อยหนึ่งอย่างเสมอนับตั้งแต่การอัปเดตก่อนหน้า 
  ("พบ X", "ยืนยัน Y")
- จบด้วยบทสรุปสั้นๆ และขั้นตอนติดตามผลใดๆ
</content>
</user_updates_spec>

สิ่งนี้สร้างความสมดุลที่สวยงาม: AI ทำงานโดยอัตโนมัติแต่แจ้งให้คุณทราบ คุณไม่ได้จัดการแบบจุลภาค แต่คุณก็ไม่ได้อยู่ในความมืดเช่นกัน

ความพยายามในการใช้เหตุผล - การควบคุมความเข้มข้นของการคิด

โมเดล AI สมัยใหม่มีแนวคิดที่เรียกว่า "ความพยายามในการใช้เหตุผล" (reasoning effort)—โดยพื้นฐานแล้ว โมเดลคิดหนักแค่ไหนก่อนที่จะตอบสนอง นี่เป็นหนึ่งในพารามิเตอร์ที่ทรงพลังที่สุดและถูกใช้งานน้อยที่สุดที่มีอยู่

การใช้เหตุผลสูง/สูงพิเศษ

ใช้สำหรับงานหลายขั้นตอนที่ซับซ้อน สถานการณ์ที่คลุมเครือ หรือปัญหาที่ต้องการการวิเคราะห์เชิงลึก โมเดลใช้โทเค็นมากขึ้นในการ "คิด" ภายในก่อนตอบสนอง ดีที่สุดสำหรับการตัดสินใจด้านสถาปัตยกรรม การดีบักที่ซับซ้อน การเขียนที่ละเอียดอ่อน

การใช้เหตุผลปานกลาง

การตั้งค่าที่สมดุลเหมาะสำหรับงานส่วนใหญ่ ดีสำหรับการเขียนโค้ดทั่วไป การเขียน และการวิเคราะห์ที่คุณภาพมีความสำคัญแต่ความเร็วก็สำคัญเช่นกัน นี่มักจะเป็นค่าเริ่มต้น

การใช้เหตุผลต่ำ

การตอบสนองที่รวดเร็วสำหรับงานที่ตรงไปตรงมา ใช้เมื่อคุณต้องการคำตอบด่วนและงานไม่ต้องการการไตร่ตรองลึกซึ้ง ดีสำหรับคำถามง่ายๆ การจัดรูปแบบ การค้นหาด่วน

การใช้เหตุผลขั้นต่ำ/ไม่มี

ความเร็วสูงสุด การไตร่ตรองขั้นต่ำ ดีที่สุดสำหรับคำถามง่ายๆ งานจัดรูปแบบใหม่ หรือเมื่อความหน่วงเป็นข้อกังวลหลัก การจำแนกประเภท การดึงข้อมูล การเขียนใหม่แบบง่าย

ข้อมูลเชิงลึกที่สำคัญคือการจับคู่ความพยายามในการใช้เหตุผลกับความซับซ้อนของงาน การใช้เหตุผลสูงสำหรับงานง่ายๆ จะสิ้นเปลืองโทเค็นและเวลา การใช้เหตุผลต่ำสำหรับงานที่ซับซ้อนจะให้ผลลัพธ์ที่ตื้นเขินและมีแนวโน้มที่จะเกิดข้อผิดพลาด

การชดเชยสำหรับการใช้เหตุผลต่ำ

เมื่อใช้โหมดการใช้เหตุผลขั้นต่ำ คุณต้องชดเชยด้วยการเขียนคำสั่งที่ชัดเจนยิ่งขึ้น โมเดลมีโทเค็น "การคิด" ภายในน้อยกว่า ดังนั้นคำสั่งของคุณต้องทำงานจัดโครงสร้างมากขึ้น:

การชดเชยการใช้เหตุผลขั้นต่ำ
<planning_requirement>
คุณต้องวางแผนอย่างกว้างขวางก่อนการเรียกใช้ฟังก์ชันแต่ละครั้ง และสะท้อน 
อย่างกว้างขวางเกี่ยวกับผลลัพธ์ของการเรียกครั้งก่อน เพื่อให้แน่ใจว่าคำถามของฉัน 
ได้รับการแก้ไขอย่างสมบูรณ์

อย่าทำกระบวนการทั้งหมดนี้โดยการเรียกใช้ฟังก์ชันเท่านั้น เนื่องจาก 
สิ่งนี้อาจบั่นทอนความสามารถของคุณในการแก้ปัญหาและคิด 
อย่างลึกซึ้ง ตรวจสอบให้แน่ใจว่าการเรียกใช้ฟังก์ชันมีอาร์กิวเมนต์ที่ถูกต้อง
</planning_requirement>

คำสั่งนี้บอกว่า: "เนื่องจากคุณไม่ได้ใช้เหตุผลภายในมากนัก ให้ใช้เหตุผลออกมาดังๆ" มันเปลี่ยนงานทางปัญญาจากการคิดแบบจำลองที่มองไม่เห็นเป็นการวางแผนที่มีโครงสร้างที่มองเห็นได้

🧠

เมื่อความพยายามในการใช้เหตุผลต่ำ ความซับซ้อนของคำสั่งควรสูง เมื่อความพยายามในการใช้เหตุผลสูง คำสั่งอาจง่ายกว่า มันเป็นความสมดุล—"การคิด" ทั้งหมดจะคงที่โดยประมาณ เพียงแต่จัดสรรต่างกัน

บุคลิกภาพ AI - การกำหนดรูปแบบพฤติกรรม

หนึ่งในการค้นพบที่ฉันชอบคือการเรียนรู้ที่จะกำหนด "บุคลิกภาพ" ของ AI—ไม่ใช่แค่สำหรับน้ำเสียง แต่สำหรับพฤติกรรมการทำงาน บุคลิกภาพกำหนดวิธีการที่ AI เข้าถึงงาน ไม่ใช่แค่วิธีการพูด

บุคลิกภาพมืออาชีพ

ขัดเกลาและแม่นยำ ใช้ภาษาที่เป็นทางการและแบบแผนการเขียนแบบมืออาชีพ ดีที่สุดสำหรับตัวแทนองค์กร ขั้นตอนการทำงานทางกฎหมาย/การเงิน การสนับสนุนการผลิต

บุคลิกภาพมืออาชีพ
<personality_professional>
คุณเป็นตัวแทน AI ที่มุ่งเน้น เป็นทางการ และเข้มงวด ซึ่งมุ่งมั่นเพื่อ 
ความครอบคลุมในทุกคำตอบ

- ใช้การใช้ภาษาและไวยากรณ์ที่พบบ่อยในการสื่อสารทางธุรกิจ
- ให้คำตอบที่ชัดเจน มีโครงสร้าง สร้างสมดุลระหว่างข้อมูล 
  กับความกระชับ
- แบ่งข้อมูลเป็นชิ้นย่อยๆ; ใช้รายการ ย่อหน้า 
  ตารางเมื่อเป็นประโยชน์
- ใช้คำศัพท์ที่เหมาะสมกับโดเมนเมื่ออภิปรายหัวข้อเฉพาะทาง
- ความสัมพันธ์ของคุณกับผู้ใช้เป็นแบบจริงใจแต่เป็นธุรกรรม: 
  เข้าใจความต้องการและส่งมอบผลลัพธ์ที่มีมูลค่าสูง
- อย่าแสดงความคิดเห็นเกี่ยวกับการสะกดคำหรือไวยากรณ์ของผู้ใช้
- อย่าบังคับบุคลิกภาพนี้กับสิ่งที่ขอ (อีเมล 
  โค้ด โพสต์); ปล่อยให้เจตนาของผู้ใช้นำทางน้ำเสียงสำหรับผลลัพธ์เหล่านั้น
</personality_professional>

บุคลิกภาพที่มีประสิทธิภาพ

กระชับและตรงไปตรงมา ให้คำตอบโดยไม่มีคำฟุ่มเฟือย ดีที่สุดสำหรับการสร้างโค้ด เครื่องมือนักพัฒนา ระบบอัตโนมัติแบบกลุ่ม กรณีการใช้งาน SDK หนัก

บุคลิกภาพที่มีประสิทธิภาพ
<personality_efficient>
คุณเป็นผู้ช่วย AI ที่มีประสิทธิภาพสูง ให้คำตอบที่ชัดเจนและตามบริบท

- การตอบกลับต้องตรงไปตรงมา สมบูรณ์ และง่ายต่อการแยกวิเคราะห์
- กระชับและตรงประเด็น; จัดโครงสร้างให้อ่านง่าย
- สำหรับงานด้านเทคนิค ให้ทำตามที่สั่ง — อย่าเพิ่มคุณสมบัติพิเศษ 
  ที่ผู้ใช้ไม่ได้ร้องขอ
- ปฏิบัติตามคำแนะนำทั้งหมดอย่างแม่นยำ; อย่าขยายขอบเขต
- อย่าใช้ภาษาการสนทนาเว้นแต่ผู้ใช้จะเริ่มก่อน
- อย่าเพิ่มความคิดเห็น ภาษาทางอารมณ์ อีโมจิ คำทักทาย 
  หรือคำลงท้าย
</personality_efficient>

บุคลิกภาพที่อิงตามข้อเท็จจริง

ตรงไปตรงมาและมีเหตุผล มุ่งเน้นที่ความถูกต้องและหลักฐาน ดีที่สุดสำหรับการดีบัก การวิเคราะห์ความเสี่ยง การแยกวิเคราะห์เอกสาร ขั้นตอนการทำงานของการฝึกสอน

บุคลิกภาพที่อิงตามข้อเท็จจริง
<personality_factbased>
คุณเป็นผู้ช่วย AI ที่พูดตรงไปตรงมาและมุ่งเน้นผลลัพธ์ที่มีประสิทธิผล

- เปิดใจกว้างแต่อย่าเห็นด้วยกับข้อเรียกร้องที่ขัดแย้ง 
  กับหลักฐาน
- เมื่อให้ข้อเสนอแนะ ให้ชัดเจนและแก้ไขโดยไม่ต้องเคลือบน้ำตาล
- ส่งมอบคำวิจารณ์ด้วยความเมตตาและการสนับสนุน
- ยึดข้อเรียกร้องทั้งหมดไว้ในข้อมูลที่ให้มาหรือข้อเท็จจริงที่ได้รับการยอมรับเป็นอย่างดี
- หากข้อมูลเข้าคลุมเครือหรือขาดหลักฐาน:
  - ระบุอย่างชัดเจน
  - ระบุสมมติฐานอย่างชัดเจน หรือถามคำถามเพื่อความกระจ่างสั้นๆ
  - อย่าเดาหรือเติมช่องว่างด้วยรายละเอียดที่แต่งขึ้น
- อย่าแต่งข้อเท็จจริง ตัวเลข แหล่งที่มา หรือการอ้างอิง
- หากไม่แน่ใจ ให้บอกและอธิบายว่าข้อมูลเพิ่มเติมอะไรที่จำเป็น
- ชอบข้อความที่มีเงื่อนไข ("ตามบริบทที่ให้มา...")
</personality_factbased>

บุคลิกภาพนักสำรวจ

กระตือรือร้นและชอบอธิบาย เฉลิมฉลองความรู้และการค้นพบ ดีที่สุดสำหรับเอกสาร การเริ่มต้นใช้งาน การฝึกอบรม การศึกษาด้านเทคนิค

บุคลิกภาพนักสำรวจ
<personality_exploratory>
คุณเป็นตัวแทน AI ที่กระตือรือร้นและมีความรู้ลึกซึ้ง ผู้มีความสุข 
ในการอธิบายแนวคิดด้วยความชัดเจนและบริบท

- ทำให้การเรียนรู้สนุกและมีประโยชน์; สร้างสมดุลระหว่างความลึกและการเข้าถึงได้ง่าย
- ใช้ภาษาที่เข้าถึงได้ เพิ่มการเปรียบเทียบสั้นๆ หรือ "เกร็ดความรู้" ที่เป็นประโยชน์
- สนับสนุนการสำรวจและคำถามติดตามผล
- ให้ความสำคัญกับความถูกต้อง ความลึก และการทำให้หัวข้อทางเทคนิคเข้าถึงได้
- หากแนวคิดคลุมเครือหรือขั้นสูง ให้อธิบายเป็นขั้นตอนและเสนอ 
  ทรัพยากรสำหรับการเรียนรู้เพิ่มเติม
- จัดโครงสร้างคำตอบอย่างมีเหตุผล; ใช้การจัดรูปแบบเพื่อจัดระเบียบแนวคิดที่ซับซ้อน
- อย่าใช้มุขตลกเพื่อประโยชน์ของมัน; หลีกเลี่ยงรายละเอียดทางเทคนิคที่มากเกินไป 
  เว้นแต่จะได้รับการร้องขอ
- ตรวจสอบให้แน่ใจว่าตัวอย่างเกี่ยวข้องกับคำถามและบริบทของผู้ใช้
</personality_exploratory>
🎭

บุคลิกภาพไม่ใช่การขัดเงาเพื่อความสวยงาม—มันเป็นคันโยกการทำงานที่ปรับปรุงความสม่ำเสมอ ลดการเบี่ยงเบน และจัดตำแหน่งพฤติกรรมของโมเดลให้ตรงกับความคาดหวังของผู้ใช้ เลือกอย่างจงใจตามงาน ไม่ใช่แค่ความชอบส่วนตัว

ความเป็นเลิศในการเขียนโค้ด - การเขียนโปรแกรมกับพันธมิตร AI

นี่คือที่ที่ฉันใช้เวลาส่วนใหญ่ในการเพิ่มประสิทธิภาพคำสั่ง และเป็นที่ที่ผลตอบแทนมหาศาล ความช่วยเหลือในการเขียนโค้ดด้วย AI นั้นเปลี่ยนแปลงได้—เมื่อทำอย่างถูกต้อง ทำผิด มันสร้างปัญหามากกว่าที่แก้

ความขัดแย้งของความเยิ่นเย้อ

นี่คือสิ่งที่ขัดกับสัญชาตญาณ: AI มีแนวโน้มที่จะเยิ่นเย้อในการอธิบายแต่สั้นกระชับในโค้ด มันจะเขียนย่อหน้าอธิบายสิ่งที่กำลังจะทำ จากนั้นผลิตโค้ดที่มีชื่อตัวแปรตัวอักษรเดียวและคอมเมนต์น้อยที่สุด นี่ตรงกันข้ามกับกรณีการใช้งานส่วนใหญ่

วิธีแก้ปัญหาคือการควบคุมความเยิ่นเย้อแบบสองโหมด:

การควบคุมความเยิ่นเย้อในการเขียนโค้ด
<code_verbosity>
เขียนโค้ดเพื่อความชัดเจนเป็นอันดับแรก ชอบโซลูชันที่อ่านง่าย บำรุงรักษาได้ 
พร้อมชื่อที่ชัดเจน คอมเมนต์เมื่อจำเป็น และขั้นตอนการควบคุมที่ตรงไปตรงมา

อย่าผลิต code-golf หรือบรรทัดเดียวที่ฉลาดเกินไปเว้นแต่จะได้รับการร้องขอ 
อย่างชัดเจน

ใช้ความเยิ่นเย้อสูงสำหรับการเขียนโค้ดและเครื่องมือโค้ด
ใช้ความเยิ่นเย้อต่ำสำหรับการอัปเดตสถานะและคำอธิบาย
</code_verbosity>

สิ่งนี้สร้างความสมดุลที่สมบูรณ์แบบ: การสื่อสารที่กระชับ โค้ดที่ละเอียด

การเปลี่ยนแปลงโค้ดเชิงรุก

AI ควรเชิงรุกเกี่ยวกับการเปลี่ยนแปลงโค้ดแต่ยืนยันเกี่ยวกับการกระทำที่ทำลายล้าง:

การกำหนดค่าการเขียนโค้ดเชิงรุก
<proactive_coding>
การแก้ไขโค้ดของคุณจะแสดงเป็นการเปลี่ยนแปลงที่เสนอ ซึ่งหมายความว่า:
(a) การแก้ไขโค้ดของคุณสามารถเชิงรุกได้มาก — ฉันสามารถปฏิเสธได้เสมอ
(b) โค้ดของคุณควรเขียนได้ดีและง่ายต่อการตรวจสอบอย่างรวดเร็ว

หากเสนอขั้นตอนต่อไปที่เกี่ยวข้องกับการเปลี่ยนโค้ด ให้ทำ 
การเปลี่ยนแปลงเหล่านั้นเชิงรุกเพื่อให้ฉันอนุมัติ/ปฏิเสธแทนที่จะถาม 
ว่าจะดำเนินการต่อหรือไม่

อย่าถามว่าจะดำเนินการตามแผนหรือไม่; แทนที่จะทำเช่นนั้น ให้ลอง 
แผนเชิงรุกและถามว่าฉันต้องการยอมรับการเปลี่ยนแปลงที่ดำเนินการหรือไม่
</proactive_coding>

มาตรฐานการนำโค้ดไปใช้

นี่คือมาตรฐานการเขียนโค้ดที่ฉันได้ปรับแต่งผ่านเซสชันการเขียนโค้ด AI หลายพันครั้ง:

มาตรฐานการนำโค้ดไปใช้
<code_standards>
<quality_principles>
- ปฏิบัติตนเป็นวิศวกรที่เฉลียวฉลาด: เพิ่มประสิทธิภาพเพื่อความถูกต้อง ความชัดเจน 
  และความน่าเชื่อถือมากกว่าความเร็ว
- หลีกเลี่ยงทางลัดที่มีความเสี่ยง การเปลี่ยนแปลงที่คาดเดา และการแฮ็กที่ยุ่งเหยิง
- ครอบคลุมสาเหตุที่แท้จริงหรือคำขอหลัก ไม่ใช่แค่อาการ
</quality_principles>

<codebase_conventions>
- ปฏิบัติตามรูปแบบที่มีอยู่ ตัวช่วย การตั้งชื่อ การจัดรูปแบบ การแปล
- หากคุณต้องเบี่ยงเบนจากข้อตกลง ให้ระบุเหตุผล
- ตรวจสอบรูปแบบที่มีอยู่ก่อนทำการเปลี่ยนแปลง
- จับคู่ข้อตกลงการตั้งชื่อตัวแปร (camelCase vs snake_case)
- ใช้ยูทิลิตี้ที่มีอยู่ซ้ำแทนที่จะสร้างใหม่
</codebase_conventions>

<behavior_safety>
- รักษาพฤติกรรมและ UX ที่ตั้งใจไว้
- กั้นหรือทำเครื่องหมายการเปลี่ยนแปลงโดยเจตนา
- เพิ่มการทดสอบเมื่อพฤติกรรมเปลี่ยนไป
</behavior_safety>

<error_handling>
- ไม่มีการจับกุมกว้างๆ หรือค่าเริ่มต้นที่เงียบ
- อย่าเพิ่มบล็อก try/catch กว้างๆ หรือทางเลือกสำรองรูปความสำเร็จ
- เผยแพร่หรือแสดงข้อผิดพลาดอย่างชัดเจนแทนที่จะกลืนมัน
- ไม่มีความล้มเหลวที่เงียบ: อย่าส่งคืนก่อนกำหนดเมื่ออินพุตไม่ถูกต้องโดยไม่มี 
  การบันทึก/แจ้งเตือนที่สอดคล้องกับรูปแบบ repo
</error_handling>

<type_safety>
- การเปลี่ยนแปลงควรผ่านการสร้างและการตรวจสอบประเภทเสมอ
- หลีกเลี่ยงการ cast ที่ไม่จำเป็น (as any, as unknown as ...)
- ชอบประเภทและการป้องกันที่เหมาะสม
- ใช้ตัวช่วยที่มีอยู่ซ้ำแทนที่จะยืนยันประเภท
</type_safety>

<efficiency>
- หลีกเลี่ยงการแก้ไขย่อยซ้ำๆ: อ่านบริบทให้เพียงพอก่อนเปลี่ยน 
  ไฟล์และจัดกลุ่มการแก้ไขเชิงตรรกะเข้าด้วยกัน
- DRY/ค้นหาก่อน: ก่อนเพิ่มตัวช่วยใหม่ ให้ค้นหาศิลปะก่อนหน้า 
  และใช้ซ้ำหรือแยกตัวช่วยที่ใช้ร่วมกันแทนที่จะทำซ้ำ
</efficiency>
</code_standards>

ความปลอดภัยของ Git

เมื่อ AI มีสิทธิ์เข้าถึง git ความปลอดภัยเป็นสิ่งสำคัญยิ่ง:

โปรโตคอลความปลอดภัย Git
<git_safety>
- ห้ามอัปเดต git config
- ห้ามรันคำสั่งทำลายล้าง (git reset --hard, git checkout --) 
  เว้นแต่จะได้รับการร้องขอโดยเฉพาะ
- ห้ามข้าม hooks (--no-verify) เว้นแต่จะได้รับการร้องขออย่างชัดเจน
- ห้าม force push ไปยัง main/master
- หลีกเลี่ยง git commit --amend เว้นแต่:
  1. ผู้ใช้ร้องขออย่างชัดเจน หรือ commit สำเร็จแต่ pre-commit 
     hook แก้ไขไฟล์อัตโนมัติ
  2. HEAD commit ถูกสร้างโดยคุณในการสนทนานี้
  3. Commit ยังไม่ได้ถูก push ไปยังรีโมท
- หาก commit ล้มเหลว หรือถูกปฏิเสธโดย hook ห้ามแก้ไข — แก้ไข 
  ปัญหาและสร้าง commit ใหม่
- คุณอาจอยู่ใน git worktree ที่สกปรก:
  - ห้ามย้อนกลับการเปลี่ยนแปลงที่มีอยู่ที่คุณไม่ได้ทำ
  - หากมีการเปลี่ยนแปลงที่ไม่เกี่ยวข้อง ให้เพิกเฉย — อย่าย้อนกลับ
</git_safety>

ความเชี่ยวชาญด้าน Frontend - การสร้างอินเทอร์เฟซที่สวยงาม

AI กลายเป็นสิ่งที่เก่งอย่างน่าทึ่งในการพัฒนา frontend แต่มีวิทยาศาสตร์ในการได้รับผลลัพธ์ที่สวยงามทางสุนทรียศาสตร์และพร้อมสำหรับการผลิต

Stack ที่แนะนำ

ผ่านการทดสอบอย่างกว้างขวาง การผสมผสานเทคโนโลยีบางอย่างทำงานได้ดีกับ AI มากกว่าแบบอื่น นี่ไม่ใช่เกี่ยวกับสิ่งที่ "ดีที่สุด" อย่างเป็นกลาง—มันเกี่ยวกับสิ่งที่โมเดล AI ได้รับการฝึกอบรมมาอย่างหนักที่สุด:

Frontend Stack ที่ปรับให้เหมาะสมสำหรับ AI

  • Frameworks: Next.js (TypeScript), React, HTML
  • Styling/UI: Tailwind CSS, shadcn/ui, Radix Themes
  • Icons: Material Symbols, Heroicons, Lucide
  • Animation: Motion (เดิมคือ Framer Motion)
  • Fonts: ตระกูล Sans Serif—Inter, Geist, Mona Sans, IBM Plex Sans, Manrope

เมื่อคุณระบุเทคโนโลยีเหล่านี้ AI จะผลิตผลลัพธ์ที่มีคุณภาพสูงกว่าอย่างมีนัยสำคัญโดยมีภาพหลอนเกี่ยวกับ API ที่ไม่มีอยู่น้อยลง

การบังคับใช้ระบบการออกแบบ

ปัญหาหนึ่งของ frontend ที่สร้างโดย AI คือความไม่สอดคล้องทางสายตา สีปรากฏขึ้นจากที่ไหนก็ไม่รู้ ระยะห่างแตกต่างกันแบบสุ่ม วิธีแก้ปัญหาคือข้อจำกัดของระบบการออกแบบที่ชัดเจน:

การบังคับใช้ระบบการออกแบบ
<design_system>
- โทเค็นก่อน: ห้าม hard-code สี (hex/hsl/rgb) ใน JSX/CSS
- สีทั้งหมดต้องมาจากตัวแปร CSS (--background, --foreground, 
  --primary, --accent, --border, --ring)
- เพื่อแนะนำแบรนด์/สำเนียง: เพิ่ม/ขยายโทเค็นในตัวแปร CSS 
  ภายใต้ :root และ .dark ก่อน
- ใช้ยูทิลิตี้ Tailwind ที่เชื่อมโยงกับโทเค็น: 
  bg-[hsl(var(--primary))], text-[hsl(var(--foreground))]
- ค่าเริ่มต้นคือพาเล็ตกลางของระบบเว้นแต่รูปลักษณ์ของแบรนด์จะถูกร้องขอ 
  อย่างชัดเจน — จากนั้นจับคู่แบรนด์กับโทเค็นก่อน
- ห้ามประดิษฐ์สี เงา โทเค็น แอนิเมชั่น หรือองค์ประกอบ UI ใหม่ 
  เว้นแต่จะได้รับการร้องขอ
</design_system>

การป้องกัน "AI Slop"

AI มีแนวโน้มที่จะไปทางเลย์เอาต์ที่ปลอดภัยและดูธรรมดา เพื่อให้ได้การออกแบบที่โดดเด่นและมีความตั้งใจ:

มาตรฐานคุณภาพ Frontend
<frontend_quality>
เมื่อทำงานออกแบบ frontend หลีกเลี่ยงการยุบตัวเป็น "AI slop" 
หรือเลย์เอาต์ที่ปลอดภัยและดูธรรมดา มุ่งเป้าไปที่อินเทอร์เฟซที่รู้สึก 
ตั้งใจ กล้าหาญ และน่าประหลาดใจเล็กน้อย

- การพิมพ์: ใช้ฟอนต์ที่แสดงออกและมีจุดมุ่งหมาย; หลีกเลี่ยงสแต็กเริ่มต้น 
  (Inter, Roboto, Arial, system)
- สี & ลุค: เลือกทิศทางภาพที่ชัดเจน; กำหนดตัวแปร CSS; 
  หลีกเลี่ยงค่าเริ่มต้นสีม่วงบนสีขาว; ไม่มีความลำเอียงสีม่วงหรือความลำเอียงโหมดมืด
- การเคลื่อนไหว: ใช้แอนิเมชั่นที่มีความหมาย (โหลดหน้า, เปิดเผยทีละน้อย) 
  แทนการเคลื่อนไหวระดับจุลภาคทั่วไป
- พื้นหลัง: อย่าพึ่งพาพื้นหลังแบนสีเดียว; ใช้ 
  การไล่ระดับสี รูปทรง หรือลวดลายที่ละเอียดอ่อน
- โดยรวม: หลีกเลี่ยงเลย์เอาต์สำเร็จรูป; เปลี่ยนธีม ตระกูลประเภท 
  และภาษาภาพข้ามผลลัพธ์
- ตรวจสอบให้แน่ใจว่าหน้าโหลดได้อย่างถูกต้องทั้งบนเดสก์ท็อปและมือถือ
- ทำเว็บไซต์ให้เสร็จสมบูรณ์ ในสถานะการทำงานเพื่อให้ผู้ใช้ทดสอบ

ข้อยกเว้น: หากทำงานภายในเว็บไซต์หรือระบบการออกแบบที่มีอยู่ 
ให้รักษาลวดลายที่กำหนดไว้
</frontend_quality>

แนวทางปฏิบัติที่ดีที่สุดสำหรับ UI/UX

แนวทาง UI/UX
<ui_ux_guidelines>
- ลำดับชั้นทางสายตา: จำกัดการพิมพ์ไว้ที่ 4-5 ขนาดและน้ำหนักฟอนต์; 
  ใช้ text-xs สำหรับคำบรรยาย; หลีกเลี่ยง text-xl เว้นแต่สำหรับฮีโร่/หัวข้อหลัก
- การใช้สี: ใช้ 1 ฐานกลาง (เช่น zinc) และสีเน้นไม่เกิน 2 สี
- ระยะห่าง: ใช้ทวีคูณของ 4 สำหรับการเติมและขอบเสมอเพื่อ 
  รักษจังหวะทางสายตา
- เลย์เอาต์: ใช้คอนเทนเนอร์ความสูงคงที่พร้อมการเลื่อนภายในสำหรับ 
  เนื้อหายาว
- การจัดการสถานะ: ใช้ตัวยึดโครงกระดูกหรือ animate-pulse สำหรับ 
  การดึงข้อมูล; ระบุความสามารถในการคลิกด้วยการเปลี่ยนเมื่อวางเมาส์
- การเข้าถึง: ใช้ HTML เชิงความหมายและบทบาท ARIA; ชอบส่วนประกอบ 
  ที่เข้าถึงได้ที่สร้างไว้ล่วงหน้า
</ui_ux_guidelines>

การควบคุมความเยิ่นเย้อ - ศิลปะของความยาวผลลัพธ์

การได้รับความยาวผลลัพธ์ที่ถูกต้องเป็นความท้าทายอย่างต่อเนื่อง สั้นเกินไปและคุณพลาดรายละเอียดที่สำคัญ ยาวเกินไปและคุณจมอยู่ในข้อมูลที่ไม่จำเป็น

พารามิเตอร์ความเยิ่นเย้อ

API AI สมัยใหม่เสนอพารามิเตอร์ความเยิ่นเย้อที่ปรับขนาดความยาวผลลัพธ์ได้อย่างน่าเชื่อถือโดยไม่ต้องเปลี่ยนคำสั่ง:

ความเยิ่นเย้อต่ำ

รวบรัด, ร้อยแก้วน้อยที่สุด เพียงแค่คำตอบที่จำเป็นโดยไม่มีการขยายความ ดีสำหรับการค้นหาด่วน การยืนยันง่ายๆ และเมื่อคุณต้องการเพียงข้อเท็จจริง

ความเยิ่นเย้อปานกลาง

รายละเอียดสมดุล การตั้งค่าเริ่มต้นที่ใช้ได้กับงานส่วนใหญ่ ให้บริบทและคำอธิบายโดยไม่มีการเติมแต่งมากเกินไป

ความเยิ่นเย้อสูง

เยิ่นเย้อและครอบคลุม ยอดเยี่ยมสำหรับการตรวจสอบ การสอน การส่งมอบ และเอกสาร ให้บริบทและการใช้เหตุผลเต็มรูปแบบ

แนวทางความยาวที่ชัดเจน

เมื่อคุณไม่สามารถใช้พารามิเตอร์ API ได้ ข้อจำกัดความยาวที่ชัดเจนจะทำงานได้ดี:

ข้อกำหนดความเยิ่นเย้อของผลลัพธ์
<output_verbosity_spec>
- ค่าเริ่มต้น: 3-6 ประโยค หรือ ≤5 หัวข้อย่อยสำหรับคำตอบทั่วไป
- สำหรับคำถามง่ายๆ "ใช่/ไม่ใช่ + คำอธิบายสั้นๆ": ≤2 ประโยค
- สำหรับงานที่ซับซ้อนหลายขั้นตอนหรือหลายไฟล์:
  - 1 ย่อหน้าภาพรวมสั้นๆ
  - จากนั้น ≤5 หัวข้อย่อยที่ติดแท็ก: อะไรเปลี่ยนไป, ที่ไหน, ความเสี่ยง, ขั้นตอนต่อไป, 
    คำถามเปิด
- ให้คำตอบที่ชัดเจน มีโครงสร้าง สร้างสมดุลระหว่างข้อมูล 
  กับความกระชับ
- แบ่งข้อมูลเป็นชิ้นย่อยๆ; ใช้รายการ 
  ย่อหน้า ตารางเมื่อเป็นประโยชน์
- หลีกเลี่ยงย่อหน้าบรรยายยาวๆ; ชอบหัวข้อย่อยที่กะทัดรัดและ 
  ส่วนสั้นๆ
- อย่าเรียบเรียงคำขอของฉันใหม่เว้นแต่จะเปลี่ยนความหมาย
</output_verbosity_spec>

ความเยิ่นเย้อตามตัวตน

อีกวิธีหนึ่งคือการกำหนดสไตล์การสื่อสารเป็นส่วนหนึ่งของตัวตนของ AI:

ตัวตนการสื่อสารที่มีประสิทธิภาพ
<communication_style>
คุณให้ความสำคัญกับความชัดเจน โมเมนตัม และความเคารพที่วัดจากความมีประโยชน์ 
มากกว่าความสุภาพ สัญชาตญาณเริ่มต้นของคุณคือการรักษา 
การสนทนาให้เฉียบคมและขับเคลื่อนด้วยวัตถุประสงค์ ตัดทุกอย่างที่ 
ไม่ขับเคลื่อนงานไปข้างหน้า

คุณไม่ได้เย็นชา—คุณแค่ประหยัดถ้อยคำ และ 
คุณเชื่อใจผู้ใช้มากพอที่จะไม่ห่อทุกข้อความด้วยการเติมแต่ง

ความสุภาพแสดงผ่านโครงสร้าง ความแม่นยำ และการตอบสนอง 
ไม่ใช่ผ่านคำพูดฟุ่มเฟือย

คุณไม่เคยทำซ้ำการรับทราบ เมื่อคุณส่งสัญญาณว่าเข้าใจแล้ว 
คุณหมุนไปที่งานอย่างเต็มที่
</communication_style>

บริบทที่ยาว - การจัดการเอกสารขนาดใหญ่

AI สมัยใหม่สามารถประมวลผลบริบทมหาศาล—หลายแสนโทเค็น—แต่เพียงแค่ทิ้งเอกสารขนาดใหญ่ลงในหน้าต่างบริบทนั้นไม่เพียงพอ คุณต้องการกลยุทธ์เพื่อช่วยให้โมเดลนำทางและดึงข้อมูลที่เกี่ยวข้อง

บังคับการสรุปและการลงกราวด์ใหม่

สำหรับเอกสารยาว ฉันสั่งให้ AI สร้างโครงสร้างภายในก่อนที่จะตอบ:

การจัดการบริบทที่ยาว
<long_context_handling>
สำหรับอินพุตที่ยาวกว่า ~10k โทเค็น (เอกสารหลายบท, เธรดยาว, 
PDF หลายไฟล์):

1. ก่อนอื่น ให้สร้างโครงร่างภายในสั้นๆ ของส่วนสำคัญที่เกี่ยวข้อง 
   กับคำขอของฉัน
2. ระบุข้อจำกัดของฉันใหม่อย่างชัดเจน (เขตอำนาจศาล, ช่วงวันที่, 
   ผลิตภัณฑ์, ทีม) ก่อนตอบ
3. ในคำตอบของคุณ ให้ยึดการอ้างสิทธิ์กับส่วนต่างๆ ("ในส่วน 
   'การเก็บรักษาข้อมูล'...") แทนที่จะพูดแบบทั่วไป
4. หากคำตอบขึ้นอยู่กับรายละเอียดเล็กน้อย (วันที่, เกณฑ์, ข้อความ), 
   อ้างอิงหรือถอดความโดยตรง
</long_context_handling>

สิ่งนี้ป้องกันปัญหา "หลงทางในการเลื่อน" ที่ AI ให้คำตอบทั่วไปที่ไม่ได้มีส่วนร่วมกับเนื้อหาเอกสารที่เฉพาะเจาะจงจริงๆ

การบีบอัดสำหรับขั้นตอนการทำงานที่ขยายออกไป

สำหรับขั้นตอนการทำงานที่ใช้เวลานานและใช้เครื่องมือหนักซึ่งเกินหน้าต่างบริบทมาตรฐาน AI สมัยใหม่รองรับ "การบีบอัด"—การบีบอัดที่ตระหนักถึงการสูญเสียผ่านสถานะการสนทนาก่อนหน้านี้ที่รักษาข้อมูลที่เกี่ยวข้องกับงานในขณะที่ลดรอยเท้าโทเค็นลงอย่างมาก

เมื่อใดควรใช้การบีบอัด

  • กระแสตัวแทนหลายขั้นตอนที่มีการเรียกใช้เครื่องมือมากมาย
  • การสนทนาที่ยาวนานซึ่งต้องรักษาเทิร์นก่อนหน้านี้ไว้
  • การให้เหตุผลแบบวนซ้ำเกินหน้าต่างบริบทสูงสุด

แนวทางปฏิบัติที่ดีที่สุดสำหรับการบีบอัด:

  • ตรวจสอบการใช้บริบทและวางแผนล่วงหน้าเพื่อหลีกเลี่ยงการชนขีดจำกัด
  • บีบอัดหลังจากเหตุการณ์สำคัญ (เช่น ระยะที่ใช้เครื่องมือหนัก) ไม่ใช่ทุกเทิร์น
  • รักษาคำสั่งให้เหมือนกันทางการทำงานเมื่อดำเนินการต่อเพื่อหลีกเลี่ยงพฤติกรรมที่เปลี่ยนไป
  • ปฏิบัติต่อรายการที่ถูกบีบอัดว่าเป็นทึบ; อย่าแยกวิเคราะห์หรือพึ่งพาภายใน

ข้อกำหนดการอ้างอิง

ข้อกำหนดการอ้างอิง
<citation_rules>
เมื่อคุณใช้ข้อมูลจากเอกสารที่ให้มา:
- วางการอ้างอิงหลังแต่ละย่อหน้าที่ประกอบด้วยการอ้างสิทธิ์ที่ได้มาจากเอกสาร
- ใช้รูปแบบ: [ชื่อเอกสาร, ส่วน/หน้า]
- อย่าประดิษฐ์การอ้างอิง หากคุณไม่สามารถอ้างอิงได้ อย่าอ้างสิทธิ์
- ใช้หลายแหล่งสำหรับข้อเรียกร้องหลักเมื่อเป็นไปได้
- หากหลักฐานบางบาง ให้รับรู้สิ่งนี้อย่างชัดเจน
</citation_rules>

การประสานงานเครื่องมือ - ความสามารถ AI ขั้นสูง

การเรียกใช้เครื่องมือ AI—การเรียกใช้ฟังก์ชันภายนอก, API และบริการ—คือจุดที่วิศวกรรมคำสั่งกลายเป็นวิศวกรรมซอฟต์แวร์ การทำสิ่งนี้ให้ถูกต้องเป็นสิ่งสำคัญสำหรับแอปพลิเคชัน AI ที่เชื่อถือได้

แนวทางปฏิบัติที่ดีที่สุดในการอธิบายเครื่องมือ

คุณภาพของคำอธิบายเครื่องมือส่งผลโดยตรงต่อการใช้งานของ AI:

คำจำกัดความเครื่องมือที่ออกแบบมาอย่างดี
{
  "name": "create_reservation",
  "description": "สร้างการจองร้านอาหารสำหรับแขก ใช้เมื่อ 
    ผู้ใช้ขอจองโต๊ะด้วยชื่อและเวลาที่กำหนด",
  "parameters": {
    "type": "object",
    "properties": {
      "name": {
        "type": "string",
        "description": "ชื่อเต็มของแขกสำหรับการจอง"
      },
      "datetime": {
        "type": "string",
        "description": "วันที่และเวลาจอง (รูปแบบ ISO 8601)"
      }
    },
    "required": ["name", "datetime"]
  }
}

สังเกตว่าคำอธิบายรวมถึงทั้ง สิ่งที่ เครื่องมือทำและ เมื่อไหร่ ที่จะใช้ สิ่งนี้ช่วยให้โมเดลตัดสินใจเลือกเครื่องมือได้ดีขึ้น

กฎการใช้เครื่องมือ

นโยบายการใช้เครื่องมือ
<tool_usage_rules>
- หากมีเครื่องมือสำหรับการกระทำ ให้เลือกเครื่องมือมากกว่าคำสั่งเชลล์ 
  (เช่น read_file มากกว่า cat)
- หลีกเลี่ยง cmd/terminal ดิบอย่างเคร่งครัดเมื่อมีเครื่องมือเฉพาะ
- เลือกเครื่องมือมากกว่าความรู้ภายในเมื่อใดก็ตามที่:
  - คุณต้องการข้อมูลสดใหม่หรือเฉพาะเจาะจงสำหรับผู้ใช้ (ตั๋ว, คำสั่งซื้อ, การกำหนดค่า, บันทึก)
  - คุณอ้างถึง ID, URL หรือชื่อเอกสารที่เฉพาะเจาะจง
- หลังจากการเรียกใช้เครื่องมือเขียน/อัปเดตใดๆ ให้ระบุสั้นๆ อีกครั้ง:
  - อะไรเปลี่ยนไป
  - ที่ไหน (ID หรือเส้นทาง)
  - การตรวจสอบติดตามผลใดๆ ที่ดำเนินการ
- สำหรับคำถามเชิงแนวคิดง่ายๆ ให้หลีกเลี่ยงเครื่องมือและพึ่งพาความรู้ 
  ภายในสำหรับการตอบกลับอย่างรวดเร็ว
</tool_usage_rules>

การขนาน

การเพิ่มประสิทธิภาพที่สำคัญคือการสนับสนุนการเรียกใช้เครื่องมือแบบขนานเมื่อการดำเนินการเป็นอิสระจากกัน:

ข้อกำหนดการขนาน
<parallelization_spec>
เรียกใช้การดำเนินการเครื่องมืออิสระหรืออ่านอย่างเดียวแบบขนาน (รอบ/ชุดเดียวกัน) 
เพื่อลดความหน่วง

เมื่อใดควรขนาน:
- การอ่านหลายไฟล์/การกำหนดค่า/บันทึกที่ไม่ส่งผลกระทบต่อกัน
- การวิเคราะห์แบบคงที่ การค้นหา หรือการสอบถามข้อมูลเมตาโดยไม่มีผลข้างเคียง
- การแก้ไขแยกต่างหากสำหรับไฟล์/คุณสมบัติที่ไม่เกี่ยวข้องซึ่งจะไม่ขัดแย้งกัน

เมื่อใดไม่ควรขนาน:
- การดำเนินการที่หนึ่งขึ้นอยู่กับผลลัพธ์ของอีกอันหนึ่ง
- การสร้างทรัพยากรแล้วอ้างอิง ID ของมัน
- การอ่านไฟล์แล้วแก้ไขตามเนื้อหา

วิธีการ:
- คิดก่อน: ก่อนการเรียกใช้เครื่องมือใดๆ ให้ตัดสินใจไฟล์/ทรัพยากรทั้งหมดที่คุณต้องการ
- รวมกลุ่มทุกอย่าง: หากคุณต้องการหลายไฟล์ ให้อ่านพร้อมกัน
- ทำการเรียกตามลำดับเฉพาะเมื่อคุณไม่สามารถรู้ไฟล์ถัดไปได้อย่างแท้จริง 
  โดยไม่เห็นผลลัพธ์ก่อน
</parallelization_spec>

เครื่องมือห่อหุ้ม Terminal

หากคุณต้องการให้ AI ใช้เครื่องมือเฉพาะแทนคำสั่ง terminal ให้ทำให้พวกมันมีความคล้ายคลึงทางความหมายกับสิ่งที่โมเดลคาดหวัง:

ตัวอย่างเครื่องมือห่อหุ้ม Terminal
GIT_TOOL = {
    "type": "function",
    "name": "git",
    "description": (
        "ดำเนินการคำสั่ง git ในรูทของที่เก็บข้อมูล ทำตัวเหมือน "
        "การรัน git ใน terminal; รองรับคำสั่งย่อยและแฟล็กใดๆ"
    ),
    "parameters": {
        "type": "object",
        "properties": {
            "command": {
                "type": "string",
                "description": "คำสั่ง git ที่จะดำเนินการ"
            }
        },
        "required": ["command"]
    }
}

# จากนั้นใน prompt ของคุณ:
"ใช้เครื่องมือ `git` สำหรับการดำเนินการ git ทั้งหมด ห้ามใช้ terminal สำหรับ git"

การแก้ไขปัญหา - การแก้ไขสิ่งที่ผิดพลาด

หลังจากทำงานกับ prompt นับไม่ถ้วน ฉันได้ระบุรูปแบบความล้มเหลวที่พบบ่อยที่สุดและวิธีแก้ไข

ปัญหา: คิดมากเกินไป

อาการ: คำตอบถูกต้องแต่ใช้เวลานาน โมเดลยังคงสำรวจตัวเลือก ชะลอการเรียกเครื่องมือครั้งแรก เล่าเรื่องการเดินทางที่อ้อมค้อมเมื่อมีคำตอบง่ายๆ

แก้ไขการคิดมากเกินไป
<efficient_context_spec>
เป้าหมาย: รับบริบทเพียงพออย่างรวดเร็วและหยุดทันทีที่คุณสามารถดำเนินการได้

วิธีการ:
- เริ่มกว้าง แล้วแยกออกเป็นแบบสอบถามย่อยที่มุ่งเน้น
- ในแบบขนาน เปิดตัว 4-8 แบบสอบถามที่หลากหลาย; อ่าน 3-5 ผลลัพธ์สูงสุดต่อแบบสอบถาม
- ลบเส้นทางที่ซ้ำซ้อนและแคช; อย่าทำซ้ำแบบสอบถาม

หยุดก่อนกำหนด (ดำเนินการหากมี):
- คุณสามารถตั้งชื่อไฟล์/สัญลักษณ์ที่แน่นอนเพื่อเปลี่ยนแปลง
- คุณสามารถจำลองการทดสอบ/lint ที่ล้มเหลวหรือมีตำแหน่งจุดบกพร่องที่มีความเชื่อมั่นสูง
</efficient_context_spec>

# เพิ่มเส้นทางด่วนสำหรับคำถามง่ายๆ ด้วย:
<fast_path>
สำหรับความรู้ทั่วไปหรือแบบสอบถามการใช้งานง่ายๆ ที่ไม่ต้อง 
คำสั่ง, การท่องเว็บ, หรือการเรียกเครื่องมือ:
- ตอบทันทีและกระชับ
- ไม่มีการอัปเดตสถานะ, ไม่มีสิ่งที่ต้องทำ, ไม่มีบทสรุป, ไม่มีการเรียกเครื่องมือ
</fast_path>

ปัญหา: คิดน้อยไป / ขี้เกียจ

อาการ: โมเดลไม่ได้ใช้เวลาเพียงพอในการให้เหตุผลก่อนสร้างคำตอบ การตอบสนองตื้นเขิน, พลาดกรณีขอบ, โซลูชันไม่สมบูรณ์

แก้ไขการคิดน้อยไป
<self_reflection>
- ให้คะแนนฉบับร่างภายในเทียบกับรูบริก 5-7 รายการที่คุณคิดขึ้น 
  (ความชัดเจน, ความถูกต้อง, กรณีขอบ, ความสมบูรณ์, ความหน่วง)
- หากหมวดหมู่ใดขาดตกบกพร่อง ให้ทำซ้ำหนึ่งครั้งก่อนตอบกลับ
</self_reflection>

# หรือใช้ความพยายามในการใช้เหตุผลที่สูงขึ้นในพารามิเตอร์ API

ปัญหา: เกรงใจเกินไป

อาการ: AI ยังคงขออนุญาตแทนที่จะดำเนินการ คงที่ "คุณต้องการให้ฉัน..." แทนที่จะแค่ทำมัน

แก้ไขความเกรงใจ
<persistence>
- คุณเป็นตัวแทน — ทำต่อไปจนกว่าคำถามของผู้ใช้จะได้รับการแก้ไข 
  อย่างสมบูรณ์ก่อนที่จะจบตาของคุณ
- ยุติเมื่อคุณแน่ใจว่าปัญหาได้รับการแก้ไขแล้วเท่านั้น
- ไม่เคยหยุดหรือส่งคืนเมื่อคุณพบความไม่แน่นอน — อนุมาน 
  แนวทางที่สมเหตุสมผลที่สุดและดำเนินการต่อ
- อย่าขอให้ยืนยันหรือชี้แจงสมมติฐาน — ตัดสินใจว่าอะไร 
  สมเหตุสมผลที่สุด, ดำเนินการ, และบันทึกเพื่อใช้อ้างอิงภายหลัง
</persistence>

ปัญหา: เยิ่นเย้อเกินไป

อาการ: AI สร้างโทเค็นมากกว่าที่จำเป็นมาก มีบทนำเยอะ, คำอธิบายมากเกินไป, สรุปซ้ำซาก

แก้ไขความเยิ่นเย้อ
# ใช้พารามิเตอร์ความเยิ่นเย้อของ API: "low"

# หรือใน prompt:
<output_format>
- ค่าเริ่มต้น: 3-6 ประโยค หรือ ≤5 หัวข้อย่อย
- หลีกเลี่ยงย่อหน้าบรรยายยาวๆ; ชอบหัวข้อย่อยที่กะทัดรัด
- อย่าเรียบเรียงคำขอของฉันใหม่เว้นแต่จะเปลี่ยนความหมาย
- ไม่มีบทนำเช่น "คำถามที่ยอดเยี่ยม!" หรือ "ฉันยินดีที่จะช่วย"
</output_format>

ปัญหา: เรียกเครื่องมือมากเกินไป

อาการ: โมเดลยิงเครื่องมือโดยไม่ขยับคำตอบไปข้างหน้า การเรียกซ้ำซ้อน, สำรวจเส้นสัมผัส, ไม่ใช้บริบทอย่างมีประสิทธิภาพ

แก้ไขการเรียกเครื่องมือ
<tool_use_policy>
- เลือกหนึ่งเครื่องมือหรือไม่มีเลย; ชอบตอบจากบริบทเมื่อเป็นไปได้
- จำกัดการเรียกเครื่องมือที่ 2 ต่อคำขอของผู้ใช้ เว้นแต่ข้อมูลใหม่จะทำให้ 
  จำเป็นอย่างเคร่งครัดมากขึ้น
- ก่อนเรียกเครื่องมือ ให้ตรวจสอบว่าคุณต้องการข้อมูลจริงๆ
</tool_use_policy>

ปัญหา: การเรียกเครื่องมือที่ผิดรูปแบบ

อาการ: การเรียกเครื่องมือล้มเหลว, ผลิตขยะ, หรือไม่ตรงกับรูปแบบที่คาดหวัง มักเกิดจากความขัดแย้งใน prompt

การวินิจฉัยการเรียกเครื่องมือที่ผิดรูปแบบ
โปรดวิเคราะห์ว่าทำไมการเรียกเครื่องมือ [tool_name] ถึงผิดรูปแบบ

1. ตรวจสอบปัญหาตัวอย่างที่ให้มาเพื่อทำความเข้าใจโหมดความล้มเหลว
2. ตรวจสอบ System Prompt และ Tool Config อย่างละเอียด
3. ระบุความคลุมเครือ ความไม่สอดคล้อง หรือการใช้ถ้อยคำที่อาจ 
   ทำให้โมเดลเข้าใจผิด
4. สำหรับแต่ละสาเหตุที่เป็นไปได้ ให้อธิบายว่ามันจะส่งผลให้เกิด 
   ความล้มเหลวที่สังเกตได้อย่างไร
5. ให้คำแนะนำที่ดำเนินการได้เพื่อปรับปรุง prompt หรือ 
   การกำหนดค่าเครื่องมือ
🔧

ปัญหาส่วนใหญ่ของการเรียกเครื่องมือที่ผิดรูปแบบเกิดจากความขัดแย้งระหว่างส่วนต่างๆ ของ prompt โมเดลเผาผลาญโทเค็นการให้เหตุผลพยายามประนีประนอมคำแนะนำที่ขัดแย้งกันแทนที่จะช่วยเหลือ

การเพิ่มประสิทธิภาพ Prompt - แนวทางวิทยาศาสตร์

การสร้าง prompt ที่มีประสิทธิภาพเป็นทักษะ แต่การปรับปรุงให้ดีขึ้นเป็นวิทยาศาสตร์ นี่คือแนวทางที่เป็นระบบที่ฉันใช้

ความล้มเหลวของ Prompt ทั่วไป

ก่อนทำการปรับปรุง ให้เข้าใจสิ่งที่มักจะผิดพลาด:

ความขัดแย้งในคำแนะนำ

"ชอบไลบรารีมาตรฐาน" จากนั้น "ใช้แพ็คเกจภายนอกถ้ามันทำให้สิ่งต่างๆ ง่ายขึ้น" - AI ไม่สามารถประนีประนอมสัญญาณผสมเหล่านี้ได้

ข้อจำกัดที่คลุมเครือ

"มุ่งเป้าไปที่ผลลัพธ์ที่แน่นอน; วิธีการประมาณนั้นใช้ได้เมื่อไม่เปลี่ยนผลลัพธ์ในทางปฏิบัติ" - โมเดลไม่สามารถตรวจสอบการตัดสินใจนี้ได้

ข้อมูลจำเพาะรูปแบบหายไป

ถ้าคุณต้องการ JSON ให้พูดออกมา ถ้าคุณต้องการหัวข้อย่อย ให้พูดออกมา อย่าปล่อยให้รูปแบบผลลัพธ์เป็นเรื่องของโอกาส

ความไม่สอดคล้องกับตัวอย่าง

คำแนะนำของคุณพูดอย่างหนึ่งแต่ตัวอย่างของคุณแสดงอย่างอื่น AI ทำตามตัวอย่างมากกว่าร้อยแก้ว

วงจรการเพิ่มประสิทธิภาพ

1
สร้างพื้นฐาน

รัน prompt ปัจจุบันของคุณหลายๆ ครั้งและบันทึกผลลัพธ์ สังเกตรูปแบบทั้งในความสำเร็จและความล้มเหลว

2
ระบุโหมดความล้มเหลว

จัดหมวดหมู่ความล้มเหลว เป็นปัญหาความถูกต้อง? ปัญหาการจัดรูปแบบ? ปัญหาประสิทธิภาพ? แต่ละอย่างต้องการการแก้ไขที่แตกต่างกัน

3
ทำการแก้ไขทางศัลยกรรม

เปลี่ยนสิ่งเดียวในแต่ละครั้ง หากคุณเปลี่ยนหลายอย่าง คุณจะไม่รู้ว่าอะไรช่วยได้

4
ประเมินซ้ำ

รันการทดสอบเดิมอีกครั้ง เปรียบเทียบกับพื้นฐาน การเปลี่ยนแปลงช่วย ทำร้าย หรือไม่มีผล?

5
ทำซ้ำ

ทำซ้ำจนกว่าคุณจะถึงประสิทธิภาพที่ยอมรับได้ จดบันทึกสิ่งที่ได้ผลและสิ่งที่ไม่ได้ผล

การย้ายระหว่างโมเดล

เมื่อย้าย prompt ไปยังเวอร์ชันโมเดลใหม่:

แนวทางปฏิบัติที่ดีที่สุดในการย้าย

  • ขั้นตอนที่ 1: เปลี่ยนโมเดล อย่าเพิ่งเปลี่ยน prompt ทดสอบการเปลี่ยนแปลงโมเดล—ไม่ใช่การแก้ไข prompt
  • ขั้นตอนที่ 2: ปักหมุดความพยายามในการใช้เหตุผลให้ตรงกับโปรไฟล์ของโมเดลก่อนหน้า
  • ขั้นตอนที่ 3: รันการประเมินสำหรับพื้นฐาน หากผลลัพธ์ดูดี คุณพร้อมที่จะจัดส่ง
  • ขั้นตอนที่ 4: หากมีการถดถอย ให้ปรับแต่ง prompt ด้วยข้อจำกัดที่กำหนดเป้าหมาย
  • ขั้นตอนที่ 5: รันการประเมินซ้ำหลังจากการเปลี่ยนแปลงเล็กน้อยแต่ละครั้ง ทีละการเปลี่ยนแปลง

การจัดการความไม่แน่นอน - เมื่อ AI ไม่รู้

หนึ่งในความเสี่ยงที่ใหญ่ที่สุดกับ AI คือคำตอบที่ผิดแต่ฟังดูมั่นใจ โมเดลไม่รู้สิ่งที่มันไม่รู้—เว้นแต่คุณจะสอนมันให้จัดการกับความไม่แน่นอน

การจัดการความไม่แน่นอน
<uncertainty_handling>
- หากคำถามคลุมเครือหรือไม่ระบุรายละเอียด ให้เรียกสิ่งนี้ 
  ออกมาอย่างชัดเจนและ:
  - ถามคำถามเพื่อความกระจ่างที่แม่นยำได้ถึง 1-3 ข้อ หรือ
  - นำเสนอการตีความที่เป็นไปได้ 2-3 แบบพร้อมสมมติฐานที่มีป้ายกำกับชัดเจน
  
- เมื่อข้อเท็จจริงภายนอกอาจมีการเปลี่ยนแปลงเมื่อเร็วๆ นี้ (ราคา, การเปิดตัว, 
  นโยบาย) และไม่มีเครื่องมือให้ใช้:
  - ตอบในแง่ทั่วไปและระบุว่ารายละเอียดอาจมีการเปลี่ยนแปลง
  
- อย่าประดิษฐ์ตัวเลขที่แน่นอน หมายเลขบรรทัด หรือการอ้างอิงภายนอก 
  เมื่อคุณไม่แน่ใจ
  
- เมื่อคุณไม่แน่ใจ ให้ชอบภาษาเช่น "ตามบริบทที่ให้มา..." 
  มากกว่าการอ้างสิทธิ์ที่แน่นอน
</uncertainty_handling>

การตรวจสอบตนเองที่มีความเสี่ยงสูง

สำหรับโดเมนที่มีความเสี่ยงสูง ให้เพิ่มขั้นตอนการตรวจสอบตนเองอย่างชัดเจน:

การตรวจสอบตนเองที่มีความเสี่ยงสูง
<high_risk_self_check>
ก่อนที่จะสรุปคำตอบในบริบททางกฎหมาย การเงิน การปฏิบัติตามกฎระเบียบ หรือ 
ความอ่อนไหวต่อความปลอดภัย:

- สแกนคำตอบของคุณเองสั้นๆ อีกครั้งสำหรับ:
  - สมมติฐานที่ไม่ได้ระบุ
  - ตัวเลขเฉพาะหรือการอ้างสิทธิ์ที่ไม่มีพื้นฐานในบริบท
  - ภาษาที่รุนแรงเกินไป ("เสมอ," "รับประกัน," ฯลฯ)
  
- หากคุณพบสิ่งใด ให้ทำให้อ่อนลงหรือรับรองคุณสมบัติและระบุสมมติฐานอย่างชัดเจน
</high_risk_self_check>
⚠️

เป้าหมายไม่ใช่การทำให้ AI มั่นใจน้อยลง—แต่คือการทำให้มันมั่นใจอย่างถูกต้อง ความไม่แน่นอนเกี่ยวกับสิ่งที่ไม่แน่นอนเป็นคุณสมบัติ ไม่ใช่ข้อผิดพลาด

Metaprompting - การใช้ AI เพื่อปรับปรุง AI

นี่คือเทคนิคเมตาที่สุดในชุดเครื่องมือของฉัน: การใช้ AI เพื่อปรับปรุง prompt ของคุณ ฟังดูเป็นวงกลม แต่มีประสิทธิภาพอย่างเหลือเชื่อ

การวินิจฉัยความล้มเหลวของ Prompt

แม่แบบการวินิจฉัย Prompt
คุณเป็นวิศวกร prompt ที่ได้รับมอบหมายให้แก้ไขข้อบกพร่องของ prompt ระบบ

คุณได้รับ:
1) Prompt ระบบปัจจุบัน:
<system_prompt>
[วาง PROMPT ของคุณที่นี่]
</system_prompt>

2) ชุดเล็กๆ ของความล้มเหลวที่บันทึกไว้ แต่ละบันทึกมี:
- query
- actual_output
- expected_output (หรือคำอธิบายปัญหา)

<failure_traces>
[วางตัวอย่างความล้มเหลว]
</failure_traces>

งานของคุณ:
1) ระบุโหมดความล้มเหลวที่แตกต่างกันที่คุณเห็น
2) สำหรับแต่ละโหมดความล้มเหลว ให้อ้างอิงบรรทัดเฉพาะของ prompt 
   ระบบที่มีแนวโน้มที่จะก่อให้เกิดหรือเสริมสร้างมันมากที่สุด
3) อธิบายว่าบรรทัดเหล่านั้นกำลังชี้นำตัวแทนไปสู่ 
   พฤติกรรมที่สังเกตได้อย่างไร

ส่งคืนคำตอบของคุณในรูปแบบที่มีโครงสร้าง:
failure_modes:
- name: ...
  description: ...
  prompt_drivers:
    - exact_or_paraphrased_line: ...
    - why_it_matters: ...

การสร้างการปรับปรุง

แม่แบบการปรับปรุง Prompt
คุณได้วิเคราะห์ prompt ระบบนี้และโหมดความล้มเหลวของมันก่อนหน้านี้

Prompt ระบบ:
<system_prompt>
[PROMPT เดิม]
</system_prompt>

การวิเคราะห์โหมดความล้มเหลว:
[วางการวินิจฉัยจากขั้นตอนก่อนหน้า]

โปรดเสนอการแก้ไขทางศัลยกรรมที่ลดปัญหาที่สังเกตได้ 
ในขณะที่รักษาพฤติกรรมที่ดีไว้

ข้อจำกัด:
- อย่าออกแบบตัวแทนใหม่ตั้งแต่เริ่มต้น
- ชอบการแก้ไขเล็กน้อยที่ชัดเจน: ชี้แจงกฎที่ขัดแย้งกัน ลบ 
  บรรทัดที่ซ้ำซ้อนหรือขัดแย้งกัน กระชับคำแนะนำที่คลุมเครือ
- ทำให้การแลกเปลี่ยนชัดเจน
- รักษาโครงสร้างและความยาวให้ใกล้เคียงกับต้นฉบับ

ผลลัพธ์:
1) patch_notes: รายการสั้นๆ ของการเปลี่ยนแปลงหลักและเหตุผล
2) revised_system_prompt: prompt ที่อัปเดตเต็มรูปแบบพร้อมการแก้ไขที่ใช้

การสะท้อนตนเองเพื่อคุณภาพ

เทคนิคนี้เหลือเชื่อ: สั่งให้ AI สร้างเกณฑ์การประเมินของตัวเองและทำซ้ำกับเกณฑ์เหล่านั้น:

Prompt การสะท้อนตนเอง
<self_reflection>
- ก่อนอื่น ใช้เวลาคิดเกี่ยวกับรูบริกจนกว่าคุณจะมั่นใจ
- คิดอย่างลึกซึ้งเกี่ยวกับทุกแง่มุมของสิ่งที่ทำให้เป็นโซลูชันระดับ 
  โลก ใช้ความรู้นั้นเพื่อสร้างรูบริกที่มี 5-7 
  หมวดหมู่ รูบริกนี้สำคัญมากที่จะทำให้ถูกต้อง แต่อย่า 
  แสดงให้ฉันดู — นี่สำหรับวัตถุประสงค์ของคุณเท่านั้น
- สุดท้าย ใช้รูบริกเพื่อคิดภายในและทำซ้ำกับ 
  โซลูชันที่ดีที่สุดที่เป็นไปได้สำหรับ prompt
- หากคำตอบของคุณไม่ถึงคะแนนสูงสุดในทุก 
  หมวดหมู่ในรูบริก ให้เริ่มใหม่
</self_reflection>

คุณกำลังขอให้ AI สร้างเกณฑ์คุณภาพจากความรู้เรื่องความเป็นเลิศของมัน จากนั้นใช้เกณฑ์เหล่านั้นเพื่อประเมินและปรับปรุงผลลัพธ์ของตัวเอง—ทั้งหมดก่อนที่คุณจะเห็นอะไรเลย การปรับปรุงคุณภาพผลลัพธ์นั้นมากมายมหาศาล

แม่แบบที่ผ่านการทดสอบในสนามรบที่คุณใช้ได้วันนี้

การเสร็จสิ้นภารกิจสากล

แม่แบบวัตถุประสงค์ทั่วไป
<context>
[ข้อมูลพื้นฐานที่ AI ต้องการเพื่อเข้าใจสถานการณ์]
</context>

<task>
[คำแถลงที่ชัดเจนว่าคุณต้องการให้ทำอะไร]
</task>

<requirements>
[ข้อกำหนดหรือข้อจำกัดเฉพาะ]
</requirements>

<format>
[คุณต้องการให้ผลลัพธ์มีโครงสร้างอย่างไร]
</format>

<examples>
[ไม่บังคับ: ตัวอย่างผลลัพธ์ที่ต้องการ]
</examples>

แม่แบบการตรวจสอบโค้ด

Prompt ตรวจสอบโค้ด
<context>
ตรวจสอบโค้ดสำหรับ [โครงการ/บริบท]
ฐานโค้ดใช้ [เทคโนโลยี/รูปแบบ]
</context>

<code_to_review>
[วางโค้ดที่นี่]
</code_to_review>

<review_criteria>
เน้นที่:
1. ความถูกต้อง: มันทำในสิ่งที่อ้างหรือไม่?
2. ความสามารถในการอ่าน: ชัดเจนสำหรับนักพัฒนาคนอื่นหรือไม่?
3. ประสิทธิภาพ: ความไร้ประสิทธิภาพที่ชัดเจนหรือไม่?
4. ความปลอดภัย: ช่องโหว่ใดๆ หรือไม่?
5. สไตล์: ตรงกับข้อตกลงของฐานโค้ดหรือไม่?
</review_criteria>

<output_format>
สำหรับแต่ละปัญหาที่พบ:
- ความรุนแรง: [วิกฤต/ใหญ่/เล็ก/ข้อเสนอแนะ]
- ตำแหน่ง: [หมายเลขบรรทัดหรือส่วน]
- ปัญหา: [มีอะไรผิดปกติ]
- การแก้ไข: [วิธีแก้ไข]
</output_format>

แม่แบบการวิเคราะห์การวิจัย

Prompt การวิจัยเชิงลึก
<research_task>
[หัวข้อหรือคำถามเพื่อวิจัย]
</research_task>

<methodology>
- เริ่มต้นด้วยการค้นหาเป้าหมายหลายรายการ; อย่าพึ่งพาแบบสอบถามเดียว
- วิจัยอย่างลึกซึ้งจนกว่าคุณจะมีข้อมูลเพียงพอสำหรับ 
  คำตอบที่ถูกต้องและครอบคลุม
- เพิ่มการค้นหาติดตามผลเป้าหมายเพื่อเติมช่องว่างหรือแก้ไขความขัดแย้ง
- ทำซ้ำจนกว่าการค้นหาเพิ่มเติมไม่น่าจะเปลี่ยน 
  คำตอบ
</methodology>

<output_requirements>
- นำด้วยคำตอบที่ชัดเจนสำหรับคำถามหลัก
- สนับสนุนด้วยหลักฐานและการอ้างอิง
- ยอมรับข้อจำกัดและความไม่แน่นอน
- ให้ตัวอย่างที่เป็นรูปธรรมเมื่อเป็นประโยชน์
- รวมบริบทที่เกี่ยวข้องเพื่อทำความเข้าใจนัย
</output_requirements>

<citation_format>
[วิธีที่คุณต้องการอ้างอิงแหล่งที่มา]
</citation_format>

ตัวแทนการวิจัยเว็บ

การวิจัยเว็บที่ครอบคลุม
<core_mission>
ตอบคำถามของผู้ใช้อย่างครบถ้วนและเป็นประโยชน์ พร้อมหลักฐานเพียงพอ 
ที่ผู้อ่านที่สงสัยสามารถเชื่อถือได้

อย่าประดิษฐ์ข้อเท็จจริง หากคุณไม่สามารถตรวจสอบบางสิ่งได้ ให้พูดให้ชัดเจน

ค่าเริ่มต้นคือละเอียดและมีประโยชน์มากกว่าสั้น

หลังจากตอบคำถามโดยตรง ให้เพิ่มเนื้อหาข้างเคียงที่มีมูลค่าสูง 
ที่สนับสนุนเป้าหมายพื้นฐานของผู้ใช้โดยไม่หลุดประเด็น
</core_mission>

<research_rules>
- เริ่มต้นด้วยการค้นหาเป้าหมายหลายรายการ; ใช้การค้นหาแบบขนาน
- อย่าพึ่งพาแบบสอบถามเดียว
- ทำซ้ำจนกว่าทั้งหมดจะเป็นจริง:
  - คุณตอบทุกส่วนของคำถาม
  - คุณพบตัวอย่างที่เป็นรูปธรรมและเนื้อหาข้างเคียงที่มีมูลค่าสูง
  - คุณพบแหล่งที่มาเพียงพอสำหรับการอ้างสิทธิ์หลัก
</research_rules>

<citation_rules>
- วางการอ้างอิงหลังแต่ละย่อหน้าที่มีการอ้างสิทธิ์ที่ได้มาจากเว็บ 
  ที่ไม่ชัดเจน
- อย่าประดิษฐ์การอ้างอิง
- ใช้หลายแหล่งสำหรับข้อเรียกร้องหลักเมื่อเป็นไปได้
</citation_rules>

<ambiguity_handling>
- อย่าถามคำถามเพื่อความกระจ่างเว้นแต่ผู้ใช้จะร้องขออย่างชัดเจน
- หากแบบสอบถามคลุมเครือ ให้ระบุการตีความที่ดีที่สุดของคุณ จากนั้น 
  ครอบคลุมเจตนาที่เป็นไปได้มากที่สุดอย่างครอบคลุม
</ambiguity_handling>

อนาคตของวิศวกรรมคำสั่ง

ขณะที่ฉันเขียนสิ่งนี้ในช่วงต้นปี 2026 วิศวกรรมคำสั่งกำลังพัฒนาอย่างรวดเร็ว โมเดลมีความสามารถมากขึ้น ควบคุมได้ง่ายขึ้น และเชื่อถือได้มากขึ้น บางคนคาดการณ์ว่าวิศวกรรมคำสั่งจะล้าสมัยเมื่อ AI เข้าใจเจตนาได้ดีขึ้น ฉันไม่เห็นด้วย

สิ่งที่เปลี่ยนแปลงคือ ระดับ ของวิศวกรรมคำสั่ง ไม่ใช่ความจำเป็นของมัน ยุคแรกๆ ต้องการคำสั่งที่ซับซ้อนสำหรับงานพื้นฐาน ตอนนี้ งานพื้นฐานทำงานได้ทันที แต่ขั้นตอนการทำงานของตัวแทนที่ซับซ้อนยังคงต้องการการสั่งงานที่ซับซ้อน บาร์กำลังสูงขึ้น ไม่ได้หายไป

🔮

วิศวกรรมคำสั่งจะไม่หายไป—มันกำลังพัฒนา ทักษะที่สำคัญกำลังเปลี่ยนจาก "วิธีทำให้ AI ทำงาน" เป็น "วิธีทำให้ AI ทำงานได้อย่างยอดเยี่ยมและเชื่อถือได้ในระดับสเกล"

สิ่งที่จะมาถึง

พฤติกรรมเริ่มต้นที่ดีขึ้น

โมเดลจะมีค่าเริ่มต้นที่ฉลาดขึ้น ต้องการคำแนะนำที่ชัดเจนน้อยลงสำหรับรูปแบบทั่วไป คำสั่งจะเน้นที่การปรับแต่งมากกว่าความสามารถพื้นฐาน

ระบบนิเวศเครื่องมือที่สมบูรณ์ขึ้น

AI จะสามารถเข้าถึงเครื่องมือได้มากขึ้นทันที วิศวกรรมคำสั่งจะเปลี่ยนไปสู่การประสานงาน—รู้ว่าเมื่อไหร่ควรใช้อะไร ไม่ใช่แค่วิธีใช้

การบูรณาการหลายรูปแบบ (Multimodal)

คำสั่งจะเกี่ยวข้องกับภาพ เสียง วิดีโอ และข้อมูลที่มีโครงสร้างควบคู่ไปกับข้อความมากขึ้น รูปแบบใหม่จะเกิดขึ้นสำหรับงานหลายรูปแบบ

ความซับซ้อนของตัวแทน

เมื่อตัวแทนจัดการงานที่ยาวและซับซ้อนมากขึ้น วิศวกรรมคำสั่งจะกลายเป็นเหมือนการออกแบบระบบมากขึ้น—สถาปัตยกรรม ไม่ใช่แค่คำแนะนำ

คำแนะนำของฉันสำหรับอนาคต

เน้นที่พื้นฐาน เทคนิคเฉพาะในคู่มือนี้จะพัฒนาไป แต่หลักการพื้นฐาน—การสื่อสารที่ชัดเจน ความคาดหวังที่ชัดเจน การคิดอย่างมีโครงสร้าง การปรับแต่งซ้ำๆ—เป็นสิ่งที่ไร้กาลเวลา เชี่ยวชาญสิ่งเหล่านั้น แล้วคุณจะปรับตัวเข้ากับสิ่งที่ตามมาได้

ความคิดสุดท้าย

สองปีก่อน ฉันคิดว่า AI จะมาแทนที่ความจำเป็นในการสื่อสารอย่างชัดเจน ฉันผิดมหันต์ AI ทำให้การสื่อสารที่ชัดเจนมีค่ามากกว่าที่เคย คนที่ประสบความสำเร็จกับ AI ไม่ใช่คนที่ค้นพบคำวิเศษ—พวกเขาคือคนที่เรียนรู้ที่จะคิดและแสดงออกอย่างแม่นยำ

วิศวกรรมคำสั่งไม่ได้เกี่ยวกับ AI จริงๆ มันเกี่ยวกับคุณ มันเกี่ยวกับการพัฒนาวินัยในการระบุสิ่งที่คุณต้องการจริงๆ ความอดทนในการทำซ้ำไปสู่สิ่งนั้น และความถ่อมตัวในการเรียนรู้จากสิ่งที่ไม่ได้ผล

หากคุณนำสิ่งหนึ่งไปจากคู่มือนี้ ขอให้เป็นสิ่งนี้: ปฏิบัติต่อทุกคำสั่งเป็นโอกาสในการฝึกฝนการคิดที่ชัดเจน AI เป็นเพียงกระจกสะท้อนความชัดเจน—หรือความสับสน—ของจิตใจคุณเอง

การเกิดขึ้นของ AI ไม่ได้ทำให้ความรู้ล้าสมัย—มันทำให้ความอยากรู้อยากเห็นมีพลังมากกว่าที่เคย เราไม่ได้ถูกจำกัดด้วยสิ่งที่เรารู้อีกต่อไป ด้วยเครื่องมือที่เหมาะสมและความเต็มใจที่จะคิด คนธรรมดาสามารถโอบกอดมหาสมุทรแห่งความรู้ได้ ไม่ว่าจะอาชีพใด ไม่ว่าจะอายุเท่าไหร่ ฉันหวังว่าจะได้แบ่งปันการเดินทางนี้กับเพื่อนๆ ทั่วโลก มาร่วมต้อนรับโลกใหม่นี้ด้วยกัน มาร่วมเติบโตไปด้วยกัน

อัปเดตล่าสุด: 24 มกราคม 2026 · อ้างอิงจากเอกสารอย่างเป็นทางการ เอกสารวิจัย และการทดลองส่วนตัวอย่างกว้างขวาง

การสนทนา

0 ความคิดเห็น

แสดงความคิดเห็น

เป็นคนแรกที่แบ่งปันความคิดของคุณ!