Claude Code Dynamic Workflows: Điều Phối Agent Ở Quy Mô Lớn (2026)

Dynamic workflows là tính năng Anthropic ra mắt ngày 28 tháng 5 năm 2026 cho Claude Code (bản v2.1.154), hiện ở dạng research preview: thay vì bạn điều khiển từng lượt, Claude tự viết một script JavaScript để khởi chạy và điều phối hàng chục đến hàng trăm subagent chạy song song, kiểm tra kết quả trước khi trả về cho bạn. Cần Claude Code phiên bản v2.1.154 trở lên.

Sơ đồ Claude Code dynamic workflows điều phối nhiều agent song song

Nếu bạn đã dùng subagent hay agent team nhưng vẫn loay hoay khi cần chạy hàng chục agent cho một việc lớn mà không vỡ context, đây chính là mảnh ghép còn thiếu. Bài này giải thích dynamic workflows là gì, hoạt động ra sao, khác gì các tính năng tự động khác, và khi nào nên (hoặc không nên) dùng.

Dynamic Workflows Trong Claude Code Là Gì?

Dynamic workflows là cơ chế Claude Code tự sinh ra một script JavaScript để điều phối nhiều subagent ở quy mô lớn. Điểm cốt lõi: Claude là người lập kế hoạch (viết script), không phải người điều phối từng lượt. Kế hoạch, vòng lặp và rẽ nhánh nằm trong code, chứ không nằm trong cuộc hội thoại của bạn.

Khác biệt quan trọng nhất so với cách làm cũ: khi một agent chạy xong, kết quả đi vào biến trong script chứ không đổ vào context của phiên làm việc. Chỉ kết quả cuối cùng mới chạm tới bạn. Nhờ vậy, một workflow có thể chạy hàng trăm agent mà cửa sổ ngữ cảnh của bạn vẫn gọn. Tính năng ra mắt ngày 28 tháng 5 năm 2026, cần Claude Code v2.1.154 trở lên, có trên mọi gói trả phí, riêng gói Pro cần bật ở dòng “Dynamic workflows” trong /config, cùng Amazon Bedrock, Google Vertex AI và Microsoft Foundry.

Dynamic Workflows Hoạt Động Thế Nào?

Bạn mô tả việc cần làm, Claude viết một script JavaScript chứa toàn bộ luồng điều phối, rồi chạy script đó trong một runtime nền tách khỏi phiên hội thoại. Phiên của bạn vẫn phản hồi bình thường trong khi các agent làm việc song song ở phía sau.

Ba giới hạn cứng cần nhớ khi tính toán quy mô và chi phí:

  • Tối đa 16 agent chạy song song mỗi lần chạy (ít hơn trên máy yếu vì giới hạn theo số nhân CPU).
  • Tối đa 1.000 agent cho mỗi lần chạy, đây là chốt chặn chống vòng lặp mất kiểm soát.
  • Mỗi agent tiêu token từ hạn mức gói của bạn, nên một workflow có thể tốn nhiều token hơn đáng kể so với cách làm từng lượt.

Workflow chỉ chạy lại được (resume) trong cùng một phiên Claude Code; nếu bạn thoát Claude Code khi workflow đang chạy thì phiên sau sẽ chạy lại từ đầu. Bản thân script không truy cập trực tiếp filesystem hay shell, mọi thao tác thực tế do các agent đảm nhiệm.

Dynamic Khác Deterministic Workflow Ở Đâu?

Gọi là “dynamic” vì luồng điều khiển do mô hình quyết định lúc chạy: sau mỗi agent xong, script đọc kết quả trung gian rồi mới quyết định chạy gì tiếp theo, thậm chí lặp lại tới khi đạt một điều kiện (ví dụ spawn thêm reviewer tới khi đủ đồng thuận).

Ngược lại, workflow tĩnh (deterministic) có các pha và số agent cố định, viết sẵn từ đầu, mô hình không tự quyết luồng khi chạy. Một lưu ý thực tế: hiện Claude Code không mở các hàm cấp thấp như agent() hay pipeline() để bạn tự viết; bạn mô tả việc, Claude sinh ra script.

Workflow vs Subagent vs Skill vs Agent Team: Chọn Cơ Chế Nào?

Đây là phần hay gây nhầm nhất. Theo tài liệu chính thức của Claude Code, có 4 cơ chế điều phối (orchestration primitive) đều chạy được việc nhiều bước, khác nhau ở chỗ AI GIỮ PLAN: Claude quyết định từng lượt, hay script tự giữ vòng lặp.

Cơ chế Làm gì Ai giữ plan / kết quả trung gian Dùng khi
Subagent Claude sinh vài agent con chạy việc nhiều bước Claude, từng lượt; kết quả nằm trong context của Claude Vài tác vụ phụ cần context riêng, để Claude điều phối trực tiếp
Skill Bộ chỉ dẫn (instructions) mà Claude làm theo Claude, theo prompt; kết quả trong context của Claude Cần đóng gói sẵn cách làm để Claude tuân theo, lặp lại được
Agent team Một lead agent giám sát các phiên ngang hàng Lead agent, từng lượt; kết quả ở task list chung Cần một agent chỉ huy điều phối nhiều agent ngang hàng
Dynamic workflow Một script JavaScript do runtime chạy nền Script quyết định; biến script giữ kết quả trung gian, context Claude chỉ giữ kết quả cuối Việc lớn/phức tạp, đưa vòng lặp + rẽ nhánh vào code; hàng chục đến 1.000 agent

