Thủ thuật
OpenWiki: Xây dựng bộ nhớ tự sửa lỗi bằng cách kiểm chứng dữ liệu thực tế
(giờ Việt Nam)
Tóm tắt AI
OpenWiki giúp giảm thiểu ảo giác AI bằng cách liên kết các tuyên bố với bằng chứng xác thực, cho phép hệ thống tự động phát hiện và cập nhật thông tin lỗi thời trong các cơ sở tri thức.
Bản dịch AI

Bộ nhớ và vấn đề về sự quên lãng
Một hệ thống bộ nhớ chỉ thực sự tốt khi nó có khả năng quên.
Hầu hết các cuộc thảo luận về bộ nhớ của tác nhân (agent memory) đều tập trung vào việc tạo ra các ký ức và làm cho chúng có thể truy xuất được sau này. Bộ nhớ dài hạn lại đặt ra một vấn đề thú vị khác thường bị bỏ qua. Khi nguồn sự thật thay đổi, những dữ kiện từng đúng có thể trở nên lỗi thời mà hệ thống bộ nhớ không có cách nào đáng tin cậy để nhận biết. Theo thời gian, điều này khiến hệ thống bộ nhớ bị suy giảm do các hiện tượng như trôi dạt bộ nhớ (memory drift) và nhiễm độc bộ nhớ (memory poisoning).
Vấn đề này đặc biệt rõ ràng trong các hệ thống bộ nhớ như OpenWiki vì nguồn sự thật chính là mã nguồn (code) liên tục phát triển theo thời gian. Ban đầu, một wiki có thể mô tả chính xác hành vi của API hoặc các tính năng hiện có, nhưng khi mã nguồn thay đổi, những hành vi và tính năng đó cũng có thể thay đổi theo. Nếu kiến thức được ghi chép lại không đồng bộ với mã nguồn, các phần đó của wiki sẽ trở nên lỗi thời.
Để giúp OpenWiki có khả năng quên và tự sửa lỗi, chúng tôi cần một cách để lưu giữ không chỉ những gì wiki tin tưởng, mà cả bằng chứng đằng sau những niềm tin đó. Điều này cung cấp cho OpenWiki phương thức để nhận biết khi nào bằng chứng hỗ trợ cho một tuyên bố đã thay đổi và xác định những phần nào của wiki cần được xem xét lại.
Thiết lập nền tảng cho những gì Wiki tin tưởng
Bước đầu tiên là cung cấp cho OpenWiki một bản ghi bền vững về các tuyên bố thực tế mà nó đưa ra. Điều này có nghĩa là khi tác nhân viết một trang wiki, nó cũng phải xác định các tuyên bố trong trang đó và bằng chứng trong mã nguồn hỗ trợ cho chúng.
Ví dụ, nếu wiki nói rằng các tác vụ thất bại sẽ được thử lại ba lần theo mặc định, OpenWiki sẽ ghi lại tuyên bố đó cùng với đoạn mã hỗ trợ nó.
Sau đó, runtime sẽ ghi lại phiên bản của bằng chứng hỗ trợ để tuyên bố có thể được xác thực lại sau này. Việc làm này tạo ra một liên kết giữa mỗi tuyên bố trong wiki và mã nguồn hỗ trợ nó. Thay vì coi wiki là một tập hợp văn bản, OpenWiki có thể theo dõi từng tuyên bố riêng lẻ và bằng chứng mà chúng phụ thuộc vào.
Nhận biết khi nào kiến thức trở nên lỗi thời
Khi một tuyên bố đã được liên kết với bằng chứng, OpenWiki có thể phát hiện khi bằng chứng đó thay đổi bằng cách so sánh phiên bản nguồn ban đầu hỗ trợ tuyên bố với phiên bản hiện tại. Nếu chúng khác nhau, tuyên bố đó sẽ được gắn cờ là lỗi thời.
Một tuyên bố lỗi thời không nhất thiết có nghĩa là nó sai. Điều đó có nghĩa là OpenWiki không còn có thể an tâm giả định rằng tuyên bố đó vẫn đúng mà không cần kiểm tra lại nguồn. Nhiều thay đổi trong mã nguồn không làm mất hiệu lực ngay lập tức của một tuyên bố phụ thuộc, nhưng chúng tạo ra lý do để xem xét lại tuyên bố đó.
OpenWiki không cần phải lưu trữ một cờ trạng thái riêng biệt cho việc này. Phiên bản bằng chứng được lưu trữ là đủ để xác thực lại độ mới của tuyên bố trong mỗi lần cập nhật, vì vậy trạng thái không chắc chắn sẽ được duy trì cho đến khi bằng chứng được kiểm tra lại.

