เขียนโค้ดด้วย AI ให้ได้งานจริง: บทเรียนจาก Reuven Lerner ผู้ใช้ Claude Code ทุกวัน

อ่าน 5 นาที 0 ผู้อ่าน

เขียนโค้ดด้วย AI ให้ได้งานจริง: บทเรียนจาก Reuven Lerner ผู้ใช้ Claude Code ทุกวัน

Claude Code ช่วยทุ่นแรงได้จริง

Reuven Lerner นักเขียนชื่อดังใช้ Claude Code (เครื่องมือช่วยเขียนโค้ดด้วย AI) ทำงานจริงวันละหลายชั่วโมง ไม่ใช่แค่ทดลองเล่น

เขาใช้มันเขียนฟังก์ชันหลักของเว็บไซต์ LernerPython.com ตั้งแต่ระบบจัดการกิจกรรม ไปจนถึงการตั้งเวลาทำงานของเซิร์ฟเวอร์

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

ปัญหาคือ AI ทำงานตามสั่งเสมอ

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

Reuven เล่าว่าบางครั้ง AI ก็สารภาพว่าลืมทำฟีเจอร์ที่ขอไว้ ทั้งที่ควรจะทำไปตั้งนานแล้ว ซึ่งเป็นเรื่องที่ต้องคอยระวังและตรวจสอบอยู่เสมอ

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

คุม AI ด้วยสัญญาใจแบบ CLAUDE.md

วิธีแก้ปัญหาคือการสร้างไฟล์ CLAUDE.md (ไฟล์คำสั่งกลาง) ที่เปรียบเสมือนสัญญาจ้างงาน ให้ AI ทำตามกฎที่เรากำหนดไว้ทุกครั้ง

ตัวอย่างกฎที่ใส่ไว้ในไฟล์นี้ เช่น การบังคับใช้ uv แทน pip หรือการให้เขียน Test (โค้ดสำหรับทดสอบ) ก่อนเริ่มเขียนโค้ดจริง

ทุกบรรทัดในไฟล์นี้ถูกเขียนขึ้นหลังจากที่เขาเจอความผิดพลาดจากการใช้ AI ครั้งก่อน ๆ เพื่อป้องกันไม่ให้มันเกิดขึ้นซ้ำอีก

# กฎการทำงาน
- ใช้ uv แทน pip ในการจัดการแพ็กเกจ
- ต้องใส่ type hints ในทุกฟังก์ชัน
- เขียน test ก่อนเริ่มเขียนโค้ดเสมอ

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

ใช้ Test เป็นตัวคุมทิศทาง

การเขียน Test (ชุดคำสั่งตรวจสอบการทำงาน) สำคัญกว่าการดู Diff (ผลต่างของโค้ดที่เปลี่ยนไป) เพราะ Test บอกเราได้ชัดเจนว่าโค้ดทำงานถูกไหม

เมื่อเราเขียน Test ที่ล้มเหลวไว้ก่อน AI จะมีเป้าหมายที่ต้องทำตามให้สำเร็จ ทำให้มันออกนอกลู่นอกทางได้ยากขึ้น

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

สังเกตการณ์ด้วย Telemetry และ Logging

เมื่อเราไม่ได้เขียนโค้ดเองทั้งหมด เราจะจำโค้ดได้น้อยลง ดังนั้นต้องทำให้ระบบสังเกตการณ์ได้ง่ายขึ้นด้วย Telemetry (การเก็บข้อมูลการทำงานของระบบ) และ Logging (การบันทึกประวัติการทำงาน)

Reuven จะตั้งค่าให้ระบบรายงานสิ่งที่เกิดขึ้นผ่านอีเมลหรือหน้าเว็บเสมอ เพื่อให้เขารู้ทันทีหากมีอะไรผิดพลาด

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

commit งานชิ้นเล็ก ๆ ไว้เสมอ

การทำ Commit (การบันทึกประวัติการแก้ไขโค้ด) บ่อย ๆ ในงานชิ้นเล็ก ๆ ช่วยให้เราย้อนกลับไปแก้ไขได้ง่ายหาก AI ทำงานพลาด

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

นี่คือกลยุทธ์ที่ช่วยให้การทำงานกับ AI ปลอดภัยและลดความเครียดจากการแก้โค้ดที่ซับซ้อนเกินไป

สรุปสั้น ๆ

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


ที่มา: LernerPython blog, from Reuven Lerner: Claude Code always produces something. That’s the hard part. — Planet Python

แชร์ข่าวนี้

เรียบเรียงจากข่าวของ Planet Python อ่านข่าวต้นฉบับ ↗

← กลับไปหน้าข่าวสาร