คู่มือ

หน่วยความจำของเอเจนต์ AI: สี่ประเภทและวิธีเก็บ

หน่วยความจำของเอเจนต์ AI ไม่ใช่แค่หน้าต่างบริบทที่ยาว เอเจนต์ต้องการหน่วยความจำสี่แบบ เก็บแต่ละแบบอย่างไร และอะไรไม่ควรเก็บ พร้อมคำสั่ง HotKV

หน่วยความจำของเอเจนต์ AI ในภาพเอเจนต์ที่มีที่เก็บหน่วยความจำสี่แห่งล้อมรอบ ได้แก่ บทสนทนา เชิงความหมาย เพื่อการทำงาน และเหตุการณ์

หน่วยความจำของเอเจนต์ AI คือสิ่งที่ทำให้เอเจนต์พาข้อมูลบางอย่างจากขั้นตอนหนึ่ง หรือจากเซสชันหนึ่ง ไปยังขั้นตอนหรือเซสชันถัดไปได้ โมเดลภาษาเพียงลำพังไม่จำอะไรระหว่างการเรียกแต่ละครั้ง ทุกสิ่งที่ดูเหมือนมันจำได้ล้วนเป็นสิ่งที่โค้ดของคุณใส่กลับเข้าไปในพรอมต์ วิธีที่คุณเก็บและดึงข้อมูลนั้นเป็นตัวกำหนดว่าเอเจนต์จะนึกอะไรออกได้ เร็วแค่ไหน และมีต้นทุนต่อรอบเท่าใด

สรุปสั้นๆ เอเจนต์ต้องการหน่วยความจำสี่แบบ ได้แก่ หน้าต่างบทสนทนาแบบสั้น ข้อเท็จจริงระยะยาวที่ค้นหาด้วยความหมาย scratchpad สำหรับงานที่กำลังทำ และบันทึกของสิ่งที่เกิดขึ้น แต่ละแบบมีรูปร่าง อายุ และวิธีค้นหาต่างกัน ตารางหน่วยความจำตารางเดียวจึงไม่เหมาะกับแบบใดเลย HotKV เก็บทั้งสี่แบบไว้ในเอนจินในหน่วยความจำตัวเดียวด้วยคำสั่ง AMEM.* เราเบนช์มาร์กการแคชและ vector search ของ HotKV ไม่ใช่หน่วยความจำของเอเจนต์ บทความนี้จึงอธิบายการออกแบบและไม่อ้างว่าเร็วขึ้น

ทำไมหน้าต่างบริบทจึงไม่ใช่หน่วยความจำ

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

หน่วยความจำคือชั้นที่ตัดสินว่าอะไรจะเข้าสู่หน้าต่างในรอบถัดไป มันเก็บรอบสนทนาล่าสุดและหาข้อเท็จจริงเก่าไม่กี่ข้อที่สำคัญ มันเก็บสถานะของงานปัจจุบันและบันทึกสิ่งที่เอเจนต์ทำไปแล้ว นักวิจัยอธิบายเอเจนต์ในลักษณะคล้ายกัน กรอบ CoALA โดย Sumers, Yao, Narasimhan และ Griffiths แยกหน่วยความจำเพื่อการทำงานออกจากหน่วยความจำระยะยาวแบบเหตุการณ์ เชิงความหมาย และเชิงกระบวนวิธี

หน่วยความจำของเอเจนต์ AI สี่ประเภท

ที่เก็บทั้งสี่ของ HotKV ครอบคลุมพื้นที่ส่วนใหญ่เดียวกัน ปรับให้เข้ากับสิ่งที่แอปพลิเคชันต้องสร้าง หน่วยความจำเชิงกระบวนวิธี ซึ่งเป็นความรู้ความชำนาญที่อยู่ในโค้ดและพรอมต์ของเอเจนต์ ปกติอยู่ในรีโพซิทอรีของคุณหรือ prompt registry และไม่ใช่ที่เก็บของตัวเอง

หน่วยความจำบทสนทนา

