ระหว่างใช้งาน OpenCode Go ผมสังเกตเห็นความผิดปกติบางอย่างในแดชบอร์ด แม้จะเป็นโมเดลเดียวกันและมีโทเค็นอินพุตใกล้เคียงกัน (300K vs 257K) แต่ค่าใช้จ่ายกลับเป็น $0.0096 vs $0.4455 — ต่างกันถึง 46 เท่า สาเหตุมาจาก prompt caching
LLM จะนำการคำนวณก่อนหน้ากลับมาใช้ซ้ำเมื่อมี prefix เดิมซ้ำ ๆ และเอเจนต์เขียนโค้ดส่วนใหญ่จะส่งประวัติการสนทนาทั้งหมด (transcript) ไปเหมือนเดิมในทุกเทิร์น ทำให้ช่วงแรกมีต้นทุนต่ำเพราะอาศัยแคช แต่เมื่อ context window เต็มและเกิด compaction ขึ้น prefix จะถูกรบกวนและแคชก็จะใช้ไม่ได้
บทความนี้วิเคราะห์ต้นทุนแฝงของวิธีแบบ transcript และแนวทางทางเลือกที่ส่งเฉพาะ structured state พร้อมข้อมูลจากเซสชันดีบักจริง 44 เทิร์น (ลดโทเค็นได้ 80.4%) ประเด็นจึงไม่ใช่แค่ว่ามีแคชหรือไม่มีแคช แต่คือความต่างระหว่าง "โครงสร้างที่ไม่รู้ว่าเมื่อไรแคชจะพัง" กับ "โครงสร้างที่ไม่ต้องพึ่งพาแคช"
ยังไม่มีความคิดเห็น