của Tony Kipkemboi, João (Joe) Moura, Karan Singh, và Aris Tsakpinis vào ngày 31 tháng 3 năm 2025 trong Amazon Bedrock, Amazon Bedrock Agents, Generative AI
Bài viết này được đồng tác giả với Joao Moura và Tony Kipkemboi từ CrewAI.
Bối cảnh AI doanh nghiệp đang trải qua một sự thay đổi lớn khi các hệ thống Agent chuyển đổi từ các công cụ thử nghiệm thành tài sản kinh doanh quan trọng. Năm 2025, các AI Agent dự kiến sẽ trở thành một phần không thể thiếu trong hoạt động kinh doanh, với Deloitte dự đoán rằng 25% các doanh nghiệp sử dụng AI tạo sinh sẽ triển khai các AI Agent, và con số này sẽ tăng lên 50% vào năm 2027. Không gian AI Agent toàn cầu (global AI agent space) được dự báo sẽ tăng từ 5,1 tỷ đô la vào năm 2024 lên 47,1 tỷ đô la vào năm 2030, phản ánh tiềm năng chuyển đổi của các công nghệ này.
Trong bài viết này, chúng tôi khám phá cách khuôn khổ Agent mã nguồn mở (open source agentic framework) của CrewAI, kết hợp với Amazon Bedrock, cho phép tạo ra các hệ thống đa Agent (multi-agent systems) tinh vi có thể thay đổi cách các doanh nghiệp hoạt động. Thông qua các ví dụ thực tế và chi tiết triển khai, chúng tôi trình bày cách xây dựng, triển khai và điều phối các AI Agent để giải quyết các tác vụ phức tạp với sự giám sát tối thiểu của con người. Mặc dù “Agent” là từ khóa phổ biến của năm 2025, điều quan trọng là phải hiểu AI Agent là gì và việc triển khai một hệ thống Agent có thể mang lại lợi ích ở đâu.
Thiết kế Agent
AI Agent là một hệ thống tự trị, thông minh sử dụng mô hình ngôn ngữ lớn (large language models – LLMs) và các khả năng AI khác để thực hiện các tác vụ phức tạp với sự giám sát tối thiểu của con người. Không giống như phần mềm truyền thống tuân theo các quy tắc được xác định trước, các AI Agent có thể hoạt động độc lập, học hỏi từ môi trường của chúng, thích ứng với các điều kiện thay đổi và đưa ra các quyết định theo ngữ cảnh. Chúng được thiết kế với các thành phần mô-đun, chẳng hạn như công cụ suy luận, bộ nhớ, kỹ năng nhận thức và công cụ, cho phép chúng thực hiện các quy trình công việc tinh vi.
Các giải pháp Phần mềm dưới dạng Dịch vụ (Software as a Service – SaaS) truyền thống được thiết kế cho khả năng mở rộng theo chiều ngang và ứng dụng chung, làm cho chúng phù hợp để quản lý các tác vụ lặp đi lặp lại trên các lĩnh vực đa dạng, nhưng chúng thường thiếu trí tuệ chuyên biệt theo lĩnh vực và tính linh hoạt để giải quyết các thách thức riêng biệt trong môi trường động. Mặt khác, các hệ thống Agent được thiết kế để lấp đầy khoảng trống này bằng cách kết hợp tính linh hoạt của các hệ thống nhận biết ngữ cảnh với kiến thức chuyên môn .
Hãy xem xét một trường hợp sử dụng phát triển phần mềm. Các AI Agent có thể tạo, đánh giá và cải thiện mã, chuyển trọng tâm của các kỹ sư phần mềm (software engineers) từ việc viết mã thông thường sang các thách thức thiết kế phức tạp hơn. Ví dụ, đối với kho lưu trữ Git (git repository) của CrewAI, các yêu cầu kéo được đánh giá bởi một tập hợp các Agent CrewAI, những người đánh giá mã dựa trên tài liệu mã (code documentation), tính nhất quán của việc triển khai (consistency of implementation), và các cân nhắc về bảo mật (security considerations).
Một trường hợp sử dụng khác có thể thấy trong quản lý chuỗi cung ứng (supply chain management), nơi các hệ thống kiểm kê truyền thống có thể theo dõi mức tồn kho, nhưng thiếu khả năng dự đoán sự gián đoạn chuỗi cung ứng hoặc tối ưu hóa mua sắm dựa trên thông tin chi tiết của ngành. Ngược lại, một hệ thống Agent có thể sử dụng dữ liệu thời gian thực (chẳng hạn như thời tiết hoặc rủi ro địa chính trị) để chủ động định tuyến lại chuỗi cung ứng và phân bổ lại tài nguyên. Hình minh họa sau mô tả các thành phần của một hệ thống AI Agent:

