บทที่ 10 · ประกอบ Harness · The Synthesis

นี่แหละ Harness

เราเติมทีละชิ้นมาตั้งแต่บทที่ 04 — tools, context, memory, grounding, permissions, การคุมลูป, การมองเห็น ทั้งกองนี้รวมกันมีชื่อว่า harness และนี่คือบทเรียนใหญ่ที่สุดของครึ่งแรก: ความน่าเชื่อถือเป็นสิ่งที่ “ออกแบบ” ไม่ใช่ “ซื้อ” โมเดลตัวเดิม แต่ harness ดี = ของที่ไว้ใจได้

พูดแบบเข้าใจง่าย

Large Language Model คือ เครื่องยนต์ ล้วน ๆ — ข้อความเข้า ข้อความออก ตัวมันเองไม่มีความจำข้ามการเรียก ไม่มี “มือ” ไปทำอะไรในโลกจริง และตรวจงานตัวเองไม่ได้

Harness คือทุกอย่างที่เรา สร้างล้อมรอบ เครื่องยนต์นั้น เพื่อเปลี่ยนมันให้เป็น agent ที่พึ่งพาได้ — ลูปที่ให้ทำงานหลายรอบ, เครื่องมือที่เป็นมือ, บริบทที่ป้อนเข้าไป, ความจำข้ามรอบ, การปักหมุดกับข้อมูลจริง, สิทธิ์ที่กั้นว่าแตะอะไรได้, และการมองเห็นว่ามันทำอะไรลงไปจริง สลับเครื่องยนต์ให้ฉลาดขึ้นแต่ harness ห่วย — ก็ยังไม่น่าเชื่อถือ และตอนนี้คุณก็อยู่ใน harness ตัวหนึ่งอยู่แล้ว — เครื่องมืออย่าง Claude Code คือ harness ที่ครบเครื่อง

เปรียบเทียบ: เครื่องยนต์ F1 บนแท่นทดสอบ เครื่องยนต์ Formula 1 หมุนได้ 15,000 รอบ/นาที แต่บนแท่นในโรงงานมัน ขยับไม่ได้สักนิ้ว — ต้องมีตัวถัง สายน้ำมัน/หล่อเย็น เบรก ตัวจำกัดความเร็วพิตเลน telemetry และวิทยุทีมพิตก่อนจะวิ่งจบรอบ เครื่องยนต์คือส่วนที่ “ซื้อมา” รถทั้งคันรอบ ๆ คือส่วนที่ “ออกแบบ” — เครื่องแรงขึ้นในรถที่ไม่มีเบรกและ telemetry ก็แค่ทำให้ชนเร็วขึ้น

ในระบบของเรา — 7 ชิ้นที่มองเห็นได้จาก “พฤติกรรม” ของผู้ช่วยจัดการแล็บ

กลับมาที่งานแกนของเรา — “ขยับการจอง Lab 3 ไม่ให้ชนคาบเรียน” — ทุกชิ้นที่เราสร้างมาทำงานพร้อมกัน:

Contextรู้กติกา: คาบเรียน วันหยุด ซ่อมบำรุง
Toolsดึงการจองจริง ไม่ใช่เดา
Loop · Verifyลองจอง → ระบบบอกชน → เลื่อนเวลา → ยืนยัน OK
Permissionsจะ “จอง” จริง ต้องผ่าน gate ของคน
ชิ้นส่วนของ harnessพฤติกรรมที่เห็นได้ในผู้ช่วยจัดการแล็บ
Loopถามตัวเองซ้ำได้หลายรอบ — ลองจอง เห็นผล แล้วตัดสินใจขั้นต่อไป (ไม่ใช่ตอบทีเดียวจบ)
Toolsมี “มือ” ดึงการจอง/ตาราง/สถานะเครื่องมือ ของจริง
Contextป้อนกติกาและตัวตน เช่น คาบเรียน/วันหยุด/ซ่อมบำรุง และ “อย่าเดาชื่อห้องเอง”
Memoryแหล่งความจริงอยู่ในฐานข้อมูล ดึงใหม่ได้; ข้อเท็จจริงที่ต้องคงอยู่เขียนลงที่ถาวร
Groundingตอบจากสถานะจริง + schema-first กันการแต่งห้องที่ไม่มี
Permissionsอ่านได้อิสระ แต่ “จอง/เขียน” ต้องผ่าน gate; เปิด tool เท่าที่จำเป็น
Operatingลูปมีเพดานเวลา/รอบ และทุกการเรียกถูกบันทึกเป็น trace (แม้ยังแบน)

