การแคชคำสั่งและผลลัพธ์ (Anthropic, Vertex)
การแคชคำสั่งของ Anthropic และการแคชของ Vertex ลดค่าอินพุตได้สิบเท่าสำหรับคำสั่งระบบยาว ๆ ที่ใช้ซ้ำ
การแคชคำสั่งและผลลัพธ์ (Anthropic, Vertex) เป็นบทเรียน AI Agents ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน AI Agents และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส AI Agents มีบทเรียนทั้งหมด 4 บทเรียน
เหตุใดจึงต้องใช้แคช
การเรียกใช้ตัวแทนจำนวนมากแทบเหมือนกันทุกครั้ง ทั้งพรอมต์ระบบ ชุดตัวอย่างไม่กี่รายการ และอินพุตผู้ใช้ที่แตกต่างกัน หากไม่ใช้แคช คุณจะต้องประมวลผลส่วนคงที่ซ้ำทุกครั้งที่เรียกใช้
การใช้แคชช่วยลดต้นทุนโทเค็นอินพุตได้ถึง 10 เท่า
การแคชสองประเภท
- การแคชพรอมต์ (ฝั่งเซิร์ฟเวอร์) — ผู้ให้บริการแคชสถานะ KV ของแบบจำลองสำหรับคำนำหน้าที่ซ้ำกัน
- การแคชผลลัพธ์ (ฝั่งไคลเอนต์) — โค้ดของคุณแคชคำตอบทั้งหมดสำหรับอินพุตที่เหมือนกัน
การแคชพรอมต์ของแอนโทรปิก
ระบุส่วนที่แคชได้ด้วย cache_control:
response = client.messages.create(
model='claude-sonnet-4-5',
max_tokens=1024,
system=[
{'type': 'text', 'text': LONG_SYSTEM_PROMPT, 'cache_control': {'type': 'ephemeral'}}
],
messages=[{'role': 'user', 'content': user_input}]
)
# 1st call: full price
# 2nd call within 5min: 10% of input costอัตราการแคชสำเร็จ
ตรวจสอบออบเจกต์การใช้งานของคำตอบ:
response.usage.cache_creation_input_tokens # tokens cached this call
response.usage.cache_read_input_tokens # tokens read from cacheสิ่งที่ควรแคช
- พรอมต์ระบบที่มีมากกว่า 1,000 โทเค็น
- คำจำกัดความของเครื่องมือ
- ตัวอย่างแบบไม่กี่ช็อต
- บริบท RAG ที่ใช้ร่วมกันระหว่างคำค้น (พบไม่บ่อย)
ตำแหน่งวางเครื่องหมายแคช
การควบคุมแคชต้องอยู่บนบล็อกคงที่สุดท้าย ทุกสิ่งก่อนเครื่องหมายจะถูกแคช เนื้อหาที่คงที่ควรอยู่ต้นข้อความ ส่วนเนื้อหาที่เปลี่ยนแปลงควรอยู่ท้ายข้อความ
การแคชพรอมต์ของ OpenAI
OpenAI แคชพรอมต์ที่มีมากกว่า 1,024 โทเค็นโดยอัตโนมัติ ไม่ต้องใช้เครื่องหมายที่ระบุเอง:
# Just send the same prefix repeatedly. Cache discount applies automatically.
# Check response.usage.prompt_tokens_details.cached_tokensการแคชบริบทของ Vertex AI
กูเกิล Vertex กำหนดให้คุณสร้างออบเจกต์แคชอย่างชัดเจน:
from vertexai.generative_models import GenerativeModel, content_cache
cache = content_cache.CachedContent.create(
model='gemini-1.5-pro',
contents=[long_system_content],
ttl=300
)
model = GenerativeModel.from_cached_content(cache)
response = model.generate_content(user_input)แคชผลลัพธ์ฝั่งไคลเอนต์
สำหรับคำค้นที่ตรงกันทุกประการ (อินพุตเดียวกันและเอาต์พุตที่คาดหวังเดียวกัน) ให้ใช้แคชแบบคีย์–ค่า:
import hashlib
def cache_key(model, messages):
return hashlib.sha256(f'{model}:{json.dumps(messages)}'.encode()).hexdigest()
def cached_call(model, messages):
key = cache_key(model, messages)
if cached := redis.get(key):
return json.loads(cached)
result = real_call(model, messages)
redis.set(key, json.dumps(result), ex=3600)
return resultแคชเชิงความหมาย
ใช้เวกเตอร์ฝังตัวเพื่อแคชคำค้นที่คล้ายกันแต่ไม่เหมือนกันทุกประการ:
qvec = embed(query)
matches = vector_db.query(qvec, k=1)
if matches and matches[0].score > 0.95:
return matches[0].metadata['cached_response']การทำให้แคชใช้ไม่ได้
แคชที่ล้าสมัยจะส่งคืนคำตอบที่ไม่ถูกต้อง กลยุทธ์มีดังนี้:
- TTL — ใช้ระยะเวลาสั้นสำหรับข้อมูลที่ไวต่อเวลา
- ทำให้แคชใช้ไม่ได้ด้วยตนเองเมื่อข้อมูลมีการอัปเดต
- ใช้คีย์แยกตามผู้ใช้ เพื่อให้การอัปเดตมีผลต่อผู้ใช้เพียงคนเดียว
อย่าแคชคำตอบเฉพาะบุคคล
คำถามว่า "ยอดคงเหลือของฉันเท่าไร" ไม่สามารถแคชข้ามผู้ใช้ได้ โปรดระวังการใช้แคชร่วมกันในระบบที่มีผู้เช่าหลายราย
ต้นทุนแคชเทียบกับต้นทุน LLM
ต้นทุนของ Redis แทบไม่มีนัยสำคัญเมื่อเทียบกับต้นทุน LLM ให้ใช้แคชอย่างเต็มที่ แม้อัตราแคชสำเร็จเพียง 10% ก็ช่วยประหยัดเงินจริงได้
การประหยัดในโลกจริง
เมื่อใช้พรอมต์ระบบที่ใช้ร่วมกันและมีความยาวมากร่วมกับการแคชพรอมต์ ทีมต่าง ๆ มักพบว่าต้นทุนอินพุตลดลง 50–90% ในระบบใช้งานจริง นี่เป็นหนึ่งในวิธีเพิ่มประสิทธิภาพที่ให้ผลตอบแทนจากการลงทุนสูงที่สุด
ตัวกระตุ้นแคชของแอนโทรปิก
คุณเปิดใช้การแคชพรอมต์กับแอนโทรปิกได้อย่างไร
สรุปทบทวน
ใช้การแคชพรอมต์ฝั่งเซิร์ฟเวอร์สำหรับคำนำหน้าคงที่ ใช้แคช KV ฝั่งไคลเอนต์สำหรับข้อมูลที่ตรงกันทุกประการ และใช้แคชเชิงความหมายสำหรับข้อมูลที่ตรงกันแบบคลุมเครือ ตรวจสอบอัตราการแคชสำเร็จและเงินที่ประหยัดได้เสมอ
คำถามที่พบบ่อย
บทเรียน “การแคชคำสั่งและผลลัพธ์ (Anthropic, Vertex)” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การแคชคำสั่งและผลลัพธ์ (Anthropic, Vertex)” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส AI Agents ให้อัปเกรดเป็น CoddyKit PRO คอร์ส AI Agents มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การแคชคำสั่งและผลลัพธ์ (Anthropic, Vertex)”
การแคชคำสั่งของ Anthropic และการแคชของ Vertex ลดค่าอินพุตได้สิบเท่าสำหรับคำสั่งระบบยาว ๆ ที่ใช้ซ้ำ คุณปฏิบัติ AI Agents ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน AI Agents หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน AI Agents บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “การแคชคำสั่งและผลลัพธ์ (Anthropic, Vertex)” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน AI Agents นี้ได้ไหม
ได้ บทเรียน AI Agents ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- งบประมาณโทเค็นต่อขั้น
- การเลือกเส้นทางโมเดล (ราคาถูก -> ราคาแพง)
- การแคชคำสั่งและผลลัพธ์ (Anthropic, Vertex)
- การลดความละเอียดและการถอดรหัสแบบคาดการณ์