Anthropic ra mắt tính năng nhắn tin liên phiên cho Claude Code

iconMetaEra
Chia sẻ
AI summary iconTóm tắt
Anthropic đã ra mắt tính năng nhắn tin thử nghiệm giữa các phiên cho Claude Code, được xây dựng trên MetaEra. Hệ thống cho phép các phiên trao đổi kết quả và phụ thuộc nhiệm vụ bằng cách sử dụng ListAgents và SendMessage. Tin nhắn cục bộ sử dụng Socket, trong khi tin nhắn giữa các máy thông qua Anthropic Server. Các chế độ Kiểm soát đầu vào (chấp nhận/giữ/từ chối) quản lý quyền hạn. Bản cập nhật tin tức trên chuỗi này nhấn mạnh một phát triển mới trong tin tức tiền điện tử.
Anthropic đang thử nghiệm tính năng nhắn tin giữa các phiên cho Claude Code, cho phép các phiên khác nhau gửi tin nhắn trực tiếp cho nhau. Tính năng này không truyền toàn bộ ngữ cảnh, mà chỉ truyền kết quả nhiệm vụ và thông tin phụ thuộc, được thực hiện thông qua hai công cụ nội bộ là ListAgents và SendMessage. Mỗi phiên cục bộ được đăng ký trên đĩa và gắn với Inbox Socket; tin nhắn trên cùng máy được truyền trực tiếp qua Socket, còn tin nhắn giữa các máy khác nhau được truyền qua máy chủ Anthropic. Tin nhắn được kích hoạt tạo Turn mới khi phiên ở trạng thái Idle, và trong Turn đang hoạt động thì được đọc giữa các lần gọi Tool. Bên nhận phân biệt tin nhắn giữa các phiên với tin nhắn của người dùng, không thể thay thế sự cho phép của người dùng, và có ba chế độ kiểm soát đầu vào: accept/hold/refuse. Tính năng này tương thích với các khả năng hiện có như Resume Session, Agent Teams và Worktree, cung cấp lớp điều phối giữa các phiên cho Claude Code.

Tác giả bài viết, nguồn: LeFengwang

Trong những ngày gần đây, Anthropic đã thêm một tính năng thí nghiệm mới cho Claude Code: Cross-session messaging, tức là giao tiếp tin nhắn xuyên phiên.

Nói một cách đơn giản, nó cho phép bạn gửi tin nhắn trực tiếp giữa nhiều phiên Claude Code đang chạy đồng thời.

Ví dụ bạn mở 3 phiên Claude Code: một phiên phụ trách cơ sở dữ liệu, một phiên phụ trách API backend, và một phiên phụ trách kiểm thử. Trước đây, dù 3 phiên này có thể hoạt động song song, nhưng chúng không biết lẫn nhau đã làm đến đâu. Sau khi phiên cơ sở dữ liệu thay đổi Schema, người phát triển thường phải tự chuyển sang một terminal khác để thông báo lại những thay đổi này cho phiên backend.

Sau khi tích hợp nhắn tin giữa các phiên, bước này có thể được Claude thực hiện trực tiếp. Phiên cơ sở dữ liệu có thể thông báo cho phiên backend về các trường nào đã thay đổi, phiên kiểm thử phát hiện vấn đề hồi quy giao diện cũng có thể gửi kết quả đến phiên đang sửa mã liên quan. Claude có thể tự quyết định khi nào cần thông báo cho các phiên khác, hoặc liên hệ với các phiên được chỉ định theo yêu cầu của nhà phát triển.

Để hiểu rõ nó làm gì cụ thể, hãy theo dõi toàn bộ hành trình của một tin nhắn: nó truyền gì, làm thế nào để tìm đến đối tượng, tin nhắn vào Claude khi nào, và tại sao người nhận không thể làm ngay lập tức.

Phân tích sâu tính năng mới của Claude: Các phiên làm việc đa dạng hoạt động như thế nào để thực hiện trực tiếp cuộc trò chuyện?

01 Không phải Context, là một tin nhắn

