ข้ามไปยังเนื้อหา
Tayakorn
Harness Engineering Handbook

Harness Engineering Handbook

LEVEL 3 · ขยายระบบ

Memory & Skills — ความรู้ที่อยู่ข้ามเซสชัน

วันนี้พี่สอน agent ไปครึ่งชั่วโมง: โปรเจกต์นี้ใช้ pnpm ไม่ใช่ npm · เทสต์ต้องรันด้วยคำสั่งนี้ · อย่าแตะโฟลเดอร์ legacy · พรุ่งนี้เปิดเซสชันใหม่ — ลืมหมดเกลี้ยง ถามคำถามเดิมครบทุกข้อ · จะโทษมันก็ไม่ได้: loop จบ = context หาย (บทที่ 2–3) · ความจำข้ามเซสชันไม่ใช่ของที่โมเดลมีให้ — มันคือระบบที่ harness ต้องสร้าง

9.1 ความรู้สามชั้นของ harness

  • ① Instructions ถาวร — ไฟล์อย่าง CLAUDE.md / AGENTS.md ที่ harness โหลดเข้า context ให้อัตโนมัติทุกเซสชัน เสียบเข้าใกล้ system prompt (จุดที่บทที่ 2 ชี้ไว้) · เหมาะกับกติกาโปรเจกต์ คำสั่งประจำ ข้อห้าม — เป็นชั้นที่จ่ายแพงสุดเพราะกิน context ทุกรอบ จึงต้องสั้น
  • ② Memory ที่ agent เขียนเอง — จดสิ่งที่เรียนรู้ระหว่างทำงานลงไฟล์/ฐานเก็บ ไว้ค้นในเซสชันหน้า · ต่างจากชั้นแรกตรงที่มันเกิดจากการทำงาน ไม่ใช่คนป้อน — โจทย์ยากคือ "จดอะไร" (ไม่ใช่ทุกอย่าง) และ "เมื่อไหร่เลิกเชื่อ" (ความรู้เก่าที่ผิดไปแล้วอันตรายกว่าไม่มี)
  • ③ Skills — ความรู้เฉพาะงานที่แพ็กเป็น "คู่มือพร้อมใช้": วิธี deploy ของทีม, ฟอร์มรายงานที่ถูกต้อง, ขั้นตอน review · ถูกโหลดเมื่องานเรียกเท่านั้น

สองข้อควรระวังที่มากับความรู้สามชั้นนี้: ความจำผิด ๆ อยู่ยาวกว่าความจำถูก — memory ที่จดไว้ผิด (หรือเคยถูกแต่โลกเปลี่ยนแล้ว) จะถูกหยิบมาใช้ซ้ำ ๆ อย่างมั่นใจ จดพร้อมบริบท/วันที่ ตรวจก่อนเชื่อ และออกแบบให้ลบง่ายพอ ๆ กับเพิ่ม · และ instructions ถาวรมีแนวโน้มบวม — ทุกคนอยากยัด "กฎอีกข้อเดียว" ลง CLAUDE.md จนมันกินงบ context เอง กฎเช็กง่าย: ถ้าไม่ได้ใช้แทบทุกเซสชัน มันไม่ควรอยู่ชั้น ① — ย้ายลงชั้น skill หรือ memory แทน

9.2 progressive disclosure — เคล็ดที่ทำให้ความรู้ไม่กินโต๊ะ

ความรู้ทั้งหมดขององค์กรใหญ่กว่า context window หลายเท่า — โหลดหมดตั้งแต่ต้นคือจ่ายมหาศาลให้ของที่ 95% ไม่เกี่ยวกับงานตรงหน้า (บทที่ 3 สอนไว้แล้วว่าจบยังไง) · ทางออกเรียกว่า progressive disclosure: ให้ agent เห็นแค่ "สารบัญ" ตลอดเวลา แล้วเปิดเนื้อเต็มเฉพาะเมื่อจำเป็น

รูปธรรมสุด ๆ: skill ชื่อ deploy-checklist — สิ่งที่อยู่ใน context ตลอดคือบรรทัดเดียว: "ขั้นตอน deploy + rollback — ใช้เมื่อจะขึ้น production" · ตัวเนื้อสามหน้านอนอยู่บนดิสก์ จนกว่างาน deploy จะมาถึง agent ถึงเปิดอ่าน — โครงสร้างเดียวกับ just-in-time retrieval ของบทที่ 3 แต่คราวนี้ใช้กับความรู้ของระบบเอง

① อยู่ใน context ตลอดsystem prompt · CLAUDE.md — สั้นที่สุดเท่าที่จะสั้นได้② โหลดเมื่องานเรียกskills — หัวข้อโผล่ตลอด (1 บรรทัด) เนื้อเต็มเปิดเมื่อใช้③ ค้นเมื่อต้องใช้memory ที่จดไว้ · โค้ดใน repo · เอกสาร — agent ใช้ tool ไปหยิบเองต้นทุน token ต่อรอบ: ต่ำ → สูงความจุ: น้อย → มหาศาลความรู้เลื่อนขึ้นชั้นบน "เฉพาะตอนถูกเรียก" — progressive disclosure (โครงเดียวกับบท 3)
FIG 9.1 สามชั้นความรู้: ยิ่งบนยิ่งแพงจึงต้องเล็ก ยิ่งล่างยิ่งจุได้มหาศาลเพราะจ่ายเฉพาะที่หยิบ · ศิลปะคือการวางของให้ถูกชั้น

สรุปบทที่ 9 — จบเซสชัน = ความจำหาย — harness แก้ด้วยความรู้สามชั้น: instructions ถาวร (CLAUDE.md — โหลดทุกเซสชัน ต้องสั้น) / memory ที่ agent จดเอง / skills (คู่มือเฉพาะงาน โหลดเมื่อใช้) · progressive disclosure: เห็นสารบัญตลอด เปิดเนื้อเมื่อจำเป็น — ประหยัด context แบบบท 3 · ระวังความจำ stale และ instructions บวม: อะไรไม่ได้ใช้ทุกเซสชัน อย่าให้อยู่ชั้นแพงสุด

อ่านแบบเต็มเล่ม