พร้อมต์โค้ดดิ้งสำหรับ Grok
พร้อมต์สำหรับงานเขียนโปรแกรมประจำวัน: ทำความเข้าใจโค้ดที่ไม่คุ้นเคย แกะรอยบั๊ก เขียนเคสทดสอบและเอกสาร ตลอดจนเปลี่ยนภาพหน้าจอให้กลายเป็นโค้ดเลย์เอาต์จริง
พรอมต์เขียนโค้ดทั้ง 20 ข้อนี้ครอบคลุมงานจริงในแต่ละสัปดาห์ของนักพัฒนา ไม่ว่าจะเป็นการแกะข้อความ error, การไล่หาบั๊กที่โปรแกรมไม่แครชแต่ได้ผลลัพธ์ผิด, การรีวิว diff, การเขียนเทสต์และ fixture, การสร้างคิวรี SQL และ regular expression, การเขียน shell script, การทำเอกสาร API, การแก้ปัญหา Git ที่พันกันยุ่งเหยิง ไปจนถึงการเรียนรู้ภาษาใหม่ด้วยการเทียบกับภาษาที่คุณคุ้นเคยอยู่แล้ว
Grok จะตอบได้เร็วและแม่นยำยิ่งขึ้นเมื่อมีข้อมูลที่ชัดเจน โปรดระบุภาษา เฟรมเวิร์ก และเวอร์ชันที่ใช้ แนบโค้ดส่วนที่สั้นที่สุดที่ทำให้เกิดปัญหาพร้อมข้อความ error ฉบับเต็ม และอธิบายผลลัพธ์ที่คุณคาดหวัง สำหรับการแก้บั๊ก หลายพรอมต์แนะนำให้ใช้ Grok 4.3 Thinking เพราะโมเดลจะไล่ลำดับโค้ดก่อนตอบ ซึ่งช่วยได้มากกับปัญหา off-by-one, race condition และเงื่อนไขที่ซับซ้อน ส่วน Grok 4.20 เหมาะสำหรับคำอธิบายสั้นๆ และโค้ด boilerplate ทั่วไป นอกจากนี้ยังมี 2 พรอมต์ที่ใช้ความสามารถด้านการวิเคราะห์รูปภาพ พรอมต์หนึ่งสำหรับภาพหน้าจอเลย์เอาต์ที่พัง และอีกพรอมต์สำหรับภาพสเก็ตช์ดาต้าโมเดลบนไวท์บอร์ด
ข้อควรระวังทั่วไปยังคงสำคัญอย่างยิ่ง โดยเฉพาะกับงานโค้ด โมเดลมีขีดจำกัดด้านฐานข้อมูลความรู้และไม่สามารถอ่านเอกสารเวอร์ชันล่าสุดได้ ฟังก์ชันของไลบรารีจึงอาจถูกเปลี่ยนชื่อไปแล้วหรือไม่มีอยู่จริง โค้ดที่ดูเผินๆ เหมือนจะถูกต้องอาจรันไม่ผ่าน ดังนั้นควรนำไปรันและทดสอบเสมอ ห้ามวาง API key, รหัสผ่าน, โทเค็น หรือข้อมูลลูกค้าโดยเด็ดขาด เนื่องจากข้อความของคุณจะถูกส่งผ่านเซิร์ฟเวอร์ของเราไปยังผู้ให้บริการโมเดลเพื่อประมวลผลคำตอบ ทั้งนี้ข้อความที่ยาวเกินไปจะถูกตัดทอน จึงควรส่งเฉพาะฟังก์ชันที่เกี่ยวข้อง ไม่ใช่โค้ดทั้ง repository
ดูเพิ่มเติมว่านักพัฒนาใช้งาน Grok อย่างไร, ลองใช้งาน Code Assistant หรืออ่านข้อมูลเกี่ยวกับ Grok API
วิธีปรับใช้พรอมต์เหล่านี้
- ระบุสแตกพร้อมเวอร์ชัน: ระบุละเอียดอย่าง "Node 22, TypeScript 5, Express" จะได้ผลดีกว่าแค่ "JavaScript"
- ขอแผนการทำงานก่อนเขียนโค้ด สำหรับงานใดๆ ที่ซับซ้อนเกินกว่าหนึ่งฟังก์ชัน
- ขอคำอธิบายแยกตามจุดที่มีการเปลี่ยนแปลง เพื่อให้คุณตรวจสอบเหตุผลเบื้องหลังได้ ไม่ใช่ดูแค่ diff
- เก็บโควตา Grok 4.7 ไว้สำหรับปัญหาที่ยากที่สุด เพราะจำกัดการใช้งานไว้ที่ 10 ข้อความต่อวัน
-
01
แปลความหมายข้อความ Error
ฉันกำลังใช้ [ภาษาหรือเฟรมเวิร์กพร้อมเวอร์ชัน] ช่วยอธิบายข้อผิดพลาดนี้ด้วยภาษาที่เข้าใจง่าย เรียงลำดับ 3 สาเหตุที่เป็นไปได้มากที่สุด และบอกสิ่งที่ต้องเข้าไปตรวจสอบเป็นอันดับแรกสำหรับแต่ละสาเหตุ: [วาง error และ stack trace แบบเต็ม]
-
02
ไล่โค้ดทีละบรรทัดหาผลลัพธ์ที่ผิด
ฟังก์ชันนี้ส่งค่ากลับมาเป็น [ผลลัพธ์ที่ได้จริง] เมื่อใส่ค่า [อินพุต] แต่ฉันคาดหวังให้ได้ [ผลลัพธ์ที่คาดหวัง] ช่วยไล่การทำงานทีละบรรทัดด้วยอินพุตดังกล่าว พร้อมติดตามค่าของตัวแปรทุกตัว และหยุดที่บรรทัดแรกที่สถานะของตัวแปรเริ่มต่างไปจากที่ควรจะเป็น: [วางโค้ด]
-
03
ค้นหาปัญหา Race Condition
โค้ด [ภาษา] ชุดนี้บางครั้งเกิดอาการ [อาการของปัญหา] เมื่อมีโหลดสูง แต่ไม่เคยเกิดขึ้นเลยเมื่อทดสอบคนเดียว: [วางโค้ด] ช่วยหา race condition, สถานะที่มีการแชร์ร่วมกัน (shared state) และสมมติฐานเรื่องลำดับการทำงาน สำหรับจุดที่น่าสงสัยแต่ละจุด ช่วยอธิบายจังหวะการทำงานที่เหลื่อมกันซึ่งทำให้เกิดบั๊ก พร้อมวิธีแก้ไข
-
04
รีวิว Pull Request
ช่วยรีวิว diff นี้ในฐานะ senior developer ที่มีความเข้มงวดสูงในโปรเจกต์ [ภาษา] จัดกลุ่มคอมเมนต์ออกเป็น: บั๊ก, ความเสี่ยง, ความอ่านง่าย และชุดการทดสอบ พร้อมระบุบรรทัดที่เกี่ยวข้อง และปิดท้ายด้วยการตัดสิน: approve, approve with changes หรือ request changes พร้อมเหตุผลสั้นๆ 1 ประโยค: [วาง diff]
-
05
ระบุกรณีขอบเขตแล้วเขียนเทส
สำหรับฟังก์ชันด้านล่างนี้ ช่วยระบุ edge case ทั้งหมดที่คุณจะทดสอบพร้อมเหตุผล จากนั้นเขียนชุดทดสอบด้วย [เฟรมเวิร์กการทดสอบ] โดยต้องมีอย่างน้อยหนึ่งเคสที่จะทดสอบไม่ผ่าน (fail) กับโค้ดชุดปัจจุบัน และระบุว่าคือเคสใด: [วางฟังก์ชัน]
-
06
สร้างชุดข้อมูลทดสอบกรณีพิเศษ
ช่วยเขียน test fixture ที่สมจริงสำหรับ data model นี้ในรูปแบบ [รูปแบบ เช่น JSON หรือ factory function]: [วาง model] ขอข้อมูลปกติ 10 รายการ และข้อมูลเคสแปลกๆ หรือสุดขอบ (awkward) 5 รายการ เช่น ข้อความว่าง ชื่อยาวผิดปกติ อักขระที่ไม่ใช่ละติน และวันที่ตรงช่วงขอบเขต พร้อมระบุให้ชัดเจนว่ารายการไหนคือแบบใด
-
07
แปลงโจทย์ภาษาพูดเป็นคำสั่ง SQL
จาก schema นี้: [วาง schema] ช่วยเขียนคิวรีสำหรับ [ระบบฐานข้อมูล] ที่ส่งคืนข้อมูล [สิ่งที่คุณต้องการ] อธิบายคำสั่งทีละ clause จากนั้นแสดงตัวอย่างคิวรีอีกเวอร์ชันที่รองรับ [กรณีขอบเขต เช่น ลูกค้าที่ไม่มีคำสั่งซื้อ] ด้วย
-
08
แก้ปัญหา Regex ทำงานผิดพลาด
regular expression ชุดนี้ควรจะ [พฤติกรรมที่คาดหวัง] ใน [ภาษาหรือเครื่องมือ] แต่กลับ [ปัญหาที่เกิดขึ้น]: [วาง regex] ช่วยแยกส่วนประกอบและอธิบายแต่ละส่วน ยกตัวอย่างอินพุตที่ทำให้เกิดปัญหา พร้อมให้โค้ดเวอร์ชันที่แก้ไขแล้ว และข้อความ 3 ตัวอย่างที่ regex ตัวนี้ต้องไม่จับคู่ (reject)
-
09
เขียนสคริปต์งานรูทีนอย่างปลอดภัย
เขียนสคริปต์ [bash หรือ PowerShell] สำหรับ [งาน เช่น บีบอัดไฟล์ log ที่เก่ากว่า 30 วันเป็น zip] ออกแบบให้ปลอดภัย: มีโหมด dry-run เพื่อแสดงเฉพาะสิ่งที่จะทำโดยไม่แตะต้องไฟล์จริง ข้อความแจ้งเตือนข้อผิดพลาดที่ชัดเจน และคอมเมนต์อธิบายทุกบรรทัดที่มีการลบหรือเขียนทับไฟล์
-
10
เขียนเอกสาร API endpoint
ช่วยเขียนเอกสารอ้างอิงสำหรับ endpoint นี้: [วางโค้ด handler หรือ route] โดยระบุ method และ path, พารามิเตอร์พร้อมประเภทและสถานะว่าจำเป็นต้องใส่หรือไม่, ตัวอย่างคำขอ (request), ตัวอย่างการตอบกลับที่สำเร็จและ error รวมถึง status code ทั้งหมดที่อาจส่งกลับมาได้
-
11
แก้ปัญหา Git ที่พันกันยุ่งเหยิง
สถานะ Git repository ของฉันเป็นแบบนี้: [วาง git status และข้อความ 2-3 บรรทัดสุดท้ายจาก git log] สิ่งที่ฉันต้องการทำคือ [เป้าหมาย] ช่วยอธิบายด้วยภาษาที่เข้าใจง่ายว่าเกิดอะไรขึ้น และบอกคำสั่งที่ถูกต้องในการแก้ไข โดยเริ่มจากคำสั่งสำรองงานปัจจุบันก่อน พร้อมทั้งเตือนฉันก่อนจะใช้คำสั่งใดๆ ที่มีการเขียนทับประวัติ (rewrite history)
-
12
เขียนโค้ดใหม่ให้เป็นไปตามแนวทางภาษา
ฉันถนัดภาษา [ภาษาที่คุ้นเคย] และกำลังหัดเรียน [ภาษาใหม่] ช่วยนำโค้ดสั้นๆ ที่เขียนด้วยสไตล์เดิมของฉันนี้: [วางโค้ด] มาเขียนใหม่ในแบบที่นักพัฒนา [ภาษาใหม่] ที่มีประสบการณ์จะเขียน พร้อมทั้งอธิบายสำนวนการเขียน (idioms) ที่นำมาใช้ซึ่งไม่มีเทียบเคียงโดยตรงในภาษาเดิมของฉัน
-
13
แก้ปัญหาเลย์เอาต์จากภาพหน้าจอ
ฉันได้แนบภาพหน้าจอของหน้าเว็บมาด้วย ปัญหาคือ: [จุดที่แสดงผลผิดปกติ] นี่คือ HTML และ CSS ของส่วนดังกล่าว: [วางโค้ด] ช่วยหาสาเหตุ แนะนำการแก้ไข CSS ที่กระชับที่สุด และอธิบายเหตุผลว่าทำไมถึงเกิดขึ้นเพื่อที่ฉันจะได้ไม่ทำผิดซ้ำอีก
-
14
แปลงสเก็ตช์บนไวท์บอร์ดเป็นตารางฐานข้อมูล
ฉันได้แนบรูปถ่ายสเก็ตช์ดาต้าโมเดลบนไวท์บอร์ดสำหรับ [แอปพลิเคชัน] ช่วยแปลงเป็นโครงสร้างตารางสำหรับ [ฐานข้อมูล] พร้อม primary key, foreign key และประเภทข้อมูลที่เหมาะสม โปรดระบุความสัมพันธ์ใดๆ ที่ในรูปยังคลุมเครือและถามฉันก่อนจะสันนิษฐานไปเอง
-
15
วิเคราะห์ Complexity และหาวิธีที่เร็วกว่า
ฟังก์ชันนี้มี Time และ Memory Complexity เท่าใด และเพราะเหตุใด? [วางโค้ด] หากมีแนวทางที่เร็วกว่านี้สำหรับขนาดข้อมูลนำเข้าประมาณ [ขนาด] ช่วยแสดงให้ดูและอธิบายด้วยว่าต้องแลกกับความอ่านง่ายของโค้ดมากน้อยเพียงใด
-
16
รีแฟกเตอร์โค้ดโดยไม่เปลี่ยนการทำงาน
ช่วยรีแฟกเตอร์ฟังก์ชันนี้ให้อ่านง่ายขึ้นโดยคงผลลัพธ์การทำงานไว้เหมือนเดิม: [วางโค้ด] โปรดแบ่งการแก้ไขเป็นขั้นตอนสั้นๆ ที่มีชื่อขั้นตอนชัดเจน อธิบายการเปลี่ยนแปลงแต่ละจุดในหนึ่งบรรทัด และระบุพฤติกรรมใดๆ ที่คุณไม่แน่ใจ เพื่อให้ฉันยืนยันก่อนนำไปรวมโค้ด
-
17
เขียน README ใหม่ตั้งแต่ต้น
ช่วยเขียน README สำหรับโปรเจกต์ [ชื่อ] ของฉัน ซึ่งมีหน้าที่ [การทำงานของโปรเจกต์] โดยแบ่งหัวข้อดังนี้: ภาพรวมโปรเจกต์, วิธีเริ่มต้นใช้งานด่วนพร้อมคำสั่งที่คัดลอกไปวางได้เลย, ตารางตัวเลือกการตั้งค่า, ปัญหาที่พบบ่อย และวิธีร่วมพัฒนา (contribute) นี่คือไฟล์และคำสั่งสำคัญ: [วางรายละเอียด]
-
18
อธิบายโค้ดที่ไม่ได้เขียนเอง
ช่วยอธิบายการทำงานของโค้ดภาษา [ภาษา] นี้ให้คนที่เข้าใจการเขียนโปรแกรมแต่ไม่คุ้นเคยกับ codebase นี้เข้าใจ โดยเริ่มจากสรุปสั้นๆ สองประโยค จากนั้นอธิบายทีละบล็อก และชี้ให้เห็นจุดที่ดูเหมือนเป็นบั๊กหรือโค้ดแก้ปัญหาเฉพาะหน้า (hack) ที่หลงเหลืออยู่: [วางโค้ด]
-
19
จับผิดและหาจุดบกพร่องของระบบ
ฉันกำลังวางแผนพัฒนา [ฟีเจอร์] ด้วยแนวทางนี้: [อธิบายแนวทาง] ช่วยมองหาจุดอ่อนอย่างตรงไปตรงมา และระบุ 3 ปัจจัยที่ระบบนี้มีโอกาสพังมากที่สุดบน production รวมถึงอาการที่จะเกิดขึ้น และทางเลือกอื่นที่ประหยัดกว่าหากมี แนะนำตามตรงได้เลย ฉันอยากรู้ตอนนี้มากกว่าต้องตื่นมาแก้ตอนตีสาม
-
20
แปลงโค้ดไปเป็นอีกภาษาหนึ่ง
ช่วยแปลงโค้ด [ภาษาต้นทาง] นี้ให้เป็น [ภาษาปลายทาง] ตามแนวทางที่ถูกต้องของภาษานั้น โดยไม่ใช่การแปลแบบบรรทัดต่อบรรทัด: [วางโค้ด] โปรดใช้ standard library ของภาษาปลายทางให้มากที่สุด รักษาการทำงานเดิมไว้ และระบุจุดที่ทั้งสองภาษาทำงานแตกต่างกัน เช่น การหารจำนวนเต็ม หรือการเข้ารหัสสตริง
พร้อมจะถามอะไรกับ Grok แล้วหรือยัง?
ไม่ต้องมีบัญชี ไม่ต้องดาวน์โหลด ไม่ต้องใช้บัตรเครดิต เพียงเปิดแชท พิมพ์คำถาม แล้วรออ่านคำตอบจาก Grok ได้ทันที
เริ่มแชท