Tracks
Tác tử AI là các trợ lý có thể thực hiện nhiệm vụ và tương tác với thế giới. Khác với các hệ thống truyền thống tuân theo những quy tắc cố định, chúng có thể học hỏi và thích nghi với tình huống mới. Hãy hình dung chúng như các chương trình phần mềm có khả năng tri giác môi trường và đưa ra hành động.
Vậy điều gì khiến tác tử AI khác biệt so với các thực thể AI khác, như mô hình ngôn ngữ phổ biến mà chúng ta vẫn nghe nói?
Trong bài viết này, tôi sẽ giải đáp câu hỏi đó và giới thiệu CrewAI, một framework Python miễn phí và mã nguồn mở được thiết kế để đơn giản hóa việc phát triển các hệ thống AI đa tác tử. Chúng ta sẽ phân biệt giữa tác tử và mô hình ngôn ngữ, bàn về lý do tại sao các framework tác tử lại quan trọng khi xây dựng ứng dụng AI, và minh họa cách CrewAI giúp các tác tử cộng tác để đạt kết quả xuất sắc.
Tác tử AI và LLM
Hãy cùng gỡ bỏ một hiểu lầm phổ biến về sự khác nhau giữa tác tử và các mô hình ngôn ngữ lớn (LLM). Cả hai đều thuộc họ trí tuệ nhân tạo, nhưng có những năng lực khác biệt.

Các mô hình ngôn ngữ như ChatGPT và Gemini rất thành thạo trong việc sử dụng ngôn ngữ. Chúng được huấn luyện trên lượng lớn văn bản và mã, nhờ đó có khả năng hiểu và tạo ra ngôn ngữ gần với giao tiếp của con người.
LLM là “bậc thầy ngôn từ” trong lĩnh vực trí tuệ nhân tạo, có thể tạo ra nhiều loại nội dung như dịch thuật, tóm tắt, truyện sáng tạo, thậm chí cả thơ. Phạm vi của chúng thường giới hạn ở các nhiệm vụ liên quan đến ngôn ngữ.
Trong khi đó, tác tử chủ yếu tập trung vào việc hành động. Chúng có khả năng điều hướng, tương tác với đối tượng và đưa ra quyết định dựa trên tri giác của mình.
Tóm lại, mô hình ngôn ngữ là “bộ não”, còn tác tử là “đôi tay”. Kết hợp lại, chúng tạo thành một cặp đôi mạnh mẽ.
Với vai trò quan trọng như vậy trong ứng dụng AI, làm sao quản lý được độ phức tạp khi nhiều tác tử cần làm việc cùng nhau? Đây chính là lúc các framework tác tử phát huy tác dụng.
Sự cần thiết của một framework tác tử
Nhu cầu về các framework tác tử xuất phát từ sự gia tăng độ phức tạp của ứng dụng AI, đặc biệt là những ứng dụng có nhiều tác tử hợp tác để đạt một mục tiêu chung. Hãy cùng xem vì sao framework tác tử là thiết yếu.
Điều phối và phối hợp
Khi hệ thống AI mở rộng, chúng thường bao gồm nhiều tác tử với năng lực đa dạng. Việc quản lý các tương tác này và đảm bảo chúng vận hành hài hòa trở nên ngày càng khó khăn.
Framework tác tử mang đến một môi trường có cấu trúc cho phép điều phối hoạt động của tác tử, xác định vai trò và trách nhiệm, đồng thời cải thiện giao tiếp.
Trong hệ thống đa tác tử, một khía cạnh quan trọng là phân bổ nhiệm vụ hiệu quả cho tác tử phù hợp nhất và quản lý tốt tài nguyên dùng chung. Framework tác tử cung cấp các cơ chế động để phân bổ nhiệm vụ, thương lượng tài nguyên và giải quyết xung đột.
Tính mô-đun và tái sử dụng
Framework tác tử thúc đẩy cách tiếp cận mô-đun trong phát triển AI, nơi các tác tử được thiết kế và triển khai như những thành phần độc lập. Tính mô-đun này giúp tổ chức mã tốt hơn và cho phép tái sử dụng mô-đun tác tử trên nhiều dự án, nhờ đó đơn giản hóa việc phát triển và bảo trì các hệ thống phức tạp. Với cấu trúc dựa trên thành phần, nhà phát triển AI có thể tập trung vào từng tác tử riêng lẻ mà không làm xáo trộn toàn bộ hệ thống.
Ngoài ra, các framework tác tử thường áp dụng kiến trúc dựa trên vai trò, cho phép nhà phát triển gán vai trò cụ thể cho tác tử, từ đó xác định năng lực và quyền hạn của chúng. Thiết kế dựa trên vai trò giúp hệ thống có tổ chức và dễ quản lý hơn, nơi tác tử có thể được thêm, bớt hoặc chỉnh sửa với tác động tối thiểu đến kiến trúc tổng thể. Tính linh hoạt này đảm bảo hệ thống có thể tiến hóa và thích ứng với yêu cầu mới mà không cần tái cấu trúc lớn.
Khả năng thích nghi và học hỏi
Môi trường thực tế thường động, khó đoán và luôn thay đổi. Framework tác tử trang bị cho tác tử khả năng tri giác thay đổi xung quanh và điều chỉnh hành vi tương ứng. Khả năng thích nghi này giúp tác tử hoạt động hiệu quả ngay cả trong những kịch bản phức tạp và liên tục biến động, nhờ đó xử lý tốt hơn các thách thức đời thực.
Hơn nữa, framework tác tử thường tích hợp các cơ chế học giúp tác tử cải thiện hiệu suất theo thời gian. Bằng cách học từ phản hồi và trải nghiệm, tác tử có thể liên tục tối ưu hóa quá trình ra quyết định và thích ứng với thách thức mới khi phát sinh. Sự cải tiến liên tục này khiến tác tử ngày càng hiệu quả và giá trị hơn, đóng góp vào hiệu quả và thành công dài hạn của hệ thống.
Nhắc đến framework tác tử, hãy cùng giới thiệu một cái tên đang tạo tiếng vang trong cộng đồng AI: CrewAI.
CrewAI là gì?
CrewAI là một framework Python mã nguồn mở được xây dựng quanh hai khối nền tảng bổ trợ lẫn nhau:
- Crews — các đội tác tử AI cộng tác tự chủ thông qua ra quyết định dựa trên vai trò — và
- Flows — các quy trình làm việc theo sự kiện, sẵn sàng cho sản xuất, giúp bạn kiểm soát tự động hóa.
Kết hợp lại, chúng cho phép bạn xây dựng mọi thứ, từ một pipeline nghiên cứu đơn giản đến một hệ thống đa tác tử hoàn toàn tự chủ.

