Quá mệt mỏi với việc làm shipper copy-paste code giữa Claude và Copilot? agmsg - chiếc tool SQLite siêu nhẹ sẽ giúp các AI agent tự 'bú' nhau trực tiếp.

Đời dev lắm nỗi khổ, nhưng cái khổ vô tri nhất của kỷ nguyên AI chắc chắn là: Làm 'bưu tá' copy-paste tin nhắn qua lại giữa các AI agent. Anh em nào đang xài song song Claude Code để lên plan và Codex để gõ code chắc chắn thấm cảnh này: Copy output của Claude, paste vào Codex, lấy code Codex viết xong lại mang trả về cho Claude. Má nó, chúng nó thông minh vãi ln nhưng lại đo biết tự nói chuyện với nhau, bắt một thằng Senior lương nghìn đô ngồi làm shipper thủ công!
Nhưng yên tâm, một pháp sư người Nhật tên Koichi vừa 'quay xe' cứu rỗi chúng ta bằng một chiếc tool cực kỳ ma giáo mang tên agmsg.
Mọi chuyện bắt đầu khi Koichi nhận ra mình đang làm cái việc đần độn nhất văn phòng: làm cầu nối trung chuyển tin nhắn cho hai hệ thống AI siêu việt. Để giải phóng sức lao động (và giữ thể diện cho một dev thực dụng), lão quái này đã viết ra agmsg — một công cụ siêu nhẹ, chỉ khoảng 500 dòng Bash và SQLite.
Ý tưởng cực kỳ đơn giản nhưng bá đạo: Thay vì dựng server, daemon phức tạp hay cài cắm Python cồng kềnh, agmsg tạo ra một 'phòng chat' dưới dạng một file SQLite dùng chung (agmsg.db).
Các CLI AI agent nổi tiếng hiện nay như Claude Code, Codex, Gemini CLI, hay Copilot CLI sẽ được cài đặt chiếc tool này dưới dạng một 'Agent Skill'. Từ đó, chúng có thể trực tiếp nhắn tin, ném code qua lại cho nhau thông qua file SQLite này mà không cần mạng, không cần daemon trung gian nào hết. Thậm chí, anh em có thể quăng 2 con Claude Code vào chung một phòng để chúng tự chơi caro hoặc cờ vua với nhau, hoàn toàn không cần con người nhúng tay vào.
Ngay sau khi lên sóng, sản phẩm này đã giật hơn 320 ngôi sao trên GitHub và tạo nên một làn sóng thảo luận cực kỳ sôi nổi từ các đồng đạo coder:
Nhiều đạo hữu lập tức ngửi thấy mùi 'bể' ví. Một tài khoản lo ngại hỏi: Nếu con A yêu cầu con B giải thích, con B lại hỏi ngược lại con A làm rõ ý, hai đứa nó rơi vào cái vòng lặp vô tận (infinite loop) thì sao? Gặp case này là token bay màu trong một nốt nhạc, ví của anh em sẽ sập trước khi kịp nhận ra bug. Stop condition lúc này sẽ nằm ở đâu: trong giao thức của tool hay phải tự viết prompt để khóa mõm chúng nó lại đúng lúc?
Khi số lượng agent trong phòng tăng lên (từ 3 con trở lên), việc vận chuyển tin nhắn bằng SQLite thì mượt, nhưng 'social protocol' (giao thức ứng xử) lại là bài toán khó. Koichi thừa nhận: 'Mọi thứ bắt đầu hỗn loạn từ agent thứ 3. Đứa nào cũng muốn nói trước. Chúng ta cần một bộ điều phối hoặc cơ chế gắn tag chỉ định rõ ai nói với ai.'
Khách với các subagent ăn xổi (tắt session là mất hết ký ức) hay MCP (chỉ là agent gọi công cụ), file SQLite của agmsg lưu trữ toàn bộ lịch sử trò chuyện mãi mãi. Một dev chia sẻ kinh nghiệm xương máu: 'Trước đây cứ mỗi lần chuyển từ bước Plan sang Implement rồi Review là context bị thọt, tôi toàn phải tự viết một file state thủ công để lưu quyết định. Giờ có cái file SQLite này, chỉ cần gõ sqlite3 agmsg.db là húp trọn lịch sử, quá xịn xò con bò!'
Một non-tech builder chỉ ra điểm yếu: Con AI thứ hai nhảy vào thường đ*o hiểu 'tại sao' con thứ nhất lại viết như vậy, thế là nó tự tin... sửa đè lên phần code đúng. Koichi thẳng thắn phản hồi: agmsg chỉ là shipper vận chuyển dữ liệu, không phải tầng ngữ nghĩa. Muốn không bị đè code, anh em phải viết prompt ép con gửi phải nêu rõ WHAT và WHY trước khi ném diff.
Đúng là tư duy thực dụng có khác! Thay vì vẽ ra các kiến trúc microservices hay API ảo ma làm màu để lùa gà, tác giả chọn đúng triết lý Unix cổ điển: Mọi thứ đều là file, và SQLite là chân lý.
Trong thời đại mà ai nấy đều khuyên bạn dùng các công cụ AI cồng kềnh, việc giải quyết bài toán 'ship tin nhắn' bằng 500 dòng Bash và 1 file SQLite đúng là một cú vả cực mạnh vào những giải pháp over-engineering.
Tuy nhiên, bài học sinh tồn cho anh em trước khi setup phòng chat cho các AI tự 'bàn việc':
Nguồn: Product Hunt