0Pricing
AI Agents · บทเรียน

การแคชคำสั่งและผลลัพธ์ (Anthropic, Vertex)

การแคชคำสั่งของ Anthropic และการแคชของ Vertex ลดค่าอินพุตได้สิบเท่าสำหรับคำสั่งระบบยาว ๆ ที่ใช้ซ้ำ

การแคชคำสั่งและผลลัพธ์ (Anthropic, Vertex) เป็นบทเรียน AI Agents ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน AI Agents และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส AI Agents มีบทเรียนทั้งหมด 4 บทเรียน

เหตุใดจึงต้องใช้แคช

การเรียกใช้ตัวแทนจำนวนมากแทบเหมือนกันทุกครั้ง ทั้งพรอมต์ระบบ ชุดตัวอย่างไม่กี่รายการ และอินพุตผู้ใช้ที่แตกต่างกัน หากไม่ใช้แคช คุณจะต้องประมวลผลส่วนคงที่ซ้ำทุกครั้งที่เรียกใช้

การใช้แคชช่วยลดต้นทุนโทเค็นอินพุตได้ถึง 10 เท่า

การแคชสองประเภท

  1. การแคชพรอมต์ (ฝั่งเซิร์ฟเวอร์) — ผู้ให้บริการแคชสถานะ KV ของแบบจำลองสำหรับคำนำหน้าที่ซ้ำกัน
  2. การแคชผลลัพธ์ (ฝั่งไคลเอนต์) — โค้ดของคุณแคชคำตอบทั้งหมดสำหรับอินพุตที่เหมือนกัน

การแคชพรอมต์ของแอนโทรปิก

ระบุส่วนที่แคชได้ด้วย 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. งบประมาณโทเค็นต่อขั้น
  2. การเลือกเส้นทางโมเดล (ราคาถูก -> ราคาแพง)
  3. การแคชคำสั่งและผลลัพธ์ (Anthropic, Vertex)
  4. การลดความละเอียดและการถอดรหัสแบบคาดการณ์
← กลับไปที่ AI Agents