Bỏ qua để đến nội dung

@-mention agent

Hướng dẫn này chỉ cách @-mention agent và đồng đội trong một space.

Nhập @ trong trình soạn và chọn một agent từ gợi ý tự động, hoặc tự nhập tên:

@alice fix the login bug

Agent được nhắc đến sẽ được thêm vào space với tư cách người tham gia nếu chưa phải, rồi được điều phối với ngữ cảnh và chế độ của space. Những người tham gia không được nhắc đến vẫn thấy tin nhắn nhưng không được điều phối.

Nếu bạn gửi một tin nhắn không nhắc đến agent nào, Control Center tự chọn người trả lời: agent nói cuối cùng trong cuộc hội thoại; nếu không có thì chủ sở hữu cuộc hội thoại khi cuộc hội thoại có chủ sở hữu; nếu vẫn không có thì agent cấp cao nhất đầu tiên trong số những người tham gia của space. Với một space chỉ có một agent, người trả lời luôn là agent duy nhất đó.

Một token nhắc đến được khớp không phân biệt chữ hoa chữ thường, theo tên chính xác hoặc tiền tố. Vì vậy @arch tới được một agent tên architect và @Alice tới được alice.

Hai hệ quả bạn nên tính đến trước:

  • Một token ngắn không phải là lỗi. Nếu hai agent dùng chung một tiền tố, agent được tìm thấy trước sẽ thắng, và đó là agent nào thì phụ thuộc vào thứ tự — chứ không theo quy tắc phân định nào. Hãy dùng tên đầy đủ mỗi khi các tên trùng tiền tố.
  • Chỉ chữ cái, chữ số và dấu gạch dưới thuộc về một token. Bộ phân tích khớp @(\w+), nên @code-reviewer bị đọc thành token code và @my agent thành my. Một agent có tên chứa dấu gạch nối, dấu chấm hoặc dấu cách thì không thể được nhắc đến một cách đáng tin cậy — kể cả qua gợi ý tự động, vốn chèn tên dưới dạng văn bản thuần. Hãy đặt tên agent bằng một từ, hoặc dùng dấu gạch dưới.

Các nhắc đến bị loại khỏi văn bản trước khi văn bản tới agent. Vì vậy một tin nhắn chỉ toàn nhắc đến (@alice) không điều phối gì cả — hãy cho nó việc gì đó để làm.

@alice refactor the auth module. @bob write tests for it.

Cả hai agent được điều phối song song vào cùng một cuộc hội thoại và cả hai đều nhận được toàn bộ tin nhắn.

Chúng cũng dùng chung worktree của space đó. Worktree của repo được cấp phát theo từng space, chứ không theo từng agent; mỗi agent có thư mục làm việc lớp phủ riêng cho AGENTS.md, skill và cấu hình của nó, còn các repo dùng chung được liên kết ở chế độ đọc-ghi. Vì vậy hai agent được nhắc đến cùng nhau có thể thấy — và đụng độ với — những thay đổi của nhau.

Mọi @token không khớp với agent nào sẽ được thử với các thành viên con người của không gian làm việc, theo handle, với cùng quy tắc khớp chính xác hoặc tiền tố, không phân biệt chữ hoa chữ thường.

Một nhắc đến con người đã phân giải không điều phối gì cả. Nó nằm trong metadata của tin nhắn chỉ để bộ định tuyến thông báo có thể báo cho người đó.

Tên agent luôn được thử trước, và một token đã thuộc về một agent sẽ không bao giờ được đưa sang danh sách thành viên — một @word chỉ có thể phân giải thành một chủ thể duy nhất.

Một agent được điều phối nhận được khối “Summons” trong prompt, nêu tên người đã triệu tập nó và liệt kê danh sách người tham gia của space — những agent khác (được đánh dấu là cấp cao nhất hoặc cấp dưới) cùng các thành viên con người — để nó biết mình có thể bàn giao cho ai. Khối này cũng cho nó biết rằng nhắc đến một agent khác trong câu trả lời sẽ đánh thức agent đó, và tự nhắc đến chính mình thì bị bỏ qua.

Một agent có thể bàn giao ngay trong câu trả lời của mình. Khi một lượt kết thúc sạch sẽ, các nhắc đến trong văn bản của lượt đó được phân giải, và những agent đó được thêm vào space rồi điều phối vào cùng cuộc hội thoại, với lượt nhắc đến làm prompt cho chúng. Một lượt thất bại hoặc bị ngắt thì không đánh thức ai cả — nó đã dừng giữa dòng suy nghĩ.

Các quy tắc này cố ý nghiêm ngặt hơn quy tắc của trình soạn, vì không có ai đứng xem để sửa lại một phỏng đoán sai:

  • Chỉ khớp tên chính xác. Không khớp tiền tố. @arch tới được architect khi con người gõ nó; còn từ một agent thì không tới được ai. Một tên khớp với hai agent cũng không tới được ai.
  • Mã không phải văn xuôi. Các nhắc đến bên trong khối rào hoặc `backticks` bị bỏ qua, nên trích một annotation @Override hay một lệnh pip install foo@1.2 đều an toàn. Một khối rào không có dấu đóng sẽ vô hiệu hóa mọi thứ phía sau nó.
  • Một @ dính liền vào token phía trước không phải là nhắc đến — sam@host.com, pkg/@scope và node@20 không phân giải thành ai cả.
  • Dấu gạch nối được giữ nguyên, nên @code-reviewer phân giải thành chính nó thay vì thành token code.
  • Tối đa ba agent mỗi lượt. Một agent liệt kê sáu đồng đội trong một bản tóm tắt là đang liệt kê họ, chứ không phải triệu tập họ.

Chuỗi đánh thức bị giới hạn giống như ủy thác: độ sâu 3, và một agent đã nằm trong chuỗi thì không thể bị chuỗi đó đánh thức lần nữa (không có A → B → A). Một cặp có thứ tự cũng bị giới hạn tần suất xuyên các chuỗi. Một lần đánh thức bị từ chối sẽ đăng một tin nhắn hệ thống vào cuộc hội thoại, nói rõ nhắc đến nào đã không được chuyển tới và vì sao — còn một tên không phân giải được thì không, vì nếu không thì mọi @ trong một câu sẽ tự thuật lại chính nó.

Với một lần bàn giao không được phép phụ thuộc vào văn xuôi — một yêu cầu/phản hồi, hoặc tiếp cận một agent ngoài space — hãy dùng các công cụ send_to_agent, ask_agent và delegate_task thay thế.