Claude Code Agent Teams: Nhóm Agent Đa Phiên (2026)
Research preview - tắt mặc định, hành vi có thể đổi bất cứ lúc nào. Agent teams trong Claude Code là nhiều phiên (session) chạy song song: một agent "lead" điều phối và một hoặc nhiều "teammate" thực thi, cùng chia sẻ một task list và nhắn tin trực tiếp cho nhau - khác hẳn subagent (chạy trong context của phiên gọi, không có cửa sổ riêng, không tự nhắn qua lại). Bài này: cách bật, khác gì subagents/skills/workflows, cross-session messaging là gì, giới hạn thật, và góc nhìn thành thật về AgentKit.
- Tính năng đang ở dạng research preview và cơ chế bật đã đổi ít nhất một lần (trước/sau v2.1.178 - tool tạo team thủ công không còn tồn tại); các chi tiết trong bài đã đối chiếu tài liệu chính thức tại thời điểm viết (08/2026) - kiểm tra docs live trước khi phụ thuộc.
Agent teams là gì?
Agent teams là tính năng research preview của Claude Code cho nhiều phiên chạy song song trong cùng một "đội": một agent lead điều phối, và một hoặc nhiều teammate thực thi task. Mỗi teammate có context window riêng - không dùng chung context với lead hay với nhau - và cả team chia sẻ một task list cùng kênh nhắn tin trực tiếp (mailbox). Theo tài liệu chính thức tại code.claude.com/docs/en/agent-teams (đối chiếu 08/2026), đây là lớp điều phối nằm trên các phiên Claude Code độc lập, không phải một model mới hay một API riêng.
Một dòng để khỏi nhầm: agent teams không phải là "advisor" hay "kongming" của AgentKit - hai persona đó hoạt động khác hẳn (xem góc nhìn thành thật cuối bài).
Agent teams khác subagents ở đâu?
Nếu bạn đã quen subagents trong Claude Code, đây là bảng so sánh trực tiếp từ tài liệu (rút gọn):
| Tiêu chí | Subagents | Agent teams |
|---|---|---|
| Context | Chạy trong context của phiên gọi, không có cửa sổ riêng bền vững | Mỗi teammate có context window riêng |
| Giao tiếp | Nhận task, trả kết quả về - không tự nhắn qua lại | Nhắn tin trực tiếp qua mailbox trong lúc chạy |
| Điều phối | Phiên chính quyết định gọi subagent nào, khi nào | Lead + task list dùng chung, teammate tự nhận hoặc được giao việc |
| Hợp với | Tác vụ chuyên biệt, lặp lại, cần cách ly context (code review, test...) | Khám phá song song, nhiều góc nhìn cùng lúc trên một vấn đề |
| Chi phí token | Thấp hơn - một context, gọi theo nhu cầu | Cao hơn rõ rệt - mỗi teammate là một phiên đầy đủ chạy song song |
Nói ngắn: subagent là "nhờ việc rồi nhận kết quả", agent teams là "một nhóm cùng làm và tự trao đổi với nhau". Muốn mở rộng sang điều phối nhiều subagent ở quy mô lớn, xem thêm điều phối subagents ở quy mô lớn.
Ai giữ "kế hoạch": subagents vs skills vs agent teams vs workflows
Đây là phần thông tin lõi của bài - một bảng so sánh 4 chiều lấy trực tiếp từ tài liệu Claude Code (code.claude.com/docs/en/workflows, đối chiếu 08/2026) mà không đối thủ nào (VI lẫn EN) mình kiểm tra có tái hiện đầy đủ:
| Subagents | Skills | Agent teams | Workflows | |
|---|---|---|---|---|
| Là gì | Agent con, gọi theo nhu cầu, context riêng cho một task | Hướng dẫn nạp theo ngữ cảnh (progressive disclosure) | Nhiều phiên song song, lead + teammate, task list chung | Một script (Claude viết) rẽ nhánh hàng loạt subagent trong nền |
| Ai quyết bước kế tiếp | Phiên chính quyết định | Phiên chính, dựa theo hướng dẫn trong skill | Lead + từng teammate tự quyết trong phạm vi task được giao | Logic trong script quyết định, không phải Claude từng bước |
| Kết quả trung gian ở đâu | Trả về context của phiên gọi | Không sinh state riêng - chỉ là hướng dẫn | Task list + mailbox dùng chung cả team | Trong runtime của workflow, tách khỏi context chính |
| Có lặp lại được không | Có, nếu định nghĩa lại agent | Có - đó là mục đích chính của skill | Không tự động - mỗi team là một phiên tương tác | Có - lưu lại thành lệnh tái sử dụng |
| Quy mô | Từng agent một, tuần tự hoặc vài agent song song | Không giới hạn theo agent - là hướng dẫn | Giới hạn bởi số phiên bạn mở song song thực tế | Tới hàng trăm/nghìn subagent trong một lần chạy |
| Ngắt/tiếp tục | Theo phiên chính | Không áp dụng | Chưa resume được teammate in-process (xem phần giới hạn) | Có thể tạm dừng/tiếp tục qua /workflows |
Không đối thủ nào trong số các bài mình kiểm tra tái hiện đúng khung 4 chiều này - phần lớn chỉ so agent teams với subagents, bỏ qua skills và workflows. Muốn đào sâu về workflows/ultracode, xem Claude Code Dynamic Workflows.
Bật Agent Teams - CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS
Agent teams tắt mặc định. Bật bằng biến môi trường trong settings.json:
{
"env": {
"CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "true"
}
}
Vài điểm cần nhớ (theo tài liệu, đối chiếu 08/2026 - kiểm tra lại phiên bản Claude Code bạn đang chạy trước khi phụ thuộc):
- Chỉ hoạt động trong phiên tương tác - không chạy qua
-phay Agent SDK. - Ở bản hiện tại (sau v2.1.178), bạn không cần gọi tool
TeamCreate/TeamDeletethủ công như một số hướng dẫn cũ mô tả - các tool đó không còn tồn tại trong luồng thao tác mới. Nếu bạn đọc một bài nói tới bước tạo team bằng tool riêng, nhiều khả năng bài đó viết trước thời điểm này - một ví dụ cụ thể cho việc tính năng "có thể đổi" mà Anthropic tự cảnh báo.
Tạo team đầu tiên và task list dùng chung
Sau khi bật, mở một task đủ lớn để chia nhiều góc nhìn, ví dụ:
Spawn a team of 3 teammates to review this PR:
one for security, one for performance, one for test coverage.
Report findings back to me.
Claude Code tạo một task list dùng chung cho cả team, với các trạng thái quen thuộc: pending, in progress, completed. Vài cơ chế đáng biết:
- Dependency blocking - một task có thể chờ task khác xong trước khi bắt đầu.
- Tự nhận việc hoặc lead giao việc - teammate có thể tự claim task đang
pending, hoặc lead chỉ định thẳng. - File-locking khi claim - khi một teammate nhận task đụng tới file cụ thể, cơ chế khoá file giúp hai teammate không cùng sửa một chỗ.
Cross-session messaging - một tính năng khác, không phải team
Đây là phần hay bị đối thủ (cả VI lẫn EN) gộp nhầm vào "nhắn tin trong team". Tài liệu thực ra tách nó thành một tính năng riêng: cross-session messaging cho phép hai phiên Claude Code độc lập - kể cả trên máy khác hoặc chạy qua Remote Control - trao đổi tin nhắn qua ListAgents/SendMessage (hoặc lệnh /list-agents), mà không cần chúng thuộc cùng một team do Claude giám sát.
Dùng cái nào khi nào: muốn Claude tự điều phối cả nhóm qua một task list chung, dùng agent teams. Có vài phiên độc lập tự bạn điều khiển và chỉ cần chúng gửi tin cho nhau theo yêu cầu, cross-session messaging là đúng công cụ - nhẹ hơn, không cần bật cả cơ chế team.
Lưu ý nền tảng: cross-session messaging hiện chỉ chạy trên macOS/Linux - chưa hỗ trợ Windows gốc (native). WSL2 được tính là Linux nên vẫn dùng được qua đó. Chế độ hiển thị chia màn hình (split-pane) của team cũng cần
tmuxhoặc iTerm2, và không chạy trong Windows Terminal. Đây là chi tiết mình chưa thấy đối thủ nào (VI/EN) nhắc tới - đáng chú ý vì không ít máy dev của độc giả site này chạy Windows.
Agent view - dashboard cho các phiên chạy nền song song
Một tính năng liên quan, dễ nhầm với agent teams: agent view, mở bằng lệnh claude agents. Đây là dashboard liệt kê các phiên chạy nền song song - khác agent teams ở chỗ không có nhắn tin giữa các phiên, chỉ là màn hình theo dõi. Cũng đang ở dạng research preview.
Lưu ý một nhầm lẫn khá phổ biến: cách ly qua git worktree riêng cho từng phiên là cơ chế của agent view (cho các phiên nền), không phải một cơ chế mặc định của agent teams. Vài bài hướng dẫn mô tả agent teams tự tạo worktree riêng cho mỗi teammate như một "vũ trụ song song" - tài liệu Architecture của agent teams không mô tả cơ chế đó; nó chỉ nói tới lead/teammate/task list/mailbox, không nhắc worktree tự động.
Một tình huống thực tế: review PR song song
Mẫu use case mạnh nhất trong tài liệu chính thức (và cũng là điều mình sẽ thử khi cần) là review PR song song: spawn 3 teammate, mỗi teammate nhìn PR qua một lăng kính khác nhau - security, performance, test coverage - rồi báo cáo lại cho bạn. Vì mỗi teammate có context riêng, chúng không giẫm chân nhau khi cùng đọc một diff.
Thành thật: mình mô tả tình huống này dựa theo mẫu use case chính thức của Anthropic, không phải một lần chạy thật với số liệu cụ thể (số PR, số issue tìm được). Nếu bạn thấy một bài review khác đưa ra con số chi tiết kiểu "X issue tìm thấy trong Y phút", hỏi lại xem họ có thật sự chạy hay chỉ diễn giải tài liệu. Một biến thể khác đáng thử: giao cho nhiều teammate cùng debug một lỗi khó theo các giả thuyết khác nhau, rồi để lead tổng hợp giả thuyết nào khớp bằng chứng nhất.
Giới hạn - những gì chưa hoạt động
Vì đây là research preview, tài liệu tự liệt kê rõ các giới hạn hiện tại - đáng đọc trước khi đặt cược một quy trình quan trọng vào tính năng này:
- Chưa resume được teammate in-process sau khi đóng terminal - đóng phiên là mất teammate đó.
- Trạng thái task có độ trễ - task list không luôn phản ánh tức thời việc teammate đang làm gì.
- Một team cho mỗi phiên - không chạy nhiều team song song trong cùng một phiên lead.
- Chưa có nested teams - một teammate không tự spawn team con của riêng nó.
- Split-pane cần tmux/iTerm2, không chạy trong Windows Terminal (nhắc lại từ phần cross-session messaging).
Đây cũng là lý do bài này nhấn mạnh "research preview" xuyên suốt: cơ chế bật đã đổi ít nhất một lần (bỏ bước tạo team thủ công bằng tool riêng), nên rất có thể danh sách giới hạn này cũng sẽ đổi. Đừng khoá một quy trình sản xuất quan trọng vào các chi tiết/hành vi cụ thể ở đây mà không kiểm tra lại.
Góc nhìn thành thật về AgentKit: persona có làm teammate được không?
Câu hỏi thẳng: advisor và kongming của AgentKit có làm teammate trong một agent team được không? Không, không theo đúng nghĩa persistent teammate.
kongminglà one-shot: một prompt vào, một câu trả lời ra, không qua lại nhiều lượt.advisorlà interview-relay: hỏi từng câu, quay lại phiên chính giữa các câu hỏi - không phải một phiên độc lập chạy song song, tự nhắn tin qua mailbox.
Cả hai đều không được thiết kế cho việc nhắn tin đa lượt, bền vững kiểu teammate (theo docs.agentkit.best/en/beta/concepts/advisory-supervision, đối chiếu 08/2026).
Nhưng có một phần đúng, đáng nói rõ thay vì lờ đi: Claude Code cho phép spawn một teammate dùng bất kỳ loại agent nào định nghĩa sẵn ở cấp project/user/plugin - và runtime adapter của AgentKit cài các agent trong kit dưới dạng định nghĩa subagent gốc của Claude Code. Về mặt kỹ thuật, một agent thực thi task trong kit AgentKit (không phải advisor/kongming) vì vậy có thể được gọi tên như một teammate. Đó không phải là "AgentKit đã có sẵn team dựng sẵn" - hãy nói đúng ranh giới: AgentKit là kit trả phí cho bạn persona/skill để giao việc, agent teams là cơ chế điều phối miễn phí của Claude Code mà bạn tự lắp chúng vào - không phải một sản phẩm "team" đóng gói sẵn từ AgentKit. Xem thêm review đầy đủ về AgentKit.
Muốn có sẵn bộ persona/skill chất lượng để giao cho một teammate? AgentKit đóng gói skills và subagent cho Claude Code (và Codex) - dùng được như task-agent trong một team bạn tự dựng, không phải một "đội" đóng gói sẵn. Trả phí một lần, trang không nêu phí định kỳ.
Câu hỏi thường gặp (FAQ)
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS làm gì?
Đây là biến môi trường (đặt trong settings.json) để bật tính năng agent teams của Claude Code, đang tắt mặc định vì còn ở dạng research preview. Chỉ hoạt động trong phiên tương tác, không chạy qua -p hay Agent SDK.
Agent teams khác subagents ở điểm nào?
Subagent chạy trong context của phiên gọi, nhận task và trả kết quả về, không tự nhắn tin qua lại. Agent teams có nhiều phiên độc lập (mỗi teammate một context riêng), chia sẻ task list và nhắn tin trực tiếp qua mailbox trong lúc chạy - chi phí token cao hơn rõ rệt.
Cross-session messaging có chạy trên Windows không?
Chưa hỗ trợ Windows gốc (native) - hiện chỉ chạy trên macOS/Linux. WSL2 được tính là Linux nên vẫn dùng được qua đó. Chế độ hiển thị chia màn hình của team cũng cần tmux hoặc iTerm2, không chạy trong Windows Terminal.
Agent teams tốn token thế nào so với một phiên đơn?
Cao hơn rõ rệt, vì mỗi teammate là một phiên đầy đủ chạy song song, không chia sẻ context với phiên chính. Tài liệu không nêu một con số cố định - chỉ nên dùng khi thật sự cần nhiều góc nhìn song song, không phải khi một agent làm tuần tự là đủ.
Có resume được team sau khi đóng terminal không?
Chưa. Theo giới hạn hiện tại, teammate chạy in-process không resume được sau khi đóng phiên - đóng terminal là mất teammate đó. Đây là một trong các giới hạn được tài liệu tự liệt kê rõ.
Tính năng này đã đủ ổn định để dùng hằng ngày chưa?
Chưa hẳn - vẫn là research preview, và cơ chế bật đã đổi ít nhất một lần (bỏ bước tạo team bằng tool riêng). Hợp để thử trên việc khám phá song song không quan trọng sống còn; chưa nên là quy trình bắt buộc cho công việc hằng ngày cần độ ổn định cao.
Kết luận
Agent teams vẫn là research preview - mạnh cho khám phá song song (nhiều góc nhìn cùng lúc trên một vấn đề), không phải để thay việc tuần tự đơn giản hơn thì subagent hay skill đã đủ. Nhớ bảng 4 chiều "ai giữ kế hoạch": cần một agent làm theo yêu cầu tuần tự - subagent/skill; cần nhiều phiên cộng tác dài, tự nhắn tin - agent teams; việc lớn hơn một context window hoặc cần chạy hàng trăm subagent - workflow. Bật thử trên một việc không quan trọng trước, đọc kỹ phần giới hạn, và đừng khoá quy trình sản xuất vào các chi tiết có thể đổi bất cứ lúc nào.