Giải pháp cho mọi tác vụ: quy trình làm việc linh hoạt trong Claude Code

@trq212
TIẾNG ANH1 tháng trước · 02 thg 6, 2026
2.8M
9.6K
1.2K
231
22.5K

TL;DR

Anthropic giới thiệu các quy trình làm việc linh hoạt cho Claude Code, cho phép AI tạo ra các bộ khung JavaScript tùy chỉnh để điều phối các tác nhân phụ nhằm giải quyết các tác vụ đa bước phức tạp, đồng thời tránh các lỗi thường gặp của AI.

Tuần trước, chúng tôi đã phát hành quy trình làm việc động trong Claude Code. Claude giờ đây có thể tự viết harness riêng cho mình ngay lúc đó, được tùy chỉnh cho nhiệm vụ cụ thể.

Mặc dù harness Claude Code mặc định được xây dựng cho việc viết code, nó cũng hữu ích cho nhiều loại tác vụ khác bởi vì, hóa ra, nhiều tác vụ cũng giống với việc viết code. Nhưng có một số lớp tác vụ nhất định mà chúng tôi phải xây dựng các harness tùy chỉnh trên nền tảng Claude Code để đạt được hiệu suất tối ưu, chẳng hạn như Nghiên cứu, phân tích bảo mật, nhóm tác tử, hoặc Đánh giá mã.

Workflows cho phép bạn tạo động các harness giúp Claude giải quyết tất cả những vấn đề đó và hơn thế nữa một cách tự nhiên trong Claude Code. Bạn cũng có thể chia sẻ và tái sử dụng các workflow này với người khác.

Trong bài viết này, tôi sẽ chia sẻ những trải nghiệm và bài học ban đầu của tôi với workflows để bạn có thể tận dụng tối đa.

Phải nói rằng, các phương pháp hay nhất vẫn đang được phát triển! Dynamic workflows thường sử dụng nhiều token hơn, vì vậy hãy cân nhắc kỹ lưỡng về thời điểm và cách sử dụng chúng.

Lưu ý: bài đăng này cũng có sẵn trên Blog của Claude

Ví dụ về lời nhắc

Trước khi đi sâu vào chi tiết kỹ thuật, tôi muốn bắt đầu với một số ví dụ về lời nhắc để bạn suy nghĩ về các khả năng với workflows:

  • "Bài kiểm tra này bị lỗi khoảng 1/50 lần chạy. Thiết lập một workflow để tái tạo lỗi, hình thành các giả thuyết và kiểm tra chúng một cách đối nghịch trong worktrees /goal đừng dừng lại cho đến khi một giả thuyết hoạt động."
  • "Sử dụng workflow, xem xét 50 phiên làm việc gần đây nhất của tôi và khai thác những lỗi sai tôi liên tục mắc phải, biến những lỗi lặp lại thành các quy tắc trong CLAUDE.md"
  • "Sử dụng workflow để đào sâu vào #incidents trên Slack trong sáu tháng qua và tìm ra các nguyên nhân gốc rễ lặp đi lặp lại mà không ai mở ticket."
  • "Lấy kế hoạch kinh doanh của tôi và chạy một workflow nơi các tác tử khác nhau phân tích nó từ góc nhìn của nhà đầu tư, khách hàng và đối thủ cạnh tranh."
  • "Đây là một thư mục gồm 80 CV, sử dụng workflow để xếp hạng chúng cho vị trí backend và kiểm tra kỹ top mười. Phỏng vấn tôi bằng công cụ AskUserQuestion với một tiêu chí đánh giá."
  • "Tôi cần một cái tên cho công cụ CLI này. Sử dụng workflow để động não một loạt các lựa chọn và chạy một giải đấu để chọn ra top 3."
  • "Sử dụng workflow để đổi tên model User của chúng ta thành Account ở mọi nơi."
  • "Xem qua bản nháp bài đăng blog của tôi và sử dụng workflow để xác minh mọi tuyên bố kỹ thuật dựa trên codebase, tôi không muốn đăng tải bất cứ điều gì sai."

Cách dynamic workflows hoạt động

Dynamic workflows thực thi một file javascript với một vài hàm đặc biệt giúp khởi tạo và điều phối các tác tử phụ:

Thariq - inline image

Dynamic workflows cũng bao gồm các hàm JavaScript tiêu chuẩn như JSON, Math và Array để giúp xử lý dữ liệu.

Điều đặc biệt hữu ích cần biết là dynamic workflows có thể quyết định model nào mà một tác tử sử dụng và liệu các tác tử phụ có được chạy trong worktree riêng của chúng hay không, cho phép Claude chọn mức độ thông minh và sự cô lập cần thiết.