Framework này bao gồm một loạt công cụ, như công cụ tìm kiếm web và mô hình ngôn ngữ, giúp tác tử tương tác với thế giới bên ngoài, thu thập thông tin và hành động để hoàn thành mục tiêu.
Thiết kế và khả năng mở rộng của CrewAI khiến nó trở nên lý tưởng để phát triển cả ứng dụng đa tác tử cơ bản lẫn phức tạp, khuyến khích phương pháp cộng tác để giải quyết thách thức và ra quyết định trong hệ thống AI.
Hãy cùng điểm qua một số tính năng chính khiến CrewAI trở thành công cụ mạnh mẽ để xây dựng hệ thống đa tác tử.
- Điều phối tác tử: CrewAI đảm bảo mỗi tác tử đều biết phần việc của mình. Nó cung cấp công cụ để xác định và phối hợp hành vi của tác tử, giúp mọi thành phần vận hành nhịp nhàng.
- Kiến trúc dựa trên vai trò: Tương tự việc phân nhạc cụ cho nhạc công, CrewAI cho phép bạn gán vai trò cụ thể cho tác tử, xác định năng lực và quyền hạn của chúng. Điều này tạo nên một hệ thống mô-đun và có cấu trúc tốt, ngay cả khi mọi thứ trở nên phức tạp.
- Giao tiếp linh hoạt: CrewAI hỗ trợ nhiều kênh giao tiếp, cho phép tác tử trao đổi thông tin mượt mà. Hãy hình dung như kết hợp giữa trò chuyện riêng, thảo luận nhóm và loa phát thanh trong một.
- Tích hợp công cụ: CrewAI trao quyền cho tác tử tương tác với thế giới thông qua nhiều công cụ. Các công cụ này cho phép tác tử tìm kiếm web, hiểu ngôn ngữ, phân tích dữ liệu và thực hiện tác vụ tùy chỉnh.
- Khả năng mở rộng: CrewAI được thiết kế để mở rộng dễ dàng, đảm bảo hệ thống đa tác tử của bạn vẫn phản hồi nhanh và hiệu quả khi phát triển.
Vậy CrewAI mang lại những lợi ích gì? Hãy cùng khám phá.
CrewAI Flows và Crews
CrewAI được xây dựng quanh hai khối nền tảng bổ trợ nhau, phối hợp để xử lý mọi thứ từ tác vụ tác tử đơn giản đến pipeline sản xuất phức tạp.
Crews là các đội tác tử AI cộng tác tự chủ. Mỗi tác tử trong một Crew có vai trò, mục tiêu và bối cảnh được xác định — và họ làm việc cùng nhau để hoàn thành nhiệm vụ, ủy nhiệm cho nhau, và đưa ra quyết định mà không cần bạn phải viết kịch bản cho từng bước. Hãy dùng Crew khi bạn muốn các tác tử tự tìm cách để hoàn thành công việc.
Flows là lớp điều phối phía trên Crews. Một Flow cho phép bạn xâu chuỗi nhiều Crew, thêm logic điều kiện giữa các bước, quản lý trạng thái xuyên suốt pipeline, và kích hoạt hành động dựa trên sự kiện. Nếu Crew mang lại tính tự chủ, thì Flow mang lại quyền kiểm soát.
| Crews | Flows | |
|---|---|---|
| Phù hợp nhất cho | Các tác vụ tác tử tự chủ, cộng tác | Pipeline nhiều giai đoạn với thực thi được kiểm soát |
| Mức độ kiểm soát | Do tác tử điều khiển | Do nhà phát triển xác định |
| Dùng khi | Bạn muốn tác tử tự tìm ra cách làm | Bạn cần kiểm soát việc làm gì, khi nào và có hay không |
Với hầu hết người mới bắt đầu, bạn sẽ khởi đầu với Crews. Chỉ khi cần độ tin cậy cấp sản xuất, bạn mới dùng Flows. Flows là cách để bạn mở rộng quy mô.
Lợi ích khi dùng CrewAI
CrewAI cho phép nhiều tác tử AI hợp tác, chia sẻ tri thức và phối hợp hành động hướng tới một mục tiêu chung.
Bằng cách tự động hóa phân phối nhiệm vụ và quản lý tài nguyên, CrewAI giúp tác tử tập trung vào vai trò cụ thể của mình với chi phí phụ trội tối thiểu.
Framework cũng hỗ trợ khả năng thích nghi, cho phép tác tử điều chỉnh hành vi dựa trên điều kiện hoặc mục tiêu thay đổi.
Ngoài ra, CrewAI đơn giản hóa quá trình phát triển với một nền tảng thân thiện để tạo và quản lý hệ thống đa tác tử.