Tổng quan về CrewAI
CrewAI là một bộ công cụ doanh nghiệp bao gồm một khuôn khổ mã nguồn mở (open source framework) dựa trên Python. Nó đơn giản hóa việc tạo và quản lý tự động hóa AI (AI automations) bằng cách sử dụng các luồng AI (AI flows), hệ thống đa Agent (multi-agent systems) hoặc sự kết hợp của cả hai, cho phép các Agent làm việc cùng nhau một cách liền mạch, giải quyết các tác vụ phức tạp thông qua trí tuệ cộng tác (collaborative intelligence). Hình sau minh họa khả năng của sản phẩm doanh nghiệp của CrewAI:

Thiết kế của CrewAI tập trung vào khả năng xây dựng tự động hóa AI thông qua các luồng (flows) và các tổ đội AI Agent (crews of AI agents). Nó nổi trội ở mối quan hệ giữa Agent và tác vụ (agents and tasks), trong đó mỗi Agent có một vai trò (role), mục tiêu (goal) và cốt truyện (backstory) được xác định, và có thể truy cập các công cụ cụ thể để hoàn thành mục tiêu của mình. Khuôn khổ này cho phép ủy quyền liên Agent (inter-agent delegation) tự động, nơi các Agent có thể ủy thác tác vụ và hỏi ý kiến lẫn nhau, tăng cường hiệu quả giải quyết vấn đề. Sự phát triển này được thúc đẩy bởi nhu cầu ngày càng tăng về tự động hóa thông minh (intelligent automation) và trải nghiệm khách hàng được cá nhân hóa (personalized customer experiences) trên các lĩnh vực như chăm sóc sức khỏe, tài chính và bán lẻ.
Các Agent của CrewAI không chỉ tự động hóa các tác vụ thông thường, mà còn tạo ra các vai trò mới đòi hỏi kỹ năng nâng cao. Sự nhấn mạnh của CrewAI vào sự hợp tác nhóm, thông qua thiết kế mô-đun (modular design) và các nguyên tắc đơn giản, nhằm mục đích vượt qua tự động hóa truyền thống, đạt được mức độ đơn giản hóa quyết định (decision simplification), tăng cường sáng tạo và giải quyết các thách thức phức tạp cao hơn.
Các khái niệm chính của CrewAI
Kiến trúc của CrewAI được xây dựng trên một khuôn khổ mô-đun bao gồm một số thành phần chính tạo điều kiện cho sự hợp tác, ủy quyền và ra quyết định thích ứng trong môi trường đa Agent. Hãy cùng khám phá chi tiết từng thành phần để hiểu cách chúng cho phép các tương tác đa Agent.
Ở cấp độ cao, CrewAI tạo ra hai cách chính để tạo ra tự động hóa Agent (agentic automations): các luồng (flows) và các tổ đội (crews).
Luồng (Flows)
Luồng CrewAI (CrewAI Flows) cung cấp một khuôn khổ có cấu trúc, hướng sự kiện (event-driven framework) để điều phối các tự động hóa AI đa bước (multi-step AI automations) phức tạp một cách liền mạch. Các luồng cho phép người dùng xác định các quy trình công việc tinh vi kết hợp mã thông thường, các lệnh gọi mô hình ngôn ngữ lớn đơn lẻ (single LLM calls) và có khả năng là nhiều tổ đội, thông qua logic điều kiện (conditional logic), vòng lặp (loops) và quản lý trạng thái thời gian thực (real-time state management). Tính linh hoạt này cho phép các doanh nghiệp xây dựng các quy trình tự động hóa thông minh, động (dynamic, intelligent automation pipelines) thích ứng với các điều kiện thay đổi và nhu cầu kinh doanh đang phát triển. Hình sau minh họa sự khác biệt giữa Tổ đội (Crews) và Luồng (Flows):