Nếu một workflow bị gián đoạn, ví dụ như do hành động của người dùng hoặc thoát terminal, việc tiếp tục phiên làm việc sẽ cho phép workflow tiếp tục từ nơi nó bị dang dở.

Tại sao lại là dynamic workflows

Khi bạn yêu cầu harness Claude Code mặc định thực hiện một tác vụ, nó cần phải vừa lập kế hoạch vừa thực thi trong cùng một cửa sổ ngữ cảnh. Đối với nhiều tác vụ viết code, điều này rất hiệu quả, nhưng đôi khi nó có thể bị phá vỡ đối với các tác vụ kéo dài, song song hóa trên diện rộng và/hoặc mang tính đối nghịch cao.

Điều này là do Claude càng làm việc lâu trên một tác vụ phức tạp trong một cửa sổ ngữ cảnh duy nhất, nó càng dễ bị ảnh hưởng bởi một số dạng lỗi cụ thể:

  • Sự lười biếng của tác tử đề cập đến việc Claude dừng lại trước khi hoàn thành một tác vụ nhiều phần, đặc biệt phức tạp và tuyên bố công việc đã xong sau khi tiến triển một phần, ví dụ như xử lý 20 trên 50 mục trong một đánh giá bảo mật.
  • Thiên vị bản thân đề cập đến xu hướng Claude thích kết quả hoặc phát hiện của chính nó hơn, đặc biệt khi được yêu cầu xác minh hoặc đánh giá chúng dựa trên một tiêu chí.
  • Trôi mục tiêu đề cập đến sự mất dần độ chính xác đối với mục tiêu ban đầu qua nhiều lượt tương tác, đặc biệt là sau khi nén. Mỗi bước tóm tắt đều có mất mát, và các chi tiết như yêu cầu trường hợp ngoại lệ hoặc các ràng buộc "đừng làm X" có thể bị mất.

Việc tạo một workflow giúp chống lại những điều này bằng cách điều phối các phiên bản Claude riêng biệt với cửa sổ ngữ cảnh và mục tiêu tập trung, cô lập của riêng chúng.

Workflows động so với workflows tĩnh

Bạn có thể đã từng tạo một workflow tĩnh bằng Claude Agent SDK hoặc claude -p để phối hợp nhiều phiên bản Claude Code với nhau.

Nhưng vì các workflow tĩnh cần hoạt động cho mọi trường hợp ngoại lệ, chúng thường mang tính tổng quát hơn. Với Claude Opus 4.8 và dynamic workflows, Claude giờ đây đủ thông minh để viết một harness tùy chỉnh được thiết kế riêng cho trường hợp sử dụng của bạn.

Thariq - inline image

Các mẫu hình hữu ích khi sử dụng dynamic workflows

Bạn có thể bắt đầu sử dụng dynamic workflows chỉ bằng cách yêu cầu Claude tạo một workflow, hoặc bằng cách sử dụng từ kích hoạt "ultracode" để đảm bảo Claude Code tạo ra một workflow.

Nhưng việc xây dựng một mô hình tư duy về cách dynamic workflows hoạt động sẽ giúp bạn hiểu khi nào nên sử dụng chúng và cách bạn có thể hướng dẫn Claude thông qua lời nhắc.

Có một vài mẫu hình phổ biến mà Claude có thể sử dụng và kết hợp khi xây dựng workflows:

Thariq - inline image

Phân loại và hành động

Sử dụng một tác tử phân loại để quyết định loại tác vụ, sau đó chuyển hướng đến các tác tử hoặc hành vi khác nhau dựa trên tác vụ đó. Hoặc, sử dụng một bộ phân loại ở cuối để xác định đầu ra.

Phân nhánh và tổng hợp

Chia một tác vụ thành nhiều bước nhỏ hơn, chạy một tác tử trên mỗi bước và sau đó tổng hợp các kết quả đó. Điều này đặc biệt hữu ích khi có một số lượng lớn các bước nhỏ, hoặc khi mỗi bước được hưởng lợi từ cửa sổ ngữ cảnh sạch sẽ riêng để chúng không can thiệp hoặc nhiễm chéo lẫn nhau. Bước tổng hợp là một rào cản—nó chờ đợi tất cả các tác tử phân nhánh, sau đó hợp nhất các đầu ra có cấu trúc của chúng thành một kết quả duy nhất.

Xác minh đối nghịch

