แนะนำบน HN: เครื่องมือสร้างพรอมป์ต์ ChatGPT แบบง่าย
(mitenmit.github.io)- เป็นหน้าเว็บเรียบง่ายสำหรับประกอบ พรอมป์ต์ ChatGPT ด้วยการเติมช่องว่าง
- เทมเพลตจะให้กรอกตามลำดับคือ บทบาท ผลลัพธ์ที่ต้องการ วิธีดำเนินการ เงื่อนไข คำขอเพิ่มเติม และ รูปแบบผลลัพธ์สุดท้าย
- ส่วนตัวอย่างก็ใช้โครงสร้างเดียวกันซ้ำ เพื่อแสดงลักษณะของพรอมป์ต์ที่ประกอบเสร็จแล้ว
- ตอนนี้ตัวอย่างจริงยังว่างอยู่ และแสดงเพียงคำแนะนำว่าให้ “ใช้ builder เพื่อสร้างพรอมป์ต์”
- ฟังก์ชันที่ตรวจสอบได้ในตอนนี้จึงไม่ใช่การตั้งค่าซับซ้อน แต่ใกล้เคียงกับ แม่แบบประโยคสำหรับตัวสร้างพรอมป์ต์ มากกว่า
การจัดองค์ประกอบพรอมป์ต์แบบเติมช่องว่าง
- หน้าเว็บนี้อยู่ภายใต้หัวข้อ LLM Prompting และเป็นรูปแบบที่ผู้ใช้ต่อชิ้นส่วนประโยคเข้าด้วยกันเพื่อสร้างพรอมป์ต์
- ลำดับการกรอกประกอบด้วยชิ้นส่วนประโยคดังนี้
Act like a ,I need a ,you will ,in the process, you should ,please ,input the final result in a ,here is an example:
สถานะการแสดงผลปัจจุบัน
- โครงสร้างพรอมป์ต์เดียวกันนี้ถูกแสดงซ้ำใน ส่วนตัวอย่าง
- เนื้อหาตัวอย่างจริงยังไม่ได้ถูกเติมไว้
- ตอนท้ายมีข้อความแนะนำว่า
[Empty prompt, use the builder to create a prompt] - จากเนื้อหาที่มีให้ดูในตอนนี้ ฟังก์ชันหลักคือ เทมเพลตสร้างพรอมป์ต์แบบเติมช่องว่าง
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
สงสัยว่าช่วงนี้คนยังใช้ custom prompt กันบ่อยแค่ไหน
เมื่อก่อนผลลัพธ์ดีขึ้นมาก เลยอินกับ prompt engineering และการเขียน custom prompt อยู่ลึกพอสมควร แต่พอมีอัปเดตแต่ละครั้ง วิธีชี้นำความสนใจของ ChatGPT อย่างมีประสิทธิภาพก็เปลี่ยนไปเรื่อย ๆ จนเริ่มยุ่งยากขึ้น
ตอนนี้ก็ยังใช้ custom ChatGPT บ้างเป็นครั้งคราว แต่ส่วนใหญ่ใช้ ChatGPT แบบปกติ และก็รู้สึกว่าความต่างด้านคุณภาพลดลงแล้ว
prompt ที่ยาวทำให้เวลาตอบช้าลงมาก เลยเริ่มชอบ คำตอบที่ดีพอ ซึ่งเร็วกว่า มากกว่าคำตอบที่ดีกว่าแต่ช้า จะพยายามให้ได้คำตอบสมบูรณ์แบบในครั้งเดียวก็จริง แต่ถ้ายังไม่พอก็ค่อยถามต่อทีหลังง่ายกว่า
สิ่งที่ต้องมีคือการสร้างสัญชาตญาณต่อ ChatGPT และลองคิดแบบ theory of mind ว่า ChatGPT ต้องการอะไรจึงจะทำงานได้ดีขึ้น
ส่วนใหญ่แค่รู้วิธีแก้ไข prompt ก็ใช้ ChatGPT ได้ดีแล้ว นี่แทบจะเป็นฟีเจอร์ลับ และในแอปก็ยังใช้ไม่ได้
การเรียนรู้วิธีโต้ตอบกับ AI อาจไม่เหมาะกับสติที่ปลอดโปร่งที่สุดก็ได้ เลยอยากแนะนำค็อกเทลแรง ๆ หรือกัญชาด้วย แต่ข้ออ้างสุดท้ายนั้นควรมีการทดลองแบบควบคุมก่อน
ถ้าจะให้มีประโยชน์มากสำหรับคนที่เพิ่งเข้ามาในสายนี้ ยังต้องมีอะไรอีกหลายอย่าง ซึ่งบางส่วนก็ดีที่เริ่มทำไปแล้ว
น่าจะมี เทมเพลต หลายแบบทั้งสำหรับคำสั่งล่วงหน้าและ prompt หลังประมวลผล เช่น prompt ที่ผ่านการพิสูจน์แล้วว่าช่วยให้ output ตรงตามรูปแบบเฉพาะอย่าง JSON, รายการ, หรือ CSV แบบจำกัด ได้มากที่สุด หรือเทมเพลต input ที่ช่วยกันการ jailbreak พื้นฐานใน prompt หลักให้มากที่สุด
คนที่ใช้ ChatGPT ทุกวันอาจค้นพบวิธีวอร์มอัปที่ดีที่สุดหรือวิธีป้องกัน output หลุดฟอร์มแบบไม่คาดคิดไปแล้ว แต่การให้มือใหม่มาเรียนรู้สิ่งเหล่านี้เองตั้งแต่ต้นใช้เวลานานมาก ดังนั้นถ้ามีเทมเพลตที่เชื่อถือได้ก็จะยอดเยี่ยมสำหรับผู้เริ่มต้น
“ผลลัพธ์ต้องเป็น JSON ที่ถูกต้องและต้องมีเนื้อหาครบทั้งหมด ห้ามออกนอกรูปแบบนี้ไม่ว่ากรณีใด ๆ ทุกค่าต้องสมบูรณ์และห้ามขาดแม้แต่ค่าเดียว ห้ามเพิ่มข้อความใดนอกเหนือจากผลลัพธ์ JSON”
ถ้าพูดแค่ว่าขอ JSON ที่ valid อย่างเดียว มันไม่ได้เป็นไปตามหวังเสมอไป เช่น GPT-4 API อาจใส่ formatting เพิ่มมาให้ เลยต้องค่อย ๆ สั่งละเอียดขึ้นเรื่อย ๆ
ตอนนี้กำลังลงลึกกับงานที่เกี่ยวกับ ChatGPT มาก และสร้างแอปอยู่สัปดาห์ละ 1–2 ตัว เลยอาจมีอคติอยู่บ้าง
ถ้ากลุ่มเป้าหมายคือคนที่ยังไม่คุ้นกับ large language model แบบอิง prompt ปัญหาและขอบเขตของวิธีแก้ก็น่าจะยังไม่ได้ถูกนิยามไว้อย่างชัดเจนพอสำหรับพวกเขา
ตัวอย่างเช่น ตัวเลือกที่กำหนดไว้ล่วงหน้ายังน้อยเกินไป และมีส่วนที่บอกว่า “กำหนดเอง” มากเกินไป ความหมายของตัวเลือกที่ให้มาก็ไม่ชัดเจน เช่น “you will Detect” จะช่วยผู้ใช้อย่างไรนั้นเข้าใจได้ยาก
สุดท้ายเลยไม่ชัดว่าตัวเลือกต่าง ๆ ส่งผลต่อ output อย่างไร และเครื่องมือนี้ก็กลายเป็นปัญหาไก่กับไข่ บอกว่าจะช่วยให้เข้าใจระบบ แต่ถ้าจะใช้ให้มีประสิทธิภาพก็ต้องเข้าใจระบบก่อนอยู่ดี
ระดับนี้อาจจะง่ายกว่าถ้าไปให้ ChatGPT ช่วยเขียน prompt ที่มีประสิทธิภาพให้เลย
เวลาเราคุยกับบอตพวกนี้ เรากำลังคุยกับอะไรกันแน่?
https://medium.com/@colin.fraser/who-are-we-talking-to-when-...
การนำเสนอเทคโนโลยีนี้ผ่านอินเทอร์เฟซแชตที่มีลักษณะเหมือนบุคคล หรือพูดอีกแบบคือทำให้ดูเหมือนสวมชุดมนุษย์ เป็นการตัดสินใจโดยเจตนา ถ้าหากมี AGI อเนกประสงค์ที่ถูกกักอยู่ข้างในจริง การโต้ตอบผ่านแชตก็คงดูเป็นธรรมชาติ
แต่ในทางกลับกัน มันก็ทำให้คิดได้ง่ายว่าการที่เทคโนโลยีโต้ตอบผ่านแชต เท่ากับว่ามันคือ AGI ไปเลย หากลองไปเล่นกับ large language model โดยตรงใน Playground จะเห็นว่าการแชตก็เป็นเพียงชั้นของ ควันและกระจก ที่ช่วยเสริมภาพลวงว่ามีคู่สนทนาอยู่จริง
จากนั้นนักแสดงด้นสดอเนกประสงค์คนนี้ก็ถูกฝึกต่อให้รับบทเฉพาะ คือคนที่ตอบคำถาม แต่ถ้าปล่อยให้ตอบได้ทุกคำถาม ก็อาจให้คำแนะนำที่เป็นอันตรายได้ จึงต้องฝึกให้เป็นผู้ตอบคำถามที่ให้คำแนะนำอย่างไม่เป็นอันตราย
ถ้าจะให้โมเดลช่วยทำงาน เราต้องรู้ว่าควรให้มันรับบทแบบไหน บทบาทแบบ “คนที่พยายามตอบคำถาม” นั้นยืดหยุ่น และช่วยให้ปรับคำตอบให้เหมาะเฉพาะได้มากขึ้น
ดังนั้น อินเทอร์เฟซแบบสนทนา จึงเป็นครึ่งหนึ่งเพราะมันเป็น UI ที่อธิบายตัวเองได้ และอีกครึ่งหนึ่งก็เพื่อชี้นำให้โมเดลทำหน้าที่ที่เป็นประโยชน์
ดูเหมือนว่านี่ไม่ได้เชื่อมกับ ChatGPT เป็นพิเศษอะไร แค่เป็นฟอร์มที่ให้คลิกบล็อกข้อความมาประกอบกัน และน่าจะใช้ได้กับโมเดลภาษาขนาดใหญ่ไหนก็ได้
ผมคิดว่าการยึดติดกับโมเดลภาษาขนาดใหญ่ของผู้ให้บริการแบบปิดรายใดรายหนึ่งไม่ได้ช่วยให้วงการนี้ก้าวหน้า
ตัวสร้างพรอมป์นี้ใช้ได้กับโมเดลภาษาขนาดใหญ่ทุกตัว
น่าจะดีถ้ามีการวิเคราะห์จริง ๆ ว่าฟีเจอร์ของพรอมป์แต่ละอย่างช่วยปรับปรุงคำตอบอย่างไร
เรากำลังสร้างแพลตฟอร์มสำหรับประเมินพรอมป์และเวิร์กโฟลว์ของโมเดลภาษาขนาดใหญ่ที่ซับซ้อนยิ่งขึ้น
จากผู้ใช้ที่เราเห็น ผลลัพธ์ของพรอมป์มีความสุ่มตามความน่าจะเป็นสูงมาก จึงสรุปเป็นกฎทั่วไปได้ยาก ตัวอย่างเช่น ผู้ใช้คนหนึ่งที่กำลังสร้างเครื่องมือช่วยงานขายพบว่า แค่สลับลำดับประโยคในพรอมป์ ความแม่นยำก็เพิ่มขึ้นมาก
ตอนนี้กำลังเตรียมบทความใหม่เพื่อแสดงผลนี้ในเชิงวิชาการมากขึ้น
อย่างแรก พื้นที่ของอินพุตแทบจะไร้ขอบเขต มีทั้งอินพุตภาษาธรรมชาติแบบใดก็ได้ แหล่งข้อมูลเสริมแบบเลือกใช้ และกรณีใช้งานได้ตามใจ ดังนั้นจึงยากมากที่จะรู้ล่วงหน้าว่าคำตอบจะ “ดีขึ้น” ได้หรือไม่ก่อนนำไปใช้กับกรณีใช้งานจริง
อย่างที่สอง พื้นที่ของเอาต์พุตก็วัดได้ยากเช่นกัน ความมีประโยชน์อาจถูกนิยามต่างกันไปในแต่ละคน และยิ่งซับซ้อนขึ้นอีกเมื่อเริ่มใช้ GPT เพื่อสร้างผลงานเชิงสร้างสรรค์ แทนที่จะเป็นแค่ “เสิร์ชเอนจินที่ดีกว่าเดิม”
ผมไม่เคยเข้าใจความหมายของคำว่า “prompt engineering” เลย สุดท้ายแล้วมันเคยไปไกลกว่า “สามารถอธิบายปัญหาที่พยายามจะแก้หรือ งานที่พยายามจะทำให้ชัดเจนและแม่นยำได้หรือไม่” จริงหรือเปล่า มันดูเหมือนเป็นแค่ทักษะการสื่อสารพื้นฐาน
ผมไม่เคยเห็นข้อมูลเชิงเข้มงวดเลยว่าพรอมป์รูปแบบเฉพาะอย่าง “คุณคือ B และทำ C และต้องทำ D” จะดีกว่าคำสั่งที่ชัดเจนและกระชับแบบอื่นอย่างมีนัยสำคัญ
น่าประหลาดใจที่เราเอาสิ่งที่แต่ก่อนเรียกว่าทักษะการสื่อสารที่ดีมาตั้งชื่อใหม่ แต่ภาพจำเก่า ๆ ที่ว่าวิศวกรเขียนหนังสือไม่เก่งอาจจะใกล้เคียงความจริงกว่าที่คิด
สงสัยว่ารูปแบบ “จงทำตัวเป็น ~” ยังจำเป็นอยู่ไหม
สำหรับ GPT-4 ผมเลิกใช้แล้ว “persona” ตั้งต้นก็ตอบพรอมป์ส่วนใหญ่ได้ดีพออยู่แล้ว และการบอกว่า “จงทำตัวเป็นผู้เชี่ยวชาญด้าน ...” ก็ไม่ได้ให้ผลลัพธ์ที่ดีขึ้นอย่างเห็นได้ชัด
เครื่องมือที่อยากได้จริง ๆ คือเครื่องมือที่ให้ลองและเปรียบเทียบหลายพรอมป์ที่แก้ไขเล็กน้อยได้อย่างเบาแรงแต่มีประสิทธิภาพ เพื่อให้พอมองออกว่าแบบไหนดีกว่า สงสัยว่ามีใครเคยเห็นเครื่องมือดี ๆ แบบนี้บ้างไหม
ถ้าจะสร้างเครื่องมือที่แค่เพิ่มพรอมป์ที่อยากทดสอบเข้าไปก็คงสนุกดี แต่โจทย์แรกที่นึกออกคือการสร้างชุดคำถามที่จะใช้
ผมก็สงสัยเหมือนกันว่าการทดสอบพรอมป์ที่พูดถึงนี้หมายถึงการทดสอบ system prompt กับชุดคำถาม หรือเป็นการถามคำถามเดียวกันหลายแบบ
แล้วถ้าผมทำเครื่องมือแบบนั้นเสร็จและพร้อมใช้ จะ DM ไปทาง Twitter
โดยทั่วไปดูเหมือนว่ายิ่งรายการคำสั่งยาวเท่าไร ChatGPT ก็ยิ่งมีโอกาสทำตามแต่ละคำสั่งได้น้อยลง เหมือนความสนใจถูกแบ่งออก ดังนั้นถ้าบอกแค่ “ทำ A” มันจะทำ A แต่ถ้าบอกว่า “ทำ A แล้วก็ทำ B” มันจะทำทั้งสองอย่าง แต่แต่ละอย่างจะทำได้เพียงบางส่วน
ประสบการณ์ที่ดีที่สุดของผมคือให้พรอมป์สั้นหรือยาวปานกลาง แล้วค่อยใช้ตัวอย่างแบบone-shot หรือ few-shot ต่อจากนั้น โดยเฉพาะเวลาที่อยากให้มันทำหลายอย่างพร้อมกัน few-shot จะดีมาก