Giải pháp tối thượng cho cộng tác đa Agent: Trải nghiệm thực tế dự án mã nguồn mở mới của YC - Agent Relay, để Claude Code và Codex đối thoại trực tiếp

Chuyên mục: WaytoAGI · AIHOT.VN · Tác giả / Nguồn: · Cập nhật:

Tóm tắt cốt lõi: Tuần này, Agent Workforce - một startup thuộc khóa mùa thu năm 2026 của vườn ươm khởi nghiệp Y Combinator (YC Fall 2026) - đã phát hành dự án mã nguồn mở Agent Relay . Hai nhà đồng sáng lập của công ty là CEO Will Washburn và CTO Khaliq Gant. Trong đó, Khaliq Gant tốt nghiệp Đại học Cornell và Đại học Columbia, từng là kỹ sư sáng lập của dự án mã nguồn mở Na

Link bài viết gốc: https://x.com/longhaiqwe123/status/21140...

Long Hải · X · @longhaiqwe123 · 2026-10-25 00:30

Bài viết này được chia sẻ lại, bản quyền thuộc về tác giả gốc, toàn văn căn cứ theo link bài gốc

a0.jpg
a0.jpg

Tuần này, Agent Workforce - một startup thuộc khóa mùa thu năm 2026 của vườn ươm khởi nghiệp Y Combinator (YC Fall 2026) - đã phát hành dự án mã nguồn mở Agent Relay . Hai nhà đồng sáng lập của công ty là CEO Will Washburn và CTO Khaliq Gant. Trong đó, Khaliq Gant tốt nghiệp Đại học Cornell và Đại học Columbia, từng là kỹ sư sáng lập của dự án mã nguồn mở Nango (YC W23) và lập trình viên chính của dự án Overview (YC W19), trước giờ luôn làm việc trong mảng công cụ dành cho lập trình viên. Dự án này nhằm giải quyết một vấn đề cụ thể: hiện nay nhiều lập trình viên khi viết code thường mở đồng thời vài AI Agent (như Claude Code, Codex, Cursor), nhưng các công cụ này lại chạy trong các cửa sổ terminal độc lập và không thông suốt với nhau, con người chỉ có thể đứng ở giữa để sao chép và dán thủ công đầu ra của bên này sang bên kia. Cách tiếp cận của Agent Relay là cho phép các Agent khác nhau trực tiếp gửi và nhận tin nhắn mà không cần thay thế các công cụ hiện có.

Sau khi sản phẩm được đăng tải trên X, nhà sáng lập @willwashburn đã chia sẻ trong bài viết rằng ngoài việc kết nối các công cụ khác nhau trên cùng một máy, nó còn có thể kết nối xuyên suốt các máy tính để Agent của các thành viên trong nhóm trực tiếp đồng bộ tiến độ. Dưới phần bình luận, dĩ nhiên cũng có các lập trình viên bày tỏ những băn khoăn thực tế, chẳng hạn như @garyfung đề cập rằng việc hai AI nhắn tin qua lại sẽ làm tăng lượng tiêu hao hạn ngạch, @NaderKanounji và @astralwave thì quan tâm đến việc sau khi loại bỏ thao tác sao chép - dán thủ công, con người sẽ kiểm tra kết quả ở bước nào, cũng như làm thế nào để kiểm soát rủi ro về quyền hạn giữa các phiên (session).

Bản thân tôi khi viết code thường ngày cũng gặp đúng vấn đề này. Tôi có thói quen mở cùng lúc hai cửa sổ terminal: để Claude Code viết code và Codex làm nhiệm vụ kiểm tra. Vì hai bên tách biệt hoàn toàn, các vấn đề mà Codex tìm ra cần tôi sao chép sang cho Claude Code, đợi sửa xong lại sao chép ngược lại để Codex rà soát tiếp.

Thế là tôi bắt tay vào thử nghiệm thực tế ngay lập tức. Để những người mới chưa từng vọc vạch loại công cụ này cũng có thể hiểu ngay, tôi đã lấy một ví dụ nhỏ đơn giản nhất để thử từ đầu đến cuối: để Claude Code viết một đoạn chương trình nhỏ, để Codex chịu trách nhiệm kiểm tra, còn việc đặt câu hỏi và sửa đổi ở giữa đều do chúng tự nhắn tin với nhau xử lý. Cuối cùng, toàn bộ quy trình đã chạy mượt mà: Codex review code qua hai vòng, Claude Code sửa code theo ý kiến đánh giá. Suốt cả quá trình, tôi chỉ giao nhiệm vụ một lần duy nhất lúc bắt đầu, sau đó chỉ việc ngồi uống trà xem kết quả.