นี่คือบันทึกระยะสั้นของหนึ่งเซสชัน ข้อความมีบทบาทกำกับ (system, user, assistant หรือ tool) อยู่ในหน้าต่างเลื่อนที่มีขอบเขต รอบที่เก่าที่สุดจึงหลุดไปเมื่อถึงขีดจำกัด มันตอบคำถามข้อเดียว คือ เมื่อไม่นานมานี้มีการพูดอะไรไว้ ใน HotKV คือ AMEM.CONV.CREATE, AMEM.CONV.APPEND และ AMEM.CONV.WINDOW

หน่วยความจำเชิงความหมาย

หน่วยความจำเชิงความหมายคือความรู้ระยะยาวที่เก็บเป็นข้อเท็จจริงพร้อมเวกเตอร์ embedding เอเจนต์ดึงมันกลับมาด้วยความหมาย ไม่ใช่ด้วยคีย์ มันอาศัยดัชนีเวกเตอร์ HNSW ชนิดเดียวกับที่ขับเคลื่อน vector search AMEM.SEM.STORE บันทึกข้อเท็จจริง และ AMEM.SEM.RECALL คืนรายการที่ตรงที่สุดพร้อมคะแนนความคล้าย นี่คือที่ที่เอกสาร ความชอบของผู้ใช้ และการแก้ไขที่เรียนรู้มาควรอยู่

หน่วยความจำเพื่อการทำงาน

หน่วยความจำเพื่อการทำงานคือscratchpad สำหรับงานที่กำลังทำ เป็นชุดคีย์และค่าแบบแบนในขอบเขตของเซสชัน มันเก็บขั้นตอนปัจจุบัน ทิกเก็ตที่กำลังจัดการ หรือผลลัพธ์บางส่วน มันควรหายไปเมื่องานจบ AMEM.WORK.SET รับเวลา time to live ด้วยเหตุผลนั้นเอง

หน่วยความจำเหตุการณ์

หน่วยความจำเหตุการณ์คือบันทึกแบบ append-only ของเหตุการณ์ที่มีเวลากำกับ เช่น การกระทำที่ทำ การสังเกตที่ได้ หรือการตัดสินใจที่ได้ข้อสรุป มันทำให้เอเจนต์ หรือคนที่ตรวจสอบมัน ถามได้ว่าเกิดอะไรขึ้นและเมื่อไร AMEM.EPIS.LOG เขียนเหตุการณ์ และ AMEM.EPIS.QUERY อ่านกลับมาตามชนิดและช่วงเวลา

หน่วยความจำของเอเจนต์ AI ในทางปฏิบัติ

ในทางปฏิบัติมีสองเรื่องที่สำคัญ คือวิธีเขียนลงหน่วยความจำ และสิ่งที่อ่านกลับมาในแต่ละรอบ

เก็บหน่วยความจำด้วยคำสั่ง

นี่คือเอเจนต์ซัพพอร์ตที่จัดการหนึ่งบทสนทนา ข้อความนโยบายสมมติและเวกเตอร์สามตัวเลขมีไว้เพื่อประกอบตัวอย่างเท่านั้น โมเดล embedding จริงสร้างเวกเตอร์ที่มี 768 หรือ 1,536 ตัวเลข และคุณสร้าง namespace ด้วยมิตินั้น

AMEM.CONV.CREATE session-42 WINDOW 50 TTL 86400
AMEM.CONV.APPEND session-42 user "My invoice shows the wrong VAT number."
AMEM.WORK.SET session-42 ticket "INV-1932" TTL 3600
AMEM.EPIS.LOG agent-support action "Looked up invoice INV-1932"

AMEM.SEM.CREATE support-kb 3
AMEM.SEM.STORE support-kb vat-policy "VAT details can be corrected within 30 days." 0.1 0.2 0.3
AMEM.SEM.RECALL support-kb 3 0.1 0.2 0.3
AMEM.CONV.WINDOW session-42 10

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