Khi được tích hợp với Amazon Bedrock, Luồng CrewAI khai thác tiềm năng lớn hơn nữa. Amazon Bedrock cung cấp một nền tảng mạnh mẽ bằng cách cho phép truy cập vào các mô hình nền tảng (foundation models – FMs) mạnh mẽ.
Ví dụ, trong một kịch bản hỗ trợ khách hàng (customer support), một Luồng CrewAI được điều phối thông qua Amazon Bedrock có thể tự động định tuyến các truy vấn của khách hàng đến các tổ đội AI Agent chuyên biệt. Các tổ đội này cộng tác chẩn đoán các vấn đề của khách hàng, tương tác với các hệ thống phụ trợ (backend systems) để truy xuất dữ liệu, tạo ra các phản hồi được cá nhân hóa và tự động leo thang (dynamically escalate) các vấn đề phức tạp đến các Agent con người chỉ khi cần thiết.
Tương tự, trong các dịch vụ tài chính (financial services), một Luồng CrewAI có thể giám sát các điều kiện của ngành, kích hoạt phân tích dựa trên Agent để chủ động quản lý danh mục đầu tư (investment portfolios) dựa trên sự biến động của ngành và sở thích của nhà đầu tư.
Cùng nhau, Luồng CrewAI và Amazon Bedrock tạo ra một sức mạnh tổng hợp (synergy) mạnh mẽ, cho phép các doanh nghiệp triển khai tự động hóa thích ứng, thông minh (adaptive, intelligent automation) giải quyết các vấn đề phức tạp trong thế giới thực một cách hiệu quả và ở quy mô lớn.
Tổ đội (Crews)
Các Tổ đội trong CrewAI bao gồm một số thành phần chính, mà chúng ta sẽ thảo luận trong phần này.
Agents
Các Agent trong CrewAI đóng vai trò là các thực thể tự trị (autonomous entities) được thiết kế để thực hiện các vai trò cụ thể trong một hệ thống đa Agent. Các Agent này được trang bị nhiều khả năng khác nhau, bao gồm suy luận (reasoning), bộ nhớ (memory) và khả năng tương tác động (dynamically interact) với môi trường của chúng. Mỗi Agent được xác định bởi bốn yếu tố chính:
- Vai trò (Role) – Xác định chức năng và trách nhiệm của Agent trong hệ thống.
- Cốt truyện (Backstory) – Cung cấp thông tin ngữ cảnh (contextual information) hướng dẫn quá trình ra quyết định của Agent.
- Mục tiêu (Goals) – Chỉ định các mục tiêu mà Agent muốn hoàn thành.
- Công cụ (Tools) – Mở rộng khả năng của các Agent để truy cập nhiều thông tin hơn và thực hiện các hành động.
Các Agent trong CrewAI được thiết kế để hoạt động cộng tác, đưa ra các quyết định tự trị, ủy quyền tác vụ (delegating tasks) và sử dụng công cụ để thực hiện các quy trình công việc phức tạp một cách hiệu quả. Chúng có thể giao tiếp với nhau, sử dụng các tài nguyên bên ngoài và tinh chỉnh chiến lược của mình dựa trên kết quả quan sát được.
Tác vụ (Tasks)
Các tác vụ trong CrewAI là các khối xây dựng cơ bản xác định các hành động cụ thể mà một Agent cần thực hiện để đạt được mục tiêu của mình. Các tác vụ có thể được cấu trúc dưới dạng bài tập độc lập (standalone assignments) hoặc quy trình công việc phụ thuộc lẫn nhau (interdependent workflows) đòi hỏi nhiều Agent phải cộng tác. Mỗi tác vụ bao gồm các tham số chính, chẳng hạn như:
- Mô tả (Description) – Xác định rõ ràng những gì tác vụ đòi hỏi.
- Chỉ định Agent (Agent assignment) – Chỉ định Agent nào chịu trách nhiệm thực hiện tác vụ.
Công cụ (Tools)
Các công cụ trong CrewAI cung cấp cho các Agent các khả năng mở rộng, cho phép chúng thực hiện các hành động vượt ra ngoài khả năng suy luận nội tại của mình. Các công cụ này cho phép các Agent tương tác với giao diện lập trình ứng dụng (APIs), truy cập cơ sở dữ liệu (databases), thực thi tập lệnh (execute scripts), phân tích dữ liệu và thậm chí giao tiếp với các hệ thống bên ngoài khác. CrewAI hỗ trợ một hệ thống tích hợp công cụ mô-đun (modular tool integration system), nơi các công cụ có thể được xác định và chỉ định cho các Agent cụ thể, cung cấp khả năng ra quyết định hiệu quả và nhận biết ngữ cảnh (context-aware decision-making).
Quy trình (Process)
Lớp quy trình (process layer) trong CrewAI điều chỉnh cách các Agent tương tác, phối hợp và ủy quyền tác vụ. Nó đảm bảo rằng các quy trình công việc đa Agent hoạt động liền mạch bằng cách quản lý việc thực hiện tác vụ, giao tiếp và đồng bộ hóa giữa các Agent.
Thông tin chi tiết hơn về các khái niệm của CrewAI có thể được tìm thấy trong tài liệu CrewAI (CrewAI documentation).
Bộ công cụ doanh nghiệp CrewAI (CrewAI enterprise suite)
Đối với các doanh nghiệp đang tìm kiếm các giải pháp AI Agent được tùy chỉnh, CrewAI cung cấp một sản phẩm doanh nghiệp bao gồm hỗ trợ chuyên dụng, tùy chỉnh nâng cao và tích hợp với các hệ thống cấp doanh nghiệp như Amazon Bedrock. Điều này cho phép các tổ chức triển khai các AI Agent ở quy mô lớn trong khi vẫn duy trì các yêu cầu về bảo mật và tuân thủ (security and compliance).
Khách hàng doanh nghiệp được tiếp cận với các công cụ giám sát toàn diện (comprehensive monitoring tools) cung cấp khả năng hiển thị sâu sắc về hoạt động của Agent. Điều này bao gồm việc ghi nhật ký chi tiết về các tương tác của Agent (agent interactions), các chỉ số hiệu suất (performance metrics) và các chỉ báo về tình trạng hệ thống (system health indicators). Bảng điều khiển giám sát (monitoring dashboard) cho phép các nhóm theo dõi hành vi của Agent, xác định các nút thắt (bottlenecks) và tối ưu hóa các quy trình công việc đa Agent trong thời gian thực.
Tác động thực tế đối với doanh nghiệp
Khách hàng của CrewAI đã và đang thấy được lợi ích đáng kể bằng cách áp dụng các quy trình công việc Agent (agentic workflows) trong sản xuất. Trong phần này, chúng tôi cung cấp một vài ví dụ khách hàng thực tế.
Hiện đại hóa mã nguồn cũ (Legacy code modernization)
Một khách hàng doanh nghiệp lớn cần hiện đại hóa cơ sở mã nguồn cũ (legacy code base) ABAP và APEX của họ, một quy trình thường tốn thời gian đòi hỏi nỗ lực thủ công (manual effort) lớn để cập nhật và kiểm thử mã.
Nhiều Agent CrewAI hoạt động song song để:
- Phân tích các thành phần cơ sở mã nguồn hiện có
- Tạo mã được hiện đại hóa trong thời gian thực
- Thực hiện các kiểm thử trong môi trường sản xuất
- Cung cấp phản hồi ngay lập tức cho các lần lặp (iterations)
Khách hàng đã đạt được mức cải thiện khoảng 70% về tốc độ tạo mã trong khi vẫn duy trì chất lượng thông qua kiểm thử tự động (automated testing) và các vòng lặp phản hồi (feedback loops). Giải pháp được đóng gói (containerized) bằng Docker để triển khai và mở rộng quy mô nhất quán. Sơ đồ sau minh họa kiến trúc giải pháp.