Phân biệt cốt lõi: với subagent, skill và agent team, Claude là người điều phối, nó quyết định từng lượt cần chạy gì tiếp, và mọi kết quả đổ vào context. Còn dynamic workflow đưa kế hoạch vào code: script giữ vòng lặp, rẽ nhánh và kết quả trung gian, nên context của Claude chỉ còn kết quả cuối.

Các tính năng tự động KHÁC (không phải cơ chế điều phối)

Đừng nhầm 4 cơ chế trên với mấy tính năng tự động khác của Claude Code, chúng không nằm trong bảng so sánh của docs:

  • Routines, cloud agent chạy theo lịch (cron), không cần máy bật hay phiên mở.
  • /loop, chạy lặp lại một prompt theo nhịp, để theo dõi một việc theo thời gian.
  • Auto mode, là một permission mode (quyết định KHI NÀO hiện prompt xin duyệt), không phải cách điều phối agent. Khi bật ultracode, prompt duyệt này được bỏ qua.

Cách Kích Hoạt Dynamic Workflows Thế Nào?

Bạn không tự viết script. Có vài đường vào, tùy mức độ chủ động bạn muốn:

  • ultracode là một setting của Claude Code, không chỉ là từ khóa: nó gửi mức suy luận xhigh cho mô hình để Claude tự lập dynamic workflow cho mọi việc đáng kể. Lưu ý phiên bản: trước v2.1.160 từ khóa kích hoạt là workflow, từ v2.1.160 đổi thành ultracode, còn yêu cầu bằng ngôn ngữ tự nhiên thì chạy được ở cả hai bản.
  • /effort ultracode bật ultracode ở mức phiên hiện tại: với mọi việc đáng kể, Claude tự lập workflow.
  • /deep-research <câu hỏi> một workflow dựng sẵn cho nghiên cứu đối chiếu chéo nhiều nguồn.
  • /workflows liệt kê, theo dõi và quản lý các workflow đang chạy hoặc đã xong.
  • Gói Pro: bật tính năng ở dòng “Dynamic workflows” trong /config (các gói trả phí khác tùy cấu hình, kiểm tra trong /config nếu chưa thấy).

Script được ghi vào thư mục dự án của bạn nên có thể đọc lại, sửa và chạy lại trong cùng phiên. Trong lúc workflow chạy, bạn không nhập thêm giữa chừng được (chỉ các lời nhắc xin quyền của agent mới có thể tạm dừng).

Muốn tắt? Có 3 cách: tắt dòng “Dynamic workflows” trong /config; đặt "disableWorkflows": true trong ~/.claude/settings.json; hoặc đặt biến môi trường CLAUDE_CODE_DISABLE_WORKFLOWS=1.

Khi Nào Nên Và Không Nên Dùng Dynamic Workflows?

Đây là tính năng mạnh nhưng không miễn phí về token, nên chọn đúng việc mới đáng:

Nên dùng khi công việc lớn và chia được thành nhiều phần độc lập: di chuyển (migrate) cả codebase, audit bảo mật toàn dự án, điều tra một lỗi xuất hiện ở diện rộng, hoặc tổng hợp thông tin từ nhiều nguồn cùng lúc. Đây là những việc một agent đơn lẻ sẽ ngộp context hoặc làm rất chậm.

Không nên dùng khi task nhỏ mà một agent (hoặc chính bạn) làm xong trong vài bước. Một workflow dựng cả đội agent sẽ tốn nhiều token hơn hẳn cho cùng kết quả. Quy tắc của mình: nếu không hình dung được việc cần chia ra từ chục phần trở lên, đừng dùng workflow.

Để hiểu nền tảng phía dưới (subagent, agent độc lập) trước khi lên quy mô lớn, xem thêm bài agent tự động trong Claude Code và bài tổng quan Claude Code là gì.

Câu Hỏi Thường Gặp

Dynamic workflows cần phiên bản nào?

Cần Claude Code v2.1.154 trở lên. Tính năng có trên mọi gói trả phí (riêng gói Pro cần bật ở dòng “Dynamic workflows” trong /config), cũng như Amazon Bedrock, Google Vertex AI và Microsoft Foundry.

Một lần chạy được tối đa bao nhiêu agent?

Tối đa 16 agent song song cùng lúc (ít hơn trên máy ít nhân CPU) và tối đa 1.000 agent cho mỗi lần chạy. Mốc 1.000 là chốt chặn chống vòng lặp mất kiểm soát.

Dynamic workflow có khác subagent không?

Có. Subagent là một vài trợ lý chuyên biệt do Claude điều phối từng lượt trong hội thoại. Dynamic workflow để Claude viết script điều phối hàng chục đến hàng trăm agent ở quy mô lớn, giữ kết quả trong biến script thay vì đổ vào context.

Dùng dynamic workflows có tốn nhiều token hơn không?

Có. Một workflow chạy nhiều agent có thể tốn token nhiều hơn đáng kể so với làm từng lượt. Vì vậy chỉ nên dùng cho việc lớn, chia được thành nhiều phần độc lập.

Similar Posts