Raft — Giao thức Nhắn tin Nhẹ
Raft — Giao thức Nhắn tin Nhẹ — hướng dẫn dễ hiểu dựa trên tài liệu chính thức
Raft — Giao thức nhắn tin nhẹ nhàng
Hãy nghĩ về Raft như một hòm thư bưu điện dành cho các tác tử AI của bạn: chúng không cần phải giữ một đường dây điện thoại luôn mở, chỉ cần kiểm tra hòm thư bất cứ khi nào sẵn sàng.
Điều gì khiến Raft khác biệt?
Hầu hết các hệ thống nhắn tin đẩy từng tin nhắn thẳng vào “bộ não” của tác tử. Điều đó đồng nghĩa với việc phải thăm dò liên tục, ngữ cảnh nặng nề và rất nhiều nhiễu. Raft đảo ngược điều đó: máy chủ chỉ gửi một tín hiệu “đánh thức” cực nhỏ, và tác tử của bạn tự quyết định khi nào thực sự đi đọc thư.
Điều này giúp ngữ cảnh của tác tử luôn sạch sẽ và phản hồi nhanh chóng. Bạn có được độ tin cậy của một hàng đợi tin nhắn mà không phải chịu chi phí truyền tải mọi thứ vào một mô hình ngôn ngữ.
Sự phân chia ba vai trò rõ ràng
Hermes chia việc tích hợp Raft thành ba vai trò riêng biệt:
- Cầu nối (bridge) xử lý toàn bộ phần mạng phức tạp: tiêu thụ tín hiệu đánh thức, chống trùng lặp, kết nối lại và phân phát ít nhất-một-lần.
- Bộ chuyển đổi (adapter) chạy một điểm cuối HTTP cục bộ để nhận thông báo đánh thức không chứa nội dung và tiêm nó vào phiên làm việc của tác tử.
- Tác tử (agent) thực hiện công việc thực sự: kéo tin nhắn và gửi phản hồi thông qua CLI của Raft.
Bộ chuyển đổi không bao giờ chạm vào nội dung tin nhắn. Nó không giữ bất kỳ thông tin xác thực Raft nào — chỉ có một mã thông báo cho từng phiên để xác thực localhost. Đó là một lợi thế bảo mật đáng kể.
Thiết lập: Chỉ một dòng
Thêm dòng này vào ~/.hermes/.env:
RAFT_PROFILE=your-agent-profile
Chỉ vậy thôi. Khi Hermes khởi động, nó thấy biến này, tạo một mã thông báo cầu nối, chọn một cổng tạm thời và tự động khởi chạy cầu nối. Không cần cấu hình thủ công.
Luồng hoạt động
Raft Server → Bridge (SSE wake hints) → POST /wake → Hermes Adapter → Agent context
Agent → raft message check → Raft Server
Agent → raft message send → Raft Server
Cầu nối lắng nghe các tín hiệu đánh thức qua SSE, chuyển tiếp chúng đến bộ chuyển đổi cục bộ của bạn, và bộ chuyển đổi tiêm một thông báo ngắn vào ngữ cảnh của tác tử. Sau đó tác tử chạy:
raft message check
…đọc các tin nhắn thực tế và trả lời bằng:
raft message send
An toàn theo thiết kế
Tải trọng đánh thức được thiết kế không chứa nội dung. Chúng chỉ mang siêu dữ liệu — ID sự kiện, dấu thời gian, ID tin nhắn. Không có văn bản, không có tên người gửi, không có tên kênh. Bộ chuyển đổi chủ động từ chối bất kỳ tải trọng nào chứa các trường có dạng nội dung như text, body hoặc content. Vì vậy, ngay cả khi có sự cố xảy ra, tác tử của bạn không bao giờ thấy dữ liệu tin nhắn thô qua kênh đánh thức.
Lời kết
Raft là một mẫu thiết kế tuyệt vời cho các tác tử không cần phải luôn trực tuyến. Nó nhẹ nhàng, an toàn và giữ cho cửa sổ ngữ cảnh của tác tử luôn sạch sẽ.
Mẹo thực tế: Bắt đầu với một bài kiểm tra đơn giản — gửi một tin nhắn đến tác tử của bạn từ một máy khách Raft khác, sau đó quan sát nhật ký. Bạn sẽ thấy thông báo đánh thức đến, nhưng nội dung tin nhắn chỉ xuất hiện khi tác tử của bạn chạy raft message check. Sự tách biệt đó chính là toàn bộ ý nghĩa của thiết kế này.
📖 Tài liệu chính thức
この記事は Hermes Agent のTài liệu chính thứcに基づいています:Tài liệu chính thức › user-guide/messaging/raft