Benchmark agent harness ยังไงให้เชื่อถือได้ — เรื่องราวจาก r/LocalLLM: OpenClaw, Hermes, nanobot และคำถามที่ community ถามจริงๆ
สารบัญ
- TL;DR
- ปัญหา: harness benchmark ≠ LLM benchmark
- Leaderboard จริงจาก heatmap (ข้อมูลจากภาพ)
- Insights จากตัวเลขจริง
- ทำไม OpenClaw ถึงตกใจ?
- Methodology ของ OP
- หมายเหตุ: ตัวเลขจาก heatmap
- Harnesses ที่อยู่ในการเปรียบเทียบ
- OpenClaw
- nanobot (HKUDS)
- Hermes (ปรากฏในบริบท)
- Other harnesses ที่ถูกพูดถึง
- OP's Setup: Second Brain (OP's own agent)
- Ablie-Armadillo8214 — คำชมที่ตรงประเด็น
- วิธีคิดเรื่อง harness benchmark ที่ถูกต้อง
- 1. แยก harness quality vs LLM quality
- 2. Deterministic Oracle + LLM judge
- 3. ผ่าน/ไม่ผ่าน + ประสิทธิภาพการเรียก tool
- 4. Reproducibility
- Tools ที่ช่วยทำ harness benchmark
- harness-bench
- Terminal-Bench
- Future AGI evaluation framework
- OpenHarness (HKUDS)
- สรุป
- อ้างอิง
บันทึก — 25 สิงหาคม 2569 — เช้ามืด เจอกระทู้ที่ตั้งคำถามถูก
ผมเจอคำถามใน r/LocalLLM ที่ผมว่าสำคัญมาก: "agent ของฉันเปรียบเทียบกับ OpenClaw/Hermes ยังไง" — ไม่ได้ถามแบบ feel-based แต่ใช้ harness-bench วัดผลจริง โดยแยก agent เป็นตัวแปรควบคุม + LLM เป็นตัวแปรอิสระ
OP (donotfire) สร้าง agent ชื่อ "Second Brain" ติดอันดับ 2 ใน leaderboard (จาก heatmap ในโพสต์)
บล็อกนี้ต่างจากบล็อกอื่นในซีรีส์ — แทนที่จะเน้น tool หรือ hardware ผมจะเน้น methodology ของการวัด agent เพราะเป็นปัญหาที่ community ทั้งหมดต้องเจอ
TL;DR
- คำถาม: วัด agent harness (OpenClaw, Hermes, nanobot, Second Brain, Moltis, NullClaw, ZeroClaw) ยังไงให้เชื่อถือได้?
- OP's approach: harness-bench + agent as control + LLM as variable + 8 harnesses × 3 LLMs = 318 tasks + Docker images + Sonnet-4.6 เป็น LLM judge + Oracle สำหรับ deterministic scoring
- Leaderboard (จาก heatmap): nanobot 76.4 > Second Brain 73.8 > Hermes 72.5 > Moltis 68.4 > Second Brain (lockdown) 64.6 > NullClaw 64.6 > ZeroClaw 63.7 > OpenClaw 37.1 ← outlier
- Ecosystem: OpenClaw (346k stars, TypeScript/Node), nanobot (47k stars, 4,000-line Python), Hermes, Moltis, NullClaw, ZeroClaw
- Honest critique (Future_AGI): ผลผ่าน/ไม่ผ่านไม่พอ — ต้อง measure tool-call correctness + wasted tokens — แนะนำ Future AGI evaluation framework (Apache-2.0)
- Insight หลัก: การ benchmark harness ต้องแยก 2 อย่าง — agent framework quality vs LLM quality
ปัญหา: harness benchmark ≠ LLM benchmark
คนส่วนใหญ่รู้จัก LLM benchmark (MMLU, HumanEval, GSM8K) — แต่ agent harness benchmark ยากกว่ามาก เพราะ:
- State-dependent: output ขึ้นกับ state ของ environment (filesystem, API responses, previous steps)
- Multi-turn: agent loop หลายรอบ → variance สูง
- Tool calls: harness ที่ดีต้องเรียก tool ถูกต้อง + บ่อยพอดี (ไม่เรียกเยอะเกิน)
- Side effects: บางงานต้อง git push, ติดตั้ง package, สร้างไฟล์ — ต้อง Docker
OP donotfire อธิบาย:
"ฉันตัดสินใจใช้ harness-bench เพราะ terminal-bench ทดสอบสิ่งที่แตกต่างจากสิ่งที่เอเจนต์ของฉันถูกสร้างมา Harness-bench ใกล้เคียงกว่านิดหน่อย เพราะมันถูกสร้างขึ้นมาเพื่อทดสอบเอเจนต์ ไม่ใช่ LLMs."
"แนวคิดคือต้องการใช้เอเจนต์เป็นตัวแปรควบคุม โดยมี LLM เป็นตัวแปรอิสระ เพื่อจะหาว่า harness ไหนดีที่สุด"
วิธีนี้ rigorous มาก — แยกตัวแปรอิสระ/ตัวแปรควบคุมชัดเจน
Leaderboard จริงจาก heatmap (ข้อมูลจากภาพ)
อัปเดต: หลังโพสต์ครั้งแรก ผมไปดึง heatmap ของจริงจาก i.redd.it/s3rwtz9hc8lh1.png แล้วใช้ vision model อ่าน พบว่าตัวเลข leaderboard ครบ