Đối với mỗi tác tử được sinh ra, hãy chạy một tác tử sinh ra riêng biệt để xác minh đầu ra của nó một cách đối nghịch dựa trên một tiêu chí hoặc bộ quy tắc.

Tạo và lọc

Tạo ra một số ý tưởng về một chủ đề và sau đó lọc chúng bằng một tiêu chí hoặc bằng cách xác minh, loại bỏ các bản sao và chỉ trả về những ý tưởng chất lượng cao nhất, đã được kiểm chứng.

Giải đấu

Thay vì chia nhỏ công việc, hãy để các tác tử cạnh tranh với nhau. Sinh ra N tác tử, mỗi tác tử cố gắng thực hiện cùng một tác vụ bằng các cách tiếp cận khác nhau. Sau đó, lời nhắc hoặc model sẽ đánh giá kết quả theo từng cặp bằng cách sử dụng một tác tử đánh giá cho đến khi có người thắng cuộc.

Lặp cho đến khi hoàn thành

Đối với các tác vụ có khối lượng công việc không xác định, hãy lặp lại việc sinh ra các tác tử cho đến khi một điều kiện dừng được đáp ứng (không có phát hiện mới, hoặc không còn lỗi nào trong nhật ký) thay vì một số lượt cố định.

Các trường hợp sử dụng

Hãy suy nghĩ sáng tạo về thời điểm và cách yêu cầu Claude Code tạo dynamic workflows. Tôi nhận thấy rằng workflows đôi khi còn hữu ích hơn cho công việc phi kỹ thuật.

Thariq - inline image

Di chuyển và tái cấu trúc

Bun đã được viết lại từ Zig sang Rust bằng cách sử dụng workflows. Bạn có thể đọc thêm về cách điều đó được thực hiện trong bài đăng X của Jarred.

Chìa khóa là chia nhỏ tác vụ thành một loạt các bước cần được thực hiện, ví dụ như các vị trí gọi hàm, các bài kiểm tra bị lỗi, các module, v.v. Tách một tác tử phụ cho mỗi lần sửa trong một worktree để thực hiện sửa chữa, sau đó có một tác tử khác xem xét một cách đối nghịch, và hợp nhất chúng. Cân nhắc yêu cầu tác tử không sử dụng các lệnh tốn nhiều tài nguyên để bạn có thể song song hóa tối đa mà không bị hết tài nguyên trên máy của mình.

Nghiên cứu chuyên sâu

Chúng tôi đã xuất bản một kỹ năng nghiên cứu chuyên sâu (/deep-research) bên trong Claude Code sử dụng dynamic workflows. Cụ thể, nó phân nhánh các tìm kiếm web, tìm nạp các nguồn, xác minh các tuyên bố của chúng một cách đối nghịch và tổng hợp một báo cáo có trích dẫn.

Nhưng bạn có thể thực hiện loại nghiên cứu này cho nhiều thứ hơn là chỉ tìm kiếm trên web. Ví dụ: yêu cầu Claude tổng hợp một báo cáo trạng thái từ ngữ cảnh trong Slack hoặc nghiên cứu cách một tính năng hoạt động bằng cách khám phá codebase một cách chuyên sâu.

Xác minh chuyên sâu

Thariq - inline image

Mặt khác, nếu bạn có một báo cáo mà bạn muốn kiểm tra và truy xuất nguồn gốc cho mọi tuyên bố thực tế mà nó đề cập đến, bạn có thể muốn tạo một workflow có một tác tử xác định tất cả các tuyên bố thực tế và sau đó tách một tác tử phụ để kiểm tra từng tuyên bố một cách chi tiết. Bạn cũng có thể có một tác tử xác minh kiểm tra tác tử nguồn để đảm bảo nguồn của nó có chất lượng cao.

Sắp xếp

Thariq - inline image

Bạn có thể có một danh sách các mục mà bạn muốn sắp xếp theo một số thước đo định tính mà bạn tin rằng Claude Code có khả năng đánh giá tốt, ví dụ: các ticket hỗ trợ được sắp xếp theo mức độ nghiêm trọng của lỗi. Nhưng nếu bạn cố gắng sắp xếp hơn 1000 hàng trong một lời nhắc, chất lượng sẽ giảm sút và nó sẽ không vừa trong ngữ cảnh. Thay vào đó, hãy chạy một giải đấu, một pipeline gồm các tác tử so sánh theo cặp (phán đoán so sánh đáng tin cậy hơn so với chấm điểm tuyệt đối), hoặc xếp hạng theo nhóm song song rồi hợp nhất. Mỗi lần so sánh là một tác tử riêng của nó, vì vậy vòng lặp xác định giữ nhánh đấu và chỉ có thứ tự chạy ở trong ngữ cảnh.

