Khi nào cần AI agent, khi nào chỉ cần workflow cố định
Không phải tác vụ có AI nào cũng cần agent. Hãy bắt đầu từ giải pháp đơn giản nhất, dùng workflow cho đường đi rõ ràng và chỉ dùng agent khi mô hình phải tự quyết định cách hoàn thành việc.
Một yêu cầu mới đi vào inbox: cần trả lời câu hỏi chung, xử lý hoàn tiền hay hỗ trợ kỹ thuật? Nhiều đội sẽ nghĩ ngay đến AI agent.
Nhưng không phải quy trình có LLM nào cũng cần agent. Câu hỏi quan trọng hơn là: đường đi của công việc đã rõ, hay AI phải tự quyết định các bước và công cụ để hoàn thành mục tiêu?
Theo Anthropic, nên bắt đầu từ giải pháp đơn giản nhất và chỉ tăng độ phức tạp khi thực sự cần. Với nhiều ứng dụng, một lần gọi LLM được tối ưu bằng truy xuất thông tin liên quan và ví dụ trong ngữ cảnh đã có thể đủ.
Workflow và agent khác nhau ở đâu?
Anthropic phân biệt hai kiểu hệ thống agentic:
Workflow: LLM và công cụ được điều phối theo các bước hoặc nhánh mã đã xác định trước.
Agent: LLM tự điều hướng quy trình và việc dùng công cụ, giữ quyền quyết định cách hoàn thành nhiệm vụ.
Nói theo cách quen thuộc với người làm n8n, Make, Zapier hoặc Power Automate:
Workflow cố định: có đầu vào, bước xử lý và nhánh đi đã được thiết kế trước.
Agent: mô hình có thể tự chọn cần tìm thông tin gì, dùng công cụ nào và thực hiện bước tiếp theo ra sao.
Workflow phù hợp khi tác vụ được xác định rõ và cần tính nhất quán, dễ dự đoán. Agent phù hợp hơn khi cần tính linh hoạt và khả năng để mô hình tự đưa ra quyết định ở quy mô lớn.
Đổi lại, các hệ thống agentic thường đánh đổi chi phí và độ trễ để có hiệu quả tốt hơn ở những nhiệm vụ phức tạp. Vì vậy, agent không nên là lựa chọn mặc định.
Khung chọn nhanh: bắt đầu từ mức đơn giản
Hãy xem đặc điểm của công việc trước khi chọn kiến trúc:
| Đặc điểm công việc | Mẫu phù hợp |
|---|---|
| Một lần xử lý có thể đủ nếu có dữ liệu liên quan và ví dụ tốt | Một LLM call được tối ưu |
| Công việc gồm các bước cố định nối tiếp nhau | Prompt chaining |
| Đầu vào thuộc các nhóm rõ ràng, mỗi nhóm cần xử lý riêng | Routing |
| Có nhiều phần việc độc lập hoặc cần nhiều lần thử/góc nhìn | Parallelization |
| Cần tự chọn công cụ, truy vấn và thứ tự hành động theo từng tình huống | Agent |
Nguyên tắc thực tế là: nếu bạn có thể mô tả rõ các bước và nhánh của quy trình từ đầu, hãy ưu tiên workflow. Chỉ chuyển sang agent khi bản chất công việc đòi hỏi mô hình phải tự quyết định cách đi tiếp.
Ba mẫu workflow nên cân nhắc trước
1. Prompt chaining: chia việc lớn thành các bước nhỏ
Prompt chaining chia một nhiệm vụ thành chuỗi bước. Đầu ra của lần gọi LLM trước trở thành đầu vào cho lần gọi sau.
Giữa các bước, có thể đặt các kiểm tra bằng lập trình để xác nhận quy trình vẫn đi đúng hướng. Mục tiêu của mẫu này là đánh đổi thêm độ trễ để tăng độ chính xác: mỗi lần gọi LLM chỉ phải giải quyết một phần việc dễ hơn.
Ví dụ Anthropic đưa ra:
Viết nội dung marketing, sau đó dịch sang ngôn ngữ khác.
Lập dàn ý cho tài liệu, kiểm tra dàn ý theo tiêu chí, rồi viết tài liệu dựa trên dàn ý đó.
Mẫu này phù hợp khi nhiệm vụ có thể được tách thành các phần cố định, rõ ràng và tuần tự.
2. Routing: phân loại rồi đưa vào luồng chuyên biệt
Routing phân loại đầu vào rồi đưa nó đến một bước xử lý chuyên biệt. Cách này giúp tách các nhóm công việc khác nhau thay vì cố tối ưu một prompt duy nhất cho mọi trường hợp.
Ví dụ điển hình là phân tuyến yêu cầu hỗ trợ khách hàng:
Câu hỏi chung.
Yêu cầu hoàn tiền.
Hỗ trợ kỹ thuật.
Mỗi nhóm có thể đi vào prompt, quy trình hoặc bộ công cụ riêng. Theo Anthropic, routing đặc biệt hữu ích khi các nhóm đầu vào khác biệt rõ ràng và có thể được phân loại chính xác bằng LLM hoặc mô hình, thuật toán phân loại truyền thống.
Tài liệu cũng nêu ví dụ đưa câu hỏi dễ hoặc phổ biến đến mô hình tiết kiệm hơn như Claude Haiku 4.5, trong khi câu hỏi khó hoặc bất thường được chuyển sang Claude Sonnet 4.5. Đây là một cách cân bằng giữa hiệu quả và năng lực xử lý.
3. Parallelization: xử lý song song khi các phần độc lập
Parallelization cho nhiều lời gọi LLM chạy cùng lúc, sau đó tổng hợp kết quả bằng logic lập trình.
Anthropic mô tả hai biến thể chính:
Sectioning: chia một nhiệm vụ thành các phần độc lập để chạy song song.
Voting: chạy cùng một nhiệm vụ nhiều lần để nhận các đầu ra đa dạng.
Mẫu này phù hợp khi cần tăng tốc nhờ các phần việc độc lập, hoặc khi cần nhiều góc nhìn để tăng độ tin cậy. Với nhiệm vụ có nhiều tiêu chí cần xem xét, việc để mỗi lần gọi LLM tập trung vào một tiêu chí có thể hiệu quả hơn là dồn mọi thứ vào một lần gọi.
Nếu bước sau phụ thuộc vào kết quả bước trước, hãy dùng prompt chaining thay vì parallelization.
Khi nào agent thực sự đáng dùng?
Agent phù hợp khi không thể mô tả hợp lý toàn bộ đường đi bằng các bước cố định.
Trong kiểu hệ thống này, mô hình có thể cần:
Tạo truy vấn tìm kiếm của riêng mình.
Chọn công cụ phù hợp.
Quyết định thông tin nào cần lưu lại.
Tự điều chỉnh tiến trình để hoàn thành mục tiêu.
Khối nền tảng cho cách tiếp cận này là augmented LLM: LLM được bổ sung các khả năng như retrieval, công cụ và bộ nhớ. Anthropic cho biết các mô hình hiện tại có thể chủ động sử dụng các khả năng này, chẳng hạn tự tạo truy vấn tìm kiếm hoặc chọn công cụ thích hợp.
Tài liệu cũng đề cập Model Context Protocol (MCP) như một cách để tích hợp với hệ sinh thái công cụ bên thứ ba thông qua một client đơn giản.
Framework có phải điểm khởi đầu tốt nhất?
Các framework có thể giúp giảm bớt việc gọi LLM, định nghĩa và phân tích công cụ, hoặc nối nhiều lần gọi với nhau. Anthropic nêu một số lựa chọn như Claude Agent SDK, Strands Agents SDK của AWS, Rivet và Vellum.
Tuy nhiên, framework cũng có thể thêm lớp trừu tượng, khiến prompt và phản hồi nền khó quan sát hơn khi gỡ lỗi. Chúng cũng có thể khiến đội ngũ thêm độ phức tạp khi một cách triển khai đơn giản hơn đã đủ.
Khuyến nghị của Anthropic là bắt đầu bằng API LLM trực tiếp. Nhiều mẫu triển khai có thể được xây dựng chỉ với vài dòng mã. Nếu dùng framework, cần hiểu rõ mã và cơ chế bên dưới thay vì dựa vào giả định về cách nó hoạt động.
Kết luận: để cấu trúc công việc quyết định kiến trúc
Đừng chọn agent chỉ vì công cụ automation có node mang tên “Agent”.
Nếu công việc có các bước và nhánh rõ ràng, hãy dùng workflow.
Nếu chỉ cần một lần suy luận có thêm dữ liệu và ví dụ, hãy tối ưu LLM call trước.
Nếu cần nhiều bước cố định, hãy dùng prompt chaining.
Nếu cần phân loại để đi vào luồng riêng, hãy dùng routing.
Nếu có các phần độc lập, hãy cân nhắc parallelization.
Chỉ dùng agent khi mô hình thực sự phải tự quyết định cách dùng công cụ và tiến trình để hoàn thành nhiệm vụ.
Workflow tốt không phải là workflow có nhiều node AI nhất. Đó là workflow có mức độ phức tạp vừa đủ cho công việc cần giải quyết.