Dynamic workflows là tính năng cho phép Claude tự động viết kịch bản điều phối (orchestration script) bằng JavaScript để quản lý hàng chục đến hàng trăm tác nhân phụ (subagents) chạy song song, nhằm giải quyết các tác vụ kỹ thuật quy mô lớn.
Về mặt kỹ thuật, cách làm này giúp Claude vượt giới hạn của cửa sổ ngữ cảnh (context window): trạng thái công việc nằm trong các biến của runtime JavaScript thay vì bị đẩy hết vào phiên chat. Nhờ đó hệ thống vẫn chạy ổn định ngay cả khi điều phối tới 1.000 tác nhân trong những dự án phức tạp kéo dài nhiều ngày.
Khác với các cơ chế trước, kế hoạch hành động không còn nằm trong hội thoại mà được lưu dưới dạng mã nguồn (Plan-as-Code).

Dynamic workflows trong Claude Code là gì?
Dynamic workflows là một cơ chế điều phối đa tác nhân (multi-agent orchestration) nâng cao.
Điểm khác biệt nằm ở chỗ Claude không chỉ dự đoán bước tiếp theo, mà thực sự lập trình ra một quy trình thực thi. Kế hoạch này là một tệp mã nguồn hữu hình, cho phép kiểm soát chặt logic rẽ nhánh và vòng lặp.
| Đặc tính | Skills (Kỹ năng) | Subagents (Tác nhân phụ) | Agent Teams (Đội ngũ) | Dynamic Workflows |
|---|---|---|---|---|
| Nơi giữ kế hoạch | Claude (trong chat) | Lead orchestrator | Shared task list | Script JavaScript |
| Lưu trạng thái | Context window | Context window | Context window | Biến trong script |
| Tính song song | Thấp / tuần tự | Song song (đơn lẻ) | Song song (có thảo luận) | Song song quy mô lớn |
| Khả năng kiểm tra | Thấp | Trung bình | Trung bình | Rất cao (audit kịch bản) |
Chính việc lưu kết quả trung gian trong biến của runtime JavaScript là điều giúp Claude vận hành hàng nghìn agent mà không làm tràn bộ nhớ ngữ cảnh của mô hình chính.
Dynamic workflows hoạt động thế nào?
Quy trình vận hành dựa trên các nguyên mẫu (primitives) như agent.parallel và pipeline, đi qua ba
giai đoạn:
- Quét (Scan): chia tác vụ thành các phần độc lập. Để tối ưu chi phí, các subagent thực thi thường chạy trên model Haiku, còn agent điều phối và tổng hợp dùng Opus.
- Xác thực (Verify): áp dụng xác thực đối kháng (adversarial verification) — một nhóm agent thực hiện thay đổi, nhóm khác chủ động tìm lỗi và phản biện. Workflow chỉ đi tiếp khi kết quả hội tụ (convergence).
- Báo cáo (Report): tổng hợp dữ liệu từ các biến trong script và trả về một kết quả duy nhất đã qua kiểm chứng.

