1. ตั้งความคาดหวังอย่างสมเหตุสมผล (Set reasonable expectations)
- ประเด็นสำคัญ:
ต้องตระหนักว่าโดยเนื้อแท้แล้ว LLM เป็นเครื่องมือ autocomplete ขั้นสูง และหากพึ่งพามันทั้งหมดก็อาจเกิดข้อผิดพลาดหรือผลลัพธ์ที่ไม่แม่นยำได้
- วิธีใช้งาน:
ใช้มันเป็นเครื่องมือเสริมที่ช่วยเติมเต็มความสามารถในการเขียนโค้ดของตนเอง ลดความคาดหวังที่มากเกินไป และมีท่าทีพร้อมตรวจสอบความผิดพลาดเสมอ
2. คำนึงถึงจุดสิ้นสุดของข้อมูลฝึก (Account for training cut-off dates)
- ประเด็นสำคัญ:
ความใหม่ของข้อมูลที่โมเดลใช้ฝึกอาจมีข้อจำกัด จึงต้องระวังเมื่อใช้กับไลบรารีล่าสุดหรือการเปลี่ยนแปลงทางเทคโนโลยี
- วิธีใช้งาน:
ให้ความสำคัญกับการใช้ไลบรารีที่ผ่านการพิสูจน์แล้วว่ามีความเสถียรและใช้กันอย่างแพร่หลายก่อน และหากจำเป็นต้องใช้เทคโนโลยีใหม่ ก็ควรยกตัวอย่างให้โดยตรงเพื่อช่วยเสริม
3. ความสำคัญของบริบท (Context is king)
- ประเด็นสำคัญ:
ประวัติทั้งหมดของบทสนทนา (ทั้งพรอมป์ต์และคำตอบ) มีผลต่อผลลัพธ์ ดังนั้นการจัดการบริบทจึงสำคัญมาก
- วิธีใช้งาน:
เมื่อต้องทำงานที่ซับซ้อน ให้ใส่โค้ดเดิมลงในบทสนทนาเพื่อให้โมเดลใช้อ้างอิงได้ และหากจำเป็นก็เริ่มบทสนทนาใหม่เพื่อรีเซ็ต
4. ขอให้เสนอหลายตัวเลือก (Ask them for options)
- ประเด็นสำคัญ:
ในช่วงเริ่มต้นของการค้นคว้า สามารถให้ LLM เสนอทางเลือกของการนำไปใช้และตัวอย่างหลายแบบ เพื่อสำรวจตัวเลือกที่เป็นไปได้
- วิธีใช้งาน:
ใช้คำถามอย่าง “มีตัวเลือกอะไรบ้าง?” เพื่อดูความเป็นไปได้ทางเทคนิค แล้วค่อยลงรายละเอียดจากตัวเลือกที่เลือกไว้
5. ระบุคำสั่งให้ชัดเจนและเจาะจง (Tell them exactly what to do)
- ประเด็นสำคัญ:
เมื่อเขียนโค้ดสำหรับใช้งานจริง ควรให้คำสั่งที่ละเอียดและชัดเจน เพื่อชี้นำให้ทำฟังก์ชันที่ต้องการได้อย่างแม่นยำ
- วิธีใช้งาน:
ระบุรายละเอียดให้ชัด เช่น function signature, ไลบรารีที่ต้องใช้, การจัดการข้อยกเว้น เพื่อให้ LLM เขียนโค้ดตามข้อกำหนดเหล่านั้น
6. ต้องทดสอบโค้ดที่มันเขียนเสมอ (You have to test what it writes!)
- ประเด็นสำคัญ:
แม้จะเป็นโค้ดที่ LLM เขียน ก็ต้องตรวจสอบว่าใช้งานได้จริงเสมอ และจำเป็นต้องมีทั้งการทดสอบอัตโนมัติและการตรวจสอบด้วยมือ
- วิธีใช้งาน:
ใช้เฟรมเวิร์กทดสอบอย่าง pytest กับโค้ดที่เขียนขึ้น เพื่อตรวจสอบว่าทำงานได้ถูกต้องหรือไม่
7. รักษาปฏิสัมพันธ์แบบสนทนาไว้ (Remember it’s a conversation)
- ประเด็นสำคัญ:
การโต้ตอบกับ LLM ไม่ใช่เรื่องครั้งเดียวจบ แต่เป็นกระบวนการสนทนาแบบวนซ้ำเพื่อปรับปรุงผลลัพธ์
- วิธีใช้งาน:
หากผลลัพธ์แรกยังไม่ดีพอ ให้เพิ่มคำสั่งหรือ feedback เพื่อ refactor และปรับปรุงโค้ด
8. ใช้เครื่องมือที่รันโค้ดให้ได้ (Use tools that can run the code for you)
- ประเด็นสำคัญ:
สามารถใช้ sandbox ที่รันได้จริงหรือเครื่องมือพัฒนาแบบบูรณาการ เพื่อทดลองรันโค้ดที่ LLM เขียนขึ้นจริง
- วิธีใช้งาน:
ใช้เครื่องมือที่มีสภาพแวดล้อมรันอย่างปลอดภัย เช่น ChatGPT Code Interpreter, Claude Artifacts เพื่อตรวจสอบแบบเรียลไทม์
9. เรียนรู้ผ่าน ‘vibe-coding’ (Vibe-coding is a great way to learn)
- ประเด็นสำคัญ:
เป็นวิธีเรียนรู้การใช้ LLM ผ่านการทดลองซ้ำ ๆ อย่างอิสระ และลองนำไอเดียหลากหลายไปทำให้เกิดขึ้นได้อย่างรวดเร็ว
- วิธีใช้งาน:
เริ่มจากฟังก์ชันง่าย ๆ แล้วค่อย ๆ ทดลองและปรับปรุงซ้ำ เพื่อเข้าใจข้อจำกัดของ LLM และพัฒนาสัญชาตญาณด้านการเขียนโค้ดของตนเอง
10. ตัวอย่างแบบละเอียดด้วย Claude Code (A detailed example using Claude Code)
- ประเด็นสำคัญ:
แสดงผ่านตัวอย่างโปรเจ็กต์จริงว่า Claude Code สะท้อนข้อกำหนดที่เฉพาะเจาะจงและทำงานตามนั้นได้อย่างไร
- วิธีใช้งาน:
ศึกษากระบวนการทำงานที่ใช้พรอมป์ต์และ feedback เป็นลำดับขั้น เพื่อทำงานแบบผสม เช่น การสร้างสคริปต์ Python และหน้า HTML
11. ความจำเป็นของการเข้ามารับช่วงโดยมนุษย์ (Be ready for the human to take over)
- ประเด็นสำคัญ:
แม้โค้ดที่ LLM สร้างขึ้นก็ยังอาจมีข้อผิดพลาดหรือส่วนที่ไม่เหมาะสมได้ ดังนั้นการตรวจทานและแก้ไขขั้นสุดท้ายต้องเป็นหน้าที่ของมนุษย์
- วิธีใช้งาน:
ตรวจสอบและเสริมรายละเอียดหรือข้อผิดพลาดเล็กน้อยที่ LLM มองข้าม เพื่อให้ได้ผลลัพธ์ที่มีคุณภาพสูง
12. เพิ่มความเร็วในการพัฒนาให้สูงสุด (The biggest advantage is speed of development)
- ประเด็นสำคัญ:
การใช้ LLM สามารถเพิ่มความเร็วในการสร้างต้นแบบและงานที่ทำซ้ำได้อย่างก้าวกระโดด
- วิธีใช้งาน:
ใช้ LLM อย่างเชิงรุกในการตรวจสอบไอเดียตั้งต้นหรือการเขียนโค้ดง่าย ๆ เพื่อลดเวลาพัฒนา
13. ขยายพลังของความเชี่ยวชาญเดิม (LLMs amplify existing expertise)
- ประเด็นสำคัญ:
หากเป็นนักพัฒนาที่มีทักษะอยู่แล้ว ก็สามารถใช้ LLM เพื่อเสริมความเชี่ยวชาญและเพิ่มประสิทธิภาพการทำงานได้มากขึ้น
- วิธีใช้งาน:
ใช้ประสบการณ์และความรู้ของตนเองเป็นฐาน เพื่อให้คำสั่งที่ชัดเจนกับ LLM และได้ผลลัพธ์ที่ประณีตยิ่งขึ้น
14. ฟีเจอร์เสริม: ตอบคำถามเกี่ยวกับ codebase (Bonus: answering questions about codebases)
- ประเด็นสำคัญ:
LLM ยังมีประโยชน์ในการตอบคำถามเกี่ยวกับ codebase หรืออธิบายบางส่วนของโค้ดได้ด้วย
- วิธีใช้งาน:
สามารถถามเกี่ยวกับโครงสร้างของโค้ดหรือฟังก์ชันเฉพาะ และขอความช่วยเหลือในการสร้างคำอธิบายหรือเอกสารที่เกี่ยวข้องได้
1 ความคิดเห็น
บล็อกของท่านนี้ยอดเยี่ยมมาก ขอบคุณครับ