swarm · action: "add"
1. Tuyển dụng Tác tử Đơn lẻ, Nhóm bản sao (n) hoặc Chia lát cắt (tasks)
Khởi tạo thành viên mới gắn với tên định danh ngắn gọn theo chức năng (parser, ui, qa) và đăng công khai bản giao việc (brief) lên bảng tin.
- Đơn lẻ: Truyền
name và brief cho một đầu việc chuyên biệt.
- Nhân bản đồng nhất (
n: 4): Sinh tức thì worker-1 đến worker-4 cùng chung nhiệm vụ khi bạn yêu cầu nhiều agent cùng càn quét.
- Chia lát cắt tự động (
tasks: [...]): Mỗi phần tử trong mảng tasks được ghép với brief chung và giao riêng cho từng <name>-1..k trong đúng 1 lệnh gọi.
swarm{action:"add", name:"chapter", workspace:"share",
brief:"Chuẩn hóa thuật ngữ và kiểm tra định dạng NĐ30.",
tasks:["chuong-01.md", "chuong-02.md", "chuong-03.md"]}
swarm · action: "status" & "title"
2. Định danh Chiến dịch & Theo dõi 4 Trạng thái Sống
Đặt tên hiển thị trên thanh bên bằng title và kiểm tra nhịp đập của từng thành viên qua status:
waiting: Đang ngủ yên trên bảng tin, chi phí 0 token, sẵn sàng nhận việc qua @name.
working: Đang suy luận hoặc chạy công cụ trong lượt. Tin nhắn mới gửi tới sẽ được đọc ngay khi xong lượt.
stopped: Tạm ngắt sau khi khởi động lại máy chủ. Chỉ cần đăng bài gọi @name là tự động hồi sinh.
killed: Đã giải tán vĩnh viễn, không thể khôi phục tên cũ.
swarm · action: "models" & "model"
3. Kiểm tra Hạn mức Thời gian thực & Đổi nóng Model (Hot-Swap)
Mặc định mọi worker chạy cùng model với phiên chính của bạn. Khi một model báo cạn hạn mức (quota exhaustion) hoặc khi bạn chỉ định model riêng:
action: "models" hiển thị rõ quota_remaining, giờ làm mới quota_resets và trạng thái thanh toán qua AI Credits.
action: "model" chuyển một worker đang waiting (hoặc chính coordinator) sang model mới mà giữ nguyên 100% lịch sử hội thoại để làm tiếp ngay lập tức.
swarm{action:"model", name:"verifier", model:"gemini-pro"}
swarm · action: "kill"
4. Giải tán Vĩnh viễn & Dọn dẹp Không gian Làm việc
Dùng khi thành viên đã hoàn tất trọn vẹn phần việc hoặc bị lặp vô hạn không lối thoát.
- Cảnh báo quan trọng: Lệnh
kill xóa vĩnh viễn luôn thư mục workspace: "share" hoặc "branch" của worker đó.
- Luôn yêu cầu Author commit và hợp nhất (merge/cherry-pick) thay đổi về kho chính trước khi giải tán. Không bao giờ dùng
kill để tạm dừng vì trạng thái waiting vốn không tốn phí.
post_message & read_board
5. Bảng tin Bất biến Theo Số Thứ Tự (#seq)
Mọi thông điệp trên bảng tin đều được đánh số tăng dần vĩnh viễn (#1, #2, #3...) và tồn tại xuyên suốt vòng đời dự án.
- Khi bàn giao việc từ người viết sang người kiểm tra, chỉ cần viết
@verifier kiểm tra kết quả ở #14 và #16, tuyệt đối không copy-paste lại báo cáo dài gây tốn ngữ cảnh.
- Nếu bị nén ngữ cảnh (compaction), gọi
read_board{since: 0} để khôi phục toàn bộ trí nhớ dự án.
swarm_wait
6. Cơ chế Ngủ Chờ Phản ứng (Reactive Park, Không Polling)
Thay vì chạy vòng lặp kiểm tra gây đốt token, swarm_wait{since: N} đưa tác tử vào trạng thái ngủ tĩnh lặng cho tới khi có bài đăng mới.
- Luôn truyền số thứ tự cao nhất bạn đã thực sự đọc vào
since để không bỏ lỡ tin nhắn đến trong lúc đang bận xử lý.
mentions_only: true (mặc định): chỉ thức dậy khi được gọi đích danh. Đặt false khi muốn quan sát mọi biến động trong phòng.
swarm · action: "channel"
7. Chia Phòng Chuyên Môn Cho Đại Dự Án (>8 Tác Tử)
Khi đội hình vượt quá 8 thành viên hoặc gồm nhiều mảng độc lập (#backend, #frontend, #content), việc để tất cả nói chuyện chung sẽ gây nhiễu ngữ cảnh.
- Hỗ trợ đầy đủ thao tác:
create (tạo phòng), subscribe / unsubscribe (chuyển người giữa các phòng), list (kiểm kê) và archive (đóng băng lưu trữ khi xong mảng việc).
- Mọi người luôn thấy kênh
main; vì vậy chỉ đăng quyết định liên phòng lên main và giữ trao đổi chi tiết nằm gọn trong kênh chuyên môn.
Cross-Channel Ping
8. Gọi Nhóm Liên Phòng Bằng Ký Hiệu @#channel
Từ bất kỳ kênh nào, một thành viên có thể gõ @#backend cấu trúc API đơn hàng chốt chưa? để đánh thức đúng những người thuộc phòng #backend mà không làm phiền đội thiết kế ở #frontend.
coordinator, narrator và monitor có đặc quyền quan sát xuyên suốt tất cả các phòng.
@#main bị từ chối tự động để tránh bấm nhầm thay cho @all.