# Thực hành tốt nhất về bộ nhớ SUMMARY: Cách cấu trúc bộ nhớ cho thu hồi hiệu quả — danh mục, key, tag, mức ưu tiên. Thực hành tốt nhất về bộ nhớ Cách bạn cấu trúc bộ nhớ xác định độ hữu ích của chúng. Hướng dẫn này bao phủ mẫu cho việc phân danh mục, gắn tag và ưu tiên bộ nhớ để LLM có thể thu hồi thông tin đúng vào thời điểm đúng. Danh mục: Chọn cái cụ thể nhất | Danh mục | Dùng cho | Ví dụ | |----------|---------|---------| | | Tên người dùng, vai trò, thông tin liên hệ | | | | Thích, không thích, phong cách làm việc | | | | Sự kiện có thể kiểm chứng | | | | Trạng thái dự án, quyết định | | | | Kỹ năng người dùng | | | | Lỗi quá khứ để tránh | | | | Ngữ cảnh liên quan phiên | | | | Ghi chú linh tinh | | > [!TIP] > Khi nghi ngờ, sử dụng cho thông tin có thể kiểm chứng và cho > mọi thứ khác. Không phân danh mục quá mức — tốt hơn có một rõ ràng > hơn một gây nhầm lẫn. Key: Định danh ý nghĩa Trường là định danh của bộ nhớ. Sử dụng key ý nghĩa, ổn định: Key tốt: - - - - Key xấu: - (không ý nghĩa) - (không mô tả) - (ngày không giúp thu hồi) Quy ước đặt tên key - (chữ thường với dấu gạch dưới) - Tiền tố với danh mục: , , - Sử dụng danh từ mô tả, không động từ - Giữ dưới 50 ký tự Tag: Dành cho tìm kiếm và lọc Tag cho phép lọc và tìm kiếm nhanh. Thêm 2-5 tag mỗi bộ nhớ: [CODE BLOCK] Mẫu tag - Tên dự án: , , - Chủ đề: , , , - Trạng thái: , , - Chỉ báo ưu tiên: , > [!NOTE] > Tag không phân biệt chữ hoa chữ thường. Sử dụng chữ thường để nhất quán. Mức ưu tiên: Thực tế | Ưu tiên | Dùng cho | % Bộ nhớ | |----------|---------|---------------| | | Nhận dạng người dùng, thông tin pháp lý, quyết định không thể đảo ngược | 5% | | | Dự án đang hoạt động, sở thích quan trọng | 20% | | | Hầu hết sự kiện, ghi chú, ngữ cảnh | 65% | | | Tạm thời, tốt nếu biết | 10% | > [!WARNING] > Không đánh dấu mọi thứ . Nếu mọi thứ là critical, không có gì là > critical cả. Dự trữ cho những thứ sẽ gây hại thực sự nếu quên. Khi nào lưu so với không lưu Luôn lưu - Nhận dạng người dùng (tên, email, vai trò) - Sở thích dài hạn - Quyết định dự án và lý do - Lỗi quá khứ và bài học - Cam kết với người dùng Không lưu - Trạng thái tạm thời (sử dụng biến thay thế) - Lịch sử hội thoại nguyên văn (hệ thống chat xử lý điều này) - Dữ liệu nhạy cảm (mật khẩu, API key) - Sự kiện dễ dàng suy ra (ngày hiện tại, nội dung tệp) - Ngữ cảnh tạm thời (sử dụng danh mục với ưu tiên thấp) Cập nhật bộ nhớ POST với cùng + cập nhật bộ nhớ hiện có: [CODE BLOCK] > [!TIP] > Sử dụng key ổn định để bạn có thể cập nhật mà không tạo bản trùng lặp. LLM > nên POST lại cùng key khi thông tin thay đổi, không tạo bộ nhớ mới. Vòng đời bộ nhớ [CODE BLOCK] - Create: POST /memory với ngữ cảnh đầy đủ - Active: Thu hồi thường xuyên, cập nhật khi cần - Stale: Vẫn liên quan nhưng không được sử dụng tích cực (ưu tiên thấp hơn?) - Archive: Đặt ưu tiên thành , giữ cho tham chiếu lịch sử - Delete: DELETE /memory/:id khi không còn liên quan Dọn dẹp định kỳ [CODE BLOCK] Mẫu: Kế thừa bộ nhớ Cho ngữ cảnh phân cấp (dự án → dự án con → tác vụ): [CODE BLOCK] LLM có thể sau đó tìm để tìm tất cả bộ nhớ liên quan. Mẫu: Nhật ký quyết định Lưu quyết định với lý do để LLM không tái thẩm lại chúng: [CODE BLOCK] Mẫu: Tránh lỗi Lưu lỗi với hướng dẫn tránh cụ thể: [CODE BLOCK] Mẫu chống cần tránh > [!WARNING] > - Lưu nhật ký hội thoại — hệ thống chat xử lý điều này > - Lưu toàn bộ tệp — sử dụng script store hoặc lưu trữ bên ngoài > - Lưu trạng thái tạm thời — sử dụng biến > - Lưu bí mật — sử dụng biến môi trường > - Trùng lặp bộ nhớ — sử dụng key ổn định > - Gắn tag quá mức — 2-5 tag mỗi bộ nhớ là lý tưởng > - Mọi thứ là critical — thực tế với ưu tiên Bước tiếp theo - Memory API - LLM Agent cố định - Chiến lược gắn tag bộ nhớ