Prime Agent เขียนตัวเองใหม่เป็น Rust ด้วยเอเจนต์ 2,209 ตัวและ 228.7B โทเคนจาก GLM-5.3 — เปิดพร้อมพิมพ์ได้เร็วกว่าเวอร์ชัน TypeScript ราว 13 เท่า แต่ตัวเลขเทียบกับ Claude Code และ Codex มาจากชุดทดสอบของ Prime Intellect เอง
9 ต.ค. 2026 Prime Intellect เผยแพร่บทความ “Rewriting Prime Agent in Rust” และออก Prime Agent v0.10.0 บน GitHub ในวันเดียวกัน เป็นเวอร์ชันที่เขียนใหม่จาก TypeScript เป็น Rust ทั้งหมด จุดที่น่าสนใจคือคนที่เขียนใหม่ไม่ใช่ทีมงาน แต่เป็น Prime Agent เอง ที่สั่งงานเอเจนต์ 2,209 ตัว ส่งข้อความหากันระหว่างเอเจนต์ 16,758 ครั้ง ใช้ไป 228.7 พันล้านโทเคน จาก endpoint GLM-5.3 ของ Prime Inference และรันบน Prime Sandboxes มากกว่า 10,000 ตัวในเวลาสองสัปดาห์
Prime Agent คือ coding agent harness แบบ RLM ที่เราเขียนถึงตอนเปิดตัวเมื่อ ส.ค. บริษัทบอกว่าตั้งแต่นั้นมีคนดาวน์โหลดไปกว่า 300,000 ครั้ง และประมวลผลไปแล้วกว่า 8 ล้านล้านโทเคน งานนี้มาหลังจากการพอร์ต TypeScript compiler เป็น Rust ด้วย Claude Opus 5.5 เพียงวันเดียว แต่ใช้โมเดลเปิดเป็นแรงงานหลัก
วิธีที่ให้เอเจนต์พอร์ตโค้ดเองได้
งานของมนุษย์ในโปรเจกต์นี้คือสร้างตัวตรวจที่ทำงานอัตโนมัติ เพื่อให้เอเจนต์วัดความคืบหน้าของตัวเองได้
- Differential test ระดับเฟรม รันไบนารี TypeScript กับ Rust คู่กันโดยใช้โมเดลจำลองที่ตอบตามสคริปต์ แล้วเทียบหน้าจอ terminal ทีละเฟรม ครอบคลุมการเปิดโปรแกรม เมนู slash, tool call, compaction, sub-agent, การ resume session และการกู้คืนเมื่อโปรแกรมพัง
- เทียบ transcript และ request ที่ส่งไปผู้ให้บริการโมเดล ไบนารีทั้งสองต้องสร้าง session เดียวกันจาก input เดียวกัน และทุกชนิดข้อความใน daemon protocol (รวมถึง ACP) ต้องตรงกับฝั่ง TypeScript
- Audit ทีละคอมโพเนนต์ ส่วนที่สคริปต์ครอบคลุมไม่ถึง ให้เอเจนต์ไล่จัดประเภทว่า “ตรงกัน / ตรงบางส่วน / ยังขาด”
เอเจนต์ราก (root) ตัวเดียวแตกงานเป็นลำดับตาม dependency และ ไม่เขียนโค้ดเองเลย แต่ละงานต้องผ่านเอเจนต์ 4 บทบาท ได้แก่ ตัวเขียนสเปกพร้อมตัวตรวจ ตัวเขียนโค้ดใน worktree แยก ตัวรีวิวที่ ใช้คนละโมเดลและคนละ context กับตัวเขียนเพื่อหาเหตุผลว่าทำไมโค้ดจะผิด และตัวตรวจที่ build และรันเทสต์ใน sandbox ใหม่ ถ้ารีวิวหรือเทสต์ไม่ผ่าน งานจะกลับไปหาตัวเขียน ทั้งหมดนี้รันบนเครื่อง CPU 8 คอร์สองเครื่อง โดยส่งงานหนักอย่าง compile และ type-check ไปรันใน sandbox
ทีมยอมรับตรง ๆ ว่า parity check ตรวจได้เฉพาะพฤติกรรมที่เทสต์ครอบคลุม พอย้ายทีมภายในมาใช้เวอร์ชัน Rust ทุกวันก็ยังเจอบั๊กอีก ช่วงท้ายจึงเป็นเอเจนต์เขียนและเทสต์ โดยมีคนคอยหาปัญหา กำหนดทิศทาง และรีวิวผลทั้งหมด
ลูป hillclimb 3 วัน และตัวเลขที่ได้
เมื่อฟีเจอร์ครบแล้ว orchestrator ตัวที่สองรันลูปปรับประสิทธิภาพต่ออีก สามวัน โดยไม่มีเป้าตัวเลข มีแค่เงื่อนไขว่าต้องเร็วขึ้นโดยไม่ทำให้ parity พัง บันทึกการทดลองและ audit ไปกว่า 144 รายการ และ merge การเปลี่ยนแปลงไป 69 รายการ แต่ละการเปลี่ยนแปลงต้องผ่านตัวรีวิวสองตัวที่ใช้โมเดล frontier คนละตัวกัน ผลบนเครื่อง sandbox 4 คอร์ RAM 8 GB:
| ตัวชี้วัด | TypeScript | Rust ก่อน hillclimb | Rust หลัง hillclimb |
|---|---|---|---|
| Cold start (พิมพ์ได้) | 736.1 ms | 293.3 ms | 51.9 ms (เร็วขึ้น 14.18×) |
| Warm start | 552.3 ms | 276.7 ms | 41.4 ms |
| RAM ตอนเปิด session 10 MiB | 1,130.0 MB | 554.9 MB | 237.3 MB |
| ขนาดติดตั้ง | 172.1 MB | 206.7 MB | 59.6 MB |
| สลับหน้า agents view | 78.0 ms | 118.8 ms | 12.8 ms |
ควรสังเกตว่า Rust ที่ได้จากการพอร์ตตรง ๆ ยังใหญ่กว่า TypeScript (206.7 vs 172.1 MB) และสลับหน้าช้ากว่า (118.8 vs 78.0 ms) ตัวเลขดีขึ้นจริงก็ต่อเมื่อผ่านลูป hillclimb แล้ว บริษัทสรุปว่าผลส่วนใหญ่มาจาก 3 อย่าง คือย้ายงานออกจาก startup/render path, เปลี่ยน polling loop เป็นแบบ event-driven และคืนหน่วยความจำทันทีที่โหลด session ใหญ่เสร็จ
ตารางเทียบกับ harness อื่น (time-to-type แบบ cold) ได้ Prime Agent Rust 55.8 ms, Pi v1.0.3 317.7 ms, Codex CLI v0.160.0 324.6 ms, Claude Code v2.1.289 348.4 ms, Hermes Agent v0.21.5 2,094.5 ms ส่วน RAM หลังเปิดโปรแกรม Prime Agent ใช้ 106.0 MB, Pi 138.1, Hermes 194.6, Claude Code 226.9 และ Codex CLI 344.4 MB แต่บริษัทเขียนกำกับไว้เองว่าเป็น “custom runtime suite. Without a common benchmark standard, comparisons should be interpreted with caution” และทุกตัวเลขวัดโดยใช้โมเดลจำลอง จึง ไม่รวมเวลา inference ซึ่งเป็นส่วนที่ผู้ใช้รอนานที่สุดในการใช้งานจริง
ได้อะไรในเวอร์ชันนี้
- โค้ดแบ่งเป็น 9 crate มีทิศทาง dependency ทางเดียวที่ Cargo บังคับ ไฟล์ใหญ่สุดเหลือราว 2,500 บรรทัด (เดิมราว 15,000)
- แต่ละ session รันใน worker process แยก ถ้า session หนึ่งพัง session อื่นยังทำงานต่อได้ และ session ถูกเก็บลงดิสก์ให้กลับมาต่อหลังรีสตาร์ตได้
- รองรับ Windows (beta) และติดตั้งผ่าน Homebrew ได้ รายชื่อโมเดลและ MCP ย้ายไปอยู่ใน catalog ที่ดึงตอนรัน จึงเพิ่มโมเดลใหม่ได้โดยไม่ต้องออกเวอร์ชันใหม่
- ยังเป็นโอเพนซอร์สภายใต้ MIT (ไฟล์
LICENSEในรีโปPrimeIntellect-ai/prime-agent) v0.10.0 ออกเมื่อ 9 ต.ค. 21:28 UTC และวันนี้มี v0.10.1-beta ตามมาแล้ว 3 รุ่น
มุมมอง AI Curator
ส่วนที่มีค่าที่สุดของบทความนี้ไม่ใช่ตาราง benchmark แต่เป็น สูตรการพอร์ตโค้ดด้วยเอเจนต์ ที่เริ่มเห็นเป็นรูปแบบเดียวกันแล้ว การพอร์ต TypeScript compiler เมื่อวานใช้เทสต์ของ Go 181,711 ตัวเป็นตัวตัดสิน วันนี้ Prime Intellect ใช้การ diff หน้าจอ TUI ทีละเฟรม ทั้งสองงานบอกเรื่องเดียวกัน คือ งานพอร์ตจะทำให้อัตโนมัติได้แค่ไหน ขึ้นกับว่าเรามีตัวตรวจที่วัดผลได้หรือเปล่า ไม่ได้ขึ้นกับว่าโมเดลเก่งแค่ไหน การแยกตัวรีวิวให้ใช้คนละโมเดลกับตัวเขียนก็เป็นแนวปฏิบัติที่ทีมเล็กเอาไปใช้ได้เลย แม้จะไม่มีเอเจนต์ถึงสองพันตัว
ทีมไทยที่มีระบบ legacy เช่น backend PHP/Java เก่าในธนาคารหรือระบบ ERP ที่อยากย้ายภาษา ควรเริ่มจากลงทุนกับ golden test หรือ differential test ที่เทียบ input/output ของระบบเดิมกับระบบใหม่ก่อน แล้วค่อยปล่อยให้เอเจนต์เขียน อีกเรื่องที่ควรคิดคือต้นทุน 228.7B โทเคนเป็นตัวเลขที่ทำได้เพราะ Prime Intellect มี inference ของ GLM-5.3 เป็นของตัวเอง ถ้าทีมทั่วไปจ่ายราคา API ปกติ ต้นทุนจะต่างกันมาก ควรเริ่มจากโมดูลเล็ก ๆ ก่อน
ส่วนตัวเลขที่บอกว่าเร็วกว่า Claude Code หรือ Codex ราว 6 เท่า ผมให้น้ำหนักน้อย เพราะวัดด้วยชุดทดสอบของบริษัทเอง และไม่นับเวลารอโมเดลตอบ ซึ่งเป็นเวลาส่วนใหญ่ของการใช้ coding agent จริง แต่ข้อเท็จจริงที่ว่า harness เปิดพร้อมพิมพ์ใน 50 ms และใช้ RAM 100 MB ก็ยังมีความหมายสำหรับคนที่รันเอเจนต์ทีละหลายสิบตัวบนเครื่องเดียวหรือใน CI ซึ่งเป็นทิศทางที่ทุก harness กำลังมุ่งไป
แหล่งข่าว
อ่านเพิ่มในหมวด เครื่องมือนักพัฒนา
Betelgeuse รัน Qwen3.8 Flash Next ขนาด 68GB บน RTX 3060 กับแรม 16GB ส่วน Basalt วัดให้เห็นว่าเอนจินที่เร่งด้วยแฟล็กลัดทำให้โมเดลลืมของ
Betelgeuse ฟอร์ก llama.cpp ที่เปิดเมื่อ 31 ต.ค. ดึง expert จาก NVMe เข้า VRAM ตามต้องการ อ้าง 22 tok/s แบบไม่ทิ้ง expert แต่ README เตือนเองว่ายังทดลองและตัวเลขมาจากคนละรอบ วันเดียวกันผู้พัฒนา Basalt เผยผลวัดว่าแฟล็กเร่งความเร็วทำคุณภาพ Q8 ตกไปใกล้ Q2
กฎห้ามโคลนเกมของ Claude Code เริ่มกระทบงานจริง บริษัทรับทำเกมกระดานร้องงานลูกค้าหยุด แต่รายงานหลายชิ้นปนกับตัวกรองไซเบอร์คนละเรื่อง
ต่อจากที่เราพบกฎนี้ในไบนารี Claude Code ผู้ใช้เริ่มรายงานว่างานเชิงพาณิชย์ถูกปฏิเสธ และ Tom's Hardware กับ Mashable หยิบไปรายงาน แต่เมื่อไล่ issue ที่อ้างถึง พบว่าหลายรายการเกิดก่อนกฎจะมา จึงน่าจะเป็นตัวกรองด้านไซเบอร์ ส่วน Anthropic ยังไม่ชี้แจง
Claude Code ส่ง transcript ของ background agent ให้โมเดลทุก ~30 วินาทีเพื่อเขียนสถานะ 3–5 คำ ผู้วัดรายงานกินราว 16% และยังปิดแบบทางการไม่ได้
รายงานอิสระพบว่าฟีเจอร์ agent_summary ของ Claude Code ส่ง transcript เต็มของ background agent ไปถามสถานะทุก ~30 วินาที คิดเป็น 16.4% ของค่าใช้จ่ายในระบบของผู้วัด Issue เปิดมาตั้งแต่ ส.ค. ยังไม่มีสวิตช์ปิดที่รองรับ เราตรวจพบโค้ดนี้ใน 2.1.314 และพบกฎใหม่เรื่องเกมที่ไม่อยู่ใน changelog