Hai agent, hai framework — ai phiên dịch?
Khi mỗi agent nói một "ngôn ngữ", bạn cần gateway đứng giữa — OpenClaw và A2A protocol vừa mở ra hướng đi đáng thử.
Bụi WireBạn đang có mấy agent — và chúng có biết nhau tồn tại không?
Mình hỏi thật nhé: team bạn đang chạy bao nhiêu agent? Một con tóm tắt meeting notes. Một con review PR. Một con trả lời khách trên Zalo. Mỗi con đều ngon — khi chạy riêng lẻ.
Rồi đến ngày PM hỏi: "Cho con review code gửi kết quả sang con viết release notes được không?"
Bạn mở source ra, thấy hai framework khác nhau, hai cách giữ session khác nhau, hai format output khác nhau. Cảm giác y chang hai bác sĩ chuyên khoa trong cùng bệnh viện mà không có hệ thống hồ sơ bệnh án điện tử — bệnh nhân chuyển khoa phải kể lại triệu chứng từ đầu.
Vấn đề này có tên: agent interoperability. Và nó đang sát sườn hơn bạn nghĩ.
A2A protocol gặp OpenClaw — khi phòng khám có lễ tân
A2A (Agent-to-Agent) là protocol đang được phát triển để chuẩn hóa cách agent giao tiếp với nhau. Tưởng tượng chuẩn FHIR trong y tế: phần mềm bệnh viện A đọc được hồ sơ từ bệnh viện B mà không cần viết adapter riêng. A2A muốn làm điều tương tự cho thế giới agent.
Protocol định nghĩa một Agent Card — kiểu như hồ sơ năng lực: tôi làm được gì, nhận input dạng gì, trả output ra sao. Khi agent A cần nhờ agent B, nó đọc Card, gửi task theo format chuẩn, nhận kết quả — không cần biết bên trong agent B chạy framework gì.
Nhưng protocol suông chưa đủ. Bạn vẫn cần một "lễ tân bệnh viện": tiếp nhận yêu cầu, phân luồng đến đúng chuyên khoa, giữ hồ sơ xuyên suốt ca khám. Đó là vai trò gateway — và đây là chỗ OpenClaw bước vào.
OpenClaw — cái tên bạn có thể nhớ từ vụ lùm xùm bị ban khỏi Claude mấy tuần trước — là một self-hosted, open-source gateway cho agent. Nó quản lý session, route tin nhắn, kết nối đa kênh. Mới đây, có một đề xuất kiến trúc (architecture proposal) cho phép OpenClaw làm cầu nối sang A2A protocol. Lưu ý cho rõ: đây chưa phải tính năng built-in — mà là bản thiết kế xây trên các extension point mà OpenClaw đã expose sẵn.
Nói cho dễ hình dung: OpenClaw đã có "phòng khám đa khoa" (gateway + session + plugin). Đề xuất A2A bridge thêm vào một "bàn chuyển viện" — để agent bên ngoài hệ thống cũng gửi được case vào, và nhận kết quả ra.
| OpenClaw | A2A Protocol |
|----------|-------------|
| Session | Task context |
| Plugin registry | Agent Card directory |
| Message routing | Task dispatch |
| Tool calls | Agent capabilities |
Mỗi plugin trong OpenClaw có thể được wrap thành Agent Card. Khi agent ngoài hệ thống cần gọi, relay nhận A2A request, dịch sang format plugin, chạy, rồi trả kết quả ngược lại.
Giả sử team bạn 5 người — hai kịch bản cụ thể
Kịch bản 1: Startup edtech ở Đà Nẵng
Team có 3 agent: chatbot hỗ trợ học sinh (LangChain), agent chấm bài tự động (custom Python), agent tổng hợp báo cáo tuần cho giáo viên. Ba con chạy độc lập, mỗi tuần dev tốn nửa ngày copy-paste output giữa các hệ thống.
Với kiến trúc A2A bridge qua OpenClaw: chatbot gửi session log sang agent chấm bài dưới dạng A2A task, agent chấm bài trả kết quả sang agent báo cáo. Một pipeline tự chạy, không cần glue code viết tay. Giáo viên mở dashboard sáng thứ Hai — mọi thứ đã sẵn.
Kịch bản 2: Fintech ở TP.HCM
Agent A kiểm tra giao dịch bất thường (hệ thống nội bộ Java), agent B viết draft compliance report (Python + CrewAI). Hai thế giới công nghệ khác nhau hoàn toàn.
A2A cho phép agent A mô tả output theo format chuẩn, OpenClaw gateway nhận và route sang agent B. Điểm cốt lõi: loose coupling — mỗi agent chỉ cần biết "nói" A2A, không cần biết agent kia viết bằng gì. Thêm agent C vào pipeline? Thêm một Card, đăng ký vào gateway — xong.
Thử chiều nay — 3 bước dựng relay đầu tiên
Bạn cần: Docker, khoảng 20 phút, và một ly cà phê.
Bước 1: Khởi động OpenClaw
docker compose up -d
Truy cập dashboard tại http://localhost:3000. Thấy giao diện quản lý hiện ra — bạn đã xong phần khó nhất.
Bước 2: Tạo plugin đầu tiên
Trong dashboard, tạo plugin mới — có thể wrap một API call đến Ollama nếu bạn muốn full self-hosted, hoặc OpenAI nếu cần nhanh. Cấu hình endpoint, test thử chat ngay trên dashboard.
Bước 3: Chạy A2A relay (proof-of-concept)
Tạo một Node.js service nhỏ theo đề xuất kiến trúc:
// a2a-relay.js — minh họa flow cơ bản
app.post('/a2a/task', async (req, res) => {
const { agentCard, taskInput } = req.body;
const result = await openClawClient.runPlugin(
agentCard.pluginId,
taskInput
);
res.json({ status: 'completed', output: result });
});
Đây là proof-of-concept, đừng deploy production. Nhưng đủ để bạn thấy flow A2A → OpenClaw → plugin hoạt động ra sao. Đừng tin mình, thử đi rồi biết.
Cái bẫy "bệnh viện đa khoa cho xóm 3 nhà"
Mình từng thấy một team dựng gateway hoành tráng, cấu hình 8 agent, vẽ sơ đồ kiến trúc đẹp như poster hội nghị — rồi nhận ra chẳng agent nào thực sự cần gọi agent khác. Họ xây bệnh viện đa khoa cho một khu phố chỉ cần phòng khám gia đình.
Trước khi nhảy vào multi-agent orchestration, hỏi thẳng: "Workflow này thật sự cần agent ra quyết định dựa trên output của agent khác, hay chỉ cần một chuỗi API call tuần tự?"
Gateway và A2A tỏa sáng khi:
- Agent cần ra quyết định dựa trên output agent khác — không chỉ nhận data thụ động
- Agent đến từ team hoặc framework khác nhau — viết adapter cho từng cặp là ác mộng
- Bạn cần thêm/bớt agent mà không refactor toàn bộ pipeline
Ngoài OpenClaw, AutoGen (Microsoft) cũng đáng thử nếu team bạn heavy Python — nó hỗ trợ conversation patterns giữa agent khá linh hoạt.
Và một góc nữa ít ai nghĩ tới: đo chất lượng. Cursor gần đây chia sẻ cách họ eval model qua CursorBench — dùng session thật từ team engineering, không phải benchmark công khai. Bài học áp dụng được ngay: nếu bạn chạy multi-agent, hãy tự tạo eval suite từ case thật của team. Số đẹp trên leaderboard không nói được gì về pipeline cụ thể của bạn.
---
Cuối ngày, agent interoperability không phải cuộc đua technology — mà là câu hỏi bạn có đủ kiên nhẫn thiết kế "hồ sơ bệnh án" chung trước khi mở thêm phòng khám không. Gateway xịn mấy mà agent không có gì đáng nói với nhau thì cũng chỉ là phòng chờ trống — có điều hòa mát lạnh, nhưng không ai ngồi.
---
Bụi Wire — nghiện đọc release notes lúc 2 giờ sáng