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

Context Engineering Handbook

LEVEL 0 · ปูพื้นจากศูนย์

ในหน้าต่างมีอะไรบ้าง — ผ่ากองทั้งหมด

"ผมพิมพ์ไปสามบรรทัดเอง ทำไมมันขึ้นว่าใช้ไปสองหมื่นโทเคน" — คำถามนี้ตอบได้ทันทีถ้าเปิดฝาดูว่าในหน้าต่างมีอะไรอยู่บ้าง เพราะสิ่งที่พี่พิมพ์คือกองที่ เล็กที่สุด ในนั้นเสมอ

หน้าต่างบริบท · หนึ่งรอบของการเรียกคำสั่งประจำตัวกองที่ 1เจ้าของระบบ · คงที่นิยามเครื่องมือกองที่ 2ระบบ · บวมถ้าต่อเยอะความจำที่โหลดมากองที่ 3เราเขียนเอง · โตเงียบเอกสารที่ค้นมากองที่ 4ครึ่งระบบ ครึ่งโมเดลประวัติการคุย + ผลเครื่องมือกองที่ 5แทบไม่มีใครคุมโตเร็วที่สุดสิ่งที่พิมพ์ล่าสุดกองที่ 6เรา · เล็กที่สุด
FIG 2.1 สัดส่วนในภาพคือสัดส่วนที่พบจริงในงานยาว ๆ — กองที่เราพิมพ์เองบางที่สุด ส่วนกองที่ใหญ่ที่สุดคือประวัติกับผลเครื่องมือ ซึ่งแทบไม่มีใครคุมมัน

เราจะดูทีละกอง แต่ละกองตอบสามคำถามเหมือนกันหมด: (ก) มันคืออะไร · (ข) ใครเป็นคนใส่ · (ค) มันโตขึ้นเมื่อไหร่

2.1 กองที่ 1 · คำสั่งประจำตัว

คืออะไร: กติกาที่จริงเสมอไม่ว่าคุยเรื่องอะไร — บุคลิก ภาษา สิ่งที่ห้ามทำ รูปแบบคำตอบ · วงการเรียกว่า system prompt

ใครใส่: คนที่สร้างระบบ และบางส่วนพี่ตั้งเองได้ผ่านหน้าตั้งค่า

โตเมื่อไหร่: แทบไม่โต — คงที่ตลอดทั้งบทสนทนา · คุณสมบัติข้อนี้จะกลายเป็นเรื่องเงินในบทที่ 6

2.2 กองที่ 2 · นิยามเครื่องมือ

คืออะไร: รายการเครื่องมือที่โมเดลเรียกใช้ได้ พร้อมคำอธิบายว่าแต่ละตัวทำอะไรและรับค่าอะไรบ้าง — ค้นเว็บ อ่านไฟล์ ส่งเมล เรียกระบบอื่น

ใครใส่: ระบบ ตั้งแต่ก่อนที่โมเดลจะได้เห็นข้อความแรกของพี่ด้วยซ้ำ

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

2.3 กองที่ 3 · ความจำที่ถูกโหลดเข้ามา

คืออะไร: ไฟล์คำสั่งของโปรเจกต์ สรุปบทสนทนาเก่า โน้ตที่เคยบันทึกไว้ — ของที่ไม่ได้อยู่ในแชตนี้ แต่ระบบหยิบมาแปะให้

ใครใส่: ระบบ ตามกติกาที่ตั้งไว้ เช่น "โหลดไฟล์คำสั่งของโปรเจกต์นี้เสมอ"

โตเมื่อไหร่: โตตามที่พี่เขียนสะสมไว้ — และมันโตแบบ ไม่มีใครเห็น จนกว่าจะไปเปิดดู เรื่องนี้ทั้งเรื่องอยู่ในบทที่ 9

2.4 กองที่ 4 · เอกสารที่ค้นมาได้

คืออะไร: ผลการค้นเอกสาร ไฟล์ที่แนบ หน้าเว็บที่ดึงมา

ใครใส่: ระบบค้นมาให้ก่อน หรือตัวโมเดลค้นเอง — สองแบบนี้ต่างกันมาก และเป็นทั้งบทที่ 7

โตเมื่อไหร่: โตตามความยาวของสิ่งที่ค้นเจอ ซึ่งเราคุมได้น้อยกว่าที่คิด

2.5 กองที่ 5 · ประวัติการคุย — ตัวการที่แท้จริง

คืออะไร: ทุกข้อความที่พี่พิมพ์ ทุกคำตอบที่มันตอบ และผลลัพธ์ของเครื่องมือทุกครั้งที่ถูกเรียก ตั้งแต่ข้อความแรกจนถึงตอนนี้

ใครใส่: ระบบ อัตโนมัติ ทุกรอบ

โตเมื่อไหร่: ตลอดเวลา และเร็วกว่าที่พี่รู้สึกมาก — เพราะตัวที่กินที่จริง ๆ ไม่ใช่ประโยคที่เราพิมพ์ แต่คือ ผลลัพธ์ของเครื่องมือ · อ่านไฟล์หนึ่งครั้งอาจได้มาหลายพันโทเคน รันเทสต์หนึ่งรอบได้ log ยาวเหยียด และของพวกนั้น กองอยู่ในหน้าต่างไปตลอดทั้งเซสชัน ถ้าไม่มีใครจัดการ

นี่คือคำตอบของคำถามที่ปลูกไว้ในบทที่ 1: ที่มันจำเรื่องเมื่อกี้ได้ เพราะเรื่องเมื่อกี้ถูกแนบไปด้วยทั้งก้อนในทุกรอบ ไม่ใช่เพราะมันจำ

2.6 กองที่ 6 · สิ่งที่พี่เพิ่งพิมพ์

กองที่เล็กที่สุด แต่เป็นกองเดียวที่คนส่วนใหญ่คิดว่ามีอยู่

กองใครควบคุมขนาดทั่วไป
คำสั่งประจำตัวเจ้าของระบบ + พี่บางส่วนคงที่
นิยามเครื่องมือระบบคงที่ แต่บวมได้ถ้าต่อเยอะ
ความจำที่โหลดมาพี่ ผ่านไฟล์ที่เขียนไว้โตเงียบ ๆ
เอกสารที่ค้นมาครึ่งระบบ ครึ่งโมเดลเดายาก
ประวัติ + ผลเครื่องมือแทบไม่มีใครคุมโตเร็วที่สุด
สิ่งที่พิมพ์ล่าสุดพี่เล็กที่สุด

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