
Claude Code Workflows: Chúng là gì và khi nào bạn thực sự cần đến
Cập nhật lên Claude Code v2.1.154 và bạn sẽ thấy một dòng mới trong /config có tên Dynamic workflows. Bật nó lên và Claude giờ đây có thể viết một script JavaScript phân tán công việc ra tối đa 16 agent chạy đồng thời. Đó là tính năng mà ai cũng đang bàn tán. Tài liệu chính thức cho bạn biết nó làm gì. Nhưng nó không nói điều bạn thực sự quan tâm: bạn có cần nó không, hay các subagent bạn đang dùng đã đủ?
Đây chính là khoảng trống đó. Claude Code workflows ra mắt dưới dạng research preview, và tài liệu đọc như bản tham chiếu chứ không phải lời khuyên. Vì vậy chúng tôi đã chạy workflow duy nhất được đóng gói sẵn, /deep-research, ngay trong pipeline nội dung của chính mình, ghi lại các con số thực tế, và viết ra nhận định trung thực. Phiên bản ngắn gọn: nếu bạn vẫn có thể theo dõi các agent bằng tay, bạn chưa cần workflow. Một số ít trong các bạn thì chắc chắn cần. Hãy cùng phân loại xem bạn thuộc nhóm nào.
Những điểm chính:
- Claude Code workflow là một script JavaScript mà Claude viết để điều phối subagent ở quy mô lớn (research preview, v2.1.154+, mọi gói trả phí).
- Bạn chỉ cần đến nó khi một task đòi hỏi nhiều agent hơn mức một cuộc hội thoại có thể điều phối. Nếu không, subagent là đủ.
- Hiện có một workflow được đóng gói sẵn:
/deep-research. Nó chạy nền trong khi session của bạn vẫn phản hồi bình thường. - Workflow rất ngốn token. Chúng tôi đã đo một lần chạy thực tế trước khi khuyên dùng (số liệu bên dưới).
Claude Code Workflow là gì?
Claude Code workflow là một script JavaScript điều phối subagent ở quy mô lớn. Bạn mô tả task, Claude viết script, và một runtime thực thi nó ở chế độ nền trong khi session chat của bạn vẫn phản hồi bình thường. Đây là tính năng research preview trong Claude Code, yêu cầu Claude Code v2.1.154+, và chạy trên mọi gói trả phí (Pro, Max, Team, Enterprise, cùng API và Bedrock/Vertex/Foundry).
Đây là phiên bản đời thường. Hãy tưởng tượng bạn bước đến quầy bếp và mô tả món ăn bạn muốn. Đầu bếp viết công thức, đưa nó cho một bếp phụ đầy đầu bếp khác, và họ bắt tay vào làm trong khi bạn tiếp tục trò chuyện ở quầy. Bạn không quản lý vi mô từng đầu bếp. Công thức mới làm điều đó. Công thức đó là workflow, các đầu bếp là subagent, và căn bếp chạy phía sau là runtime.
Workflow không phải là một agent khác. Nó là script bảo các agent của bạn phải làm gì, theo thứ tự nào, và làm gì với kết quả. Sự phân biệt đó quan trọng hơn bất kỳ điều gì khác trong bài viết này, và chúng tôi sẽ cụ thể hóa nó ở phần tiếp theo.
Một nhầm lẫn cần làm rõ. Tìm "claude code workflows" và bạn sẽ gặp các repo GitHub, plugin, và một
marketplaceđầy các công cụ swarm cộng đồng như Ruflo, claude-flow, vàwshobson/agents. Đó là các bộ điều phối bên thứ ba. Dynamic workflows chính thức của Anthropic là một tính năng tích hợp sẵn khác. Nếu nó không có trong/configtrên v2.1.154+, thì đó không phải bản chính thức.
Tính năng này nằm cùng nhóm với các bản research preview khác của Anthropic như fast mode research preview gần đây: ra mắt sớm, ẩn sau một toggle, và vẫn còn thô ở nhiều chỗ. Hãy đối xử với nó như một bản preview, vì đúng là như vậy. Thông số đầy đủ nằm trong tài liệu workflows chính thức.
Workflows vs Subagents vs Skills: Ai giữ kế hoạch?
Cách rõ ràng nhất để phân biệt ba thứ này là đặt một câu hỏi: ai giữ kế hoạch? Một skill là bộ hướng dẫn và kiến thức được đóng gói mà Claude tải theo yêu cầu. Một subagent là một context riêng biệt thực hiện một công việc được ủy quyền. Một workflow là script điều phối phối hợp các subagent ở quy mô lớn, tối đa 16 cùng lúc. Cùng một bộ công cụ, ba công việc khác nhau.