อ่านหน่วยความจำทุกรอบ

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

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

import hotkv

r = hotkv.from_url("hotkv://localhost:6379")
MIN_SIMILARITY = 0.8          # tune on your own data

def start_session(session: str) -> None:
    r.amem_conv_create(session, window=50, ttl=86400)   # create once, before the first append

def build_context(session: str, question: str) -> str:
    r.amem_conv_append(session, "user", question)
    turns = r.amem_conv_window(session, 10)
    facts = r.amem_sem_recall("support-kb", 3, embed(question))
    facts = [f for f in facts if f["similarity"] >= MIN_SIMILARITY]
    ticket = r.amem_work_get(session, "ticket")
    return render(turns, facts, ticket)      # your prompt template

def finish_turn(session: str, agent: str, reply: str) -> None:
    r.amem_conv_append(session, "assistant", reply)
    r.amem_epis_log(agent, "action", "Answered a billing question")
    r.amem_work_set(session, "last_step", "answered")

เกณฑ์ตัดความคล้ายเป็นสิ่งที่คุณต้องปรับเอง ค่าที่เหมาะกับโมเดล embedding หนึ่งและชุดข้อเท็จจริงหนึ่งจะผิดสำหรับอีกชุด จึงควรตรวจ recall กับคำถามที่คุณรู้คำตอบอยู่แล้ว การทิ้งรายการที่ตรงอ่อนสำคัญกว่าที่คิด เพราะข้อเท็จจริงที่แย่ในพรอมต์แย่กว่าไม่มีข้อเท็จจริงเลย

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

บทสรุปแทนหน้าต่างที่ยาวขึ้นเรื่อยๆ

หน้าต่างทิ้งรอบเก่าไปทั้งหมด นั่นไม่เป็นไรสำหรับการคุยเล่น แต่แย่สำหรับงานยาว ที่รอบที่ 3 อาจยังสำคัญเมื่อถึงรอบที่ 300 บทสรุปแบบเลื่อน (rolling summary) เป็นคำตอบที่พบบ่อย หลังบทสนทนาแต่ละช่วง เอเจนต์ หรือโมเดลที่ถูกกว่า จดสิ่งที่เรียนรู้ไว้ และบทสรุปจะเข้ามาแทนรอบเก่าในพรอมต์

HotKV เก็บหนึ่งบทสรุปต่อเอเจนต์ด้วย AMEM.SUMMARY.SET, AMEM.SUMMARY.APPEND และ AMEM.SUMMARY.GET SET แทนที่ข้อความ และ APPEND เพิ่มหนึ่งบรรทัด ทุกการอัปเดตเพิ่มหมายเลขเวอร์ชัน ส่วนประกอบอื่นจึงรู้ได้ง่ายๆ ว่าบทสรุปเปลี่ยนและเปลี่ยนเมื่อไร

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

กฎการออกแบบและการเก็บรักษา

หน่วยความจำโตไม่สิ้นสุดหากคุณไม่หยุดมัน จึงตั้งขีดจำกัดก่อนการเขียนครั้งแรก

กฎที่ทำให้หน่วยความจำมีประโยชน์

  • ทุกอย่างต้องมีขอบเขต ตั้ง WINDOW ให้บทสนทนา และ TTL ให้เซสชันและค่าเพื่อการทำงาน สำหรับบทสนทนา ค่าเพื่อการทำงาน และข้อเท็จจริง HotKV บันทึกเวลาหมดอายุไว้สำหรับไฟล์ append-only และเรพลิกา รายการที่หมดอายุแล้วจึงไม่กลับมาเมื่อไฟล์ถูกเล่นซ้ำหลังรีสตาร์ต
  • เก็บข้อเท็จจริง ไม่ใช่ทรานสคริปต์ สรุปก่อนเขียนลงหน่วยความจำเชิงความหมาย ข้อเท็จจริงดึงกลับมาง่ายกว่าบทสนทนาทั้งหน้า
  • แยกเอเจนต์ออกจากกัน ใช้ตัวระบุหรือ namespace แยกต่อเอเจนต์และต่อผู้เช่า เพื่อไม่ให้หน่วยความจำของลูกค้ารายหนึ่งถูกดึงไปให้อีกราย
  • ดึงกลับมาไม่กี่ข้อ ไม่ใช่หลายข้อ เอารายการที่ตรงที่สุดสามถึงห้ารายการ และทิ้งรายการอ่อนด้วยคะแนนความคล้ายก่อนเข้าพรอมต์
  • ไม่เก็บความลับ หน่วยความจำถูกอ่านกลับเข้าพรอมต์ ห้ามเก็บรหัสผ่าน คีย์ หรือข้อมูลที่คุณไม่ยอมให้โมเดลเห็น