Tự động hóa văn phòng (Back office automation) tại công ty Hàng tiêu dùng nhanh (CPG company) toàn cầu
Một công ty Hàng tiêu dùng nhanh (CPG company) hàng đầu đã tự động hóa các hoạt động văn phòng (back-office operations) của họ bằng cách kết nối các ứng dụng và kho dữ liệu hiện có của họ với các Agent CrewAI, những Agent này:
- Nghiên cứu các điều kiện của ngành
- Phân tích dữ liệu định giá
- Tóm tắt các phát hiện
- Thực hiện các quyết định
Việc triển khai đã giúp giảm 75% thời gian xử lý bằng cách tự động hóa toàn bộ quy trình công việc từ phân tích dữ liệu đến thực hiện hành động. Sơ đồ sau minh họa kiến trúc giải pháp.

Dưới đây là bản dịch của đoạn văn bản này, đảm bảo dịch chính xác, giữ lại các thuật ngữ kỹ thuật quan trọng (viết tắt/tên riêng) trong ngoặc đơn khi cần, và không lạm dụng chữ in hoa:
Bắt đầu với CrewAI và Amazon Bedrock
Tích hợp Amazon Bedrock với CrewAI cho phép tạo ra các AI Agent cấp độ sản xuất được cung cấp bởi các mô hình ngôn ngữ hiện đại.
Đoạn mã sau đây là cách thiết lập tích hợp này:
from crewai import Agent, Crew, Process, Task, LLM
from crewai_tools import SerperDevTool, ScrapeWebsiteTool
import os
# Configure Bedrock LLM
llm = LLM(
model="bedrock/anthropic. anthropic.claude-3-5-sonnet-20241022-v2:0",
aws_access_key_id=os.getenv('AWS_ACCESS_KEY_ID'),
aws_secret_access_key=os.getenv('AWS_SECRET_ACCESS_KEY'),
aws_region_name=os.getenv('AWS_REGION_NAME')
)
# Create an agent with Bedrock as the LLM provider
security_analyst = Agent(
config=agents_config['security_analyst'],
tools=[SerperDevTool(), ScrapeWebsiteTool()],
llm=llm
)
Kiểm tra tài liệu CrewAI LLM để có hướng dẫn chi tiết về cách cấu hình các mô hình ngôn ngữ lớn (LLMs) với các AI Agent của bạn.
Amazon Bedrock cung cấp một số lợi thế then chốt cho các ứng dụng CrewAI:
- Truy cập vào các mô hình ngôn ngữ hiện đại như Claude của Anthropic và Amazon Nova – Các mô hình này cung cấp các khả năng nhận thức hỗ trợ việc ra quyết định của Agent. Các mô hình cho phép các Agent hiểu các hướng dẫn phức tạp, tạo ra các phản hồi giống con người và đưa ra các quyết định tinh tế dựa trên ngữ cảnh.
- Các tính năng bảo mật và tuân thủ cấp doanh nghiệp – Điều này rất quan trọng đối với các tổ chức cần duy trì sự kiểm soát chặt chẽ đối với dữ liệu của họ và thực thi việc tuân thủ các quy định khác nhau.
- Khả năng mở rộng và độ tin cậy được hỗ trợ bởi cơ sở hạ tầng AWS – Điều này có nghĩa là các hệ thống Agent của bạn có thể xử lý khối lượng công việc ngày càng tăng mà vẫn duy trì hiệu suất ổn định.
Amazon Bedrock Agents và Amazon Bedrock Knowledge Bases là các Công cụ CrewAI gốc
Amazon Bedrock Agents cung cấp cho bạn khả năng xây dựng và cấu hình các Agent tự trị một cách hoàn toàn được quản lý và serverless trên Amazon Bedrock. Bạn không phải cấp phát dung lượng, quản lý cơ sở hạ tầng hoặc viết mã tùy chỉnh. Amazon Bedrock quản lý kỹ thuật nhắc lệnh (prompt engineering), bộ nhớ, giám sát, mã hóa, quyền người dùng và gọi API. BedrockInvokeAgentTool cho phép các Agent CrewAI gọi các Agent Amazon Bedrock và sử dụng khả năng của chúng trong các quy trình công việc của bạn.
Với Amazon Bedrock Knowledge Bases, bạn có thể kết nối các mô hình nền tảng (FMs) và Agent một cách an toàn với dữ liệu của công ty bạn để cung cấp các phản hồi phù hợp, chính xác và tùy chỉnh hơn. BedrockKBRetrieverTool cho phép các Agent CrewAI truy xuất thông tin từ Amazon Bedrock Knowledge Bases bằng các truy vấn ngôn ngữ tự nhiên.
Đoạn mã sau đây cho thấy một ví dụ về tích hợp Amazon Bedrock Agents:
from crewai_tools.aws.bedrock.agents.invoke_agent_tool import BedrockInvokeAgentTool
# Initialize the Bedrock Agents Tool
agent_tool = BedrockInvokeAgentTool(
agent_id="your-agent-id",
agent_alias_id="your-agent-alias-id"
)
# Create an CrewAI agent that uses the Bedrock Agents Tool
aws_expert = Agent(
role='AWS Service Expert',
goal='Help users understand AWS services and quotas',
backstory='I am an expert in AWS services and can provide detailed information about them.',
tools=[agent_tool],
verbose=True
)
Đoạn mã sau đây cho thấy một ví dụ về tích hợp Amazon Bedrock Knowledge Bases:
# Create and configure the BedrockKB tool
kb_tool = BedrockKBRetrieverTool(
knowledge_base_id="your-kb-id",
number_of_results=5
)
# Create an CrewAI agent that uses the Bedrock Agents Tool
researcher = Agent(
role='Knowledge Base Researcher',
goal='Find information about company policies',
backstory='I am a researcher specialized in retrieving and analyzing company documentation.',
tools=[kb_tool],
verbose=True
)
Xuất sắc trong vận hành thông qua giám sát, truy vết và khả năng quan sát với CrewAI trên AWS
Cũng như bất kỳ ứng dụng phần mềm nào, đạt được sự xuất sắc trong vận hành là rất quan trọng khi triển khai các ứng dụng Agent trong môi trường sản xuất. Các ứng dụng này là các hệ thống phức tạp bao gồm cả các thành phần xác định (deterministic) và xác suất (probabilistic) tương tác với nhau một cách tuần tự hoặc song song. Do đó, giám sát, khả năng truy vết và khả năng quan sát toàn diện là các yếu tố thiết yếu để đạt được sự xuất sắc trong vận hành. Điều này bao gồm ba khía cạnh chính:
- Khả năng quan sát cấp ứng dụng – Cung cấp hoạt động trơn tru của toàn bộ hệ thống, bao gồm khuôn khổ điều phối Agent CrewAI và có thể là các thành phần ứng dụng bổ sung (chẳng hạn như giao diện người dùng frontend).
- Khả năng quan sát cấp mô hình – Cung cấp hiệu suất mô hình đáng tin cậy (bao gồm các số liệu như độ chính xác, độ trễ, thông lượng và hơn thế nữa).
- Khả năng quan sát cấp Agent – Duy trì hoạt động hiệu quả trong các hệ thống đơn Agent hoặc đa Agent.
Khi chạy các ứng dụng dựa trên Agent với CrewAI và Amazon Bedrock trên AWS, bạn có quyền truy cập vào một bộ khả năng tích hợp toàn diện trên các khía cạnh này:
- Nhật ký cấp ứng dụng – Amazon CloudWatch tự động thu thập nhật ký và số liệu cấp ứng dụng từ mã ứng dụng của bạn chạy trên nền tảng tính toán AWS đã chọn, chẳng hạn như AWS Lambda, Amazon Elastic Container Service (Amazon ECS), hoặc Amazon Elastic Compute Cloud (Amazon EC2). Khuôn khổ CrewAI cung cấp tính năng ghi nhật ký cấp ứng dụng, được cấu hình ở mức tối thiểu theo mặc định. Để có thông tin chi tiết hơn, có thể bật tính năng ghi nhật ký chi tiết (verbose logging) ở cấp độ Agent hoặc tổ đội bằng cách đặt verbose=True trong quá trình khởi tạo.
- Nhật ký gọi mô hình – Hơn nữa, CloudWatch tự động thu thập nhật ký và số liệu gọi mô hình từ Amazon Bedrock. Điều này bao gồm các số liệu hiệu suất thiết yếu.
- Khả năng quan sát cấp Agent – CrewAI tích hợp liền mạch với các khuôn khổ giám sát và khả năng quan sát của bên thứ ba phổ biến như AgentOps, Arize, MLFlow, LangFuse và các framework khác. Các khuôn khổ này cho phép truy vết, gỡ lỗi, giám sát và tối ưu hóa toàn diện hiệu suất của hệ thống Agent.
Tổng quan giải pháp
Quản lý tư thế bảo mật đám mây (CSPM) là một khả năng quan trọng cung cấp cho các tổ chức cái nhìn toàn diện về trạng thái bảo mật đám mây của họ bằng cách liên tục quét cơ sở hạ tầng đám mây để tìm các cấu hình sai và rủi ro tuân thủ.
Các đánh giá bảo mật truyền thống thường đòi hỏi nhiều chuyên gia, lịch trình phối hợp và vô số lần kiểm tra thủ công. Với CrewAI Agents, bạn có thể hợp lý hóa toàn bộ quy trình, tự động lập bản đồ tài nguyên, phân tích cấu hình và tạo ra các bước khắc phục rõ ràng, có ưu tiên.
Sơ đồ sau minh họa kiến trúc giải pháp.