Đây là bảng so sánh mà tài liệu chính thức ngầm ám chỉ nhưng không bao giờ đặt cạnh nhau:
| Skill | Subagent | Workflow | |
|---|---|---|---|
| Ai giữ kế hoạch? | Bạn/Claude trong context chính | Một context ủy quyền riêng biệt | Script workflow (runtime) |
| Nó là gì | Bộ hướng dẫn/kiến thức đóng gói, tải theo yêu cầu | Một công việc biệt lập trong context riêng | Script JavaScript điều phối subagent (≤16 đồng thời) |
| Quy mô | Không áp dụng | Một vài, phối hợp qua hội thoại | Tối đa 16 đồng thời / 1.000 mỗi lần chạy |
| Chạy lại được như code? | Không | Không | Có (lưu thành /command) |
| Phù hợp nhất cho | Kiến thức/hướng dẫn tái sử dụng | Một task ủy quyền đơn lẻ | Nhiều agent hơn mức một cuộc hội thoại theo dõi được |
Nếu một cuộc hội thoại Claude vẫn có thể giữ toàn bộ kế hoạch trong đầu, bạn cần subagent chứ không phải workflow. Khoảnh khắc bạn sinh ra nhiều agent hơn mức bạn — con người — có thể theo dõi ai đang làm gì và theo thứ tự nào, kế hoạch đã vượt quá cuộc hội thoại. Đó là ranh giới mà workflow vượt qua.
Muốn tìm hiểu sâu hơn về phần đầu tiên? Hướng dẫn skills của chúng tôi bao quát việc đóng gói kiến thức mà Claude tải theo yêu cầu. Và nếu bạn đang cân nhắc liệu nên dùng một agent framework đầy đủ thay vì điều phối native, bài so sánh đó cũng hữu ích. Nhận định trung thực của chúng tôi: các primitive native đi xa hơn bạn nghĩ trước khi một framework xứng đáng với chi phí của nó.
Khi nào bạn thực sự cần Claude Code Workflow?
Bạn cần Claude Code workflow khi (a) task đòi hỏi nhiều agent hơn mức một cuộc hội thoại có thể điều phối, (b) bạn muốn lưu phần điều phối thành code chạy lại được thay vì một prompt dùng một lần, hoặc (c) bạn cần đánh giá đối kháng hoặc kiểm tra chéo nơi nhiều agent kiểm tra công việc của nhau. Nếu không có điều nào đúng, subagent là đủ. Hãy trung thực với bản thân ở đây.
Đây là phần mà tài liệu sẽ không nói thẳng, nên chúng tôi sẽ nói: bạn có lẽ chưa cần workflow. Một vài subagent, phối hợp qua một cuộc hội thoại bình thường, xử lý được công việc hàng ngày. Workflow không phải bản nâng cấp bạn "tốt nghiệp" lên. Nó là công cụ cho một hình dạng vấn đề cụ thể: nhiều agent hơn mức một bộ não theo dõi được.
Hãy tự kiểm tra bằng danh sách này. Bạn có lẽ cần workflow nếu trả lời có cho ít nhất một câu:
- Task cần nhiều agent hơn mức một cuộc hội thoại theo dõi được.
- Bạn muốn phần điều phối là code chạy lại được, không phải prompt gõ lại mỗi lần.
- Bạn cần đánh giá đối kháng hoặc kiểm tra chéo (nhiều agent xác minh lẫn nhau).
- Bạn sẽ chạy cùng một job đa agent lặp đi lặp lại, như kiểm toán codebase định kỳ hoặc di cư 500 file.
Trả lời không cho cả bốn? Ở lại với subagent. Bạn sẽ tiết kiệm token, giữ mọi thứ dễ debug, và không mất gì. Nhóm người theo hướng spec-driven sẽ nhận ra mô hình này từ các best practice CLAUDE.md tốt: viết kế hoạch ra một lần, biến nó thành chạy lại được, ngừng gõ lại. Workflow là ý tưởng đó được đẩy đến điểm mà bản thân kế hoạch cần một runtime để thực thi.
Workflow duy nhất bạn đã có sẵn: /deep-research
/deep-research là workflow duy nhất được đóng gói sẵn trong bản preview. Gọi nó với một câu hỏi và nó phân tán các subagent để nghiên cứu chủ đề song song, kiểm tra chéo các phát hiện của chúng với nhau, và trả về một câu trả lời tổng hợp vào context của bạn, tất cả trong khi chạy nền để session của bạn vẫn dùng được.
/deep-research What are the real token costs of running multi-agent research in Claude Code?Đó là toàn bộ giao diện. Bên dưới, nó đi qua các giai đoạn: chia câu hỏi thành các luồng nghiên cứu, sinh agent để theo từng luồng, chạy một giai đoạn kiểm tra chéo hoặc đánh giá để các agent bắt các nhận định yếu của nhau, rồi tổng hợp câu trả lời cuối cùng vào chat của bạn. Bạn không điều khiển nó giữa chừng. Bạn hỏi, nó làm, nó báo cáo lại.

