𝗛𝗮𝗿𝗻𝗲𝘀𝘀 𝗘𝗻𝗴𝗶𝗻𝗲𝗲𝗿𝗶𝗻𝗴 𝗛𝗮𝘀 𝗡𝗼 𝗙𝗶𝘅𝗲𝗱 𝗔𝗱𝗱𝗿𝗲𝘀𝘀
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)
- Specification: คุณต้องกำหนดว่า agent ได้รับอนุญาตให้ทำอะไรได้บ้าง โมเดลไม่สามารถรู้นโยบายการคืนเงินเฉพาะเจาะจงหรือระดับความเสี่ยงที่คุณยอมรับได้ สิ่งเหล่านั้นต้องอยู่ในโค้ดของคุณ
- 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