𝗛𝗮𝗿𝗻𝗲𝘀𝘀 𝗘𝗻𝗴𝗶𝗻𝗲𝗲𝗿𝗶𝗻𝗴 𝗛𝗮𝘀 𝗡𝗼 𝗙𝗶𝘅𝗲𝗱 𝗔𝗱𝗱𝗿𝗲𝘀𝘀

Harness Engineering ไม่ใช่ตำแหน่งใดตำแหน่งหนึ่งใน software stack ของคุณ แต่มันคือคุณสมบัติของโค้ดของคุณ

หลายคนคิดว่า harness เป็นเพียงแค่ wrapper รอบโมเดล AI ซึ่งนั่นเป็นความเข้าใจที่ผิด harness คือสิ่งที่ทำให้โมเดลสามารถนำไปใช้งานจริงในทางธุรกิจได้

ผมใช้สูตรอย่างง่ายคือ: Agent = Model × Harness

โมเดลคือเครื่องยนต์ ส่วน harness คือพวงมาลัย เบรก และราวกั้นความปลอดภัย

แต่ปัญหาคือ โมเดลมีการพัฒนาขึ้นอย่างต่อเนื่อง ทุกเวอร์ชันใหม่ของโมเดลจะดูดซับส่วนประกอบบางอย่างของ harness เข้าไปด้วย

  • โมเดลสาย Reasoning สามารถจัดการตรรกะแบบ chain-of-thought ได้แล้ว
  • โมเดลที่ดีขึ้นสามารถใช้งาน tool use ได้ในตัว (natively)
  • Context window ที่ยาวขึ้นเข้ามาแทนที่ระบบหน่วยความจำแบบเดิม

หากโมเดลกลืนกิน harness เข้าไป แล้วจะเหลืออะไรให้คุณสร้าง?

ส่วนที่จะละลายหายไปคือกลไกการทำงาน (mechanics) พวก loop, การลองใหม่ (retries) และการเชื่อมต่อหน่วยความจำ (memory stitching) จะกลายเป็นสิ่งพื้นฐานทั่วไป (commodities) อย่าเดิมพันอาชีพของคุณกับการสร้างแค่ระบบท่อ (plumbing)

ส่วนที่จะยังคงอยู่คือการกำหนดข้อกำหนด (specification) และการตรวจสอบ (verification)

  1. Specification: คุณต้องกำหนดว่า agent ได้รับอนุญาตให้ทำอะไรได้บ้าง โมเดลไม่สามารถรู้นโยบายการคืนเงินเฉพาะเจาะจงหรือระดับความเสี่ยงที่คุณยอมรับได้ สิ่งเหล่านั้นต้องอยู่ในโค้ดของคุณ
  2. Verification: คุณต้องพิสูจน์ได้ว่า agent ทำงานอยู่ภายใต้กฎของคุณ โมเดลไม่สามารถตัดสินตัวเองได้อย่างน่าเชื่อถือ คุณจึงต้องมีเลเยอร์ภายนอกมาคอยตรวจสอบการทำงาน

ลองนึกถึง agent สำหรับการคืนเงิน

หากคุณใส่ขีดจำกัดการคืนเงินไว้ใน prompt ผู้ใช้ก็สามารถหลอกโมเดลได้ แต่ถ้าคุณใส่ขีดจำกัดนั้นไว้ใน if-statement ในโค้ดของคุณ โมเดลก็ไม่สามารถโต้แย้งได้

if-statement นั้นแหละคือ Harness Engineering

Harness Engineering เกี่ยวข้องกับสองสิ่ง:

  • การกำหนดขอบเขตของพฤติกรรมที่ได้รับอนุญาต
  • การพิสูจน์ว่า agent ยังคงทำงานอยู่ภายในขอบเขตนั้น

โมเดลคือพืชที่คุณกำลังควบคุม Specification คือเป้าหมายของคุณ Harness คือตัวควบคุม (controller) Evaluations คือผลตอบรับ (feedback)

เครื่องมือและกลไกการทำงานจะเปลี่ยนไปทุกเดือน แต่ระเบียบวินัยของการทำ specification และ verification จะไม่เปลี่ยน

เลิกสร้างแค่ระบบท่อ (plumbing) แล้วเริ่มสร้างข้อจำกัด (constraints) และการพิสูจน์ (proofs) กันเถอะ

Source: https://dev.to/saurav_bhattacharya/harness-engineering-has-no-fixed-address-2m7a

Optional learning community: https://t.me/GyaanSetuAi