แก้ทีละส่วน (Diff) ไม่ใช่เขียนใหม่ทั้งหมด
เมื่อมีโค้ดอยู่แล้ว จงอดใจไม่ขอให้เขียนทั้งหมดใหม่อีกครั้ง คำขอตามหลังที่คลุมเครืออย่าง "ทำให้ดีขึ้นหน่อย" จะทิ้งโค้ดที่ใช้งานได้แล้วไปและนำบั๊กที่คุณแก้ไปแล้วกลับมาใหม่ ให้ชี้เฉพาะจุดที่คุณต้องการเปลี่ยนแทน
That's not right, rewrite the whole thing.
The function works, but two issues:
1. The error on line with `throw new Error` should return a
Result type instead of throwing — match the pattern in
the validateUser function above.
2. The loop re-reads `items.length` each iteration; hoist it.
Show me just the diff for those two changes.
วงจรที่ดีต่อสุขภาพคือลูปแคบ ๆ นี้: ป้อนพรอมต์ให้โมเดล อ่านผลลัพธ์ แล้วปรับแก้ด้วย diff เล็ก ๆ ที่ตรงจุด — ไม่ใช่เขียนใหม่ทั้งหมด — จนกว่าจะถูกต้อง:
┌─────────┐ ┌─────────┐ ┌─────────┐
│ PROMPT │ ──▶ │ MODEL │ ──▶ │ OUTPUT │
└─────────┘ └─────────┘ └────┬────┘
▲ │
│ ▼
│ ┌─────────┐
│ good? │ REVIEW │
│ yes ◀──────────────────┤ diff │
│ └────┬────┘
│ │ no
│ refine (small diff) │
└───────────────────────────────┘
drift? ▶ reset to last good
การขอ diff (แทนการเขียนใหม่ทั้งหมด) ทำให้การเปลี่ยนแปลงยังตรวจสอบได้ และรักษาส่วนที่ทำงานได้อยู่แล้วเอาไว้ ปฏิบัติกับผลลัพธ์ของ AI เหมือนกับ ของเพื่อนร่วมทีม: คอมเมนต์ในบรรทัดที่เจาะจง ขอให้แก้เฉพาะจุด เมื่อการเปลี่ยนแปลงเริ่มเบี่ยงเบนไปเรื่อย ๆ และโค้ดห่างจากสิ่งที่คุณต้องการมากขึ้นทุกครั้งที่ตอบกลับ อย่าพยายามปะแก้ต่อไป — ให้ย้อนกลับไปยังเวอร์ชันสุดท้ายที่คุณเชื่อถือได้แล้วเริ่มพรอมต์ใหม่จากตรงนั้นด้วยคำอธิบายที่คมชัดกว่าเดิม การเดินหน้าต่อบนฐานที่พังแล้วมีแต่จะทำให้ความยุ่งเหยิงทับถมมากขึ้น