เก็บแต่ละประเภทนานเท่าใด

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

ประเภทหน่วยความจำอายุที่แนะนำตัวควบคุมใน HotKV
บทสนทนาตลอดเซสชัน หรือช่วงเวลาคงที่ เช่นหนึ่งวันWINDOW และ TTL บน AMEM.CONV.CREATE
เพื่อการทำงานตลอดงาน แล้วล้างTTL บน AMEM.WORK.SET และ AMEM.WORK.CLEAR
เชิงความหมายจนกว่าข้อเท็จจริงจะไม่จริงอีกต่อไปTTL บน AMEM.SEM.STORE และ AMEM.SEM.FORGET
เหตุการณ์นานเท่าที่การตรวจสอบหรือซัพพอร์ตของคุณต้องการAMEM.EPIS.QUERY ตามช่วงเวลา และ AMEM.EPIS.CLEAR (เหตุการณ์ไม่มี time to live)

การเก็บรักษายังเป็นเรื่องความเป็นส่วนตัวด้วย หากหน่วยความจำเก็บอะไรเกี่ยวกับบุคคลใด อายุที่คุณเลือกเป็นส่วนหนึ่งของสิ่งที่คุณสัญญากับเขา จึงควรเขียนไว้

หน่วยความจำของเอเจนต์พลาดได้อย่างไร

บั๊กของหน่วยความจำส่วนใหญ่เป็นแบบช้า เอเจนต์ทำงานดีหนึ่งสัปดาห์ แล้วเริ่มแย่ลง นี่คือความล้มเหลวที่ควรออกแบบรับมือ

ความล้มเหลวที่พบบ่อย

  • ข้อเท็จจริงที่เก่า ข้อเท็จจริงที่จริงเมื่อเดือนมีนาคมถูกดึงกลับมาในเดือนตุลาคม ให้ข้อเท็จจริงมี time to live หรือเก็บภายใต้คีย์ต่อเอนทิตี เพื่อให้ค่าใหม่เขียนทับค่าเก่า
  • ความขัดแย้ง ข้อเท็จจริงที่เก็บไว้สองข้อไม่ตรงกัน และเอเจนต์เลือกข้อใดข้อหนึ่งแบบสุ่ม ควรใช้หนึ่งข้อเท็จจริงต่อหนึ่งคีย์ แทนการต่อท้ายโน้ตใหม่ไว้ข้างโน้ตเก่า
  • ดึงกลับมามากเกินไป รายการที่ตรงมากเกินไปทำให้พรอมต์เต็มด้วยข้อความที่เกี่ยวข้องหลวมๆ ดึงให้น้อย และทิ้งรายการที่ตรงอ่อน
  • รั่วไหลระหว่างผู้ใช้ หน่วยความจำของลูกค้ารายหนึ่งถูกดึงไปให้อีกราย ใช้ตัวระบุหรือ namespace แยกสำหรับทุกผู้เช่า และตรวจในโค้ดก่อนการอ่านทุกครั้ง
  • โตไม่จำกัด ไม่มีอะไรหมดอายุเลย การค้นหาจึงช้าลงและต้นทุนค่อยๆ สูงขึ้น หน่วยความจำทุกประเภทต้องมีอายุ ในจุดที่ HotKV ไม่มี time to live เช่นบันทึกเหตุการณ์ ให้ตั้งเวลาล้างหรือส่งออกด้วยตัวเอง
  • บทสรุปเพี้ยน บทสรุปของบทสรุปค่อยๆ ไม่ตรงกับสิ่งที่เกิดขึ้น เก็บบันทึกเหตุการณ์เป็นแหล่งความจริง และสร้างบทสรุปใหม่จากมัน