Ghi nhớ và tuân thủ quy tắc

Thariq - inline image

Nếu bạn có một bộ quy tắc cụ thể mà bạn thấy Claude bỏ sót hoặc gặp khó khăn, ngay cả khi được đưa vào CLAUDE.md, hãy tạo một workflow với một danh sách các quy tắc phải được kiểm tra bởi các tác tử xác minh—mỗi quy tắc một tác tử xác minh. Việc tạo một tác tử phụ theo phong cách hoài nghi để xem xét các quy tắc nhằm đảm bảo chúng phù hợp sẽ giúp tránh quá nhiều kết quả dương tính giả.

Chiều ngược lại cũng hoạt động: khai thác các phiên làm việc gần đây và nhận xét đánh giá code của bạn để tìm ra những lỗi sai bạn liên tục mắc phải, phân cụm chúng bằng các tác tử song song, xác minh từng ứng viên một cách đối nghịch (liệu quy tắc này có ngăn chặn được một sai lầm thực sự không?), và sau đó chắt lọc những quy tắc sống sót trở lại vào CLAUDE.md.

Điều tra nguyên nhân gốc rễ

Việc gỡ lỗi hoạt động tốt nhất khi bạn đưa ra một số giả thuyết độc lập và kiểm tra chúng, nhưng nếu bạn chỉ sử dụng một cửa sổ ngữ cảnh, Claude có thể gặp phải sự thiên vị bản thân.

Một workflow có thể ngăn chặn điều này về mặt cấu trúc bằng cách sinh ra các tác tử để tạo ra các giả thuyết từ các bằng chứng rời rạc. Ví dụ: các tác tử riêng biệt cho nhật ký, tệp tin và dữ liệu. Mỗi giả thuyết sau đó có thể phải đối mặt với một hội đồng gồm những người xác minh và bác bỏ.

Điều này không chỉ dành cho code. Workflows có thể được sử dụng cho bán hàng (tại sao doanh số bán hàng giảm vào tháng Ba?), kỹ thuật dữ liệu (tại sao pipeline này bị lỗi?), hoặc bất kỳ hoạt động phân tích hậu kỳ nào.

Phân loại trên quy mô lớn

Thariq - inline image

Mọi nhóm đều có hàng đợi hỗ trợ, báo cáo lỗi hoặc một số công việc tồn đọng khác mà con người không thể xử lý hết.

Một workflow phân loại sẽ phân loại từng mục, loại bỏ trùng lặp với những gì đã được theo dõi và thực hiện hành động. Điều này có thể có nghĩa là cố gắng sửa lỗi hoặc chuyển tiếp đến người dùng là con người.

Một mẫu hình hữu ích cho workflows phân loại là kiểm dịch. Điều này liên quan đến việc ngăn các tác tử đọc nội dung công khai không đáng tin cậy thực hiện các hành động có đặc quyền cao, thay vào đó, các hành động đó được thực hiện bởi các tác tử phụ trách hành động dựa trên thông tin.

Kết hợp các workflow phân loại với /loop để Claude thực hiện việc này liên tục.

Khám phá và thẩm mỹ

Workflows có thể hữu ích khi khám phá các cách tiếp cận khác nhau cho một giải pháp, đặc biệt là khi nó dựa trên sở thích, như thiết kế hoặc đặt tên, và sẽ có lợi từ một tiêu chí đánh giá.

Hãy thử yêu cầu Claude khám phá hàng loạt giải pháp và đưa cho một tác tử đánh giá một tiêu chí về một giải pháp tốt trông như thế nào. Nhiệm vụ hoàn thành khi tác tử đánh giá cảm thấy nó đã đáp ứng các tiêu chí. Các giải pháp cũng có thể được sắp xếp hoặc lựa chọn thông qua một giải đấu dựa trên tiêu chí.

Đánh giá

Bạn có thể chạy các đánh giá nhẹ cho các tác vụ cụ thể bằng cách tách các tác tử riêng biệt trong một worktree và sau đó tách các tác tử so sánh để so sánh và chấm điểm các đầu ra cụ thể dựa trên một tiêu chí. Ví dụ: đánh giá và sau đó cải tiến một kỹ năng bạn đã tạo dựa trên một tiêu chí cụ thể.

Định tuyến model và thông minh

