Harness is all you need: เปิดตัว thClaws
Harness is all you need

ตอนที่เรา reverse-engineer Claude Code — จาก sourcemap ที่ Anthropic เผลอ publish ขึ้น npm ในเดือนมีนาคม — เราคาดว่าจะเจอ engineering ที่ล้ำลึกทางด้าน AI โครงสร้าง loop ที่ฉลาด การ orchestrate model ที่ล้ำสมัย หรือสูตรลับบางอย่างที่อธิบายได้ว่าทำไมเครื่องมือนี้จึงรู้สึกเหมือนเพื่อนร่วมงาน ไม่ใช่ chatbot
สิ่งที่เจอ:
1.6% ของ codebase คือ AI decision logic ส่วนอีก ~98.4% คือ deterministic harness — permission gate, context compaction, tool routing, sub-agent dispatch, retry policy, prompt-cache marker, sandbox
โมเดลไม่ใช่ตัวสินค้า harness ต่างหากที่เป็นสินค้า
นั่นคือ insight ที่กลายเป็นการตัดสินใจรากฐานของ thClaws — และอีก 3 สัปดาห์ต่อมา วันนี้เรา ship v0.3.1 ออกสู่โลก สามสัปดาห์ ไม่ใช่เพราะเราเป็นอัจฉริยะ แต่เพราะ ส่วนใหญ่ของ agent ไม่ใช่ AI — เมื่อยอมรับสิ่งนี้ งานก็หยุดเป็น research แล้วกลายเป็น plumbing
“Harness is all you need”
งานวิจัยที่เปลี่ยนวงการ AI ในปี 2017 ชื่อ “Attention is all you need” แปดปีต่อมา บทเรียนได้หมุนไปอีกหนึ่งตำแหน่ง Attention ยังคงเป็นทุกอย่าง ภายใน model — แต่เมื่อ model เริ่ม ลงมือทำในโลกจริง (อ่านไฟล์ รันคำสั่ง shell เรียก API ภายนอก) attention ไม่ได้เป็น bottleneck อีกต่อไป scaffolding (โครงสร้างนั่งร้านที่ค้ำยัน) ต่างหากที่เป็น
อะไรที่แยก agent ที่ส่ง pull request กับ chatbot ที่พูดถึง pull request? ไม่ใช่ LLM — ส่วนใหญ่เป็น model เดียวกันด้วยซ้ำ สิ่งที่ต่างคือทุกอย่างที่อยู่รอบ ๆ ตัวโมเดล: loop, tool definition, permission system, วิธี summarize history เมื่อ context เต็ม, การ sandbox file edit, การ spawn sub-agent และวิธีกู้กลับเมื่อมันพัง
นี่คือ harness และอย่างที่ Mike Krieger (CPO, Anthropic) พูดที่ Cisco AI Summit เมื่อกุมภาพันธ์ที่ผ่านมา:
“Claude is now writing Claude. For most products at Anthropic it’s effectively 100% just Claude writing — and what we’ve done is created all the right scaffolds around it to let us trust it.”
“ตอนนี้ Claude เขียน Claude เอง สำหรับ product ส่วนใหญ่ของ Anthropic ก็คือ Claude เขียนเอง 100% — และสิ่งที่เราทำคือสร้าง scaffold ที่เหมาะสมล้อมรอบมันไว้ เพื่อให้เราเชื่อใจมันได้”
อนาคตของซอฟต์แวร์ไม่ใช่ “LLM จะเขียน app ของคุณ” แต่เป็น “LLM จะ เป็น scheduler ของ app” — ตัวกำกับว่าจะเรียก tool, skill, หรือ external service ตัวไหนต่อ เหมือน kernel scheduler ของ OS ที่ส่ง process เข้า CPU ทีละตัว Anthropic เรียกมันว่า agentic application Andrej Karpathy เรียกว่า Software 3.0 ไม่ว่าจะชื่ออะไร นี่คือชั้นที่กำลังกลืน vertical SaaS และมันรันบน harness ไม่ใช่บน attention
เราอยากสร้างที่ชั้นนั้น เลยลงมือทำ
ทำไม clean-room port
Claude Code คือ harness ที่ดีที่สุดเท่าที่เคยมีมา — เห็นด้วยทุกประการ แต่มันมีข้อจำกัดสองข้อที่เรารับไม่ได้:
- ล็อกกับ Anthropic เท่านั้น ไม่มี Ollama ที่วิ่งในเครื่องเราเอง ไม่มี GPT สำหรับ one-shot ไม่มี Gemini สำหรับ long context ไม่มี DashScope ที่เก่งแต่ราคาประหยัด ไม่มีกลยุทธ์ multi-provider เมื่อต้องคำนึงถึงต้นทุน latency หรืออธิปไตยของข้อมูล
- เป็น CLI เท่านั้น ดีเยี่ยมสำหรับ engineer — มองไม่เห็นสำหรับนักกฎหมายที่ร่างสัญญา นักบัญชีที่สรุปงบ PM ที่ไม่เคยเปิด terminal มาก่อน
เราชอบ design ของมัน เราไม่อยาก fork มาตรง ๆ เราอยากเอาสิ่งที่ Claude Code สอนเรา — pattern ของ loop, sub-agent recursion guardrail, ระบบ skill, การ integrate กับ MCP — มาสร้าง รูปร่างใหม่: native, local, multi-provider, multi-surface, sovereign by design
เราเลยทำ clean-room port ไป Rust ไม่ใช่โดยอ่าน source ของ Anthropic แต่อ่าน behavior แล้ว implement pattern ของ harness ใหม่จากศูนย์ เราเลือก Rust เพราะเราต้องการ binary 15 MB ตัวเดียวที่ boot ใต้ 200 ms รันบน 6 platform โดยไม่ต้องบอกให้ user ลง Node ก่อน Rust เพราะรอยต่อระหว่าง shell command ที่ user อนุมัติ กับ output จาก MCP server ที่ไม่รู้จักที่มา — คือจุดที่ memory safety เป็นเรื่องเป็นตาย
เราได้แรงบันดาลใจจากเพื่อนบ้านในวงการด้วย:
- Claude Code (Anthropic) — pattern ของ loop, slash-command UX, sub-agent recursion guardrail
- Open Claw (community) — ตัวอย่างชัดเจนว่าชุมชนต้องการ agent orchestrator ไม่ใช่แค่ agent ตัวเดียว
- Claude Cowork — ปรัชญาการทำงานบนเครื่องของเราเองและจัดการไฟล์บนเครื่องเราได้ เมล็ดของฟีเจอร์ Files — file viewer + editor ที่ Cowork เองไม่มี
ทั้งสามตัวร่างเงาให้ เรามาลงสีต่อ
thClaws คืออะไร
thClaws คือ native-Rust AI agent workspace ที่รันบนเครื่องของคุณ — binary ตัวเดียว, surface หลัก 3 ตัว, บวกอีก 1 ตัวสำหรับ orchestration ทุก surface ใช้ engine ตัวเดียวกัน:
- Chat — สำหรับนักกฎหมาย นักวิเคราะห์ marketer PM ภาษาธรรมชาติ ใช้ง่าย ไม่ต้องเรียน prompt
$ - Terminal — สำหรับ engineer ที่ใช้ชีวิตใน tmux มี up-arrow history, slash command, raw tool output ทุก keystroke มีค่า
- Files — preview, edit, browse ใช้ CodeMirror สำหรับ source, TipTap สำหรับ markdown, มี diff view ครบเมื่อ agent แตะไฟล์
- Team (extra mode) — agent thClaws หลายตัว coordinate ผ่าน shared mailbox + task queue แต่ละตัวอยู่ใน git worktree ของตัวเอง backend ในหน้าต่างนี้ frontend ในหน้าต่างนั้น lead รวม branch เมื่อทั้งคู่เสร็จ
ทั้งสี่ surface ใช้ provider stack เดียวกัน (Anthropic, OpenAI, Gemini, Alibaba DashScope, OpenRouter, Ollama, Agentic Press), skill เดียวกัน, MCP server เดียวกัน, session บน disk เดียวกัน สลับ surface ได้อิสระ บทสนทนามาด้วย
Files tab — preview · edit · browse โปรเจกต์ ใช้ CodeMirror สำหรับ source และ TipTap สำหรับ markdown
Terminal tab — REPL ครบทุก slash command และมี prompt history ผ่าน up-arrow
Chat tab — surface แบบสนทนา สำหรับคนที่ไม่ใช่ developer engine และ session ตัวเดียวกับ surface อื่น
สิ่งที่เรา ship วันนี้ (v0.3.1) อยู่ที่ thclaws.ai source อยู่ที่ github.com/thClaws/thClaws dual license Apache-2.0 / MIT มี pre-built binary สำหรับ macOS (ARM + Intel), Linux (x86_64 + aarch64), Windows (x86_64 + ARM64) ดาวน์โหลดครั้งเดียว ดับเบิลคลิกครั้งเดียว agent ก็รัน
ทำไมเราถึงสร้างมัน
การสร้าง thClaws สอนเราในสิ่งที่ตอนเริ่มยังไม่รู้: harnessing เป็นศาสตร์ของตัวเอง มันไม่ใช่ “infrastructure for AI” — มันเป็น craft ที่มีพื้นที่การออกแบบของตัวเอง มี failure mode ของตัวเอง มี aesthetic ของตัวเอง สิ่งที่เราเรียนรู้:
- การตัดสินใจที่ยากที่สุดใน agent loop ไม่ใช่ จะเรียก tool ไหน — แต่เป็น เมื่อไรจะหยุด policy ของ compaction, ขอบเขตของ sub-agent, ช่วงเวลาที่ loop ควรคืน control กลับไปหา user ส่วนใหญ่ของ harness เป็นเรื่องของการจบ ไม่ใช่การลงมือ
- Provider abstraction ไม่ได้ฟรี 11 provider แปลว่ามี converter 22 ตัว และ normalizer ตรงกลาง ทุกฟีเจอร์ใหม่ของ provider ตัวใดตัวหนึ่งคือบทพิสูจน์ว่า abstraction ของเรารับได้ไหม เราเขียน enum ของ message block ใหม่ 3 ครั้ง ครั้งที่ 4 ถึงจะอยู่
- Sandbox จะใช้งานได้ก็ต่อเมื่อมัน load-bearing วินาทีที่ permission gate กลายเป็น checkbox ที่ user คลิก “Always allow” — เกมจบ เราเลยลงทุนกับการนำเสนอ approval request ให้คำตอบที่ ถูก เป็น default ที่เห็นชัด
- GUI สำหรับ agent ไม่ใช่ GUI สำหรับ chat — มันคือ GUI สำหรับ การมอบหมาย (delegation): วิธีดูว่า “อะไร” กำลังทำงานแทนเรา และจะ interrupt ได้ตอนไหน effort ของ UI เราส่วนใหญ่ไปที่ observability ไม่ใช่ interaction
นี่คือ insight ที่ได้มาจากการลงมือสร้างเท่านั้น เราได้มาจากการสร้าง thClaws — และเรากำลังเล่ามันต่อในบล็อกตอนต่อๆไป ที่เดินคู่ไปกับการเปิดตัวนี้
เปิด source โดยตั้งใจ
เราเชื่อว่า agent infrastructure ควรเป็น public good — เหมือน HTTP เหมือน Linux เหมือน POSIX ถ้าชั้นที่จะกลายเป็น runtime ของซอฟต์แวร์ในทศวรรษหน้าถูก control โดย vendor เดียว เราจะได้เห็นการรวมศูนย์ที่หนักกว่าที่เคยเจอจาก browser monoculture หรือ app-store gatekeeping มาก
thClaws จึงเปิด source ThaiGPT Co., Ltd. ถือ copyright community ถือกุญแจของวิวัฒนาการ repo มาพร้อม CONTRIBUTING / CODE_OF_CONDUCT / SECURITY ครบ เพราะเราเอาจริง — สิ่งนี้ออกแบบมาให้โต
Pattern ของ harness ไม่สนใจว่าตัวเองรับใช้ domain ไหน scaffold เดียวกันที่รัน coding agent รัน contract-drafting agent รัน research agent รัน music-production agent ความต่างอยู่ที่ skill, system prompt, toolset kernel — harness — อยากถูกแชร์
นั่นคืออนาคตที่เรากำลังสร้าง ไม่ใช่ “agent สำหรับ developer ไทย” ไม่ใช่ “Claude Code clone อีกตัว” แต่เป็น foundation ที่ขยายไปสู่ AI application ทุกแบบ — coding, drafting, research, design, ops, education — โดยให้ harness รับน้ำหนัก และ model dispatch ไปยังสิ่งที่อยู่ข้างบน
ก้าวต่อไป
v0.3.1 เป็น release แรกที่เรากล้าเรียกว่า stable ข้างหน้ายังมี:
- Agent Teams ที่ลึกขึ้น — semantics ของ mailbox ที่รวยขึ้น, role-based permission, recovery pattern เมื่อ teammate wedge
- Registry ของ skill และ plugin — เพื่อให้ความเชี่ยวชาญเฉพาะทางจาก community ถูก package และ share โดยไม่มี friction
- Mobile companion — view session ของ agent บนมือถือแบบ read-only พร้อม push notification สำหรับ approval request ของ run ระยะยาว
- Headless deploy — agent process ระยะยาวผ่าน Agentic Press hosting จัดตาม schedule และ trigger ผ่าน webhook
ถ้าสิ่งนี้ resonate — ถ้าคุณเคยรู้สึกถึงช่องว่างระหว่าง “chatbot” กับ “agent ที่ทำงานได้จริง” — เราอยากให้คุณช่วยสร้างต่อ
เริ่มใช้งาน
- ดาวน์โหลด v0.3.1 — 6 binary ติดตั้งใน ~1 นาที
- Source บน GitHub — star, fork, file an issue
- Contribute — pattern ของ harness ใหญ่กว่าทีมใดทีมหนึ่ง
โมเดลไม่ใช่ตัวสินค้า harness ต่างหากที่เป็น และ harness — ในที่สุด — ก็เป็นของคุณแล้ว
— Jimmy