ปฏิบัติต่อข้อความที่เก็บไว้เหมือนไม่น่าเชื่อถือ

ข้อสุดท้ายควรให้ความสนใจมากกว่านี้ ทุกอย่างที่เอเจนต์เขียนลงหน่วยความจำอาจถูกอ่านเข้าพรอมต์ภายหลัง รวมถึงข้อความที่มาจากหน้าเว็บ อีเมล หรือผู้ใช้ นั่นคือ prompt injection แบบทางอ้อมที่ OWASP จัดเป็น LLM01 เก็บแหล่งที่มาไว้กับทุกข้อเท็จจริง เชื่อถือหน่วยความจำที่เขียนจากเนื้อหาภายนอกให้น้อยลง และอย่าปล่อยให้โน้ตที่ดึงกลับมาแทนที่พรอมต์ระบบของคุณ

สิ่งที่เราวัดและไม่ได้วัด

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

เบนช์มาร์กการประหยัดโทเค็นและการเปรียบเทียบ prompt caching กับ semantic caching แสดงด้านที่วัดผล กรณีใช้งานหน่วยความจำของเอเจนต์แสดงคำสั่งในสถานการณ์เต็มรูปแบบ

ใช้หน่วยความจำของเอเจนต์จาก Claude Code หรือ Cursor

ผู้ช่วยที่รองรับ Model Context Protocol ใช้หน่วยความจำส่วนนี้ได้โดยไม่ต้องเขียนโค้ดเอง เซิร์ฟเวอร์ hotkv-mcp แบบโอเพนซอร์สเปิดหน่วยความจำบทสนทนา โน้ตการทำงาน ล็อกเหตุการณ์ และบทสรุปแบบเลื่อนเป็นเครื่องมือ มีโหมดอ่านอย่างเดียวและ namespace ที่จำกัดเอเจนต์ มันไม่เปิดหน่วยความจำเชิงความหมาย และเครื่องมือของมันตั้งหน้าต่างหรือ time to live ไม่ได้ จึงให้ใช้ไลบรารีไคลเอนต์สำหรับสิ่งเหล่านั้น บทความถัดไป MCP server สำหรับหน่วยความจำของเอเจนต์ แสดงวิธีเชื่อมต่อและสิ่งที่มาตรการป้องกันของมันครอบคลุม

คำถามที่พบบ่อย

หน่วยความจำของเอเจนต์ AI คืออะไร

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

หน่วยความจำของเอเจนต์ระยะสั้นกับระยะยาวต่างกันอย่างไร

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

บทสรุปแบบเลื่อนในหน่วยความจำของเอเจนต์คืออะไร

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

ต้องมี vector database สำหรับหน่วยความจำของเอเจนต์ไหม

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

ควรเก็บหน่วยความจำของเอเจนต์นานเท่าใด

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

หน่วยความจำของเอเจนต์ถูกโจมตีได้ไหม

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

HotKV เก็บหน่วยความจำของเอเจนต์ใน RAM ไหม

HotKV เป็นเอนจินในหน่วยความจำ การอ่านจึงเสิร์ฟจากหน่วยความจำ ตามเอกสารผลิตภัณฑ์ การเขียนไปยังที่เก็บทั้งสี่ถูกบันทึกสำหรับไฟล์ append-only และเรพลิกา โดยส่งต่อเวลาหมดอายุไปด้วย

เป็นประโยชน์ไหม

แชร์บทความนี้

ร่วมสนทนาต่อ

ความคิดเห็น

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

แสดงความคิดเห็น

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