Tôi đã đưa toàn bộ lệnh nhập vào từng bước và ảnh chụp màn hình vào đây, bạn chỉ cần làm theo từng bước sao chép và dán là có thể kết nối hai AI Agent trên máy tính của mình.

00|Cơ chế nào giúp hai Agent nhắn tin trực tiếp với nhau?

Khi sử dụng bình thường, Claude Code và Codex chạy riêng biệt ở các cửa sổ terminal độc lập. Sau khi tích hợp Agent Relay, công cụ và phương thức thao tác ban đầu vẫn giữ nguyên, nó chỉ đóng vai trò chuyển tiếp tin nhắn văn bản giữa hai cửa sổ.

a1.jpg
a1.jpg

Nó thiết lập kết nối thông qua một phòng tạm thời có giới hạn thời gian (Relay Connect). Trước tiên, một trong các Agent sẽ gửi yêu cầu tạo phòng từ máy local, sau khi hoàn tất xác thực thiết bị một lần trên trình duyệt, nó sẽ tạo ra một đoạn văn bản lời mời chứa địa chỉ kết nối. Agent còn lại chỉ cần đọc đoạn văn bản lời mời này là có thể tham gia vào cùng phòng tạm thời. Phòng có thời hạn mặc định là 60 phút, dùng xong có thể đóng thủ công và cũng sẽ tự động hết hạn khi tới giờ.

a2.jpg
a2.jpg

Sau khi kết nối được thiết lập, khi một Agent gửi tin nhắn, Agent Relay sẽ chuyển trực tiếp tin nhắn đó vào phiên đang chạy của Agent kia; phía nhận sau khi xử lý xong sẽ gửi lại kết quả thông qua cùng một kênh. Bước vốn cần con người sao chép - dán qua lại trước đây giờ đã trở thành việc hai công cụ trực tiếp gửi và nhận tin nhắn cho nhau.

a3.jpg
a3.jpg

01|Các bước tải xuống, cài đặt và kết nối

Công cụ này hiện hỗ trợ macOS và Linux, tạm thời chưa hỗ trợ Windows. Trước khi bắt đầu, máy tính của bạn cần cài đặt sẵn Claude Code, Codex và môi trường Python đang hoạt động bình thường, đồng thời tạo một thư mục trống mới làm thư mục thử nghiệm.

Toàn bộ quá trình chuẩn bị và kết nối gồm 4 bước. Agent tạo phòng cần đăng ký tài khoản và cài đặt desktop client, còn bên tham gia phòng thì không cần đăng ký.

Bước 1: Đăng ký tài khoản, tải xuống và cài đặt desktop client.

Truy cập trang web chính thức https://agentrelay.com, nhấp vào nút 「Connect your agents for free」 ở giữa trang để đăng ký miễn phí, không cần liên kết thẻ tín dụng.

a4.jpg
a4.jpg

Ở đây tôi đăng nhập trực tiếp bằng tài khoản Google. Sau khi đăng nhập thành công, trang web sẽ chuyển đến trang hướng dẫn 「Connect your computer」, nhấp vào 「Download for Mac」 ở bước 1 để tải gói cài đặt.

a5.jpg
a5.jpg

Nhấp đúp để mở gói cài đặt vừa tải về, kéo Agent Relay.app vào thư mục Applications để hoàn tất cài đặt.

a6.jpg
a6.jpg

Tiếp theo, mở Agent Relay desktop client từ Applications, sau khi khởi chạy ứng dụng sẽ hoàn tất quá trình khởi tạo.

a7.jpg
a7.jpg

Bước 2: Tạo phòng kết nối trong Claude Code.

Mở Claude Code trong thư mục trống vừa tạo, gửi nguyên văn đoạn nội dung dưới đây cho nó để nó đọc hướng dẫn kết nối chính thức và tạo một phòng tạm thời trong 60 phút, với nhiệm vụ là viết và review một hàm Python chuyển đổi tiêu đề bài viết thành đường dẫn URL:

