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

คลังหน่วยความจำอย่างง่าย (คีย์-ค่า)

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

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

หน่วยความจำระยะยาวที่ราคาถูกที่สุด

ก่อนจะมีฐานข้อมูลเวกเตอร์และเวกเตอร์แทนความหมาย ยังมีคลังแบบคีย์-ค่าที่เรียบง่าย สำหรับเก็บข้อเท็จจริงเฉพาะผู้ใช้ (ชื่อ ค่ากำหนด และการตั้งค่า) เท่านี้ก็เพียงพอแล้ว

สิ่งที่ควรจัดเก็บ

ตัวเลือกที่เหมาะสมสำหรับหน่วยความจำ KV:

  • ชื่อและภาษาของผู้ใช้
  • ค่ากำหนด (หน่วยวัด เขตเวลา น้ำเสียง)
  • บริบทคงที่ (โครงการปัจจุบัน หัวข้อปัจจุบัน)
  • ข้อมูลรับรองเครื่องมือหรือโทเค็นสำหรับอินเทอร์เฟซโปรแกรมประยุกต์ล่าสุด

คลังข้อมูลในหน่วยความจำขนาดเล็ก

สำหรับต้นแบบที่ทำงานในกระบวนการเดียว:

memory = {
    'user_name': 'Alice',
    'units': 'celsius',
    'language': 'tr'
}

def remember(key, value):
    memory[key] = value

def recall(key, default=None):
    return memory.get(key, default)

remember('city', 'Istanbul')
print("Recalled user_name:", recall('user_name'))
print("Recalled city:", recall('city'))
print("Recalled missing key:", recall('country', 'unknown'))

แทรกลงในพรอมป์ต์ระบบ

ในแต่ละรอบสนทนา ให้แสดงข้อมูลจากคลัง KV ลงในพรอมป์ต์ระบบ:

def build_system_prompt(user_id):
    facts = load_facts(user_id)
    rendered = '\n'.join(f'- {k}: {v}' for k, v in facts.items())
    return f'''
You are AssistantBot.

Known facts about this user:
{rendered}

Use these to personalise replies.
'''

ใช้ Redis สำหรับผู้ใช้หลายคน

สำหรับตัวแทนในระบบใช้งานจริง ให้ใช้ Redis:

import redis
r = redis.Redis()

def remember(user_id, key, value):
    r.hset(f'mem:{user_id}', key, json.dumps(value))

def recall_all(user_id):
    raw = r.hgetall(f'mem:{user_id}')
    return {k.decode(): json.loads(v) for k, v in raw.items()}

หรือใช้ Postgres ก็ได้

Postgres ก็ใช้งานได้เช่นกัน โดยมีคอลัมน์ JSON สำหรับผู้ใช้แต่ละราย:

CREATE TABLE user_memory (
    user_id TEXT PRIMARY KEY,
    facts JSONB NOT NULL DEFAULT '{}'
);

-- Update one field:
UPDATE user_memory SET facts = facts || '{"units": "celsius"}' WHERE user_id = $1;

หน่วยความจำในฐานะเครื่องมือ

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

tools = [
    {'name': 'remember', 'description': 'Save a fact about the user', 'parameters': {...}},
    {'name': 'forget', 'description': 'Remove a stored fact', 'parameters': {...}}
]

# The agent can call remember('user_name', 'Alice') itself.
for t in tools:
    print(f"{t['name']}: {t['description']}")

ป้องกันหน่วยความจำพองตัว

จำกัดจำนวนคีย์ที่จัดเก็บสำหรับผู้ใช้แต่ละราย (50 หรือ 100 คีย์) มิฉะนั้นพรอมป์ต์ระบบจะขยายตัวโดยไม่มีขอบเขต

การหมดอายุและการเสื่อมสลาย

หน่วยความจำบางรายการมีอายุสั้น ให้ใช้การตั้งเวลาหมดอายุของ Redis:

r.hset(f'mem:{user_id}', 'last_topic', 'pricing')
r.expire(f'mem:{user_id}', 3600)  # 1 hour

หน่วยความจำที่ผู้ใช้แก้ไขได้

ให้ผู้ใช้ดูและแก้ไขสิ่งที่ตัวแทนจดจำเกี่ยวกับตนเองได้ หน่วยความจำของ ChatGPT ทำงานในลักษณะนี้ ช่วยสร้างความไว้วางใจและหลีกเลี่ยงข้อผิดพลาดที่ทำให้รู้สึกไม่สบายใจ

ความเป็นส่วนตัว: ดูแล PII

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

จาก KV สู่เวกเตอร์

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

เมื่อใดควรใช้หน่วยความจำ KV

หน่วยความจำประเภทใดเหมาะกับคลังแบบคีย์-ค่าธรรมดาที่สุด

ทบทวน

สำหรับกรณีใช้งานผู้ช่วยส่วนบุคคล 90% คลัง KV บน Redis หรือ Postgres พร้อมการแสดงผลลงในพรอมป์ต์ระบบก็มีหน่วยความจำเพียงพอแล้ว

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

บทเรียน “คลังหน่วยความจำอย่างง่าย (คีย์-ค่า)” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “คลังหน่วยความจำอย่างง่าย (คีย์-ค่า)” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส AI Agents ให้อัปเกรดเป็น CoddyKit PRO คอร์ส AI Agents มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “คลังหน่วยความจำอย่างง่าย (คีย์-ค่า)”

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

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน AI Agents หรือไม่

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

บทเรียน “คลังหน่วยความจำอย่างง่าย (คีย์-ค่า)” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน AI Agents นี้ได้ไหม

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

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

  1. หน่วยความจำระยะสั้นในหน้าต่างบริบท
  2. เหตุใดบริบทยาวจึงขยายขนาดไม่ได้
  3. การสรุปเนื้อหาในฐานะการบีบอัด
  4. คลังหน่วยความจำอย่างง่าย (คีย์-ค่า)
← กลับไปที่ AI Agents