สารบัญคู่มือ · บทที่ 7 จาก 11
ตรวจงานที่ agent ทำ
บทที่ 7 จาก 11 · อ่านราว 10 นาที · อัปเดต 9 ตุลาคม 2569 · ระดับเริ่มต้น
สรุปใน 3 บรรทัด
- คำว่า "เสร็จแล้ว" ของ agent คือจุดเริ่มต้นของการตรวจ ไม่ใช่จุดจบ
- ตรวจได้ 3 ชั้น ลองใช้จริงตามเกณฑ์รับงาน ดูว่าไฟล์อะไรเปลี่ยนไป และให้ agent อธิบายพร้อมหลักฐาน
- สัญญาณอันตรายหลายอย่างเห็นได้ แม้เรายังอ่านโค้ดไม่คล่อง
ควรอ่านก่อน
บทที่ 6: เขียนโจทย์ให้ agentอ่านจบแล้วคุณจะ
- ตรวจงานตามเกณฑ์รับงานได้เป็นขั้นตอน
- อ่านความเปลี่ยนแปลง (diff) แบบคร่าว ๆ ได้ว่าอะไรถูกเพิ่ม ลบ หรือแก้
- รู้สัญญาณที่บอกว่างานของ agent น่าสงสัย
"เสร็จแล้ว" คือจุดเริ่มต้นของการตรวจ
agent มักจบงานด้วยข้อความมั่นใจ เช่น "เสร็จแล้ว ทุกอย่างทำงานได้" แต่ข้อความนั้นเป็นแค่สิ่งที่ agent เชื่อ ไม่ใช่หลักฐาน งานที่ดูเหมือนเสร็จอาจมีปัญหาแบบนี้
- ทำครบเกือบทุกข้อ แต่ข้ามเกณฑ์รับงานไปหนึ่งข้อ
- แก้ไฟล์อื่นที่ไม่เกี่ยวกับงานไปด้วย
- "แก้" error ด้วยการซ่อน error หรือลบการตรวจทิ้ง
- ใส่ข้อมูลตัวอย่างแทนข้อมูลจริง แล้วลืมเอาออก
ข่าวดีคือ การตรวจส่วนใหญ่ไม่ต้องอ่านโค้ดทุกบรรทัด
ชั้นที่ 1: ลองใช้จริงตามเกณฑ์รับงาน
เริ่มจากเกณฑ์รับงานที่เขียนไว้ในโจทย์ ตรวจทีละข้อด้วยการลองใช้จริง จากนั้นลองกรณีที่ไม่ได้อยู่ในเกณฑ์ เพราะปัญหามักซ่อนอยู่ตรงนั้น
ตัวอย่าง: ตรวจหน้าเว็บจดสิ่งที่ต้องทำ
ชั้นที่ 2: ดูว่าไฟล์อะไรเปลี่ยน
ทุกครั้งที่ agent แก้งาน Git จดไว้ว่าไฟล์ไหนเปลี่ยนและเปลี่ยนอย่างไร คำสั่งที่ใช้ดูคือ
git statusบอกว่ามีไฟล์ไหนถูกเปลี่ยน เพิ่ม หรือลบgit diffแสดงรายละเอียดว่าแต่ละบรรทัดเปลี่ยนอย่างไร
ใน VS Code ดูได้ง่ายกว่านั้นอีก คือเปิดแถบ Source Control ทางซ้าย แล้วคลิกที่ไฟล์ จะเห็นของเดิมกับของใหม่วางเทียบกัน
ความเปลี่ยนแปลงแบบนี้เรียกว่า diff บรรทัดที่ขึ้นต้นด้วย - คือบรรทัดที่ถูกลบ บรรทัดที่ขึ้นต้นด้วย + คือบรรทัดที่ถูกเพิ่ม
- <button>เพิ่ม</button>
+ <button>เพิ่มรายการ</button>
ตัวอย่างนี้แปลว่า ข้อความบนปุ่มเปลี่ยนจาก "เพิ่ม" เป็น "เพิ่มรายการ"
แม้ยังอ่านโค้ดไม่ออก ก็ตั้งคำถามกับ diff ได้
| สิ่งที่เห็นใน diff | ทำไมน่าสงสัย |
|---|---|
| ไฟล์ที่เปลี่ยนเยอะกว่าที่งานควรต้องแตะ | agent อาจแก้เกินขอบเขต |
| ไฟล์ตั้งค่าหรือไฟล์ที่มีคำว่า test ถูกแก้หรือลบ | อาจเป็นการลดการตรวจเพื่อให้ผ่าน |
| บรรทัดที่ถูกลบจำนวนมาก ในงานที่ควรเป็นแค่การเพิ่ม | อาจลบของที่ยังใช้งานอยู่ |
| คำว่า password, key หรือ secret ตามด้วยค่าจริง | รหัสลับหลุดเข้าไปในโค้ด |
ชั้นที่ 3: ให้ agent อธิบาย พร้อมหลักฐาน
agent ช่วยตรวจงานของตัวเองได้ ถ้าเราถามให้ถูก แทนที่จะถามว่า "เสร็จหรือยัง" ให้ถามหาหลักฐาน
สรุปงานที่เพิ่งทำ: 1. รายการไฟล์ที่เปลี่ยน แต่ละไฟล์เปลี่ยนอะไร และเพราะอะไร 2. เกณฑ์รับงานแต่ละข้อ ตรวจแล้วหรือยัง ด้วยวิธีไหน 3. อะไรที่ยังไม่ได้ตรวจ หรือยังทำไม่ครบ 4. ถ้ามีไฟล์ที่เปลี่ยนนอกเหนือจากโจทย์ ให้บอกเหตุผล
ตรวจผลยังไง
คำตอบของ agent ยังเป็นแค่คำบอกเล่า ให้เทียบกับสิ่งที่เราเห็นเองเสมอ เช่น รายการไฟล์ต้องตรงกับ git status
เจอปัญหาแล้ว แจ้ง agent ยังไง
บอกให้ชัดว่าทำอะไร คาดว่าจะได้อะไร และได้อะไรจริง ยิ่งเจาะจง agent ยิ่งแก้ตรงจุด
เจอปัญหาตามเกณฑ์รับงานข้อ "ลบรายการหนึ่งแล้ว รายการอื่นยังอยู่ครบ" ขั้นตอน: เพิ่ม 3 รายการ แล้วกดลบรายการที่ 2 ผลที่คาด: เหลือรายการที่ 1 และ 3 ผลที่ได้: รายการหายหมดทั้ง 3 รายการ แก้ให้ตรงเกณฑ์ข้อนี้ โดยไม่แตะส่วนอื่น แล้วบอกว่าแก้ไฟล์ไหน
ถ้างานผิดไปไกลมาก บางครั้งเร็วกว่าถ้าย้อนกลับไปที่ commit ก่อนหน้า แล้วเขียนโจทย์ใหม่ให้ชัดขึ้น นี่คือเหตุผลที่ต้อง commit ก่อนให้ agent ลงมือ ดู บทที่ 4: เครื่องมือแรกของ dev
ข้อผิดพลาดที่พบบ่อย
- ตรวจแค่ทางที่ราบรื่น ลองเฉพาะกรณีปกติ แต่ไม่ลองช่องว่าง ข้อความยาว หรือหน้าจอมือถือ
- เชื่อสรุปของ agent โดยไม่เทียบกับ git status agent อาจลืมพูดถึงไฟล์ที่มันแก้
- ปล่อยผ่านเมื่อเห็นเทสต์ถูกลบหรือถูกปิด ต้องถามเหตุผลทุกครั้ง
- แจ้งปัญหากว้าง ๆ เช่น "มันพัง" agent ต้องเดาว่าพังตรงไหน และอาจแก้ผิดจุด
เช็กความเข้าใจ
1. agent บอกว่า "เสร็จแล้ว เทสต์ผ่านหมด" ควรทำอะไรต่อ
2. ใน diff บรรทัดที่ขึ้นต้นด้วยเครื่องหมาย - หมายถึงอะไร