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

Chạy nhiều agent song song

Bài viết được dịch tự động từ bài viết gốc, chưa được kiểm tra lại bởi con người. Chỉ những bài viết có dấu tick xanh cạnh tiêu đề là đã được kiểm tra.

Claude Code có bốn cách khác nhau để song song hoá công việc: subagent, agent view, agent team, và dynamic workflow. Cách nào phù hợp phụ thuộc vào việc bạn muốn tự mình ở lại theo dõi từng hội thoại, giao việc rồi quay lại kiểm tra sau, hay để Claude tự điều phối cả một nhóm “thợ”.

Cách tiếp cậnBạn nhận được gìDùng khi nào
SubagentCác worker được giao việc trong cùng một phiên, làm việc phụ trong ngữ cảnh riêng rồi trả về bản tóm tắtMột việc phụ (tìm kiếm, đọc log…) sẽ làm ngập hội thoại chính bằng nội dung bạn không cần xem lại
Agent viewMột màn hình để dispatch và theo dõi các phiên chạy nền, mở bằng claude agents. Đang ở giai đoạn research previewBạn có nhiều việc độc lập, muốn giao rồi kiểm tra trạng thái nhanh, chỉ can thiệp khi cần
Agent teamNhiều phiên phối hợp với task list dùng chung và nhắn tin qua lại, do một “lead” quản lý. Experimental, mặc định tắtBạn muốn Claude chia nhỏ dự án, giao việc, và giữ các worker đồng bộ với nhau
Dynamic workflowMột script chạy nhiều subagent và đối chiếu kết quả chéo nhau, cho việc quá lớn để điều phối theo từng lượt hội thoạiViệc vượt quá khả năng vài subagent, hoặc bạn cần kết quả được kiểm chứng chéo: audit toàn bộ codebase, migrate 500 file, nghiên cứu cần đối chiếu nguồn, lập kế hoạch từ nhiều góc nhìn

Trong mọi cách tiếp cận, “worker” đều là các phiên Claude. Muốn dùng công cụ khác, hãy expose nó cho Claude qua MCP server.

Hai công cụ khác hỗ trợ việc này mà bản thân không phải là cách chạy agent:

  • Worktree: cho mỗi phiên một checkout git riêng, để các phiên song song không bao giờ sửa cùng file. Dùng cho các phiên bạn tự chạy. Agent view tự động chuyển mỗi phiên dispatch vào worktree riêng, và các subagent bạn tạo ra cũng có thể có worktree riêng.
  • /batch: một skill để Claude chia một thay đổi lớn thành 5–30 subagent cách ly bằng worktree, mỗi cái mở một pull request riêng. Đây là cách đóng gói sẵn của subagent + worktree, không phải một kiểu điều phối riêng.

Một vài tính năng khác chạy Claude mà không cần bạn lái từng bước, nhưng giải quyết vấn đề khác với việc chia nhỏ công việc cho nhiều agent:

  • Background bash command: chạy một lệnh shell không chặn hội thoại. Không tạo ra agent nào cả.
  • Forked subagent (/subtask): một subagent kế thừa toàn bộ ngữ cảnh hội thoại hiện tại thay vì bắt đầu từ đầu. Đây là một cách tạo subagent, không phải môi trường riêng biệt. Để copy toàn bộ phiên sang một background session mới chạy song song, dùng /fork. Khi agent view bị tắt, /fork sẽ dùng hành vi forked-subagent thay thế và /subtask không khả dụng.
  • Routine: chạy một phiên theo lịch trên cloud của Anthropic, không phải song song trên máy bạn.

Cách phù hợp phụ thuộc vào ai điều phối công việc, các worker có cần giao tiếp với nhau không, và chúng có sửa cùng file không:

  • Ai điều phối công việc?
    • Claude giao việc và thu thập kết quả trong một hội thoại: subagent
    • Bạn giao việc độc lập rồi quay lại kiểm tra sau: agent view
    • Claude lên kế hoạch, phân công, và giám sát một nhóm worker: agent team (experimental, mặc định tắt)
    • Một script giữ kế hoạch thay vì để Claude tự quyết theo từng lượt: dynamic workflow
  • Các worker có cần nói chuyện với nhau không? Subagent báo cáo kết quả về hội thoại đã tạo ra chúng, còn phiên agent view chỉ báo cáo cho bạn. Thành viên trong agent team chia sẻ task list và nhắn tin trực tiếp cho nhau.
  • Các việc có đụng cùng file không? Cách ly bằng worktree. Subagent và các phiên bạn tự chạy đều có thể dùng worktree riêng. Agent team không cách ly thành viên bằng worktree, nên hãy chia việc sao cho mỗi thành viên sở hữu một tập file riêng.

Lệnh để kiểm tra công việc đang chạy tuỳ thuộc vào cách bạn dùng:

  • Với background session: claude agents mở agent view - một màn hình hiển thị mọi phiên, trạng thái, và phiên nào cần bạn.
  • Với subagent trong phiên hiện tại: các subagent chạy nền có tên xuất hiện trong gợi ý @-mention kèm trạng thái. /agents không còn mở panel nữa mà chỉ in ra vị trí file subagent.
  • Với mọi thứ chạy nền trong phiên hiện tại: /tasks liệt kê từng mục, cho phép kiểm tra, attach, hoặc dừng.
  • Với dynamic workflow: /workflows liệt kê các lần chạy đang tiến hành và đã hoàn thành, phase hiện tại, và số agent đã xong.
  • Subagent: định nghĩa chuyên gia tái sử dụng, kiểm soát tool nào chúng được dùng.
  • Agent view: dispatch phiên, theo dõi trạng thái, attach khi cần.
  • Agent team: thiết lập lead và thành viên, giao việc, review kết quả.
  • Dynamic workflow: chạy workflow có sẵn hoặc để Claude viết workflow chạy nhiều subagent và kiểm chứng chéo.
  • Worktree: chạy Claude trong checkout cách ly, kiểm soát nội dung copy vào, dọn dẹp sau khi xong.