Prime Intellect เปิดตัว Verifiers v1 — แยก "สภาพแวดล้อม" ของ Agentic RL ออกเป็น 3 ชิ้นประกอบกันได้
ในสัปดาห์ที่ข่าวโมเดลใหญ่ ๆ เงียบ Prime Intellect — สตาร์ทอัพที่โฟกัสการเทรน AI แบบกระจายศูนย์ (decentralized) — ปล่อยของที่คนสาย agentic RL รอมานาน: การรีไรต์ไลบรารี Verifiers ใหม่ทั้งหมด ที่บริษัทเรียกว่า “Verifiers v1” (แท็กจริงบน GitHub/PyPI คือ 0.2.0 ลงวันที่ 10 กรกฎาคม 2026 และมีสำนักข่าวสายเทคเช่น MarkTechPost ตามมาเขียนถึงเมื่อ 13 กรกฎาคม)
Verifiers คือไลบรารีโอเพนซอร์ส (MIT license, ~4.3k ดาวบน GitHub) สำหรับ “สร้างสภาพแวดล้อมเพื่อเทรนและประเมิน LLM” หัวใจของเวอร์ชันใหม่คือการ หั่นสิ่งที่เคยเป็นก้อนเดียวชื่อ “environment” ออกเป็นสามชิ้นที่ประกอบสลับกันได้ — งานนี้สำคัญกับใครก็ตามที่กำลังเทรน agent ด้วย reinforcement learning หรือสร้าง eval ของตัวเอง เพราะมันเปลี่ยน “สภาพแวดล้อม” จากสคริปต์ตายตัว ให้กลายเป็นชิ้นส่วนที่นำมาต่อกันใหม่ได้
แยกเป็น taskset / harness / runtime
สถาปัตยกรรมใหม่แบ่งความรับผิดชอบชัดเจน:
- Taskset — นิยาม “งาน” ว่าคืออะไร: ข้อมูล เครื่องมือ (tools) และวิธีให้คะแนน (scoring/reward) โดย ไม่ผูก กับวิธีแก้งาน
- Harness — โปรแกรมที่ลงมือ “แก้” งานจริงและผลิต rollout ออกมา จะเป็นแค่ ReAct loop ธรรมดา, coding agent เต็มรูปแบบอย่าง Codex / Terminus 2 หรือ agent ที่คุณเขียนเองก็ได้
- Runtime — ที่ที่โค้ดรันจริง ตั้งแต่ local (subprocess, Docker) ไปจนถึง remote sandbox (Prime Sandboxes, Modal)
ผลก็คือ taskset หนึ่งชุดเอาไปรันด้วย harness ไหนก็ได้ — อยากเทียบว่า agent A กับ agent B ทำงานเดียวกันได้ดีแค่ไหน ก็สลับ harness โดยไม่ต้องแก้ตัวงาน หรืออยากย้ายจากรันในเครื่องขึ้นไปรันบน sandbox บนคลาวด์ ก็สลับ runtime โดย taskset/harness เดิมไม่ต้องแตะ
ตัวอย่างการนิยาม taskset สั้น ๆ ที่ทีมโชว์ไว้ ให้ภาพว่า reward เขียนเป็นเมธอด Python ตรง ๆ:
class AdditionTask(vf.Task[AdditionData]):
@vf.reward
async def exact_match(self, trace: vf.Trace) -> float:
return float(trace.last_reply == str(self.data.answer))
และรัน eval ผ่าน CLI ได้ทันที:
uv run eval @ path/to/config.toml
trace แบบกราฟ: ลดขนาดลง ~10 เท่าในงานยาว
จุดที่เป็นวิศวกรรมล้วน ๆ แต่สำคัญมากสำหรับการเทรน agent หลาย ๆ เทิร์น คือวิธีเก็บ trace ของบทสนทนา/การกระทำ
ของเดิม (v0) เก็บแบบ prompt-completion pair ต่อเทิร์น ซึ่งทำให้ข้อมูล “บวมแบบกำลังสอง” (quadratic blowup) — ยิ่ง agent คุยยาว ข้อมูลซ้ำยิ่งพอกตัว เพราะทุกเทิร์นแบกประวัติทั้งหมดที่ผ่านมา
v1 เปลี่ยนมาใช้ message graph ที่ “แต่ละข้อความเป็น node เฉพาะตัวในกราฟ” ทำให้ขนาด trace โตแบบ เชิงเส้น ตามจำนวนเทิร์นแทน ผลตามที่ทีมรายงานคือ trace ยาว ~100 เทิร์น มีขนาดเล็กลงราว 10 เท่า — ซึ่งแปลตรง ๆ เป็นค่า RAM/ค่า storage ที่ลดลงในงาน long-horizon RL ที่ agent ต้องเดินหลายสิบขั้น
นอกจากนี้ v1 ยังเพิ่ม interception server (HTTP proxy ที่คั่นระหว่าง agent runtime กับ inference server) เพื่อบันทึก trace, คุมพารามิเตอร์การสุ่ม (sampling) และแม้แต่เขียนทับ response ได้ โดย ไม่ต้องไปแก้ harness — มีประโยชน์เวลาอยากเก็บข้อมูลเทรนจาก agent ที่เราไม่ได้เขียนเอง
ต่อตรงเข้ากับ prime-rl และ Environments Hub
Verifiers ไม่ได้อยู่ลอย ๆ — มันคือชั้น “สภาพแวดล้อม” ในสแต็กของ Prime Intellect: taskset ที่สร้างด้วย v1 ป้อนเข้า prime-rl (เฟรมเวิร์กเทรนของบริษัท) ได้โดยตรง และ trace ถูก “บริโภคตรง ๆ โดยไม่ต้องคำนวณซ้ำ” ช่วยลด overhead หน่วยความจำฝั่ง orchestrator ตอนเทรน ส่วนตัว environment เองก็แชร์/ดึงผ่าน Environments Hub ของ Prime Intellect ได้ และรองรับชุดข้อมูลแบบ Harbor ออกมาให้เลย
พูดง่าย ๆ: ถ้าคุณอยากเทรน agent ด้วย RL เอง เส้นทางคือ เขียน taskset (งาน + reward) → เลือก harness (agent ที่จะมาแก้) → เลือก runtime (จะรันที่ไหน) → ป้อนเข้า prime-rl แล้วเทรน โดยแต่ละชิ้นสลับเปลี่ยนได้อิสระ
มุมมอง AI Curator
ปีนี้คำว่า “agent” ถูกพูดจนเฝือ แต่คนที่ลงมือ เทรน agent จริง ๆ (ไม่ใช่แค่ต่อ prompt เข้ากับ API) เจอปัญหาเดียวกันหมด: การประกอบ “สภาพแวดล้อม” สำหรับ RL มันพันกันยุ่ง — ตัวงาน, ตัว agent, และที่รัน ถูกมัดรวมเป็นสคริปต์ก้อนเดียวที่เอาไปใช้ซ้ำแทบไม่ได้ การที่ Verifiers v1 แยกมันเป็น taskset / harness / runtime คือการยืมบทเรียน “separation of concerns” จากวิศวกรรมซอฟต์แวร์ทั่วไป มาใส่ใน RL pipeline — ฟังดูไม่หวือหวา แต่นี่แหละคือชิ้นส่วนที่ทำให้ทีมเล็ก ๆ เทรน agent ได้โดยไม่ต้องรีไรต์ทุกอย่างใหม่ทุกครั้ง
จุดที่ผมให้ค่ามากคือ message graph ที่ลด trace ลง ~10 เท่า ในงานยาว นี่ไม่ใช่ตัวเลขการตลาด แต่คือกำแพงต้นทุนจริงที่กั้นคนส่วนใหญ่ออกจาก long-horizon RL — เพราะยิ่ง agent เดินหลายขั้น หน่วยความจำและ storage ยิ่งระเบิด การกดมันให้โตเชิงเส้นแทนกำลังสอง คือความต่างระหว่าง “เทรนได้บน GPU ที่มี” กับ “เทรนไม่ไหว” สำหรับสตาร์ทอัพหรือแล็บมหาวิทยาลัย
สำหรับนักพัฒนาไทย/SEA ที่สนใจสร้าง agent เฉพาะทาง (เช่น agent ที่ทำงานภาษาไทย, งานเอกสารราชการ, หรือ workflow เฉพาะอุตสาหกรรม) — คุณค่าอยู่ที่ taskset เพราะความรู้เฉพาะโดเมนของคุณถูกเข้ารหัสลงใน “งาน+ reward” ไม่ใช่ในตัวโมเดล นั่นแปลว่าคุณสามารถนิยามว่า “สำเร็จ” หน้าตาเป็นอย่างไรในบริบทของคุณเอง แล้วสลับ harness/โมเดลข้างใต้ได้ตามงบและฮาร์ดแวร์ ข้อควรระวังคือ Verifiers ยังผูกกับสแต็กของ Prime Intellect (prime-rl, Environments Hub, Prime Sandboxes) อยู่พอสมควร — MIT license เปิดให้เอาไปดัดแปลงได้เต็มที่ก็จริง แต่ถ้าอยากได้ประโยชน์สูงสุดแบบครบวงจร ก็เท่ากับต้องซื้อเข้าระบบนิเวศของเขาระดับหนึ่ง ก่อนพึ่งพาในโปรดักชัน แนะนำให้ลองเขียน taskset เล็ก ๆ รันด้วย runtime แบบ local ดูก่อน เพื่อชั่งว่าโมเดลความคิดแบบ 3 ชิ้นนี้เข้ากับงานคุณจริงไหม
แหล่งข่าว
อ่านเพิ่มในหมวด เครื่องมือนักพัฒนา
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