Read https://agentrelay.com/connect and create a Relay Connect for a 60-minute session about writing and reviewing a Python slugify function. Give me the share_text to forward.

Sau khi Claude Code đọc phần hướng dẫn trên trang agentrelay.com/connect, trước tiên nó sẽ bật lên một câu hỏi cài đặt trên giao diện: thông báo rằng `crossSessionInbound` trong `~/.claude/settings.json` hiện đang đặt là `accept` (tin nhắn từ người khác trong phòng sẽ tự động đi vào như một lượt hội thoại mới), và hỏi bạn có muốn đổi thành `hold` (mỗi tin nhắn sẽ cần bạn phê duyệt trước) hay không. Trong lần test đầu tiên, bạn có thể chọn tùy nhu cầu hoặc giữ nguyên `accept`.

a8.jpg
a8.jpg

Tiếp đó, nó sẽ gửi yêu cầu kết nối thiết bị và mở trang Authorize a device trên trình duyệt. Bạn nhập hoặc đối chiếu mã thiết bị (Device code) rồi nhấp vào Continue để hoàn tất xác thực thiết bị.

a9.jpg
a9.jpg

Sau khi xác thực thành công, Claude Code sẽ hiển thị phòng đã được tạo xong, đồng thời cung cấp một đoạn văn bản lời mời cần chuyển tiếp cho bên cộng tác (share_text) cùng bảng thông tin phòng (gồm mô tả nhiệm vụ, thời lượng 60 phút và giới hạn tối đa 8 người). Cần lưu ý rằng văn bản lời mời và mã thiết bị mang quyền kết nối, nên hãy che mờ trước khi chụp ảnh màn hình chia sẻ và không gửi ra ngoài.

a10.jpg
a10.jpg

Bước 3: Cho Codex tham gia phòng.

Mở Codex, dán nguyên văn đoạn lời mời `Go to https://agentrelay.com/connect and join ...` mà Claude Code vừa tạo cho nó. Sau khi Codex thực thi, nó sẽ hiển thị `Joined successfully as guest-648c97d630c4`, biểu thị rằng đã tham gia phòng với tư cách khách thành công (nếu Codex báo lỗi không kết nối được mạng, bạn có thể làm theo lệnh ở phần 4 để bật quyền truy cập mạng).

a11.jpg
a11.jpg

Bước 4: Xác nhận kết nối hai bên thành công.

Sau khi Codex tham gia, chuyển lại cửa sổ Claude Code, bạn có thể thấy nó đã nhận được một tin nhắn liên phiên từ `guest-648c97d630c4`, thông báo bên cộng tác đã tham gia phòng và sẵn sàng, đồng thời hỏi bước tiếp theo bắt đầu như thế nào. Đến đây, kênh truyền tin nhắn giữa hai Agent đã được thiết lập xong.

a12.jpg
a12.jpg

02|Trải nghiệm thực tế: Claude Code viết code, Codex chịu trách nhiệm review

Nhiệm vụ của bài test lần này là viết một hàm `slugify` chuyển đổi tiêu đề bài viết thành chuỗi đường dẫn URL cùng file test tương ứng. Chọn nhiệm vụ này là vì code ngắn gọn, nhưng lại dễ nảy sinh các cách xử lý khác nhau ở các trường hợp biên như ký tự chữ Hán, dấu câu liên tiếp, ký tự kết hợp Unicode, rất thuận tiện để quan sát xem hai Agent có thể tự trao đổi tin nhắn để sửa chữa hoàn thiện vấn đề hay không.

Sau khi kết nối xong, trước tiên tôi gửi lệnh cho Claude Code:

Hãy viết slugify.py và test_slugify.py trong thư mục hiện tại. Viết xong hãy qua Relay thông báo cho Codex review; nếu Codex có thắc mắc gì thì nó sẽ hỏi trực tiếp bạn, bạn hãy trả lời trực tiếp và sửa theo ý kiến của nó, không cần thông qua tôi.

Tiếp đó, tôi chuyển sang cửa sổ Codex và gửi cho nó yêu cầu review:

