Chạy cả đội agent cùng lúc — bạn dám không?
GitHub Copilot CLI vừa có /fleet — giao việc cho nhiều agent chạy song song trong terminal. Khi nào nên dùng, khi nào nên tránh?
Bụi WireThứ Hai, 9 giờ sáng, ba việc cần xong trước trưa
Bạn mở terminal lên. Todo list sáng nay: refactor cái API authentication, viết unit test cho module payment, dọn dẹp mớ TypeScript types đang thừa khắp nơi. Ba việc độc lập, không dính dáng gì nhau, nhưng đều cần AI hỗ trợ.
Câu hỏi đặt ra: bạn gõ từng task một, đợi agent xong cái này rồi mới sang cái kia? Hay bạn giao cả ba cùng lúc rồi đi pha cà phê?
Nếu bạn đang dùng GitHub Copilot CLI, câu trả lời thứ hai giờ đã khả thi — nhờ một lệnh tên /fleet.
Hai lối chơi — tuần tự hay song song?
Cách 1: Một agent, một việc, lần lượt
Đây là cách hầu hết mọi người đang làm. Mở terminal, giao task, đợi xong, giao task tiếp. Giống như bạn có một nhân viên giỏi nhưng chỉ làm được một việc một lúc — xếp hàng chờ là số phận.
Ưu điểm: Dễ kiểm soát, dễ review từng output.
Nhược điểm: Chậm. Giả sử mỗi task mất 5–10 phút, ba task là nửa buổi sáng bay.
Cách 2: Nhiều agent, chạy song song với /fleet
/fleet cho phép bạn spawn nhiều agent sessions cùng lúc, mỗi agent nhận một task riêng, chạy trong các sub-process độc lập. Tưởng tượng thế này: thay vì một nhạc công chơi lần lượt ba bản, bạn có cả ban nhạc — mỗi người một nhạc cụ, cùng tấu một lúc.
Ưu điểm: Tiết kiệm thời gian rõ rệt khi các task không phụ thuộc nhau.
Nhược điểm: Cần biết cách chia việc — không phải task nào cũng nên chạy song song.
Kịch bản thực tế: khi nào /fleet thật sự hữu ích?
Kịch bản 1 — Cuối sprint, deadline tới cổ: Giả sử team bạn 4 người đang chuẩn bị release. Backend cần update API docs, frontend cần generate component tests, DevOps cần review Dockerfile. Lead dev dùng /fleet trên monorepo để kick off cả ba task song song, rồi review output tập trung. Thay vì 30 phút chờ tuần tự, cả ba chạy cùng lúc — bạn có thời gian đi review PR của đồng nghiệp trong lúc đợi.
Kịch bản 2 — Dọn dẹp code legacy: Bạn maintain một codebase Node.js, cần migrate 5 file từ CommonJS sang ESM. Mỗi file độc lập, không import lẫn nhau. Giao hết cho fleet, để máy chạy, bạn đi refill cà phê. Quay lại thì 5 file đã có diff sẵn chờ duyệt.
Mấu chốt nằm ở chỗ: /fleet không thay thế suy nghĩ của bạn — nó thay thế thời gian ngồi chờ.
Thử ngay — bạn cần đúng 20 phút
Bước 1: Cài hoặc update GitHub Copilot CLI lên bản mới nhất.
gh extension upgrade gh-copilot
Bước 2: Mở terminal trong project của bạn, thử /fleet với hai task đơn giản:
/fleet "Viết unit test cho hàm calculateTotal trong src/utils.ts" "Thêm JSDoc comments cho tất cả exported functions trong src/api/"
Bước 3: Quan sát. Mỗi agent chạy trong session riêng, output được tách biệt rõ ràng — không lẫn lộn.
Bước 4: Review kết quả. Đây là bước quan trọng nhất — đừng auto-accept. Đọc diff, test thử, rồi mới commit.
Đừng tin mình, thử đi rồi biết.
Cái bẫy mà mình đã dính
Lần đầu hào hứng, mình giao 7 task cùng lúc cho /fleet. Kết quả? Hai agent sửa cùng một file, conflict tung tóe. Giống như bạn thuê hai thợ sơn, mỗi người một màu, cùng quét lên một bức tường — đẹp thì không đẹp, mà ai cũng nghĩ mình đúng.
Bài học: Trước khi /fleet, tự hỏi: "Các task này có đụng vào cùng file không?" Nếu có — chạy tuần tự an toàn hơn. /fleet sinh ra cho các task độc lập: khác module, khác folder, khác concern.
Một lỗi khác phổ biến hơn: giao task mơ hồ. Khi chạy một agent, bạn đối thoại qua lại để clarify được. Fleet thì không — mỗi agent chạy với prompt ban đầu, nên brief phải rõ từ đầu. Giống như gửi email giao việc cho freelancer ở timezone khác: không có cơ hội hỏi lại, viết sai brief thì nhận output sai.
Không xài Copilot? Vẫn có cách chơi
Thế giới open-source không thiếu lựa chọn:
- Aider — CLI tool cho AI pair programming. Không có
/fleetbuilt-in, nhưng mở nhiều terminal vớitmux, mỗi cái một Aider session trên các file khác nhau, thêm chút bash script là bạn có workflow tương tự. - Open Interpreter — cũng chạy được nhiều instance song song nếu bạn tự orchestrate.
- Nếu bạn đã quen CrewAI hay LangChain, concept multi-agent orchestration không mới — nhưng
/fleetgói gọn nó vào đúng một lệnh terminal, không cần viết code orchestration riêng.
Như mình đã chia sẻ trong bài về agent AI cần "xương sống", vấn đề không bao giờ là thiếu agent — mà là thiếu cách phối hợp chúng cho ra việc.
Nếu là mình, mình sẽ...
Dùng /fleet cho đúng hai tình huống: (1) nhiều task nhỏ, độc lập, brief rõ ràng — kiểu batch processing cuối sprint; (2) cần explore nhiều hướng giải quyết cho cùng một vấn đề — giao mỗi agent một approach khác, rồi so sánh output.
Ngoài ra? Vẫn chạy từng agent một. Không phải lúc nào "nhiều hơn" cũng "tốt hơn" — đôi khi một nghệ sĩ solo chơi hay hơn cả dàn nhạc vội vã.
---
Bụi Wire — nghiện đọc release notes lúc 2 giờ sáng