Tạo một tác tử phân loại được tinh chỉnh cho các tác vụ của bạn để quyết định model nào sẽ sử dụng. Điều này có thể hữu ích khi tác vụ của bạn sẽ liên quan đến nhiều lệnh gọi công cụ và việc tiến hành nghiên cứu trước khi thực thi có thể xác định model tốt nhất cho công việc.

Ví dụ: model tốt nhất cho tác vụ "giải thích cách module auth hoạt động" phụ thuộc vào số lượng tệp tin trong module auth và hình dạng của codebase. Một tác tử phân loại có thể thực hiện nghiên cứu này và sau đó định tuyến đến Sonnet hoặc Opus dựa trên độ phức tạp dự kiến của tác vụ.

Khi nào không nên sử dụng dynamic workflows

Workflows còn mới. Mặc dù có nhiều trường hợp sử dụng mà nó sẽ tạo ra kết quả vượt trội, nhưng chúng không cần thiết cho mọi tác vụ và có thể sử dụng nhiều token hơn đáng kể.

Tốt nhất là sử dụng workflows một cách sáng tạo để đẩy Claude Code theo những cách mà trước đây bạn chưa từng làm. Đối với các tác vụ viết code thông thường, hãy thử tự hỏi liệu nó có thực sự cần thêm sức mạnh tính toán không? Ví dụ: hầu hết các tác vụ viết code truyền thống không cần một hội đồng gồm 5 người đánh giá.

Mẹo để xây dựng dynamic workflows

Lời nhắc

Việc đưa ra lời nhắc chi tiết, sử dụng các kỹ thuật cụ thể mà chúng tôi đã mô tả ở trên, cho dynamic workflows sẽ tạo ra kết quả tốt nhất.

Workflows không chỉ dành cho các tác vụ lớn. Bạn có thể nhắc model sử dụng một "workflow nhanh." Ví dụ: bạn có thể tạo một đánh giá đối nghịch nhanh về một giả định.

Kết hợp với /goal và /loop

Khi sử dụng các workflow có thể lặp lại, ví dụ như phân loại, nghiên cứu hoặc xác minh, hãy kết hợp chúng với /loop để chạy theo các khoảng thời gian đều đặn và /goal để đặt ra yêu cầu hoàn thành cứng nhắc.

Ngân sách sử dụng token

Bạn có thể đặt ngân sách sử dụng token rõ ràng cho dynamic workflows để giới hạn số lượng token mà một tác vụ sử dụng. Bạn có thể nhắc nhở nó với một ngân sách như: "sử dụng 10k token," điều này sẽ đặt ra giới hạn.

Lưu và chia sẻ dynamic workflows

Bạn có thể lưu các workflow bằng cách nhấn "s" trong menu workflow. Bạn có thể kiểm tra các workflow này vào ~/.claude/workflows hoặc phân phối chúng thông qua một kỹ năng.

Thariq - inline image

Để chia sẻ chúng qua một kỹ năng, hãy đặt các file JavaScript workflow của bạn vào thư mục kỹ năng và tham chiếu chúng trong SKILL.MD. Để cho phép linh hoạt hơn, bạn có thể muốn nhắc Claude coi các workflow trong kỹ năng như một mẫu thay vì một tập lệnh cần được chạy nguyên văn.

Thariq - inline image

Một thế giới hoàn toàn mới

Workflows là một cách mới hữu ích để mở rộng Claude Code. Tôi khuyến khích bạn coi đây là một điểm khởi đầu, vẫn còn nhiều điều để khám phá về cách sử dụng chúng tốt nhất. Hãy cho chúng tôi biết những gì bạn tìm thấy.

Thariq Shihipar và Sid Bidasaria (@sidbid) là thành viên của đội ngũ kỹ thuật tại Anthropic, làm việc trên Claude Code.

https://x.com/jarredsumner/status/2060050578026189172

Lưu một chạm

Đọc sâu bài viết viral bằng AI trong YouMind

Lưu nguồn, đặt câu hỏi tập trung, tóm tắt lập luận và biến một bài viết viral thành các ghi chú có thể tái sử dụng trong một không gian làm việc AI duy nhất.

Khám phá YouMind
Dành cho nhà sáng tạo

Biến Markdown của bạn thành bài viết 𝕏 gọn gàng

Khi bạn đăng bài viết dài của riêng mình, việc định dạng hình ảnh, bảng và khối mã cho 𝕏 rất mệt mỏi. YouMind biến cả bản nháp Markdown thành một bài viết 𝕏 gọn gàng, sẵn sàng để đăng.

Thử Markdown sang 𝕏

Thêm pattern để giải mã

Bài viết viral gần đây

Khám phá thêm bài viết viral