Cross-session messaging không thay đổi sự cô lập phiên của Claude Code.

Khi Session A gửi tin nhắn cho Session B, nó sẽ không gửi cùng một lúc Lịch sử Hội thoại, các tệp đã đọc hoặc toàn bộ Cửa sổ Bối cảnh. Theo quy định chính thức, chỉ văn bản được truyền qua giữa các Session. Nếu cần di chuyển toàn bộ cuộc trò chuyện và bối cảnh sang một thiết bị khác, nên Resume Session ban đầu, thay vì sử dụng tính năng nhắn tin liên Session.

Điều này xác định cách thức hợp tác giữa nhiều Claude.

Giả sử phiên cơ sở dữ liệu đã đọc hàng chục tệp và thử nghiệm vài phương án để hoàn thành Migration, cuối cùng xác định cần sửa đổi một trường cụ thể. Phiên backend không cần biết toàn bộ quá trình phân tích trước đó, chỉ cần nhận được sự thay đổi cuối cùng và cách những thay đổi này ảnh hưởng đến API của nó.

Do đó, Cross-session messaging truyền tải kết quả nhiệm vụ và thông tin phụ thuộc, chứ không phải bộ nhớ làm việc đầy đủ.

Phân tích sâu tính năng mới của Claude: Các phiên làm việc đa dạng hoạt động như thế nào để thực hiện trực tiếp cuộc trò chuyện?

Lợi ích của cách làm này là thông tin cục bộ do các nhiệm vụ khác nhau tạo ra sẽ không liên tục tràn vào các Session khác. Các chi tiết liên quan đến cơ sở dữ liệu có thể được giữ trong Session cơ sở dữ liệu, quá trình kiểm tra có thể được giữ trong Session kiểm tra, và chỉ khi một thay đổi bắt đầu ảnh hưởng đến các nhiệm vụ khác, thông tin liên quan mới vượt qua ranh giới Session.

Nó thuộc về hai tư duy khác nhau so với “tất cả các Agent chia sẻ một Context lớn”. Cross-session messaging chọn cách giữ cho các Session độc lập, và chỉ đồng bộ hóa trạng thái cần thiết một cách rõ ràng khi có sự phụ thuộc giữa các nhiệm vụ.

Vì đã truyền đi một thông điệp rõ ràng, câu hỏi tiếp theo là: Session A làm thế nào để tìm thấy Session B?

02 Cần tìm trước một phiên khác

Claude Code đã thêm cổng giao tiếp riêng cho các phiên hỗ trợ nhắn tin xuyên phiên.

Mỗi phiên địa phương sẽ đăng ký thông tin liên quan lên đĩa và gắn một Inbox Socket. Claude có thể tìm các phiên có thể liên lạc được hiện tại thông qua ListAgents, sau đó gửi tin nhắn đến mục tiêu được chỉ định thông qua SendMessage.

Người dùng không cần tự thao tác các công cụ nội bộ này, chỉ cần thông báo cho Claude muốn liên hệ với Session nào, hoặc để nó chủ động thông báo cho bên liên quan khi nhiệm vụ tạo ra sự phụ thuộc.

Phân tích sâu tính năng mới của Claude: Các phiên làm việc đa dạng hoạt động như thế nào để thực hiện trực tiếp cuộc trò chuyện?

Tên phiên cũng vì vậy bắt đầu tham gia vào định địa chỉ. Claude có thể tìm kiếm mục tiêu dựa trên tên; nếu tên trùng lặp, hệ thống sẽ thêm một định danh ngắn để phân biệt, đồng thời hiển thị Working Directory để giúp xác định mỗi phiên đang xử lý dự án hoặc thư mục nào.

Sau khi tìm thấy mục tiêu, tin nhắn cục bộ sẽ được truyền trực tiếp qua Socket của phiên tương ứng, không cần thông qua Máy chủ Anthropic. Các phiên trên máy khác hoặc trên Claude Code Web mới sử dụng kết nối với Máy chủ Anthropic và các kết nối liên quan đến Điều khiển từ xa.