Thông số và giới hạn vận hành:
- Đồng thời (concurrency): tối đa 16 agent chạy cùng lúc để bảo vệ tài nguyên CPU.
- Tổng số agent: giới hạn cứng 1.000 agent mỗi lần chạy để ngăn lỗi "vòng lặp chạy hoang" (runaway loops) đốt token.
- Trạng thái theo phiên (session-bound): nếu bạn thoát hẳn Claude Code, phiên sau sẽ chạy lại workflow từ đầu thay vì tiếp tục từ checkpoint cũ — dù script đã được lưu.
Bật và kích hoạt dynamic workflows thế nào?
Tính năng yêu cầu Claude Code từ phiên bản v2.1.154 trở lên. Kiểm tra bằng claude --version. Có hai cách kích hoạt chính:
- Cách 1 — từ khóa trực tiếp: đặt từ "workflow" trong prompt. Khi nhận diện đúng, CLI tô màu cầu vồng từ khóa này để xác nhận đã kích hoạt kịch bản động.
- Cách 2 — chế độ Ultracode: dùng lệnh
/effort ultracode. Chế độ này đẩy mức suy nghĩ lênxhighvà tự động dùng workflow cho mọi tác vụ phức tạp. Lưu ý: Ultracode hiện yêu cầu model Opus 4.8 hoặc 4.7; các model đời cũ không hỗ trợ mức suy nghĩ này.
Các lệnh hỗ trợ trong CLI:
/workflows: xem danh sách workflow đang chạy, số agent và token đã dùng.- Phím
p: tạm dừng (pause) một tiến trình trong giao diện/workflows. - Quyền hạn: trong workflow, các subagent mặc định ở chế độ
acceptEdits. Nghĩa là AI tự động ghi đè hàng loạt file mà không dừng xin phép từng lần — một đánh đổi về bảo mật để có tự động hóa hoàn toàn.
Bạn dùng dynamic workflows cho việc gì?
Workflow không dành cho các chỉnh sửa lẻ; nó phát huy tác dụng ở những kịch bản quy mô lớn:
- Quét lỗi toàn codebase: tìm các mẫu code không an toàn (unsafe patterns) hay lỗi logic trên cả dự án, có kiểm tra chéo giữa nhiều agent.
- Di chuyển mã nguồn lớn: đổi framework hay port ngôn ngữ (ví dụ Java sang Kotlin, hoặc port API cũ sang mới).
- Nghiên cứu đối chiếu: lệnh
/deep-researchquét nhiều nguồn, đối chiếu các tuyên bố và chỉ giữ thông tin có sự đồng thuận. - Tái sử dụng: nhấn
strong giao diện/workflowsđể lưu kịch bản vào thư mục.claude/workflows/. Sau đó nó trở thành một lệnh/tùy chỉnh, chia sẻ cho cả team qua Git.
Case study: Bun viết lại 750.000 dòng Rust trong 11 ngày
Jarred Sumner (tác giả Bun) đã minh chứng sức mạnh của workflow khi chuyển runtime từ Zig sang Rust:
- Quy mô: 750.000 dòng Rust được tạo ra trong 11 ngày, tỷ lệ vượt kiểm thử đạt 99,8%.
- Quy trình ba bước:
- Một workflow ánh xạ chính xác Rust lifetime cho từng struct field.
- Hàng trăm agent song song chuyển đổi file, mỗi file có 2 reviewer độc lập kiểm tra tính tương đồng về hành vi (behavioral equivalence).
- Một workflow chạy qua đêm để tối ưu việc sao chép dữ liệu thừa (data copies).

Góc nhìn phản biện: dù con số 99,8% gây ấn tượng, cộng đồng kỹ sư trên Reddit và Hacker News chỉ ra rằng mã nguồn chứa tới 13.255 khối lệnh unsafe và nhiều đoạn không an toàn (unsound code). Workflow giúp hoàn thành khối lượng khổng lồ, nhưng kết quả vẫn cần con người thẩm định trước khi đưa vào vận hành thực tế (production).
Dynamic workflows khác gì Cursor, Copilot và Codex?
Claude Code là công cụ duy nhất hiện nay lưu được "công thức" điều phối (blueprint) dưới dạng artifact có thể kiểm soát, đọc lại và chia sẻ.

| Khía cạnh | Cursor (/multitask) | GitHub Copilot (/fleet) | Claude Code (Workflows) |
|---|---|---|---|
| Cơ chế song song | Giao diện sidebar | Lớp điều phối / Git worktrees | Điều phối bằng script |
| Lưu kế hoạch | Tạm thời (trong chat) | Trong lớp điều phối nội bộ | Tệp JavaScript (.js) |
| Cấu trúc agent | Agent cloud / local | Lớp điều phối | Subagent định địa chỉ theo path |
| Kiểm tra (audit) | Thấp | Qua dashboard | Rất cao (đọc code kịch bản) |
| Chia sẻ / tái dùng | Không | Không | Có (commit vào repo) |
Khi nào KHÔNG nên dùng dynamic workflows?
Workflow là con dao hai lưỡi về chi phí. Chỉ nên dùng khi có một thước đo đúng/sai khách quan (objective oracle) — thường là bộ unit test hoàn chỉnh để AI biết khi nào đạt yêu cầu. Nên tránh trong các trường hợp:
- Thiếu bộ test tự động: workflow sẽ chạy theo "cảm giác" (vibes) và dễ đốt hàng triệu token mà không cho kết quả đúng.
- Tác vụ sáng tạo / chủ quan: những việc không có tiêu chuẩn kỹ thuật rõ ràng.
- Thay đổi nhỏ: sửa một hai file thì dùng subagent nhanh và rẻ hơn nhiều.
- Cần can thiệp liên tục: workflow chạy tự động đến khi xong; nếu muốn điều hướng từng bước, hãy dùng Agent Teams.
- Ngân sách token hạn hẹp: một prompt có thể ngốn từ 1,2 đến 7,2 triệu token chỉ trong vài phút.