LOWNLAB News
โปรแกรมมิ่งระดับ 8/10Dan Luu

งานทดลอง: AI coding agent ใช้เทคนิคเทสต์และการพิสูจน์ความถูกต้องได้แย่แค่ไหน

How well do agents use test/verification techniques?

Dan Luu เผยแพร่ผลการทดลองเชิงระบบว่า AI coding agent ใช้เทคนิคการทดสอบและการพิสูจน์ความถูกต้องได้ดีเพียงใด โดยให้เอเจนต์ implement การบีบอัดแบบ Zstd ในภาษา Rust ภายใต้เงื่อนไข prompt 26 แบบ บวกกับ skill อีก 4 รูปแบบ ใช้ Codex ที่ขับด้วย GPT-5.6 Sol ทั้งระดับ medium และ extra-high effort

ผลที่ได้สวนทางกับสามัญสำนึกของวงการ ค่าเริ่มต้นแบบไม่สั่งอะไรเลย (default, no instructions) ทำคะแนนความถูกต้องได้สูงกว่าค่าเฉลี่ย และเอาชนะแนวทางเฉพาะทางส่วนใหญ่ ส่วน test-driven development ทำได้แย่กว่าที่คาด เอเจนต์เขียนเทสต์มากขึ้นจริงแต่เทสต์เหล่านั้นมีประสิทธิผลน้อยลง

กลุ่ม formal methods (Verus, Alloy, Lean 4) ให้ผลแย่เป็นพิเศษ เพราะเอเจนต์มักพิสูจน์คุณสมบัติที่ไม่เกี่ยวข้องแทนที่จะพิสูจน์ข้อกำหนดที่มีความหมายจริง ตัวอย่างที่ Luu ยกคือเอเจนต์ชอบพิสูจน์ประโยคทำนอง "ถ้าอินพุตถูกต้อง การดำเนินการจะอยู่ในขอบเขต" ซึ่งถูกต้องทางเทคนิคแต่ไม่แตะแหล่งที่มาของบั๊กจริง ส่วน property-based testing ให้ผลดีขึ้นเล็กน้อยเฉพาะกรณีที่เอเจนต์สร้างอินพุตสุ่มแบบมีโครงสร้าง ซึ่งเกิดขึ้นเพียงราว 5 จาก 160 เคส โดย Proptest ให้ผลดีที่สุดในกลุ่มไลบรารีแบบนี้แต่ก็ยังต่ำกว่าฝีมือมนุษย์มาก

ข้อสรุปหลักคือ "เอเจนต์ยังไม่รู้วิธีใช้เครื่องมือหรือเทคนิคการพิสูจน์ความถูกต้องเหล่านี้ได้ดีนัก" เมื่อสั่งให้ใช้วิธีการเฉพาะ เอเจนต์มักจะเขียนเทสต์แบบมาตรฐานใส่ลงในเฟรมเวิร์กที่ไม่เหมาะ ใช้เทคนิคเพียงผิวเผินโดยไม่ได้คุณค่าจริง หรือพิสูจน์คุณสมบัติที่ว่างเปล่า

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

แหล่งอ้างอิง

อ่านต้นฉบับที่ Dan Luu

https://danluu.com/agentic-testing/