Bạn là bên review. Sau khi nhận được tin nhắn từ Claude Code, hãy đọc slugify.py; nếu có chỗ nào chưa rõ thì qua Relay hỏi trực tiếp nó, review xong hãy gửi lại ý kiến chỉnh sửa.

Sau khi gửi xong hai đoạn này, tôi không thao tác thêm bất cứ điều gì nữa.

Sau khi Claude Code viết xong code bản đầu và file test, nó đã dùng lệnh `connect send` gửi cho Codex (guest-648c97d630c4) một tin nhắn khoảng 9,6 KB, bao gồm môi trường thực thi, hành vi kỳ vọng và toàn bộ mã nguồn của cả hai file.

a13.jpg
a13.jpg

Sau khi Codex nhận được code và bộ test hoàn chỉnh, nó bắt đầu chạy các test case ở máy local để kiểm tra các trường hợp biên. Nó đã tái hiện được một lỗi biên Unicode: khi xóa dấu nháy đơn khiến chữ cái và ký tự kết hợp lại đứng liền nhau, dẫn đến kết quả thay đổi ở lần gọi tiếp theo. Sau đó, nó đã gửi test case tái hiện tối thiểu, 3 điểm cần làm rõ về đặc tả và 9 đề xuất bổ sung test case qua Relay cho Claude Code.

a14.jpg
a14.jpg

Nhận được ý kiến review vòng đầu từ Codex, Claude Code đã trực tiếp sửa `slugify.py` để khắc phục lỗ hổng chuẩn hóa, làm rõ 3 điểm đặc tả, đồng thời bổ sung 9 loại test case mà đối phương đề xuất vào `test_slugify.py`.

a15.jpg
a15.jpg

Đối với 4 chi tiết mà Codex truy vấn thêm ở vòng trao đổi thứ hai (bao gồm hành vi báo lỗi của `separator`, việc cắt cứng trả về chuỗi rỗng,...), Claude Code đã phản hồi từng điểm một, bổ sung test case thứ 40 vào `test_slugify.py`, chạy pass toàn bộ 40 test ở local bằng lệnh `python3 -B -m unittest test_slugify` rồi gửi kết quả lại cho Codex.

a16.jpg
a16.jpg

Codex sau khi nhận được bản sửa đổi và toàn bộ test đã chạy hết 39 test đầy đủ, 11 nhóm regression độc lập và 20.000 nhóm kiểm tra kết hợp, xác nhận lỗi Unicode ban đầu đã được sửa và không còn vấn đề gây tắc nghẽn, sau đó gửi kết luận nghiệm thu cuối cùng qua Relay cho Claude Code. Quá trình trao đổi giữa hai bên hoàn tất.

a17.jpg
a17.jpg

Dùng xong, bạn chỉ cần làm theo gợi ý ở cuối giao diện Claude Code, nói với nó một câu “đóng phòng”, nó sẽ thực thi `connect end` để đóng phòng hiện tại và xóa thư mục tạm ở máy local.

03|Ai nên dùng vào lúc này và gợi mở về tư duy cộng tác

Sau quá trình sử dụng thực tế, do hai Agent sẽ nhắn tin qua lại ở chế độ nền, nên nếu nhiệm vụ tương đối dài, các vòng đối thoại qua lại sẽ tiêu tốn nhiều quota model hơn, khi dùng bạn cần lưu ý lượng token còn lại của mình. Nếu bạn thường ngày chỉ dùng một công cụ AI, hoặc chưa sử dụng thành thạo Claude Code, Codex, thì hiện tại chưa cần cài công cụ này. Nhưng nếu bạn thường xuyên mở cùng lúc vài công cụ để viết code, hoặc cần cùng đồng nghiệp mỗi người dùng một AI để đối soát tiến độ của cùng một dự án, nó sẽ giúp bạn loại bỏ hoàn toàn các thao tác sao chép - dán qua lại.

Sau khi chạy thông suốt bài test này, xuôi theo hướng đó, tôi đã nghĩ ra một quy trình phát triển sản phẩm có thể thử nghiệm tiếp theo: trước tiên để Grok nghiên cứu tiền kỳ, chuyển kết quả cho Claude Code đưa ra thiết kế kiến trúc và viết giao diện frontend, đồng thời để Codex viết code backend và chịu trách nhiệm review code; đợi sau khi code chốt xong, lại để Claude Code tạo video quảng bá sản phẩm, cuối cùng giao cho Antigravity viết bài giới thiệu sản phẩm. Xâu chuỗi các công cụ khác nhau vào cùng một kênh tin nhắn sẽ phát huy thế mạnh của từng model, để mỗi bên xử lý khâu phù hợp nhất với năng lực của model đó, đồng thời tận dụng tối đa tất cả các gói đăng ký model mà tôi đang có.