Phân tích sâu tính năng mới của Claude: Các phiên làm việc đa dạng hoạt động như thế nào để thực hiện trực tiếp cuộc trò chuyện?

Cơ chế phát hiện này cũng xác định ranh giới của giao tiếp cục bộ.

Claude Code cần đọc thông tin đăng ký được ghi vào đĩa từ các phiên khác, do đó, ngay cả khi hai Claude chạy trên cùng một máy tính về mặt vật lý, nếu hệ thống tệp tin được cô lập với nhau, chúng cũng có thể không phát hiện ra nhau. Tình huống điển hình là Host và Container độc lập; nếu cả hai phiên đều chạy trong cùng một Container, thì chúng có thể giao tiếp bình thường.

Inbox Socket cũng bị giới hạn bởi quyền người dùng hệ điều hành, các người dùng OS khác trên máy chủ chia sẻ không thể truy cập trực tiếp phiên của bạn.

Vì vậy, cái được gọi là “giao tiếp cục bộ” ở đây thực tế phụ thuộc vào việc thông tin đăng ký có thể nhìn thấy không, Socket có thể truy cập được không, và hệ điều hành có cho phép truy cập hay không.

Tin nhắn hiện đã có thể tìm thấy mục tiêu và gửi vào Inbox, đến lượt Runtime của Claude Code quyết định: khi nào chuyển tin nhắn này cho mô hình.

Phân tích sâu tính năng mới của Claude: Các phiên làm việc đa dạng hoạt động như thế nào để thực hiện trực tiếp cuộc trò chuyện?

03 Sau khi thông báo được gửi đi

Giả sử phiên backend đang sửa đổi tệp, lúc này phiên kiểm thử gửi tin nhắn thông báo rằng vừa phát hiện vấn đề hồi quy giao diện.

Claude Code sẽ không ngắt ngay các công cụ đang chạy.

Nếu phiên mục tiêu ở trạng thái Idle, tin nhắn có thể kích hoạt một Turn mới; nếu Claude đã ở trong Active Turn, tin nhắn sẽ được chờ và đọc giữa hai Tool Call.

Lý do xử lý như vậy liên quan đến cách Coding Agent thực thi. Claude có thể đang viết tệp, chạy bài kiểm tra, thực hiện Migration hoặc xử lý các tác vụ tiêu tốn thời gian khác. Nếu tin nhắn bên ngoài có thể ép thay đổi hành động hiện tại vào bất kỳ thời điểm nào, rất dễ xảy ra tình huống công cụ chỉ thực hiện một phần, trong khi Agent đã bắt đầu lập kế hoạch lại dựa trên thông tin mới.

Vì vậy, tin nhắn này ảnh hưởng đến quyết định tiếp theo của Claude, chứ không trực tiếp chiếm quyền thực hiện các thao tác đang diễn ra.

Điều này cũng có nghĩa là Cross-session messaging đã được tích hợp vào Agentic Loop của Claude Code, trở thành một nguồn đầu vào bất đồng bộ. Và cổng này không chỉ dành cho các Claude Session khác sử dụng.

Claude Code sẽ phơi bày Messaging Socket của phiên hiện tại cho các tiến trình con được khởi động bởi Hook và Bash. Sau khi một tác vụ nền chạy lâu dài kết thúc, nó có thể chủ động gửi kết quả trở lại phiên hiện tại mà không cần Claude phải liên tục kiểm tra xem nó đã hoàn thành chưa.

Phân tích sâu tính năng mới của Claude: Các phiên làm việc đa dạng hoạt động như thế nào để thực hiện trực tiếp cuộc trò chuyện?

Chính kênh này không phải là hàng đợi tin nhắn đáng tin cậy. Tin nhắn lặp lại sẽ bị giới hạn lưu lượng, và nội dung giống nhau trong thời gian ngắn có thể bị loại bỏ; mỗi phiên sẽ lưu trữ tối đa 50 tin nhắn đã được tiếp nhận nhưng Claude chưa đọc, trong khi các tin nhắn ở trạng thái Hold sẽ sử dụng một bộ đệm khác, tối đa 100 tin nhắn.

