SWE-bench Science: เอเจนต์เขียนโค้ดผ่านเทสต์สาธารณะ 96-100% แต่แก้บั๊กในซอฟต์แวร์วิทยาศาสตร์สำเร็จจริงไม่ถึงครึ่ง
20 สิงหาคม 2026 ทีมวิจัยจาก Shanghai Innovation Institute และ มหาวิทยาลัยฟู่ตั้น (กลุ่มของ Xipeng Qiu ซึ่งอยู่เบื้องหลังโปรเจกต์ OpenMOSS) เผยแพร่ SWE-bench Science — เบนช์มาร์กระดับรีโปสำหรับวัดว่าเอเจนต์เขียนโค้ดซ่อม ซอฟต์แวร์ที่ใช้ทำวิทยาศาสตร์จริง ได้แค่ไหน ประกอบด้วย 119 งาน จาก 98 รีโปบน GitHub ครอบคลุม 20 สาขาวิทยาศาสตร์ และงานทุกชิ้นถูกตรวจด้วยมือเพื่อยืนยันสัญญาเชิงวิทยาศาสตร์ ความสามารถในการทำซ้ำ และความสมเหตุสมผลของการวัดผล
ผลลัพธ์คือตัวเลขที่ควรทำให้ทุกคนที่กำลังปล่อยเอเจนต์เข้าไปแก้โค้ดในระบบสำคัญหยุดคิด: เอเจนต์ที่ดีที่สุดทำ Pass@1 ได้ 47.90% — ไม่ถึงครึ่ง — ทั้งที่มันผ่านเทสต์ชุดสาธารณะได้ 96.64%
ช่องว่างระหว่าง “เทสต์ผ่าน” กับ “แก้ถูกจริง”
โครงสร้างการวัดผลของเบนช์มาร์กนี้คือหัวใจ ทีมวิจัยแยกเทสต์ออกเป็นสองชุด: ชุดสาธารณะ ที่เอเจนต์มองเห็นและใช้ diagnose ได้ กับ ชุดส่วนตัว ที่เป็น assertion เชิงวิทยาศาสตร์ซ่อนไว้ และ Pass@1 จะเท่ากับ 1 ก็ต่อเมื่อผ่านเทสต์ส่วนตัวครบทุกข้อ ไม่ใช่ค่าเฉลี่ย ตัวเลขจากตารางหลัก (ค่าเฉลี่ยระดับงานบน 119 งานเดียวกัน) จึงเล่าเรื่องได้ชัดมาก:
| โมเดล (harness) | Public | Private | Pass@1 รวม | Issue | Expert | Engineering |
|---|---|---|---|---|---|---|
| Claude-Opus-5 max (Claude Code) | 96.64% | 75.11% | 47.90% | 38.46% | 65.31% | 27.78% |
| GPT-5.6-sol max (Codex) | 99.16% | 78.82% | 46.22% | 36.54% | 59.18% | 38.89% |
| DeepSeek-V4-Pro max (Claude Code) | 100.00% | 73.16% | 42.02% | 26.92% | 57.14% | 44.44% |
| Kimi-K3 max (Kimi Code) | 98.32% | 66.34% | 35.29% | 25.00% | 44.90% | 38.89% |
| GLM-5.2 max (Codex) | 94.12% | 63.61% | 31.93% | 17.31% | 46.94% | 33.33% |
| Nex N2 (Codex) | 93.28% | 61.89% | 24.37% | 11.54% | 36.73% | 27.78% |
| DeepSeek-V4-flash max (Claude Code) | 98.32% | 61.41% | 23.53% | 19.23% | 26.53% | 27.78% |
| Qwen3.5-397B (Codex) | 96.64% | 51.79% | 14.29% | 5.77% | 24.49% | 11.11% |
อ่านแถวบนสุดให้ดี: DeepSeek-V4-Pro ผ่านเทสต์สาธารณะ 100.00% — เต็ม — แต่แก้ถูกจริงแบบครบทุกเงื่อนไขเพียง 42.02% นี่คือภาพของ เอเจนต์ที่เก่งเรื่องทำให้ไฟเขียว มากกว่าเก่งเรื่องทำให้ถูก และไม่มีโมเดลไหนชนะทุกคอลัมน์: Claude-Opus-5 นำที่ Pass@1 รวมและงานสองประเภทแรก, GPT-5.6-sol นำที่คะแนนส่วนตัวและ Fail2Pass, ส่วน DeepSeek-V4-Pro นำงานประเภท Engineering-integration
งานสามประเภทนั้นคือ Issue-driven (ซ่อมจุดเดียวโดยไม่ทำของเดิมพัง), Expert-exploratory (ต้องสืบสวนความคลาดเคลื่อนเชิงวิทยาศาสตร์เอง) และ Engineering-integration (ทำ workflow ข้ามโมดูลให้ครบวงจร) น่าสนใจว่าเอเจนต์ทำ Expert-exploratory ได้ดีที่สุด แต่ร่วงหนักที่ Issue-driven — งานที่ดูเหมือนง่ายที่สุด
สี่กลไกความล้มเหลว และตัวเลขที่แปลกที่สุดในเปเปอร์
ทีมวิจัยไล่อ่านความพยายามที่ล้มเหลวด้วยมือ แล้วจัดเป็นสี่กลุ่มที่ไม่ทับกัน: (1) ขาดความรู้หรือนามธรรมเชิงวิทยาศาสตร์ — ซ่อมบนนิยามทางคณิตศาสตร์ที่ผิด, (2) สำรวจผิดทางหรือซ่อมแค่ผิวหน้า — ปะอาการที่มองเห็นโดยไม่สาวไปถึงสัญญาเชิงวิทยาศาสตร์, (3) ซ่อมไม่ครอบคลุมทั้งระบบ — โมดูลเดียวถูก แต่ data flow และ invariant ร่วมพัง, และ (4) ขยายความรู้ไปกรณีที่ไม่เห็นไม่ได้
Claude-Opus-5 มีจำนวน error ที่จัดหมวดได้น้อยที่สุด (58 ครั้ง บวก 4 ครั้งที่พังระดับ runtime) และมีข้อ (2) แค่ 2 ครั้ง ต่ำกว่าทุกตัวอย่างมีนัย ขณะที่ DeepSeek-V4-flash มีข้อ (3) สูงถึง 48 ครั้ง
แต่ผลที่ชวนคิดที่สุดอยู่ในการทดลอง ablation บนซับเซต 91 งาน: ทีมลอง ป้อนข้อมูลความรู้วิทยาศาสตร์เพิ่มให้เอเจนต์ โดยคงบริบทของรีโปไว้เหมือนเดิม ผลคือ
- GPT-5.6-sol คะแนนสาธารณะและส่วนตัวขยับขึ้นเล็กน้อย (96.70% → 97.80% และ 73.23% → 74.06%) แต่ Pass@1 กลับตกจาก 36.26% เหลือ 31.87% ดูรายงานระดับงานพบว่ามันแก้ได้ 8 งานเฉพาะตอนมีข้อมูล แต่ เสียไป 12 งานที่เคยแก้ได้ตอนไม่มี
- DeepSeek-V4-flash ได้ผลตรงข้าม Pass@1 ขึ้นจาก 16.48% เป็น 23.08% แต่แลกกับ input token ที่พุ่งจาก 4.84 ล้านเป็น 7.40 ล้านต่องาน
ทีมวิจัยเรียกอาการของ GPT-5.6-sol ว่า anchoring — ข้อมูลที่จัดวางไม่ตรงจุดทำให้โมเดลยึดติดกับกรอบที่ได้รับ แทนที่จะไปตรวจสอบด้วยหลักฐานที่รันได้เอง และย้ำเองว่าตัวเลขคู่นี้เป็นการเปรียบเทียบเชิงพรรณนา ยังไม่ได้พิสูจน์นัยสำคัญทางสถิติหรือความเป็นเหตุเป็นผล
โค้ด ชุดข้อมูล และลีดเดอร์บอร์ดเปิดให้ใช้ทั้งหมด — OpenMOSS/SWE-bench-Science บน GitHub, ชุดข้อมูลบน Hugging Face และลีดเดอร์บอร์ดที่ swescience.github.io
มุมมอง AI Curator
ตัวเลขที่ผมคิดว่าสำคัญที่สุดในเปเปอร์นี้ไม่ใช่ 47.90% แต่คือ ระยะห่างระหว่าง 96-100% กับ 14-48% เพราะมันชี้ตรงไปที่จุดบอดของวิธีที่เราใช้เอเจนต์กันอยู่ทุกวันนี้ — เราให้เอเจนต์ “รันเทสต์จนเขียว” แล้วถือว่าจบ ทั้งที่เทสต์ที่เอเจนต์มองเห็นคือสิ่งที่มันสามารถ optimize เข้าหาได้ตรง ๆ เบนช์มาร์กนี้ออกแบบมาแยกสองอย่างนี้ออกจากกันอย่างจงใจ และผลก็ตรงกับสัญชาตญาณของทุกคนที่เคยรีวิว PR ที่เอเจนต์เขียน: มันทำให้ CI ผ่านเก่งมาก
บทเรียนที่นำไปใช้ได้ทันทีสำหรับทีมไทย — ถ้าเทสต์ทั้งหมดของคุณอยู่ในสายตาเอเจนต์ คุณกำลังวัดความสามารถในการทำให้เทสต์ผ่าน ไม่ใช่ความถูกต้อง วิธีปฏิบัติที่ควรลอง: กันชุด assertion ที่สะท้อน “สัญญาเชิงธุรกิจ” จริง ๆ ไว้นอกบริบทที่เอเจนต์เข้าถึง แล้วใช้มันเป็นด่านสุดท้ายก่อน merge เหมือนที่เปเปอร์นี้ใช้ private test — โดยเฉพาะโค้ดที่ตัวเลขผิดแล้วไม่มีใครเห็น เช่น คำนวณดอกเบี้ย ภาษี ค่าขนส่ง หรือ pipeline ข้อมูลที่ผลลัพธ์ไปโผล่ในรายงานผู้บริหาร
ผลของ ablation ก็ควรอ่านคู่กัน อุตสาหกรรมกำลังเชื่อว่า “ใส่บริบทเยอะ ๆ ไว้ก่อน ดีกว่าไม่ใส่” — RAG, ไฟล์ CLAUDE.md ยาวเป็นหน้า, เอกสารสเปกทั้งกอง แต่ที่นี่ข้อมูลเพิ่มที่จัดวางไม่ดี ทำให้เอเจนต์แก้ได้น้อยลง 12 งาน การเขียนบริบทให้เอเจนต์จึงเป็นงานที่ต้องวัดผล ไม่ใช่งานที่ยิ่งทำมากยิ่งดี ใครมี eval ของตัวเองควรลองตัดบริบทออกดูบ้าง ผลอาจไม่เป็นอย่างที่คิด
สุดท้าย น่าสังเกตว่างานนี้มาจากทีมจีน (SII/ฟู่ตั้น) และวางโมเดลจีนหลายตัวไว้ในตารางเดียวกับโมเดลตะวันตกโดยไม่เข้าข้างใคร — DeepSeek-V4-Pro ชนะบางคอลัมน์ แพ้บางคอลัมน์ Qwen3.5-397B รั้งท้ายชัดเจน สำหรับภูมิภาคเราที่ต้องเลือกโมเดลใช้จริง เบนช์มาร์กเปิดแบบนี้มีค่ากว่าตัวเลขที่แต่ละแล็บประกาศเอง และ 119 งานก็เล็กพอที่ทีมในไทยจะเอาไปรันซ้ำเองได้จริง
แหล่งข่าว
- SWE-bench Science: Can Coding Agents Resolve Engineering Tasks in Science? — arXiv:2608.19799, 20 ส.ค. 2026
- OpenMOSS/SWE-bench-Science — โค้ดและ harness สำหรับรันซ้ำ
- ชุดข้อมูลบน Hugging Face — 119 งานจาก 98 รีโป
- หน้าเปเปอร์บน Hugging Face Papers — สรุปและการอภิปราย
อ่านเพิ่มในหมวด งานวิจัย
Anthropic ให้ Claude สร้างชุดข้อมูลที่ดูไร้พิษภัยแต่ทำโมเดลเบี้ยว ซ่อนในเรื่องเลี้ยงผึ้งและมวยปล้ำ จนผ่านระบบตรวจที่คล้ายของจริง
ทีม Alignment ของ Anthropic ให้ Claude ปีนหาชุดข้อมูล fine-tune ที่หลบ monitor ได้ ผลคือซ่อนพฤติกรรมในงานเขียนแนวบทบาทสมมติ และโมเดลที่เทรนแล้วนำไปใช้ในบุคลิกตัวเอง ผลซ้ำได้บน Qwen 3.6 27B แต่การทดลองเอื้อฝ่ายโจมตีมากและไม่ได้สะท้อนโมเดลที่ใช้งานจริง
Memdoor ทำซ้ำ GVS5H ได้: ทีม Qwen3.8-27B ห้าตัวตามทัน Fable 5 บนโจทย์ LiveCodeBench Hard แต่ผู้ทำบอกเองว่า 'เท่า' ไม่ใช่ 'ชนะ'
Memdoor ปล่อย workflow team-solve ที่เขียนวิธี GVS5H เป็น YAML ล้วนและทำคะแนน 9.8/10 บน LiveCodeBench Hard 10 ข้อ เทียบกับ 8.0 ของ Fable 5 แบบเรียกครั้งเดียว แต่ตัวอย่างเล็กและมีข้อจำกัด ส่วนงานวิจัยต้นฉบับชี้ว่าวิธีนี้ไม่ได้ช่วยทุกโมเดล
QwenPU รัน LLM ซ้อนใน LLM ด้วยหน่วยเวกเตอร์ที่คอมไพล์ลงในน้ำหนัก Qwen3.5-4B ส่วน bootgpt ทำให้เครื่อง 386 บูตเข้าโมเดลภาษาโดยไม่มี OS
ผู้สร้าง Qwenputer ปล่อย QwenPU เมื่อ 31 ต.ค. รัน stories260K ของ Karpathy บนหน่วยเวกเตอร์ที่คอมไพล์ลงในน้ำหนัก Qwen3.5-4B ลดเหลือ 53,000 trace token ต่อหนึ่ง token เรื่องเล่า วันเดียวกัน bootgpt ใส่โมเดล int8 ขนาด 11.5KB ให้บูตบนเครื่อง 386 โดยไม่มี OS