Một điểm mạnh khác của CrewAI là khả năng tích hợp với nhiều công cụ. Điều này mở rộng năng lực của tác tử, cho phép chúng tương tác với thế giới bên ngoài và thu thập thông tin.
CrewAI hỗ trợ các công cụ như công cụ tìm kiếm web, mô hình ngôn ngữ, công cụ phân tích dữ liệu và cả các chức năng tùy chỉnh. Nhờ đó, tác tử có thể thực hiện các tác vụ vượt ngoài năng lực cốt lõi của mình, như truy xuất thông tin từ web hoặc thực hiện phân tích dữ liệu phức tạp.
Thực hành: Xây dựng công cụ tìm kiếm web với CrewAI
Hãy xắn tay áo và xây dựng một quy trình làm việc bằng các công cụ CrewAI để trích xuất nội dung từ website rồi thực hiện RAG trên đó.
Chúng ta cần viết mã để công cụ hoạt động. Trước khi bắt đầu, hãy cài đặt các gói crewai-tools và crewai bằng pip:
# Install CrewAI with tools support
pip install 'crewai[tools]'
# Or using uv (recommended by CrewAI for dependency management)
uv add 'crewai[tools]'
Khi đã cài đặt xong, hãy làm theo các bước dưới đây. Trong ví dụ này, chúng ta sẽ dùng ba công cụ: ScrapeWebsiteTool để trích xuất website, FileWriterTool để ghi tệp, và TXTSearchTool để tìm kiếm ngữ cảnh cho RAG. Bắt đầu thôi.
Bước 1: Trích xuất một website
Đầu tiên, chúng ta nhập các thư viện cần thiết và khởi tạo ScrapeWebsiteTool. Công cụ này dùng để trích xuất nội dung từ một trang web. Ở đây, nó được cấu hình để lấy nội dung từ trang Wikipedia "Trí tuệ nhân tạo":
from crewai_tools import ScrapeWebsiteTool, FileWriterTool, TXTSearchTool
import requests
# Initialize the tool, potentially passing the session
tool = ScrapeWebsiteTool(website_url='https://en.wikipedia.org/wiki/Artificial_intelligence')
# Extract the text
text = tool.run()
print(text)
Bước 2: Ghi văn bản đã trích xuất vào tệp
Giờ chúng ta dùng FileWriterTool để lưu văn bản đã trích xuất vào tệp tên ai.txt.
# Initialize the tool
file_writer_tool = FileWriterTool()
# Write content to a file in a specified directory
result = file_writer_tool._run(filename='ai.txt', content = text, directory = '', overwrite=True)
print(result)
Bước 3: Thiết lập công cụ tìm kiếm văn bản
Chúng ta thiết lập một công cụ khác để tìm kiếm nội dung của tệp ai.txt vừa lưu. Chúng ta cũng đặt biến môi trường cho khóa API OpenAI.
import os
from crewai_tools import TXTSearchTool
os.environ['OPENAI_API_KEY'] = 'API-KEY'
# Initialize the tool with a specific text file, so the agent can search within the given text file's content
tool = TXTSearchTool(txt='ai.txt')
Bước 4: Tạo một tác tử cho nhiệm vụ và thực thi
Chúng ta tạo một tác tử nhà phân tích dữ liệu với vai trò là người giáo dục. Nhiệm vụ của tác tử này là trả lời câu hỏi "Xử lý ngôn ngữ tự nhiên là gì?" dựa trên văn bản đã tìm trong tệp.
from crewai import Agent, Task, Crew
context = tool.run('What is natural language processing?')
data_analyst = Agent(
role='Educator',
goal=f'Based on the context provided, answer the question - What is Natural Language Processing? Context - {context}',
backstory='You are a data expert',
verbose=True,
allow_delegation=False,
tools=[tool]
)
test_task = Task(
description="Using the provided context, answer the question: What is Natural Language Processing?",
tools=[tool],
agent=data_analyst,
expected_output='A clear, 2-3 paragraph explanation of Natural Language Processing, covering its definition, key techniques, and common applications.'
)
crew = Crew(
agents=[data_analyst],
tasks=[test_task]
)
output = crew.kickoff()