Điều này thực sự hữu ích cho những câu hỏi nghiên cứu lộn xộn mà bình thường bạn sẽ mở mười tab và mất cả buổi chiều. Nếu bạn đang kết nối các công cụ nghiên cứu, bài tổng hợp các MCP server tốt nhất của chúng tôi kết hợp tốt với kiểu nghiên cứu phân tán này. Nhưng "hữu ích" và "đáng với hóa đơn token" không phải cùng một thứ, và đó chính xác là điều chúng tôi đặt ra để đo.
Điều gì xảy ra khi chúng tôi chạy Workflow trong chính Pipeline của mình
Lần chạy /deep-research của chúng tôi sinh ra 9 subagent qua 4 giai đoạn, đốt hơn 1 triệu token một chút, và hoàn thành trong khoảng 8 phút thời gian thực. Có đáng không? Cho một câu hỏi nhanh, không đời nào. Cho một task nghiên cứu mà bình thường chúng tôi phải điều phối bằng tay qua nửa tá agent, nó tự hoàn vốn. Đây là phân tích trung thực.
Trong pipeline của chúng tôi, chính bài viết bạn đang đọc được tạo ra bởi một hệ thống đa agent: nghiên cứu, brief, viết, xác thực, dịch thuật, và xuất bản mỗi thứ chạy như một subagent riêng. Nên chúng tôi đã sống trong thế giới "quá nhiều agent cho một cuộc hội thoại" từ danh sách kiểm tra ở trên. Điều đó biến chúng tôi thành test case phù hợp, không phải một tình huống gượng ép.
Chúng tôi chạy /deep-research trên một từ khóa thực mà chúng tôi đang nghiên cứu và ghi lại toàn bộ lần chạy:
| Chỉ số | Lần chạy /deep-research của chúng tôi |
|---|---|
| Subagent được sinh ra | 9 |
| Giai đoạn | 4 (phân rã → phân tán → kiểm tra chéo → tổng hợp) |
| Tổng token | ~1,05 triệu |
| Thời gian thực | ~8 phút |
| Đánh giá đáng hay không | Quá mức cho câu hỏi một lần; đáng giá cho nghiên cứu đa nguồn thực sự |
Điều khiến chúng tôi ngạc nhiên nhất là giai đoạn kiểm tra chéo. Một vài nhận định ban đầu mà một agent đưa ra đã được âm thầm sửa lại sau khi một agent khác thách thức chúng, kiểu mà một cuộc hội thoại đơn lẻ thường bỏ qua. Bước đối kháng đó mới là giá trị thực, hơn cả sự song song thuần túy. Tuy nhiên, chi phí token rất đắt, và các agent đó chạy trên mô hình cấp Opus (xem có gì mới trong Opus 4.8 để biết tại sao điều đó quan trọng với hóa đơn). Một triệu token cho một câu hỏi bạn có thể trả lời bằng hai prompt là một giao dịch tệ. Cho một câu hỏi thực sự cần đối chiếu sáu nguồn, nó là món hời về thời gian của bạn.
Đây là kiểu điều phối mà chúng tôi xây dựng cho khách hàng tại Techsy, nên chúng tôi có một prior mạnh về nơi nó đáng giá và nơi nó chỉ đốt ngân sách. Nhận định của chúng tôi: chạy nó cho câu hỏi khó, bỏ qua cho câu hỏi dễ.
Cách viết và lưu Workflow của riêng bạn
Để tạo workflow riêng, hãy mô tả task cho Claude bằng ngôn ngữ tự nhiên với từ khóa workflow, xem xét và phê duyệt script mà nó tạo ra, rồi lưu script đó thành một /command tái sử dụng. Với mức effort cao hơn, đặt /effort ultracode và Claude sẽ tự lên kế hoạch workflow. Bạn không cần viết JavaScript; Claude viết script, bạn phê duyệt.
Đây là vòng lặp đầy đủ, cũng đồng thời là các bước nếu bạn muốn làm theo:
-
Bật Dynamic workflows. Trên gói Pro, mở
/configvà bật dòng Dynamic workflows. (Bạn đang ở v2.1.154+ rồi chứ?)bash/config # then enable the "Dynamic workflows" row -
Mô tả task với từ khóa
workflow. Bao gồm từworkflowở bất kỳ đâu trong prompt, ví dụ: "Run a workflow to audit every route file in this repo for missing auth checks." Claude Code sẽ tô sáng từ đó và viết một script thay vì làm việc theo từng lượt. Muốn Claude tự quyết định? Đặt/effort ultracode, kết hợp suy luậnxhighvới điều phối workflow tự động cho mọi task đáng kể (và đốt nhiều token hơn, nên quay lại/effort highcho công việc thường ngày). -
Xem xét và phê duyệt script được tạo. Claude cho bạn xem phần điều phối JavaScript trước khi chạy bất kỳ thứ gì. Hãy đọc nó. Đây là cơ hội để bắt một fan-out rộng hơn bạn muốn.
-
Lưu thành
/commandđể tái sử dụng. Khi nó hoạt động, lưu workflow thành một slash command tùy chỉnh để cuộc kiểm toán quý tới chỉ cần một lần gõ phím.
Khả năng tái sử dụng là chiến thắng thầm lặng. Một lần /deep-research dùng một lần thì tiện, nhưng một workflow đã lưu cho "kiểm toán auth trên tất cả route" hoặc "di cư thư mục này sang API mới" biến một công việc điều phối nhiều giờ thành một lệnh lặp lại duy nhất. Đó là khi chi phí token bắt đầu được phân bổ qua nhiều lần chạy thay vì chỉ đau một lần.
Giới hạn, Chi phí, và Cách tắt Workflows
Workflow chạy tối đa 16 agent đồng thời với giới hạn cứng 1.000 agent mỗi lần chạy, không nhận đầu vào giữa chừng, và chỉ có thể tiếp tục trong cùng session. Chúng ngốn token theo thiết kế, vì mỗi agent đều tiêu thụ context. Bạn có thể tắt hoàn toàn tính năng này bằng disableWorkflows trong config hoặc biến môi trường CLAUDE_CODE_DISABLE_WORKFLOWS.
Mỗi giới hạn đó đều có ý nghĩa với task của bạn. Không nhận đầu vào giữa chừng nghĩa là bạn không thể chỉnh hướng khi nó đã bắt đầu, nên một prompt mơ hồ sẽ lãng phí toàn bộ token của cả lần chạy. Chỉ tiếp tục trong cùng session nghĩa là nếu bạn đóng terminal, lần chạy mất. 1.000 agent mỗi lần chạy nghe có vẻ khổng lồ, nhưng một fan-out rộng ở mức giá cấp Opus là tiền thật, nên hãy coi mặc định 16 đồng thời là một tính năng, không phải trần để đẩy lên.
Để tắt:
export CLAUDE_CODE_DISABLE_WORKFLOWS=1
# or set "disableWorkflows": true in your configCái bẫy phiên bản khiến nhiều người vấp: nếu /config không hiện dòng Dynamic workflows, bạn đang ở dưới v2.1.154. Cập nhật trước. Và nếu bạn đang xây dựng các pipeline agent như thế này cho công việc thực và muốn chúng thực sự đáng giá, chúng tôi xây dựng pipeline agent cho các đội B2B. Nhận tư vấn miễn phí → nếu điều phối đang trở thành nút thắt cổ chai.
Kết luận
Đây là toàn bộ bài viết trong năm dòng. Claude Code workflow là một script JavaScript mà Claude viết để điều phối subagent ở quy mô lớn, ra mắt dưới dạng research preview trong v2.1.154. Cái duy nhất tồn tại hiện tại là /deep-research. Bạn cần workflow chỉ khi một task vượt quá mức một cuộc hội thoại có thể điều phối, khi bạn muốn phần điều phối chạy lại được, hoặc khi bạn cần các agent kiểm tra chéo lẫn nhau. Lần chạy thực tế của chúng tôi tốn ~1 triệu token cho 9 agent trong 8 phút, quá mức cho câu hỏi dễ và đáng giá cho nghiên cứu khó. Bạn có lẽ chưa cần, và điều đó hoàn toàn ổn.
Về tác giả
Mert Batur Gurbuz là Đồng sáng lập của Techsy.io, nơi đội ngũ triển khai AI agent, hệ thống tự động hóa, và pipeline voice/SDR cho khách hàng B2B. Anh học tại University of Birmingham và viết về bộ công cụ LLM mà đội Techsy thực sự dùng trong production.
Đồng sáng lập, Techsy.io, University of Birmingham · LinkedIn
Câu hỏi thường gặp
Claude Code workflow là gì?
Claude Code workflow là một script JavaScript điều phối subagent ở quy mô lớn. Bạn mô tả task, Claude viết script, và một runtime thực thi nó ở chế độ nền trong khi session của bạn vẫn phản hồi. Đây là tính năng research preview trong Claude Code v2.1.154+, có sẵn trên mọi gói trả phí.
Sự khác biệt giữa workflow và subagent là gì?
Subagent là một công việc ủy quyền đơn lẻ chạy trong context riêng biệt, được bạn phối hợp qua hội thoại. Workflow là script điều phối phối hợp các subagent cùng lúc, tối đa 16. Nếu một cuộc hội thoại vẫn giữ được toàn bộ kế hoạch, dùng subagent. Nếu kế hoạch cần một runtime để theo dõi các agent, dùng workflow.
Claude Code workflow tốn bao nhiêu token?
Trong lần chạy /deep-research có đo lường của chúng tôi, 9 subagent qua 4 giai đoạn đốt khoảng 1,05 triệu token trong khoảng 8 phút. Workflow ngốn token theo thiết kế vì mỗi agent tiêu thụ context riêng, và các agent đó chạy trên mô hình cấp Opus. Cho câu hỏi đơn giản thì lãng phí; cho nghiên cứu đa nguồn thực sự thì xứng đáng.
Tôi có cần gói trả phí để dùng Claude Code workflows không?
Có. Dynamic workflows chạy trên mọi gói Claude trả phí (Pro, Max, Team, Enterprise) cùng API và Bedrock/Vertex/Foundry. Không có truy cập miễn phí. Trên gói Pro, bạn bật tính năng bằng cách bật dòng Dynamic workflows trong /config sau khi cập nhật lên Claude Code v2.1.154 hoặc mới hơn.
/deep-research trong Claude Code là gì?
/deep-research là workflow duy nhất được đóng gói sẵn trong bản research preview. Bạn đưa nó một câu hỏi và nó phân tán các subagent để nghiên cứu chủ đề song song, chạy một giai đoạn kiểm tra chéo nơi các agent xác minh phát hiện của nhau, rồi tổng hợp một câu trả lời vào context của bạn, tất cả trong khi chạy nền.
Làm sao lưu workflow thành slash command?
Mô tả task cho Claude bằng từ khóa workflow, xem xét và phê duyệt script JavaScript mà nó tạo ra, rồi lưu script đã phê duyệt đó thành một /command tùy chỉnh. Sau đó, toàn bộ job đa agent chạy chỉ với một lần gõ phím, đó là lúc workflow bắt đầu phân bổ chi phí token qua nhiều lần chạy lặp lại.
Một workflow có thể chạy bao nhiêu agent cùng lúc?
Một workflow chạy tối đa 16 agent đồng thời, với giới hạn cứng 1.000 agent mỗi lần chạy. Mặc định 16 đồng thời tồn tại có lý do: một fan-out rộng ở mức giá cấp Opus trở nên đắt rất nhanh. Hãy coi các giới hạn là hàng rào bảo vệ chứ không phải mục tiêu, và giữ fan-out hẹp nhất mà task cho phép.
Làm sao tắt Dynamic workflows?
Đặt disableWorkflows thành true trong config, hoặc export biến môi trường CLAUDE_CODE_DISABLE_WORKFLOWS=1 trước khi khởi chạy Claude Code. Cả hai đều tắt hoàn toàn tính năng. Nếu bạn đơn giản không thấy dòng Dynamic workflows trong /config, có thể bạn đang ở dưới v2.1.154 yêu cầu và cần cập nhật trước.
Bạn có thực sự cần Claude Code workflows không, hay subagent là đủ?
Subagent là đủ cho đến khi một task vượt quá một cuộc hội thoại. Một vài subagent phối hợp trong cuộc hội thoại bình thường bao quát công việc hàng ngày mà không tốn chi phí token. Bạn thực sự cần workflow chỉ khi một task sinh ra nhiều agent hơn mức một cuộc hội thoại theo dõi được, khi bạn muốn phần điều phối chạy lại được dưới dạng code, hoặc khi bạn cần các agent kiểm tra chéo lẫn nhau theo kiểu đối kháng.