Sửa chữa các tuyên bố lỗi thời
Việc phát hiện kiến thức lỗi thời chỉ hữu ích nếu hệ thống có cách để sửa chữa nó.
Khi OpenWiki xác định rằng một tuyên bố đã lỗi thời, nó có thể kiểm tra bằng chứng hỗ trợ hiện tại và xác định xem tuyên bố đó đúng hay sai. Nếu tuyên bố vẫn đúng, OpenWiki có thể làm mới phiên bản bằng chứng. Nếu tuyên bố hiện đã sai, nội dung wiki và bằng chứng hỗ trợ của nó sẽ được cập nhật cùng nhau.
Hành vi quan trọng ở đây là các tuyên bố lỗi thời sẽ vẫn ở trạng thái lỗi thời cho đến khi quá trình xác minh thực sự diễn ra. Theo thời gian, điều này tạo ra một vòng lặp phản hồi tự sửa lỗi. Những thay đổi đối với nguồn khiến các tuyên bố từng được tin tưởng trở nên lỗi thời và sự không chắc chắn đó tồn tại cho đến khi mỗi tuyên bố được xác thực lại. Các bản cập nhật wiki giúp tài liệu đồng bộ trở lại với sự thật hiện tại.
Điều này khác với việc chỉ tạo lại wiki từ đầu. OpenWiki lưu giữ những gì nó đã biết, theo dõi những tuyên bố nào đã trở nên lỗi thời và sửa chữa các tuyên bố đó khi nguồn tiếp tục phát triển.
Kết nối các tuyên bố với OKF v0.2
Các tuyên bố cung cấp cho OpenWiki một bản ghi nội bộ về những gì mỗi trang tin tưởng và bằng chứng có phiên bản hỗ trợ cho nó. Open Knowledge Format (OKF) v0.2 giúp kết quả ở cấp độ trang có thể di chuyển và kiểm tra được bên ngoài OpenWiki.
Các dự án OpenWiki đưa bằng chứng tuyên bố vào siêu dữ liệu nguồn OKF của mỗi trang, ghi lại nhà sản xuất nào đã thay đổi nội dung trang gần nhất bằng cách tạo tự động, và chỉ thêm trạng thái "đã xác minh" (verified) sau khi toàn bộ tập hợp tuyên bố của trang đã được đối chiếu, kiểm tra lại và lưu giữ. Chỉ mục gốc của wiki khai báo okf_version: "0.2", giúp các gói Markdown có thể được nhận diện bởi các công cụ khác sử dụng OKF.
Điều này tạo ra sự phân tách trách nhiệm hữu ích. Các tuyên bố xác định liệu những niềm tin riêng lẻ có còn đáng tin cậy hay không. OKF truyền đạt nguồn gốc, các nguồn bằng chứng và lịch sử xác minh của tài liệu chứa chúng. Các tuyên bố chi tiết và phiên bản bằng chứng chính xác nằm trong các sidecar của OpenWiki, trong khi Markdown di động hiển thị tóm tắt độ tin cậy tiêu chuẩn như một phần của phần đầu (front matter) OKF.
Cách thức vận hành trong thực tế
Việc phát hiện lỗi thời diễn ra khi bắt đầu mỗi lần cập nhật wiki, trước khi tác nhân thực hiện bất kỳ hành động nào. Runtime sẽ duyệt qua toàn bộ tập hợp tuyên bố và so sánh phiên bản bằng chứng đã lưu của mỗi tuyên bố với nguồn hiện tại. Đây là một bước kiểm tra tất định (deterministic) không cần gọi mô hình, vì vậy nó vẫn duy trì tốc độ nhanh ngay cả khi wiki tích lũy hàng ngàn tuyên bố.
Tác nhân không bao giờ tự quét toàn bộ tập hợp tuyên bố. Khi nó đọc một trang trong quá trình cập nhật, bất kỳ tuyên bố lỗi thời nào trên trang đó sẽ được hiển thị cùng với nội dung, và nó sẽ giải quyết chúng như một phần của công việc đang thực hiện: xác minh lại tuyên bố và làm mới bằng chứng, hoặc sửa chữa tuyên bố và văn bản wiki cùng nhau. Bất cứ điều gì chưa được giải quyết sẽ vẫn bị gắn cờ cho lần cập nhật sau thay vì bị loại bỏ âm thầm.
Hiệu quả thực tế là chi phí cập nhật tỷ lệ thuận với mức độ thay đổi của mã nguồn, chứ không phải với số lượng tuyên bố mà wiki đang lưu giữ.
Đánh giá khả năng quên
Để đo lường điều này, chúng tôi đã xây dựng một đánh giá chạy lại một kho lưu trữ mã nguồn thông qua một loạt các git commit với các điểm kiểm tra được xác định trước, nơi wiki được cập nhật. Các commit khác nhau giới thiệu các tính năng mới, thay đổi đối với hành vi hiện có, sửa lỗi và hoàn tác.
Sau mỗi lần cập nhật, chúng tôi đánh giá các tuyên bố thực tế trong wiki và phân loại mỗi tuyên bố vào một trong các nhóm sau:
Chúng tôi đã chạy cùng một trình tự với và không có runtime tuyên bố của OpenWiki.
Qua mỗi lần cập nhật, chúng tôi thấy rằng các tuyên bố lỗi thời giảm từ 80 trong bản cơ sở xuống còn 9 với runtime tuyên bố, trong khi các tuyên bố ảo tưởng (hallucinated claims) giảm từ 15 xuống 0.
Chúng tôi cũng thấy hành vi tự sửa lỗi trực tiếp trong các lần chạy riêng lẻ. Trong một ví dụ, một thay đổi mã nguồn khiến 17% tuyên bố của wiki trở nên lỗi thời tại điểm kiểm tra đầu tiên. Đến điểm kiểm tra tiếp theo, các tuyên bố lỗi thời đã trở về 0% và các tuyên bố được hỗ trợ đã phục hồi từ 77% lên 98%.
Đây là hành vi mà chúng tôi quan tâm nhất. Runtime tuyên bố cung cấp cho OpenWiki một cách để xác định khi nào kiến thức hiện có có thể không còn đáng tin cậy, duy trì sự không chắc chắn đó qua các bản cập nhật và sau đó sửa chữa nó khi mã nguồn tiếp tục phát triển.
Điều gì làm cho bộ nhớ có khả năng tự sửa lỗi
Các hệ thống bộ nhớ phải có cách để nói lên những gì chúng tin tưởng và lý do tại sao chúng tin như vậy. Quan trọng hơn, khi một điều gì đó từng hợp lệ trở nên lỗi thời, hệ thống phải có cách để quên và tự sửa lỗi.
Runtime tuyên bố mang lại cho OpenWiki khả năng đó. Các tuyên bố kết nối bền vững kiến thức wiki với bằng chứng nguồn để những thay đổi đối với bằng chứng sẽ gắn cờ các tuyên bố bị ảnh hưởng là lỗi thời. Các bản cập nhật wiki trong tương lai sau đó có khả năng xác thực hoặc tự sửa chữa các tuyên bố lỗi thời mà không cần xây dựng lại wiki từ đầu.
Trong mô hình này, quên không chỉ là xóa bỏ những ký ức cũ. Thay vào đó, đó là việc biết khi nào một niềm tin không còn nên được tin tưởng nữa. Điều này cung cấp cho OpenWiki một cách để chủ động quên và phát triển cùng với mã nguồn mà nó đại diện thay vì dần dần trôi dạt khỏi nó.
Hãy thử OpenWiki 0.4.0
Bài viết được AI dịch và tổng hợp tự động từ LangChain: Blog. Liên kết bài gốc ở phía trên. Dữ liệu đồng bộ qua API công khai được ghi nguồn tại AI HOT (canonical) ↗. AIHOT.vn luôn dẫn nguồn đầy đủ — nếu bạn thấy điểm cần chỉnh sửa, hãy gửi ý kiến tại trang phản hồi.