ทำพลาด vs ทำถูก

⚠️ แย่ · เรียกครั้งเดียวแล้วเรียกว่า “agent”
ไม่มีลูป ไม่มีมือ
แปะข้อมูลแล้วถาม — ลงมือกับโลกจริงไม่ได้ แก้ตัวเองไม่ได้ ดูดีในเดโม พังทันทีที่ข้อมูลจริงเปลี่ยน
⚠️ แย่ · ถอดชิ้นเดียวออก
ความน่าเชื่อถือพังเฉพาะจุด
ถอด permissions → มันจองให้ทั้งที่คุณแค่ถาม; ถอด context → ตอบว่าว่างทั้งที่ชนคาบ แต่ละชิ้นมีหน้าที่เดียว และจะเห็นค่าของมันก็ต่อเมื่อมันหายไป
✅ ดี · harness ครบ 7 ชิ้น
โมเดลตัวเดิม แต่ไว้ใจได้
ดึงของจริง ปักหมุด ตรวจจากสภาพแวดล้อม กั้นสิ่งที่ย้อนไม่ได้ มีเพดานกันค้าง มีร่องรอยให้ย้อนดู

ลองเอง — ถอด harness ทีละชิ้น

กิจกรรม · กดสลับแล้วดูผล
Strip the Harness
ทั้ง 7 ชิ้นเปิดอยู่ = agent เชื่อถือได้ ลองกด “ถอด” ทีละชิ้น แล้วดูว่ามันพังแบบไหน — สังเกตว่า โมเดลไม่ได้โง่ลงเลย มีแต่โครงสร้างรอบ ๆ ที่หายไป
สถานการณ์
งานแกน: “ขยับการจอง Lab 3 ไม่ให้ชนคาบเรียน แล้วตอบให้ถูกว่าจองได้จริงไหม”
ชิ้นส่วนของ harness (กดเพื่อถอด/ใส่กลับ)

Harness Scorecard ใบแรก — ให้คะแนนผู้ช่วยจัดการแล็บ

ตลอด 9 บทที่ผ่านมา เราจดมิติไว้ทีละข้อ ถึงเวลารวมเป็นตารางเดียว นี่คือสิ่งที่ทำให้คอร์สนี้ “ซื่อสัตย์”: เราจะ ค้นพบจุดอ่อนเอง ไม่ใช่กล่าวอ้างว่าเก่งทุกด้าน

มิติ (จากบท)ผู้ช่วยจัดการแล็บ
นิยามงานก่อนสร้าง (1)✅ ชัดเจน
ค้นของจริง ไม่เดา (2,4)✅ ผ่าน tools
verify จากสภาพแวดล้อม (3,7)✅ แข็ง
บริบท/กติกาที่ถูกต้อง (5)✅ ดี
memory / แหล่งความจริง (6)◑ พอใช้ (state แชตไม่มีบ้านถาวร — ตั้งใจ)
permissions & gate (8)แข็งมาก (จุดแข็งของระบบ)
คุมลูป (9)✅ มีเพดาน
observability (9)⚠️ อ่อน — มี log แต่ยังแบน
ลายเซ็นที่เริ่มปรากฏ: ระบบเรา แข็งเรื่องการคัดสรร · การปักหมุดข้อมูลจริง · ความปลอดภัย แต่ อ่อนเรื่องการมองเห็น (observability) และการประเมิน agent — บทที่ 17 จะกลับมาดูภาพรวมนี้ทั้ง fleet
มองไปข้างหน้า — จาก “หนึ่งตัว” สู่ “เชื่อมโลกและสเกล” เรามี harness ที่สมบูรณ์ในตัวแล้ว ส่วนที่ 3 เป็นต้นไป จะพา harness นี้ออกไป เชื่อมกับโลกอย่างเป็นมาตรฐาน (MCP), แพ็กวิธีทำงานซ้ำ ๆ และคุมพื้นที่ context (Skills), แล้วต่อด้วยเรื่องยาก ๆ: context engineering, security, การประเมิน และมุมมองมืออาชีพ

สรุปบทที่ 10

📋 build-your-harness checklist — ครบ 9 บรรทัดของ “แกนกลาง” นิยามงาน · แยก script จาก LLM · ลูป+verify · tools คัดสรร · บริบทที่ถูก · memory/แหล่งความจริง · grounding+gate · deny-by-default · เพดานลูป+trace — นี่คือสเปกของ harness หนึ่งตัว ส่วนถัด ๆ ไปจะต่อยอดมัน