CrewAI so với LangGraph và AutoGen
Các lựa chọn thay thế chính cho CrewAI là LangGraph và AutoGen của Microsoft. Lợi thế lớn nhất của CrewAI là mô hình tác tử dựa trên vai trò. Ý tôi là, bằng cách định nghĩa tác tử với vai trò, mục tiêu và bối cảnh, bạn sẽ có được hành vi phản ánh sát cách các nhóm con người cộng tác.
LangGraph mang lại nhiều quyền kiểm soát hơn đối với luồng thực thi thông qua cách tiếp cận dựa trên đồ thị, nhưng đòi hỏi hiểu các khái niệm về đồ thị có hướng và quản lý trạng thái. Với hầu hết nhà phát triển mới làm quen hệ thống đa tác tử, CrewAI là con đường nhanh hơn để có nguyên mẫu hoạt động.
Kết luận
CrewAI mang đến một nền tảng thực tiễn để quản lý hệ thống đa tác tử. Dù là trích xuất nội dung hay ủy nhiệm nhiệm vụ, framework này hỗ trợ sự cộng tác giữa các tác tử và giúp chúng thích nghi, cải thiện.
Bằng cách tích hợp công cụ và cung cấp cấu trúc có tổ chức, CrewAI giúp nhà phát triển dễ dàng quản lý tương tác giữa tác tử, phân phối nhiệm vụ và đảm bảo hiệu năng tối ưu.
Kỹ sư GenAI cao cấp và người sáng tạo nội dung, đã thu hút 20 triệu lượt xem nhờ chia sẻ kiến thức về GenAI và khoa học dữ liệu.