Vì vậy, nó phù hợp hơn để gửi trạng thái thay đổi, kết quả nhiệm vụ và thông báo hợp tác. Những sự thật cần được lưu trữ lâu dài vẫn nên được ghi lại trong Git, tệp tin, cơ sở dữ liệu hoặc các hệ thống bền vững khác.

Sau khi tin nhắn được đưa vào Runtime, vẫn chưa thể trực tiếp chuyển thành hành động thực thi, vì bên nhận cần phải xác định trước: nội dung do Claude khác gửi đến có quyền hạn đến mức nào.

04 Quyền được kế thừa như thế nào

Claude Code phân biệt rõ ràng giữa Tin nhắn Người dùng và Tin nhắn Phiên Đồng nghiệp.

Nội dung từ một phiên khác sẽ không được coi là sự ủy quyền của người dùng, do đó không thể phê duyệt Permission Prompt thay cho người dùng, cũng không thể yêu cầu người nhận thay đổi Cài đặt Permission,CLAUDE.md hoặc các cấu hình khác. Ngay cả khi tin nhắn chứa Claude Code Command, nó cũng chỉ được xử lý như văn bản bình thường.

Phân tích sâu tính năng mới của Claude: Các phiên làm việc đa dạng hoạt động như thế nào để thực hiện trực tiếp cuộc trò chuyện?

Giả sử Phiên A yêu cầu Phiên B xóa một tệp, và thao tác này cần sự ủy quyền của người dùng trong Phiên B, thì lời nhắc quyền vẫn sẽ xuất hiện.

Claude Code cũng hạn chế một cách thức khác để vượt qua quyền: nếu một thao tác đã bị Hệ thống Quyền hạn từ chối trong Session hiện tại, Claude không nên yêu cầu một Session khác thực hiện thay mình.

Nếu không, chỉ cần một vài phiên có quyền hạn khác nhau, phiên có quyền hạn thấp sẽ liên tục chuyển các thao tác mà nó không thể thực hiện sang phiên có quyền hạn cao hơn, khiến ranh giới quyền hạn ban đầu trở nên vô hiệu.

Ngoài quyền thực thi, tin nhắn còn có một lớp Kiểm soát Đầu vào. Bên nhận có thể thiết lập tin nhắn liên phiên làm accepthold hoặc refuse: giao trực tiếp cho Claude, tạm giữ để chờ xác nhận thêm, hoặc xóa bỏ trực tiếp.

Phân tích sâu tính năng mới của Claude: Các phiên làm việc đa dạng hoạt động như thế nào để thực hiện trực tiếp cuộc trò chuyện?

Nếu người dùng không cấu hình rõ ràng quy tắc, Claude Code sẽ tham khảo Permission Mode hiện tại của người gửi và người nhận. Một phiên có thể bỏ qua Permission Prompt thông thường sẽ không được coi là nguồn tin nhắn giống hệt phiên thông thường; khi quyền hạn của bên nhận cao hơn, tin nhắn từ bên ngoài vẫn có thể được đưa vào Hold trước.

Phân tích sâu tính năng mới của Claude: Các phiên làm việc đa dạng hoạt động như thế nào để thực hiện trực tiếp cuộc trò chuyện?

Thực tế có hai phép kiểm tra: trước tiên xác định tin nhắn có thể vào Claude hay không, sau đó xác định hành động mà Claude chuẩn bị thực hiện dựa trên tin nhắn đó có được cấp quyền hay không.

Đến bước này, toàn bộ hành trình của một tin nhắn Cross-session đã hoàn tất: từ việc tạo tin nhắn, phát hiện mục tiêu, hoàn tất việc giao hàng, đến khi Runtime đọc tin nhắn và thông qua kiểm soát quyền của bên nhận.

Phân tích sâu tính năng mới của Claude: Các phiên làm việc đa dạng hoạt động như thế nào để thực hiện trực tiếp cuộc trò chuyện?

