Engineering

Loop Engineering: ทีมจูน AI Harness ให้นิ่งได้ยังไงจริงๆ

เลิกป้อน Prompt ให้ Agent ทีละงาน แล้วหันมาออกแบบ Loop ที่ป้อน Prompt ให้มันแทน นี่คือ Pattern จริงที่ทีมต่างๆ ใช้เปลี่ยน AI Agent ที่ไม่นิ่งให้กลายเป็นตัวที่พึ่งพาได้ — Instruction Files, Hooks, Ratchet และการแยก Planner/Evaluator

HarmonyX Team 19 กรกฎาคม 2569 · 7 นาที
Loop Engineering: ทีมจูน AI Harness ให้นิ่งได้ยังไงจริงๆ
สารบัญ

    โพสต์แรก ของซีรีส์นี้บอกว่า Harness สำคัญกว่า Model โพสต์ที่สอง พาไปสำรวจเครื่องมือทั้งหมด ส่วนโพสต์นี้คือภาคลงมือทำ: มี Harness แล้ว จะทำให้มันนิ่งได้ยังไง

    คำตอบมีชื่อเรียกตั้งแต่เดือนมิถุนายน 2026 — Loop Engineering — มาจากไอเดียเดียวที่เปลี่ยนวิธีคุยเรื่องการทำงานกับ AI ไปเลย: เลิกพิมพ์ Prompt ป้อน Agent เองทีละงาน แล้วหันมาออกแบบ Loop ที่ป้อน Prompt ให้มันแทน คุณไม่ได้เขียนคำสั่งเองอีกต่อไป คุณกำลังสร้างเครื่องจักรที่เขียนคำสั่งแทนคุณ นี่คือส่วนประกอบของเครื่องจักรนั้น

    Instruction Files: Checklist ไม่ใช่คู่มือ

    Harness ทุกตัวที่จริงจังจะอ่านไฟล์ Instruction ของโปรเจกต์ทุก Session — CLAUDE.md, AGENTS.md หรือไฟล์แบบเดียวกัน นี่คือจุดที่คุณคุมได้และส่งผลมากที่สุด แต่เกือบทุกคนพลาดแบบเดียวกัน — เขียนมันยาวเป็นนิยาย

    ทีมที่ทำให้ระบบนิ่งจริง มองไฟล์นี้เหมือน Checklist ก่อนบินของนักบิน มีกฎ 2 ข้อ:

    1. สั้นเข้าไว้ — ไม่เกินประมาณ 60 บรรทัด ทุกบรรทัดแย่งความสนใจของ Model กันเอง ไฟล์ที่ยาวเกินไปจะเจือจางกฎที่สำคัญจริงๆ
    2. ทุกกฎต้องแลกมา อย่าเพิ่มกฎเพราะเดาไปเอง เพิ่มก็ต่อเมื่อมีความผิดพลาดจริงบังคับให้ต้องเพิ่ม

    # AGENTS.md

    - Run `pnpm test` before calling any change done. No exceptions.

    - Never edit files under /generated — they're built, not authored.

    - API responses are snake_case; the frontend is camelCase. Map at the boundary.

    - If a migration is needed, stop and ask. Never auto-migrate.

    ทุกบรรทัดคือแผลเป็นจากความผิดพลาดจริง มาดู Pattern ที่สร้างกฎพวกนี้ขึ้นมากันต่อ

    Ratchet: ความผิดพลาดที่กลายเป็นกฎถาวร

    Ratchet คือวินัยที่แยก Harness ที่ดีขึ้นเรื่อยๆ ออกจาก Harness ที่พลาดซ้ำเดิมไม่รู้จบ กฎง่ายๆ คือ: มองทุกความผิดพลาดของ Agent เป็นสัญญาณถาวร

    สมมติ Agent ลบไฟล์ที่ไม่ควรลบ ท่าแบบมือใหม่คือแก้ปัญหาแล้วเดินหน้าต่อ ท่าแบบ Loop Engineering คือถามว่า ทำยังไงไม่ให้เกิดซ้ำอีก — แล้วเขียนคำตอบนั้นลงไป จะเป็นบรรทัดในไฟล์ Instruction หรือดีกว่านั้นคือทำเป็น Hook ที่บังคับใช้จริงก็ได้ Ratchet หมุนได้ทางเดียว ทุกรอบที่หมุน ช่องว่างของความผิดพลาดที่จะเกิดขึ้นได้ก็เล็กลงเรื่อยๆ

    flowchart LR
      A[Agent makes a mistake] --> B[Fix it]
      B --> C[Encode a rule<br/>instruction file or hook]
      C --> D[That class of mistake<br/>can't recur]
      D --> A
    Ratchet: ทุกความผิดพลาดกลายเป็นกฎถาวร ทำให้ Harness แน่นขึ้นเรื่อยๆ ตามเวลา

    Hooks: กฎที่ Model เลี่ยงไม่ได้

    Instruction คือคำแนะนำ — Model เมินคำแนะนำได้ ส่วน Hooks คือการบังคับใช้จริง เป็นโค้ดที่ทำงานแน่นอนตายตัว ทำงาน ณ จุดที่กำหนดไว้ใน Loop ก่อนหรือหลัง Action ใดๆ Model เลี่ยงไม่ได้

    Hook แบบ PreToolUse บล็อกคำสั่งอันตรายได้ก่อนที่มันจะรัน ส่วน Hook แบบ PostToolUse รัน Test Suite ให้หลังแก้โค้ดทุกครั้ง แล้วป้อนผลที่พังกลับเข้า Loop ทันที หลักการออกแบบที่ทำให้ต้นทุนถูกคือ: สำเร็จแล้วเงียบ พังแล้วค่อยส่งเสียง Hook ที่ผ่านจะไม่พูดอะไรเลย มีแค่ตอนพังเท่านั้นที่โผล่ขึ้นมา Feedback Loop เลยแทบไม่มีต้นทุนในเคสปกติ แต่จะร้องดังทันทีตอนที่ควรร้อง

    # PreToolUse hook — refuse a destructive command

    if echo "$COMMAND" | grep -qE 'rm -rf|DROP TABLE|force push'; then

    echo "Blocked: destructive command requires human approval." >&2

    exit 1

    fi

    Context Management: ไม่ให้ Agent ลืมเป้าหมาย

    งานยาวๆ สร้างข้อความมหาศาล — เนื้อไฟล์ ผลลัพธ์คำสั่ง Log ข้อผิดพลาด ปล่อยไว้เฉยๆ สิ่งพวกนี้จะท่วม Context Window ของ Model จน Agent เริ่มลืมว่าตัวเองกำลังทำอะไรอยู่ มี 3 เทคนิคที่จัดการเรื่องนี้ และ Harness ที่โตแล้วจะทำให้อัตโนมัติ:

    • Compaction — พอ Context Window เต็ม สรุปประวัติเก่าทิ้ง เก็บแค่ใจความ ตัด Transcript ทิ้งไป
    • Offloading — เก็บ Output ก้อนใหญ่ (เช่น Log 5,000 บรรทัด) ไว้นอก Context แล้วให้ Agent ดึงมาเฉพาะส่วนที่ต้องใช้จริง
    • Progressive Disclosure — โชว์ Tool หรือ Skill ให้ Agent เห็นเฉพาะตอนที่มันเกี่ยวข้องจริงๆ แทนที่จะอธิบายทั้ง 50 ตัวตั้งแต่ต้น

    สำหรับงานที่ยาวข้ามหลาย Session ทีมต่างๆ จะเพิ่ม Planning Files เข้ามา — แตกเป้าหมายใหญ่เป็น Checklist เรียงลำดับให้ Agent ไล่ทำทีละข้อ แผนงานเลยอยู่บน Disk จริง ไม่ใช่แค่ความจำระยะสั้นที่หายง่าย

    Planner กับ Evaluator: อย่าให้ Agent ตรวจการบ้านตัวเอง

    อัปเกรดเดียวที่ทำให้ Loop นิ่งขึ้นมากที่สุด กลับเป็นเรื่องที่คนคิดไม่ถึงที่สุดด้วย: แยกตัวที่ลงมือทำ ออกจากตัวที่ตรวจ

    Agent เป็นพวกมองโลกในแง่ดีเกินจริง ให้มันเขียนโค้ดเองแล้วตัดสินเองว่าถูกไหม มันจะให้คะแนนตัวเองใจดีทุกครั้ง ให้ Agent อีกตัวหนึ่ง (หรืออย่างน้อยก็อีก Pass ที่ใช้ Prompt คนละแบบ) มารับหน้าที่ตรวจแทน คุณภาพจะกระโดดขึ้นทันที เพราะ Evaluator ไม่มีอีโก้ผูกกับงานที่ทำ Planner เสนอแผน Worker ลงมือทำ Evaluator ตัดสิน — สามบทบาท ไม่ใช่ฮีโร่คนเดียว

    รวมทุกอย่างเข้าด้วยกัน

    ไม่มี Pattern ไหนในนี้ที่แปลกใหม่เลย แต่รวมกันแล้วคือความต่างระหว่าง Demo กับระบบที่พึ่งพาได้จริง:

    • ไฟล์ Instruction สั้นๆ ที่อ่านแล้วเหมือน Checklist
    • Ratchet ที่เปลี่ยนทุกความผิดพลาดให้เป็นกฎถาวร
    • Hooks ที่บังคับใช้สิ่งที่ Instruction ทำได้แค่แนะนำ
    • Context Management ที่ไม่ให้ Agent หลุดประเด็น
    • การแยก Planner/Evaluator ที่ไม่ให้ใครตรวจงานตัวเอง

    นี่แหละคือ Loop Engineering คุณไม่ได้ไล่ตามหา Model ที่ฉลาดกว่าเดิม — คุณกำลังสร้าง Loop ที่ทำให้ Model ที่มีอยู่แล้วนิ่งขึ้น ตอนนี้มีหมวดหมู่ธุรกิจใหม่ harness-as-a-service กำลังก่อตัวขึ้นมาขายเครื่องจักรสำเร็จรูปแบบนี้โดยเฉพาะ แต่ Pattern พวกนี้เรียนรู้ได้ พอมีติดตัวแล้ว ใช้ได้กับ Harness ตัวไหนก็ได้ที่คุณเลือก

    ตอนที่สามของซีรีส์เรื่องยุคของ AI Harness ตอนต่อไป: เจาะลึก Pi — Harness แบบมินิมอลที่เดิมพันว่า Primitives ชนะ Features

    คำถามที่พบบ่อย

    Loop Engineering คืออะไร

    Loop Engineering คือแนวคิดปี 2026 ที่เน้นการออกแบบ Loop ที่ป้อน Prompt ให้ Agent เอง แทนที่จะพิมพ์ Prompt มือทีละงาน — คุณเลิกเขียนคำสั่งเอง แล้วหันมาสร้างเครื่องจักรที่เขียนคำสั่งแทน

    Ratchet Pattern คืออะไร

    Ratchet คือการมองทุกความผิดพลาดของ Agent เป็นสัญญาณถาวร — แทนที่จะแค่แก้ ก็เขียนกฎขึ้นมา (ใน Instruction File หรือดีกว่านั้นคือทำเป็น Hook ที่บังคับใช้จริง) เพื่อไม่ให้ความผิดคลาสนั้นเกิดซ้ำ ทำให้ Harness แน่นขึ้นเรื่อยๆ

    ทำให้ AI Agent นิ่งในงานยาวๆ ได้ยังไง

    ผสม Context Management (Compaction, Offloading, Progressive Disclosure) เข้ากับ Hooks ที่บังคับใช้สิ่งที่ Instruction ทำได้แค่แนะนำ และการแยก Planner กับ Evaluator เพื่อไม่ให้ Agent ตัวเดียวตรวจงานตัวเอง

    คัดลอกลิงก์แล้ว