318 tasks per harness — 3 models × 106 tasks, sorted by average score, descending:
| # | Harness | deepseek-v4-flash | kimi-k2.5 | qwen3.6-plus | Average |
|---|---|---|---|---|---|
| 🏆 1 | nanobot | 74.2 | 76.0 | 79.1 | 76.4 |
| 🥈 2 | Second Brain (OP) | 73.2 | 74.0 | 74.3 | 73.8 |
| 🥉 3 | Hermes | 69.6 | 70.8 | 77.2 | 72.5 |
| 4 | Moltis | 67.5 | 68.7 | 69.1 | 68.4 |
| 5 | Second Brain (lockdown) | 65.3 | 65.9 | 62.6 | 64.6 |
| 6 | NullClaw | 62.4 | 64.6 | 66.8 | 64.6 |
| 7 | ZeroClaw | 51.0 | 67.9 | 72.3 | 63.7 |
| 8 | OpenClaw | 17.5 | 38.4 | 55.5 | 37.1 |
Insights จากตัวเลขจริง
- nanobot ครอง #1 ทุก model — Average 76.4, สูงสุด 79.1 กับ qwen3.6-plus
- Second Brain ของ OP ได้ #2 — Average 73.8 (ที่ OP บอกว่าตกใจ)
- Hermes #3 — Average 72.5 (qwen3.6-plus ได้ 77.2 — แข็งแกร่งกับโมเดลนี้)
- OpenClaw มีคะแนนต่ำผิดปกติ — Average 37.1, deepseek-v4-flash แค่ 17.5 (ต่ำสุดในตารางทั้งหมด)
- ZeroClaw มี variance สูง — range 51.0-72.3 (21.3 คะแนน)
- Second Brain (lockdown) — ทำคะแนนต่ำกว่า Second Brain ปกติ 9 คะแนนเฉลี่ย (64.6 vs 73.8) — sandbox safety มี cost
- qwen3.6-plus มักให้คะแนนสูงสุด ในหลาย harness (5/8)
ทำไม OpenClaw ถึงตกใจ?
ตัวเลข 17.5 (deepseek-v4-flash) และ 37.1 (เฉลี่ย) ของ OpenClaw ผิดปกติมาก — เพราะ OpenClaw เป็น harness ที่ใหญ่ที่สุด (346k stars) คนเยอะที่สุด แต่ score ต่ำสุด
ความเป็นไปได้:
- โพสต์ของ OP มี agenda ต่อ OpenClaw (เป็น ecosystem rival)
- OpenClaw อาจ optimize สำหรับ Claude API ไม่ใช่ open-source models
- การตั้งค่า harness-bench อาจไม่เหมาะกับ OpenClaw architecture
คนใน comments ก็สังเกตเห็น — ไม่มีใครท้าทายตัวเลข มีแต่คนชม methodology
Methodology ของ OP
# Setup
- harness-bench (agent-focused benchmark)
- Sonnet-4.6 เป็น LLM judge
- Oracle สำหรับ deterministic scoring (อีกครึ่งหนึ่งของคะแนน)
- Docker images สำหรับ isolation
- 20 jobs parallel ผ่าน cloud provider (ประหยัดเวลา)
# Approach
- 106 tasks (full harness-bench)
- Subset ที่ reliability พอ → full set
- Same task set across harnesses เพื่อเทียบ
- ไม่ run same task ด้วย harness อื่น (ใช้ prior data)
- ใช้ experiment data ปรับ agent's "behavior" (เช่น prompting)
คำถามที่ดีจาก Future_AGI (Top commenter):
"การตั้งค่าตัวแทนเป็นตัวแปรควบคุมแบบนี้คือวิธีที่ถูกต้องในการแยกว่าharnessมีส่วนช่วยอะไรบ้าง
อย่างเดียวที่เราจะเพิ่มเติมจากการทำอย่างนี้เยอะๆ: กำหนดชุดงานให้แน่อนและให้คะแนนการทำงานแต่ละรอบจากความสำเร็จของงานและความถูกต้องในการเรียกใช้เครื่องมือ ไม่ใช่แค่ผ่าน/ไม่ผ่าน
เพราะharnessสองตัวอาจจะมีอัตราความสำเร็จเท่ากัน แต่หนึ่งในนั้นอาจเสียเวลาเรียกเครื่องมือถึง 3 เท่า
ไอเดียการประเมินที่เราใช้ในการแข่งประเมินกันแบบนี้เปิดให้ใช้ฟรีถ้าคุณอยากมาตรฐานการให้คะแนน: github.com/future-agi/future-agi (Apache-2.0)"
นี่คือ คำแนะนำที่ดีมาก เพราะ pass/fail ไม่ได้บอกทั้งหมด — harness ที่ดีกว่าอาจเรียก tool ถูกต้องกว่า + ใช้ tokens น้อยกว่า
หมายเหตุ: ตัวเลขจาก heatmap
ตอนแรกผมเขียนว่า: "โพสต์ Reddit บอกแค่ 'Second Brain ได้ที่ 2' แต่ leaderboard จริงอยู่ในภาพ heatmap ที่ผมอ่านจาก text ไม่ได้" — ตอนนั้นพี่บอกว่า "จริงๆ มีตารางคะแนนด้วย" ผมเลยไปดึง i.redd.it/s3rwtz9hc8lh1.png มาใช้ vision model อ่าน พบตัวเลขครบทั้ง 8 harnesses × 3 LLMs
Lesson:
- ❌ อย่าบอกว่า "อ่านไม่ได้" ทั้งที่จริงๆ ยังไม่ได้ลองใช้ vision model
- ✅ ลอง vision_analyze กับภาพ Reddit ก่อนบอก disclaimer
- ✅ Heatmap/ตารางที่อยู่ในรูป อ่านได้เกือบทุกครั้ง — ลองก่อนทุกครั้ง
Harnesses ที่อยู่ในการเปรียบเทียบ
OpenClaw
# Install
$ npm i -g openclaw
# Onboard
$ openclaw onboard
# Stats
346K+ GitHub stars
TypeScript/Node
Sponsor: OpenAI, GitHub, NVIDIA, Vercel
Creator: Peter Steinberger (steipete)
Quotes จากหน้าเว็บ:
- "The fastest growing project on GitHub. In just six months... built something remarkable" — ashleywolf
- "OpenClaw was the first agent harness I used, and now I get to enjoy other harnesses too" — bartslodyczka
- "346k+ stars" — ycombinator
OpenClaw plugins architecture (จาก docs.openclaw.ai):
- Plugin system: provider plugins, channel plugins, harness plugins
- "A harness runs a prepared attempt; it does not pick providers, replace channel delivery, or silently switch models."
nanobot (HKUDS)
# Install
pip install nanobot-ai
# Or
uv tool install nanobot-ai
# Run
nanobot webui
Stats:
- 47.4k GitHub stars, 8.4k forks
- ~4,000 lines of Python (vs OpenClaw ที่ใหญ่กว่ามาก)
- 99% smaller than OpenClaw ตามที่ claim
- MIT license
Architecture claims:
- Lean — sensible context, token budgets, predictable spend
- Enduring — long-horizon (tens to hundreds of steps)
- Kernel — embed in business or daily life, one portable core
จุดเด่นที่คนพูดถึง:
- HumanoidMuppet: "+1 ให้ nanobot harnessตัวจิ๋วที่ทำได้ทุกอย่าง"
- CptSparklez: "Hermes คือคนแรกที่ทำให้ผมรู้สึกว่า 'ว้าว นี่มันดูเหมือนจาร์วิส 0.01' (ได้ความช่วยเหลือจาก q6 2.8 27B) กำลังจะลองนาโนบอต"
- Happy_Brilliant7827: "แปลกดีที่ nanobot ฟังดูเหมือนไปสำหรับโมเดลที่เล็กกว่า"
- mechkbfan: ถามดีๆ — "แต่ผมก็สงสัยว่ามันจะเทียบเท่าได้มากแค่ไหนถ้าเราเพิ่มปลั๊กอิน/ทักษะที่เหมือนกันเข้าไป? อย่างเช่น Nanobot, ฯลฯก็มีวิธีการเขียนโค้ดที่ตายตัวอยู่แล้ว"
- faisalkl: "กำลังใช้ Nanobot แต่กลุ่ม subreddit ของมันเล็กมาก ทำให้คิดว่าฉันเป็นคนเดียวที่ใช้มันอยู่เลย!"
Hermes (ปรากฏในบริบท)
- CptSparklez: "Hermes คือคนแรกที่ทำให้ผมรู้สึกว่า 'ว้าว นี่มันดูเหมือนจาร์วิส 0.01'"
- ไม่มี description เพิ่มในโพสต์ — แต่ OP รวมไว้ใน comparison
Other harnesses ที่ถูกพูดถึง
- Pi/Oh My Pi (Not-reallyanonymous: "อยากเห็น Oh My Pi ด้วย")
- DeepSeek agentic harness (chettykulkarni: "ช่วยเพิ่ม deep seek agentic harness ด้วยนะ")
- claw0 (จาก awesome-cli-coding-agents: "0-to-1 tutorial companion for the OpenClaw ecosystem")
- Moltis (จาก awesome-cli-coding-agents: "Secure, auditable Rust-native alternative to OpenClaw")
OP's Setup: Second Brain (OP's own agent)
# Features ที่ OP บอก
- Embedding and search entire corpus
- Self-extension โดยการเขียนและโหลดปลั๊กอิน
- Lockdown mode (sandbox safety) — fail กับ dangerous commands เช่น git push
- Docker-based test environment
Insight: OP ไม่ได้ claim ว่า agent ของตัวเองดีที่สุด — แค่ทำ benchmark อย่าง rigorous แล้วรายงานผลตรงๆ ("Second Brain ติดอันดับ 2 ซึ่งมันทำให้ฉันแปลกใจนิดหน่อย")
Ablie-Armadillo8214 — คำชมที่ตรงประเด็น
"เห็นคนวิ่งตัวเลขแทนที่แค่รู้สึกนี่มันน่าทึ่งดี ส่วนใหญ่เปรียบเทียบเอเจนต์ก็มักจะบอกแค่ 'รู้สึกว่าของฉันเร็วกว่านิดหน่อย' ก็เลยดีที่ทำข้อมูลออกมาอย่างจริงจัง"
"การพูดถึงนานาบอทนี่มันตลกดีเพราะมันเป็นตัวที่ได้ยินบ่อยในกระทู้แปลกๆ แต่ไม่เคยเห็นอยู่ในลีดเดอร์บอร์ดเลย ดีใจที่มันทำได้ดีในที่นี่"
"แล้วที่ได้ที่สองจากสิ่งที่ตัวเองสร้างขึ้นมานี่ก็น่าทึ่งนะ แม้ว่าจะเป็นเฟรมเวิร์กของตัวเอง แต่ก็ต้องอาศัยการคิดมากกว่าปกติเพื่อโกงแผนความร้อนที่ละเอียดขนาดนี้"
Insight ที่ดี: "ความเห็นว่าตัวเองสร้าง" ≠ "โกง" — ถ้าทำ benchmark แบบ OP (subset, deterministic Oracle, LLM judge, Docker isolation) คนอื่นก็ reproduce ได้
OP ตอบ:
"แผนที่ความร้อนทำจาก Google Sheets จริงๆ!"
วิธีคิดเรื่อง harness benchmark ที่ถูกต้อง
1. แยก harness quality vs LLM quality
OP ทำถูกต้อง — ใช้ LLM เป็นตัวแปรอิสระ (Sonnet-4.6 คงที่) + harness เป็นตัวแปรที่จะเทียบ
ถ้าเปลี่ยน LLM ด้วย → ตัวแปรจะปนกัน
2. Deterministic Oracle + LLM judge
# Oracle (deterministic)
- Check exit code
- Check file existence/content
- Check git state
# LLM judge (Sonnet-4.6)
- ตรวจ reasoning quality
- ตรวจ response clarity
Insight: ใช้ทั้งคู่ — Oracle สำหรับ "ถูก/ผิด" objective, LLM judge สำหรับ "ดี/ไม่ดี" subjective
3. ผ่าน/ไม่ผ่าน + ประสิทธิภาพการเรียก tool
Future_AGI critique สำคัญมาก — harness ที่ pass เท่ากันอาจ tool-call efficiency ต่างกัน 3 เท่า
Harness A: 10 tool calls, pass
Harness B: 30 tool calls, pass
→ Same pass rate, but B wastes 20 tool calls = $$$ + latency
4. Reproducibility
OP ทำ:
- Same task set
- Same Docker images
- Sonnet-4.6 version pin
- Oracle code published
ถ้า setup ไม่ pin → reproduce ไม่ได้ → benchmark ไร้ค่า
Tools ที่ช่วยทำ harness benchmark
harness-bench
โพสต์นี้ใช้ harness-bench ของ OP — มี 106 tasks, Docker-based, Oracle scoring
Terminal-Bench
OP ไม่ใช้ — บอกว่า "ทดสอบสิ่งที่แตกต่างจากสิ่งที่เอเจนต์ของฉันถูกสร้างมา"
Future AGI evaluation framework
# Apache-2.0
https://github.com/future-agi/future-agi
มี:
- Standard scoring
- Tool-call correctness
- Wasted tokens tracking
OpenHarness (HKUDS)
จาก web search:
# Supports CLI agent integration including OpenClaw, nanobot, Cursor
https://github.com/HKUDS/OpenHarness
ฟีเจอร์ built-in ที่รองรับ harness หลายตัว
สรุป
ผมเริ่มจากคำถามใน r/LocalLLM ที่ตั้งใจจะแยก agent framework ออกจาก LLM แต่กลับพบว่า agent harness benchmark เป็นปัญหาที่ยากกว่า LLM benchmark มาก — state-dependent, multi-turn, side effects
OP (donotfire) ทำได้ดีเพราะ:
- แยกตัวแปรชัด — agent เป็น control, LLM เป็น variable
- Oracle + LLM judge คู่กัน
- pin ทุกอย่างที่ reproduce ได้
- ไม่ปิดบังว่า agent ตัวเองติดอันดับ 2 (ไม่ใช่ 1)
3 ข้อเรียนรู้ที่ผมเก็บได้:
- ทุก harness score อย่างเดียวไม่พอ — ต้องวัด tool-call efficiency ด้วย (Future_AGI)
- ตัวเลขจาก heatmap ในภาพ อ่านได้ด้วย vision model — อย่าบอก disclaimer ถ้ายังไม่ได้ลอง
- ความคิดเห็น community ก็มีค่า — Ablie-Armadillo8214 ชี้ให้เห็นว่าตัวเลขจริงดีกว่า feel-based
สิ่งที่ยังไม่รู้:
- ทำไม OpenClaw score ต่ำผิดปกติ (17.5 กับ deepseek-v4-flash) — ยังไม่มีคำตอบชัด
- OpenClaw กับ harness อื่นๆ ต่างกันแค่ไหนเมื่อใช้ Claude API แทน open-source models
- ตัวเลข Second Brain (lockdown) ต่ำกว่าปกติ 9 คะแนน — sandbox safety มี cost เท่าไหร่
อ้างอิง
- How does your agent stack up against OpenClaw and Hermes? — r/LocalLLM — โพสต์ต้นเรื่อง
- OpenClaw — openclaw.ai — main project page, 346k stars
- OpenClaw Docs — plugins — harness plugin architecture
- nanobot — GitHub — HKUDS, 47.4k stars, 4,000-line Python
- nanobot wiki — official docs site
- awesome-cli-coding-agents — GitHub — claw0, Moltis, etc.
- Future AGI evaluation framework — GitHub — Apache-2.0, tool-call + wasted tokens scoring
- OpenHarness — GitHub — supports OpenClaw, nanobot, Cursor
- OpenClaw Plugin SDK — harness plugin spec
เนื้อหานี้มีประโยชน์ไหม? ช่วยสนับสนุนค่ากาแฟให้ผู้เขียนสักแก้ว
Buy Me a Coffee