← Context Engineering Handbook
LEVEL 2 · ระดับกลาง
เอาข้อมูลเข้าเมื่อจำเป็น — push กับ pull
พอรู้ว่าหน้าต่างมีหนึ่งล้านโทเคน ความคิดแรกของเกือบทุกคนคือ "งั้นยัดทุกอย่างเข้าไปเลยสิ" — เอกสารทั้งโฟลเดอร์ โค้ดทั้งโปรเจกต์ ฐานความรู้ทั้งบริษัท
บทที่ 4 บอกไปแล้วว่าทำไมไม่ควร (ของกลางกองจมหาย) และบทที่ 10 จะบอกอีกเหตุผลที่หนักกว่า · บทนี้ว่าด้วยทางเลือกที่ถูกต้อง
7.1 สองวิธีเอาข้อมูลเข้า
แบบ push — ระบบเดาแล้วป้อนให้ก่อน · ผู้ใช้ถามมา ระบบเอาคำถามไปค้นฐานเอกสาร หยิบชิ้นที่ดูเกี่ยวที่สุดสามถึงห้าชิ้นมาแปะไว้ในหน้าต่าง แล้วค่อยให้โมเดลตอบ · วงการเรียกท่านี้ว่า RAG
แบบ pull — โมเดลถือเครื่องมือค้นเอง · ระบบไม่ค้นอะไรให้เลย แต่ยื่นเครื่องมือค้นให้ แล้วปล่อยให้โมเดลตัดสินใจเองว่าจะค้นอะไร ค้นกี่รอบ ค้นเจอแล้วพอหรือยัง · วงการเรียกว่า agentic search
7.2 เทียบกันตรง ๆ
| push (RAG) | pull (agentic search) | |
|---|---|---|
| ใครตัดสินใจว่าจะเอาอะไรเข้า | ระบบ ก่อนโมเดลได้เห็นอะไร | ตัวโมเดล ระหว่างทำงาน |
| ค้นได้กี่รอบ | รอบเดียว | กี่รอบก็ได้ ปรับคำค้นได้ |
| ทำนายค่าใช้จ่ายได้ไหม | ได้ค่อนข้างแม่น | เดายาก |
| พังยังไง | ค้นพลาดรอบเดียว = จบ ไม่มีโอกาสแก้ | วนหาไม่เจอ เสียโทเคนไปเรื่อย |
| เหมาะกับ | คำถามรูปแบบเดิม ๆ ปริมาณเยอะ | งานสำรวจ ที่ยังไม่รู้ว่าคำตอบอยู่ไหน |
7.3 สมมติฐานที่ทั้งสองแบบเห็นตรงกัน
ต่างกันแค่ว่า ใครตัดสินใจ — แต่ทั้งคู่ยืนอยู่บนความเชื่อเดียวกัน:
ของที่ไม่ได้ใช้ ไม่ควรอยู่ในหน้าต่าง — ต่อให้มีที่ว่างเหลือก็ตาม
นี่คือเหตุผลที่ AI เขียนโค้ดยุคนี้ไม่โหลดทั้งโปรเจกต์เข้าหน้าต่าง แต่ยื่นเครื่องมือ "ค้นไฟล์" กับ "อ่านไฟล์" ให้แทน — จ่ายเฉพาะสิ่งที่หยิบมาใช้จริง
7.4 ท่าสำหรับคนไม่เขียนโค้ด
พี่ใช้หลักการเดียวกันได้โดยไม่ต้องแตะโค้ดเลย:
- แนบไฟล์ แทนที่จะ paste ทั้งฉบับลงแชต — ของที่ paste เข้าไปอยู่ในหน้าต่างทันทีและอยู่ตลอด แต่ไฟล์แนบระบบส่วนใหญ่จะหยิบเฉพาะส่วนที่เกี่ยว
- ถามเจาะจงก่อนถามกว้าง — "ในเอกสารนี้ ข้อ 4.2 เขียนว่าอะไร" ดึงของเข้ามาน้อยกว่าและแม่นกว่า "สรุปเอกสารนี้ให้หน่อย"
- แยกแชตตามงาน — เอกสารของงาน A ไม่ควรตามไปกินที่ในงาน B