Ví dụ minh họa trường hợp sử dụng của chúng tôi triển khai một tổ đội chuyên biệt gồm ba Agent, mỗi Agent có trách nhiệm riêng biệt phản ánh các vai trò mà bạn có thể tìm thấy trong một công ty tư vấn bảo mật chuyên nghiệp:
- Người lập bản đồ cơ sở hạ tầng (Infrastructure mapper) – Hoạt động như kiến trúc sư hệ thống của chúng tôi, ghi chép một cách có phương pháp các tài nguyên AWS và cấu hình của chúng. Giống như một kiến trúc sư đám mây giàu kinh nghiệm, nó tạo ra một danh mục chi tiết đóng vai trò là nền tảng cho phân tích bảo mật của chúng tôi.
- Nhà phân tích bảo mật (Security analyst) – Đóng vai trò là chuyên gia an ninh mạng của chúng tôi, kiểm tra bản đồ cơ sở hạ tầng để tìm các lỗ hổng tiềm ẩn và nghiên cứu các thực tiễn tốt nhất hiện tại. Nó mang lại kiến thức sâu sắc về các mối đe dọa bảo mật và các chiến lược giảm thiểu.
- Người viết báo cáo (Report writer) – Hoạt động như chuyên gia tài liệu kỹ thuật của chúng tôi, tổng hợp các phát hiện phức tạp thành các khuyến nghị rõ ràng, có thể hành động. Nó đảm bảo rằng các thông tin chi tiết kỹ thuật được truyền đạt hiệu quả đến cả các bên liên quan kỹ thuật và phi kỹ thuật.
Triển khai giải pháp
Trong phần này, chúng tôi sẽ hướng dẫn chi tiết về việc triển khai một hệ thống đa Agent đánh giá bảo mật. Mã cho ví dụ này nằm trên GitHub. Lưu ý rằng không phải tất cả các tạo phẩm mã của giải pháp đều được trình bày rõ ràng trong bài viết này.
Bước 1: Cấu hình LLM Amazon Bedrock
Chúng tôi đã lưu các biến môi trường của mình trong tệp .env trong thư mục gốc trước khi chúng tôi truyền chúng vào lớp LLM:
from crewai import Agent, Crew, Process, Task, LLM
from crewai.project import CrewBase, agent, crew, task
from aws_infrastructure_security_audit_and_reporting.tools.aws_infrastructure_scanner_tool import AWSInfrastructureScannerTool
from crewai_tools import SerperDevTool, ScrapeWebsiteTool
import os
@CrewBase
class AwsInfrastructureSecurityAuditAndReportingCrew():
"""AwsInfrastructureSecurityAuditAndReporting crew"""
def __init__(self) -> None:
self.llm = LLM( model=os.getenv('MODEL'),
aws_access_key_id=os.getenv('AWS_ACCESS_KEY_ID'),
aws_secret_access_key=os.getenv('AWS_SECRET_ACCESS_KEY'),
aws_region_name=os.getenv('AWS_REGION_NAME')
)
Bước 2: Định nghĩa các Agent
Các Agent này đã được định nghĩa trong tệp agents.yaml, và chúng tôi đang nhập chúng vào mỗi hàm Agent trong tệp crew.py:
...
# Configure AI Agents
@agent
def infrastructure_mapper(self) -> Agent:
return Agent(
config=self.agents_config['infrastructure_mapper'],
tools=[AWSInfrastructureScannerTool()],
llm=self.llm
)
@agent
def security_analyst(self) -> Agent:
return Agent(
config=self.agents_config['security_analyst'],
tools=[SerperDevTool(), ScrapeWebsiteTool()],
llm=self.llm
)
@agent
def report_writer(self) -> Agent:
return Agent(
config=self.agents_config['report_writer'],
llm=self.llm
)
Bước 3: Định nghĩa các tác vụ cho các Agent
Tương tự như các Agent của chúng ta trong đoạn mã trước, chúng ta nhập tasks.yaml vào tệp crew.py của mình:
...
# Configure Tasks for the agents
@task
def map_aws_infrastructure_task(self) -> Task:
return Task(
config=self.tasks_config['map_aws_infrastructure_task']
)
@task
def exploratory_security_analysis_task(self) -> Task:
return Task(
config=self.tasks_config['exploratory_security_analysis_task']
)
@task
def generate_report_task(self) -> Task:
return Task(
config=self.tasks_config['generate_report_task']
)
Bước 4: Tạo công cụ quét cơ sở hạ tầng AWS
Công cụ này cho phép các Agent của chúng ta tương tác với các dịch vụ AWS và truy xuất thông tin chúng cần để thực hiện phân tích:
class AWSInfrastructureScannerTool(BaseTool):
name: str = "AWS Infrastructure Scanner"
description: str = (
"A tool for scanning and mapping AWS infrastructure components and their configurations. "
"Can retrieve detailed information about EC2 instances, S3 buckets, IAM configurations, "
"RDS instances, VPC settings, and security groups. Use this tool to gather information "
"about specific AWS services or get a complete infrastructure overview."
)
args_schema: Type[BaseModel] = AWSInfrastructureScannerInput
def _run(self, service: str, region: str) -> str:
try:
if service.lower() == 'all':
return json.dumps(self._scan_all_services(region), indent=2, cls=DateTimeEncoder)
return json.dumps(self._scan_service(service.lower(), region), indent=2, cls=DateTimeEncoder)
except Exception as e:
return f"Error scanning AWS infrastructure: {str(e)}"
def _scan_all_services(self, region: str) -> Dict:
return {
'ec2': self._scan_service('ec2', region),
's3': self._scan_service('s3', region),
'iam': self._scan_service('iam', region),
'rds': self._scan_service('rds', region),
'vpc': self._scan_service('vpc', region)
}
# More services can be added here
Bước 5: Lắp ráp tổ đội kiểm toán bảo mật
Đưa các thành phần lại với nhau trong một tổ đội được phối hợp để thực hiện các tác vụ:
@crew
def crew(self) -> Crew:
"""Creates the AwsInfrastructureSecurityAuditAndReporting crew"""
return Crew(
agents=self.agents, # Automatically created by the @agent decorator
tasks=self.tasks, # Automatically created by the @task decorator
process=Process.sequential,
verbose=True,
)
Bước 6: Chạy tổ đội
Trong tệp main.py của chúng ta, chúng ta nhập tổ đội của mình và truyền đầu vào để tổ đội chạy:
def run():
"""
Run the crew.
"""
inputs = {}
AwsInfrastructureSecurityAuditAndReportingCrew().crew().kickoff(inputs=inputs)
Báo cáo cuối cùng sẽ trông giống như đoạn mã sau:
```markdown
### Executive Summary
In response to an urgent need for robust security within AWS infrastructure, this assessment identified several critical areas requiring immediate attention across EC2 Instances, S3 Buckets, and IAM Configurations. Our analysis revealed two high-priority issues that pose significant risks to the organization's security posture.
### Risk Assessment Matrix
| Security Component | Risk Description | Impact | Likelihood | Priority |
|--------------------|------------------|---------|------------|----------|
| S3 Buckets | Unintended public access | High | High | Critical |
| EC2 Instances | SSRF through Metadata | High | Medium | High |
| IAM Configurations | Permission sprawl | Medium | High | Medium |
### Prioritized Remediation Roadmap
1. **Immediate (0-30 days):**
- Enforce IMDSv2 on all EC2 instances
- Conduct S3 bucket permission audit and rectify public access issues
- Adjust security group rules to eliminate broad access
2. **Short Term (30-60 days):**
- Conduct IAM policy audit to eliminate unused permissions
- Restrict RDS access to known IP ranges
```
Việc triển khai này cho thấy cách các Agent CrewAI có thể làm việc cùng nhau để thực hiện các đánh giá bảo mật phức tạp mà thông thường sẽ đòi hỏi nhiều chuyên gia bảo mật. Hệ thống vừa có khả năng mở rộng vừa có khả năng tùy chỉnh, cho phép thích ứng với các yêu cầu bảo mật và tiêu chuẩn tuân thủ cụ thể.
Kết luận
Bài viết này đã khám phá bối cảnh đang phát triển của các hệ thống Agent (agentic systems) và cách CrewAI, kết hợp với Amazon Bedrock, cung cấp một khuôn khổ mạnh mẽ để xây dựng các giải pháp tự động hóa AI cấp doanh nghiệp.
CrewAI đơn giản hóa việc tạo ra các hệ thống đa Agent phức tạp (complex multi-agent systems) bằng cách cho phép các Agent có vai trò, mục tiêu và công cụ rõ ràng cộng tác hiệu quả. Với sự hỗ trợ của các mô hình nền tảng (Foundation Models) mạnh mẽ của Amazon Bedrock, CrewAI cho phép các doanh nghiệp không chỉ tự động hóa các quy trình công việc thông thường mà còn giải quyết các thách thức phức tạp với trí thông minh thích ứng.
Khả năng của CrewAI trong việc hợp lý hóa các tác vụ phức tạp, như kiểm toán bảo mật cơ sở hạ tầng (infrastructure security auditing) và hiện đại hóa mã nguồn cũ (legacy code modernization), cho thấy giá trị đáng kể của các hệ thống Agent trong việc định hình tương lai của hoạt động kinh doanh.
Chúng tôi khuyến khích bạn khám phá CrewAI và Amazon Bedrock để xem cách các hệ thống Agent có thể thúc đẩy sự đổi mới và hiệu quả trong tổ chức của bạn.
Tác giả

