Phần lớn sản phẩm trí tuệ nhân tạo bảo rằng chúng «nhớ bạn». Điều họ thường muốn nói là cửa sổ trò chuyện hiện thời chưa trôi khỏi tầm với. Vừa đóng thẻ là mô hình chẳng biết bạn là ai. Bạn lại giải thích ngăn xếp công nghệ, sở thích và ràng buộc của mình từ đầu, lần nào cũng vậy.
Trí nhớ dài hạn của ToRun là một cơ chế hoàn toàn khác. Bài này mô tả nó giữ gì, mỗi lượt được ghép ra sao, và bạn làm được gì với nó.
Giữ gì và vì sao
Trí nhớ trong ToRun là một tập những dữ kiện bền được rút ra từ các cuộc trò chuyện của bạn. Hãy nghĩ về chúng như những ghi chú có cấu trúc — không phải đổ nguyên bản ghi ra, mà là những quan sát rời: bạn thích câu trả lời ngắn gọn, dự án của bạn dùng MongoDB, bạn viết TypeScript, bạn có nền tảng học máy, bạn muốn ví dụ mã theo một lối nhất định.
Các dữ kiện không lệ thuộc ngôn ngữ. Nếu bạn viết ba phiên bằng tiếng Thổ Nhĩ Kỳ và mười phiên bằng tiếng Anh, hệ trí nhớ không vỡ thành những ốc đảo ngôn ngữ. Chuẩn hóa có ý thức về Unicode (phân rã NFKD, bỏ dấu phụ, gộp hoa thường) bảo đảm một dữ kiện nhập bằng ngôn ngữ này sẽ nổi lên khi bạn hỏi bằng ngôn ngữ khác. Trong thực tế điều này đáng kể: một nền tảng 29 ngôn ngữ không thể kham nổi một trí nhớ chỉ chạy tốt cho người nói tiếng Anh.
Dữ kiện mới có thể được thêm tự động khi mô hình nhận ra thông tin bền, hoặc bạn nêu ra một cách rõ ràng («nhớ rằng tôi triển khai lên Azure»). Không lối nào bị giấu khỏi bạn.
Trí nhớ thành ngữ cảnh lúc gọi ra sao
Mỗi lượt trò chuyện trong ToRun ghép ba tầng ngữ cảnh trước khi lời nhắc tới được mô hình:
- Tầng hệ thống — chỉ dẫn ở mức sản phẩm, vai trò và giọng của trợ lý, các chỉ dẫn kho tri thức đang hiệu lực.
- Tầng tóm tắt — một biểu diễn nén của cuộc trò chuyện tới điểm ấy, được quản tự động để những mạch dài không vét cạn cửa sổ ngữ cảnh của mô hình.
- Tầng gần đây — N lượt gần nhất nguyên văn, với trọng số lớn hơn cho điều bạn vừa nói.
Trí nhớ dài hạn nằm ở tầng hệ thống. Bước truy hồi chạy trên những dữ kiện đã lưu của bạn, dùng tín hiệu liên quan lấy từ tin nhắn hiện thời: hỏi về lập chỉ mục cơ sở dữ liệu thì các dữ kiện về sở thích MongoDB nổi lên; chuyển sang thiết kế thì chúng lui xuống. Mô hình chỉ thấy phần liên quan tới lượt này, chứ không phải bản đổ phẳng của mọi dữ kiện bạn từng sinh ra. Nhờ vậy cửa sổ ngữ cảnh được dùng hiệu quả và tránh được cảnh «trí nhớ phình ra», nơi những chi tiết cá nhân không liên quan làm loãng tín hiệu.
Hạn mức ngữ cảnh tùy bậc — bậc miễn phí có tổng cộng 16 nghìn thẻ, tăng dần qua các gói thuê bao lên tới 1 triệu thẻ ở Enterprise. Khi ngữ cảnh đã ghép (trí nhớ + tóm tắt + các lượt gần đây) vượt cửa sổ của mô hình, ToRun tỉa tầng tóm tắt trước, và không bao giờ lặng lẽ vứt đi những tin nhắn mới nhất hay những dữ kiện trí nhớ liên quan nhất của bạn.
Dữ kiện là của bạn, bạn nắm chúng
Trí nhớ thuộc về người dùng nó. Bạn có thể liệt kê mọi thứ ToRun đã lưu về bạn và xóa từng mục hay xóa hết. Không có trí nhớ «bí mật» nào tác động lên các cuộc trò chuyện của bạn mà bạn không hay. Kho dữ kiện có thể xem được và có thể được quên theo yêu cầu.
Lựa chọn này đi ra từ một nguyên tắc rộng hơn: ToRun phải cho bạn thấy trạng thái thật của nó, chứ không giấu đi. Trí nhớ minh bạch nghĩa là bạn có thể tin nó. Nếu mô hình hành xử theo một dữ kiện sai — chẳng hạn có lần nó ghi rằng bạn thích lời giải thích dài dòng trong khi giờ bạn muốn ngắn gọn — bạn bảo nó quên đi, và lượt gọi kế tiếp sẽ không còn thấy dữ kiện ấy.
Việc xóa là vĩnh viễn và tức thì. Không có kỳ ân hạn nào trong đó dữ kiện cũ vẫn còn hiện ra.
Kho tri thức không phải trí nhớ
Trí nhớ giữ những dữ kiện về bạn. Kho tri thức neo câu trả lời vào tài liệu của bạn.
Khi bạn nạp tài liệu, mã nguồn hay nội dung chuyên ngành vào một kho tri thức, ToRun dùng sinh tạo có truy hồi (RAG) để kéo những đoạn liên quan lên ngay lúc bạn hỏi. Văn bản truy hồi được chèn cạnh ngữ cảnh trò chuyện, và mô hình nêu rõ nó đã dùng gì. Đây là công cụ đúng khi câu hỏi của bạn đòi phải đọc tài liệu gốc — một bản đặc tả API, một văn bản pháp lý, cuốn cẩm nang nội bộ của bạn — chứ không phải nhớ lại một sở thích cá nhân.
Hai hệ ấy kết hợp được: một lượt có thể lấy cả từ những dữ kiện trí nhớ cá nhân của bạn lẫn từ một lần truy hồi trong kho tri thức. Chúng nuôi những tầng khác nhau của việc ghép ngữ cảnh và phục vụ những mục đích khác nhau. Trí nhớ trả lời «bạn là ai và bạn thích làm việc thế nào»; kho tri thức trả lời «tài liệu này nói gì».
Dùng cả hai cùng nhau chính là điều làm ToRun hữu ích cho công việc thật chứ không chỉ cho những màn trình diễn. Sở thích của bạn nằm lại trong trí nhớ để bạn khỏi nhắc lại; tài liệu gốc của bạn nằm lại trong kho tri thức để câu trả lời tựa vào chứng cứ chứ không vào dữ liệu huấn luyện của mô hình.