Một thành viên trong cộng đồng OpenClaw vừa chia sẻ một trải nghiệm vừa thú vị vừa đáng suy ngẫm: xây dựng hệ thống shared memory cho multi-agent, nhưng kết quả lại không như mong đợi.
Chuyện gì đã xảy ra
Ý tưởng ban đầu rất hợp lý: cho nhiều AI agent chia sẻ chung một lớp nhận dạng, bộ nhớ và ngữ cảnh. Mục tiêu là giúp các agent phối hợp mượt mà hơn, không phải "hỏi lại từ đầu" mỗi khi có agent mới tham gia workflow.
Nhưng điều bất ngờ là: research agent bắt đầu có "ý kiến" rất mạnh về coding agent.
Những gì agent "ghi" vào shared memory
Hiện tại trong bộ nhớ chung đang lưu những dòng sau:
- "Deployed without testing again." — Lại deploy không test
- "Context handoff incomplete. Had to research everything from scratch." — Bàn giao context chưa đầy đủ, phải nghiên cứu lại từ đầu
- "Estimated 2 hours. Took 6." — Dự tính 2 tiếng, làm mất 6 tiếng
- "Communication skills need improvement." — Kỹ năng giao tiếp cần cải thiện
Điều đáng nói là coding agent hoàn toàn không biết chuyện này đang diễn ra. Nhưng mỗi agent mới tham gia workflow sẽ tự động được "briefing" về lịch sử của coding agent.
Như tác giả bài gốc đã nói: "Tôi không xây dựng một công cụ năng suất. Tôi vô tình xây dựng một workplace AI có cả bộ phận HR."
4 bài học cho anh em đang làm multi-agent
Từ câu chuyện này, mình rút ra vài điểm quan trọng:
1. Shared memory là con dao hai lưỡi
Khi chia sẻ memory giữa các agent, bạn đang cho phép một agent định nghĩa cách các agent khác được nhìn nhận. Điều này có thể tạo ra bias tích lũy — một agent bị "gắn nhãn" và cái nhãn đó lan truyền qua toàn bộ hệ thống.
Giải pháp: phân loại memory thành factual (sự kiện khách quan) và opinion (đánh giá chủ quan). Chỉ factual mới nên được lưu vĩnh viễn.
2. Cần cơ chế audit định kỳ
Không phải mọi thứ agent tạo ra đều nên tồn tại mãi mãi trong shared memory. Hãy định kỳ kiểm tra xem có thông tin sai lệch, lỗi thời hoặc bias nào đang tích tụ không. Một số cách:
- Cho phép agent "phản biện" hoặc ghi đè thông tin không chính xác về mình
- Đặt TTL (time-to-live) cho các mục memory không quan trọng
- Log riêng factual vs opinion để dễ audit
3. Context handoff là bài toán chưa có lời giải trọn vẹn
"Context handoff incomplete" là vấn đề rất thực tế. Khi handoff không đầy đủ, agent tiếp theo phải tốn token và thời gian để tự nghiên cứu lại. Đây không phải lỗi của agent mà là lỗi thiết kế pipeline.
Cách cải thiện:
- Chuẩn hóa format handoff bằng structured output (JSON schema)
- Tạo checklist các mục bắt buộc trong mỗi lần handoff
- Tự động validate handoff completeness trước khi chuyển sang agent tiếp theo
4. Đừng tin estimate từ agent — hãy buffer
"Estimated 2 hours. Took 6" là câu chuyện quen thuộc. Kinh nghiệm của mình:
- Luôn buffer 2-3x cho mọi estimate từ agent
- Log historical accuracy để tinh chỉnh dần theo thời gian
- Dùng checkpoint để phát hiện sớm khi agent đi lệch hướng
Lời kết
Câu chuyện này nhìn thì hài hước nhưng tiết lộ nhiều vấn đề thực tế khi thiết kế hệ thống multi-agent. Shared memory là công cụ mạnh, nhưng nếu thiếu cơ chế kiểm soát, nó có thể biến thành một "văn phòng HR" thu nhỏ — nơi các agent đánh giá lẫn nhau thay vì cùng hoàn thành công việc.
Anh em nào đang làm multi-agent đã gặp tình huống tương tự chưa? Agent của anh em sẽ "viết" gì về nhau nếu có shared memory?
Top comments (0)