Tony Kipkemboi là Trưởng nhóm Truyền bá Công nghệ (Senior Developer Advocate) và Quan hệ Đối tác (Partnerships Lead) tại CrewAI, nơi ông hỗ trợ các nhà phát triển xây dựng các tác nhân AI (AI agents) nhằm thúc đẩy hiệu quả kinh doanh. Là một cựu chiến binh Quân đội Hoa Kỳ, Tony có nền tảng đa dạng về chăm sóc sức khỏe, kỹ thuật dữ liệu (data engineering), và AI. Với niềm đam mê đổi mới, ông đã phát biểu tại các sự kiện như PyCon US và đóng góp cho cộng đồng công nghệ thông qua các dự án mã nguồn mở, các bài hướng dẫn (tutorials), và vai trò định hướng tư tưởng (thought leadership) trong việc phát triển tác nhân AI. Tony có bằng Cử nhân Khoa học (Bachelor’s of Science) về Khoa học Sức khỏe (Health Sciences) và đang theo học Thạc sĩ (Master’s) về Công nghệ Thông tin Máy tính (Computer Information Technology) tại University of Pennsylvania.

João (Joe) Moura là Người sáng lập (Founder) và CEO của CrewAI, nền tảng điều phối tác nhân (agent orchestration platform) hàng đầu, hỗ trợ các quy trình tự động hóa đa tác nhân (multi-agent automations) ở quy mô lớn. Với chuyên môn sâu về AI tạo sinh (generative AI) và các giải pháp doanh nghiệp (enterprise solutions), João hợp tác với các nhà lãnh đạo toàn cầu như AWS, NVIDIA, IBM, và Meta AI để thúc đẩy các chiến lược AI đổi mới. Dưới sự lãnh đạo của ông, CrewAI đã nhanh chóng trở thành cơ sở hạ tầng thiết yếu (essential infrastructure) cho các công ty hàng đầu và các nhà phát triển trên toàn thế giới và được hầu hết các công ty trong danh sách F500 (Fortune 500) tại Hoa Kỳ sử dụng.