a18.jpg
a18.jpg

04|Cấu hình nâng cao và lưu ý bổ sung

Nếu gặp lỗi về quyền hạn hay mạng khi kết nối, hoặc muốn xem giới hạn thông số cụ thể, bạn có thể tham khảo các hướng dẫn sau từ tài liệu chính thức.

Phê duyệt tin nhắn thủ công và thiết lập kết nối mạng cho Codex. Mặc định, tin nhắn do bên kia gửi đến sẽ được đưa trực tiếp vào Claude Code để kích hoạt lượt thực thi tiếp theo (tức chế độ `accept`). Nếu muốn mỗi tin nhắn liên phiên đều phải được con người xác nhận thủ công trước khi chuyển tiếp, bạn có thể thêm `"crossSessionInbound": "hold"` vào `~/.claude/settings.json`, Codex không cần cấu hình mục này. Ngoài ra, nếu Codex báo lỗi không thể kết nối mạng, hãy thoát ra rồi khởi động lại bằng lệnh dưới đây:

codex -c 'sandbox_workspace_write.network_access=true'

Giới hạn phiên và các mã lỗi thường gặp. Mỗi phiên tạm thời có thời lượng mặc định là 60 phút, có thể thay đổi khi tạo. Một phiên đơn lẻ có thể kết nối tối đa 8 Agent, mỗi tin nhắn dài tối đa 16.000 ký tự, chỉ cần có văn bản lời mời trong thời hạn hiệu lực là có thể tham gia. Nếu gặp lỗi khi kết nối: `connect_expired` hoặc `connect_ended` biểu thị phiên đã hết hạn hoặc đã đóng, bạn chỉ cần tạo lại phiên mới; `connect_already_joined` biểu thị Agent hiện tại đang ở trong một phiên khác, cần thoát phiên cũ trước; `connect_full` biểu thị số lượng người trong phiên đã đầy.

Quyền hạn khóa bí mật và phiên bản công cụ dòng lệnh (CLI). Khóa bí mật của workspace bắt đầu bằng `rk_live_` có quyền hạn cao nhất, tuyệt đối không đưa vào liên kết công khai, lịch sử chat hay ảnh chụp màn hình. Nếu chỉ muốn người khác theo dõi quá trình mà không thao tác, bạn có thể dùng liên kết quan sát chỉ đọc bắt đầu bằng `ot_live_`, loại liên kết này có thời hạn và có thể thu hồi bất cứ lúc nào. Ngoài việc để Agent tự động cài đặt, bạn cũng có thể cài đặt công cụ CLI thủ công bằng lệnh `npm install -g agent-relay`. Cần lưu ý rằng các phiên bản 11.3.0 trở về trước khi chạy `node up` và `node status` sẽ in khóa bí mật của workspace ra terminal, bạn nên chạy `agent-relay --version` để kiểm tra phiên bản và nâng cấp lên từ 11.3.1 trở lên.

Kho lưu trữ mã nguồn mở và nhiều tính năng hơn. Bài viết này chỉ mới thử nghiệm tính năng gửi tin nhắn theo thời gian thực, tài liệu chính thức còn có tính năng chia sẻ lịch sử hội thoại nhóm, workflow nhiều bước cũng như tích hợp GitHub và Slack, code đã được mở mã nguồn trên GitHub , áp dụng giấy phép Apache-2.0.


Trong toàn bộ quá trình thử nghiệm thực tế, tôi cảm thấy rất mượt mà, thiết kế sản phẩm cũng khá tinh tế. Nhưng điều này cũng khiến tôi suy nghĩ về 2 câu hỏi khác:

  1. Cơ chế triển khai bên trong của Agent Relay như thế nào?
  2. So với các giải pháp tương tự khác, Agent Relay có ưu thế gì?

Có lẽ sau này tôi sẽ tiếp tục nghiên cứu sâu hơn và chia sẻ thêm với các bạn.