Lớp điều phối giữa các phiên 05

Đặt lại liên kết này vào khả năng hiện tại của Claude Code, vị trí của Cross-session messaging sẽ trở nên rõ ràng hơn.

Resume Session dùng để tiếp tục cuộc hội thoại và ngữ cảnh ban đầu, Agent Teams dùng để tạo và quản lý một nhóm agent hợp tác, Worktree chịu trách nhiệm cô lập các thay đổi mã trong các phiên khác nhau, còn Remote Control giải quyết vấn đề tiếp tục điều khiển phiên từ các thiết bị khác.

Cross-session messaging xử lý một tình huống khác: vài Session vốn chạy độc lập, sau khi trong quá trình thực hiện nhiệm vụ tạo ra sự phụ thuộc, làm thế nào để truyền thông tin cần thiết cho nhau.

Trước đây, việc mở nhiều phiên Claude Code chủ yếu giải quyết vấn đề song song, nhưng các nhà phát triển vẫn phải theo dõi tiến độ của từng terminal và liên tục truyền đạt trạng thái nhiệm vụ giữa người và các phiên. Bây giờ, các thông tin như thay đổi giao diện, kết quả kiểm tra, hoàn thành di chuyển có thể được gửi trực tiếp đến các phiên bị ảnh hưởng.

Cross-session messaging không gộp nhiều Claude thành một Agent, mà bổ sung một lớp khả năng giao tiếp bên ngoài Context, thư mục làm việc và ranh giới quyền hạn hiện có.

Khi nhìn trong bối cảnh dự án lớn hơn, thiết kế này cung cấp một cách tiếp cận đa Agent khác: các Agent khác nhau không cần chia sẻ Context ngày càng lớn, mà vẫn có thể phối hợp thông qua giao diện giao tiếp rõ ràng. Sau khi tách rời nhiệm vụ, trạng thái và quyền hạn, hệ thống trở nên dễ mở rộng hơn.

Khi số lượng Agent tiếp tục tăng lên, vấn đề sẽ dần từ “một Agent có thể làm được bao nhiêu việc” chuyển thành “các Agent này có thể trao đổi trạng thái, xử lý phụ thuộc và hoàn thành chuyển giao một cách ổn định với nhau hay không”.

Cross-session messaging tuy chỉ giải quyết một khâu trong số đó, nhưng đã giúp cách thức làm việc đa session của Claude Code bắt đầu có cấu trúc kỹ thuật hoàn chỉnh hơn. Có thể trong tương lai, cơ chế cross-session trong mạng nội bộ này sẽ phát triển thành giao thức truyền thông Agent-to-Agent giữa các máy tính và hệ sinh thái khác nhau, thì chính cuộc hội thoại ngắn gọn giữa hai đoạn Claude hôm nay sẽ là bước quan trọng đầu tiên hình thành nhà máy phần mềm tự động hóa cao.

Tuyên bố miễn trừ trách nhiệm: Thông tin trên trang này có thể được lấy từ bên thứ ba và không nhất thiết phản ánh quan điểm hoặc ý kiến của KuCoin. Nội dung này chỉ được cung cấp cho mục đích thông tin chung, không có bất kỳ đại diện hay bảo đảm nào dưới bất kỳ hình thức nào và cũng không được hiểu là lời khuyên tài chính hay đầu tư. KuCoin sẽ không chịu trách nhiệm về bất kỳ sai sót hoặc thiếu sót nào hoặc về bất kỳ kết quả nào phát sinh từ việc sử dụng thông tin này. Việc đầu tư vào tài sản kỹ thuật số có thể tiềm ẩn nhiều rủi ro. Vui lòng đánh giá cẩn thận rủi ro của sản phẩm và khả năng chấp nhận rủi ro của bạn dựa trên hoàn cảnh tài chính của chính bạn. Để biết thêm thông tin, vui lòng tham khảo Điều khoản sử dụngTiết lộ rủi ro của chúng tôi.