การเพิ่มหน่วยความจำให้กับ Agent

การสร้าง AI agent ต้องใช้มากกว่าแค่โมเดล เพราะมันจำเป็นต้องมีวิธีจดจำว่าคุณคือใคร

ในซีรีส์การสร้าง AWS Briefing Agent ของผม ผมกำลังสำรวจวิธีการเปลี่ยนจากการโต้ตอบแบบไร้สถานะ (stateless) ไปสู่ประสบการณ์ที่ปรับแต่งให้เข้ากับแต่ละบุคคล (personalized experiences)

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

ผมแก้ปัญหานี้โดยใช้ AgentCore Memory และ Strands Agents

นี่คือหลักการทำงานของสถาปัตยกรรมนี้:

เพื่อรักษาความปลอดภัยของข้อมูล ระบบจะใช้ namespaces โดยการใช้ตัวแปร {actorId} ผมจึงมั่นใจได้ว่าข้อมูลของผู้ใช้คนหนึ่งจะไม่รั่วไหลไปยังเซสชันของผู้ใช้คนอื่น

ผมยังได้รวม AWS Cognito เข้ามาเพื่อการยืนยันตัวตนที่ปลอดภัย โดย agent จะตรวจสอบ JWT tokens เพื่อยืนยันตัวตน เมื่อยืนยันแล้ว ระบบจะดึง 'sub' claim ที่ไม่ซ้ำกันจาก token นั้น ซึ่ง ID นี้จะกลายเป็น actor_id ที่ agent ใช้ในการดึงบันทึกหน่วยความจำที่ถูกต้อง

การรวมระบบทำได้อย่างราบรื่น เมื่อใช้ AgentCoreMemorySessionManager ตัว agent จะดำเนินการโดยอัตโนมัติ:

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

Source: https://dev.to/aws-heroes/adding-memory-to-the-agent-181k

Optional learning community: https://t.me/GyaanSetuAi