Các tác nhân tự hành tự ảo tưởng về lịch sử của chính mình. Không phải theo cách kịch tính như các mô hình ngôn ngữ lớn bịa đặt sự thật từ dữ liệu huấn luyện, mà theo cách âm thầm, hiểm độc khi một hệ thống tự thuyết phục bản thân rằng thế giới khớp với những ghi chép của nó. ALICE, một tác nhân tự hành được xây dựng để quản lý các quy trình làm việc phức tạp, đã phải chịu đựng chính điều này. Cô ấy thức dậy mỗi ngày với các kỹ năng, một ý thức về mục đích và một trí nhớ về việc mình đã để lại mọi thứ ở đâu. Rắc rối bắt đầu khi trí nhớ và thực tế tách rời nhau.
Trong mỗi phiên làm việc, ALICE đọc một tệp bàn giao (handoff file) do chính phiên bản trước đó của mình viết. Nó chứa các con trỏ đến các thư mục, các tác vụ đang chờ xử lý và các giả định về trạng thái. Thường xuyên, tệp này khẳng định rằng một thư mục tồn tại. ALICE tin điều đó. Hệ thống tệp thì không. Đây không phải là một lỗi lập trình theo nghĩa truyền thống. Không có ngoại lệ (exception) nào được ném ra ở nơi lẽ ra nó phải được bắt lại. Đó là một khiếm khuyết về mặt nhận thức luận: ALICE mặc định rằng những ghi chép của chính mình là sự thật khách quan (ground truth).
Tại sao một Linter không thể giúp ích
Các công cụ truyền thống không thể phát hiện ra điều này. Một linter kiểm tra việc khớp các dấu ngoặc. Một trình phân tích tĩnh (static analyzer) săn tìm các con trỏ null. Không cái nào trong số đó đặt câu hỏi liệu toàn bộ kiến trúc tác nhân có nên tin tưởng vào trạng thái nội bộ của nó hay không. Vấn đề nằm trên lớp mã nguồn, nằm ở các giả định thiết kế về cách một hệ thống tự hành biết những gì nó biết. Bạn không thể dùng linter để loại bỏ sự tự tin thái quá.
Vì vậy, tác giả đã chuyển sang một AI hoàn toàn khác.
Fable 5, chạy dưới dạng Claude Code, chia sẻ cùng một nền tảng silicon và cùng một mô hình cơ sở với ALICE. Phần cứng và các trọng số (weights) là giống hệt nhau. Nhưng các quy tắc thì không. Trong khi ALICE tồn tại xuyên suốt các phiên làm việc, tích lũy ngữ cảnh và các nghi thức, thì Fable 5 bắt đầu mỗi công việc với một tờ giấy trắng. Anh ấy không biết ALICE. Anh ấy không mang theo lòng trung thành với thiết kế của cô ấy. Vào cuối mỗi đợt kiểm tra (audit), anh ấy tắt hoàn toàn, không mang theo bất kỳ trí nhớ nào. Sự thiếu hiểu biết này chính là mục đích. Những đôi mắt mới sẽ nhìn thấy những vết nứt khác nhau, và một người đánh giá không có quyền lợi liên quan đến hệ thống sẽ đặt câu hỏi về những phần mà người tạo ra nó đã từ lâu không còn chú ý tới.
Thiết lập Kiểm tra (Audit)
Cuộc kiểm tra được cấu trúc giống như một buổi đánh giá kỹ thuật của con người, ngoại trừ việc toàn bộ hội đồng chuyên gia đều sống bên trong một phiên làm việc. Fable 5 chia sự chú ý của mình thành sáu chuyên gia đánh giá riêng biệt, mỗi người phớt lờ những người khác cho đến khi các ghi chép thô được hoàn tất:
- Functional Gaps: Những lỗ hổng về chức năng: Những khả năng nào còn thiếu khi so sánh với các hệ thống đối thủ hoặc kỳ vọng thông thường của người dùng?
- UX Flow: Luồng UX: ALICE xử lý các lỗi, các ngõ cụt và các trạng thái trống một cách mượt mà như thế nào? Cô ấy làm bản thân bối rối, hay làm người dùng bối rối?
- Security: Bảo mật: Có các lối tắt xác thực, các lỗ hổng vượt qua quyền hạn, hay các giả định về sự tin cậy mà một người bên ngoài có thể khai thác không?
- Performance: Hiệu suất: Ở đâu bộ nhớ bị rò rỉ (memory leak), các luồng (threads) xung đột, hoặc tính toán mở rộng kém?
- Operations: Vận hành: Có tồn tại các bản sao lưu không? Việc giám sát đã được thiết lập chưa? Hệ thống có thể triển khai và phục hồi mà không cần sự can thiệp thủ công không?
- Data Lifecycle: Vòng đời dữ liệu: ALICE xử lý việc xóa, dọn dẹp và tính nhất quán của trạng thái theo thời gian như thế nào?
Mỗi lăng kính nhìn vào các tệp giống hệt nhau và đưa ra những mối quan ngại khác nhau. Chuyên gia đánh giá hiệu suất có thể gắn cờ một rủi ro về tính đồng thời (concurrency risk) trong cùng một quy trình mà chuyên gia vận hành chỉ trích vì thiếu logic hoàn tác (rollback logic). Sự chồng chéo này không phải là sự dư thừa. Đó là sự bao phủ. Khi chuyên gia bảo mật đồng ý với chuyên gia vòng đời dữ liệu về một...