Karan Singh là Chuyên gia AI Tạo sinh (Generative AI Specialist) tại AWS, nơi ông làm việc với các nhà cung cấp foundation model (mô hình nền tảng) bên thứ ba và các nhà cung cấp framework tác nhân (agentic frameworks) hàng đầu để phát triển và thực thi các chiến lược tiếp cận thị trường (go-to-market) chung, cho phép khách hàng triển khai và mở rộng quy mô (deploy and scale) các giải pháp một cách hiệu quả nhằm giải quyết các thách thức AI tạo sinh của doanh nghiệp. Karan có bằng Cử nhân Khoa học (Bachelor’s of Science) về Kỹ thuật Điện (Electrical Engineering) từ Manipal University, bằng Thạc sĩ Khoa học (Master’s in Science) về Kỹ thuật Điện từ Northwestern University, và bằng MBA từ Haas School of Business tại University of California, Berkeley.

Aris Tsakpinis là một Kiến trúc sư Giải pháp Chuyên gia (Specialist Solutions Architect) về AI Tạo sinh, tập trung vào các mô hình mã nguồn mở (open source models) trên Amazon Bedrock và hệ sinh thái mã nguồn mở AI tạo sinh (generative AI open source ecosystem) rộng lớn hơn. Song song với vai trò chuyên nghiệp của mình, ông đang theo học bằng Tiến sĩ (PhD) về Kỹ thuật Học máy (Machine Learning Engineering) tại University of Regensburg, nơi nghiên cứu của ông tập trung vào xử lý ngôn ngữ tự nhiên (natural language processing) ứng dụng trong các lĩnh vực khoa học (scientific domains).