Cách AutoScout24 xây dựng Bot Factory để chuẩn hóa phát triển tác nhân AI với Amazon Bedrock

Tác giả: Andrew Shved, Muhammad Uzair Aslam, Arslan Mehboob, Vadim Shiianov
Ngày phát hành: 14 JAN 2026
Chuyên mục: Amazon API Gateway, Amazon Bedrock, Amazon Bedrock AgentCore, Amazon Bedrock Knowledge Bases, Application Services, Artificial Intelligence, Automotive, AWS Lambda, AWS Secrets Manager, AWS X-Ray, Compute, Customer Solutions, Strands Agents

AutoScout24 là nền tảng thị trường ô tô hàng đầu Châu Âu, kết nối người mua và người bán xe ô tô mới và đã qua sử dụng, xe máy và xe thương mại trên nhiều quốc gia Châu Âu. Tầm nhìn dài hạn của họ là xây dựng một Bot Factory, một khuôn khổ tập trung để tạo và triển khai các tác nhân trí tuệ nhân tạo (AI) có thể thực hiện các tác vụ và đưa ra quyết định trong các quy trình làm việc, nhằm cải thiện đáng kể hiệu quả hoạt động trong toàn tổ chức.

Từ các thử nghiệm rời rạc đến một khuôn khổ tiêu chuẩn hóa

Khi các tác nhân AI tạo sinh (hệ thống có thể suy luận, lập kế hoạch và hành động) trở nên mạnh mẽ hơn, cơ hội cải thiện năng suất nội bộ cho AutoScout24 đã rõ ràng. Điều này đã dẫn đến việc nhiều nhóm kỹ thuật khác nhau thử nghiệm với công nghệ này. Khi đổi mới AI tăng tốc trên AutoScout24, họ nhận ra cơ hội để tiên phong một cách tiếp cận tiêu chuẩn hóa cho phát triển AI. Mặc dù AutoScout24 đã thử nghiệm thành công với nhiều công cụ và khuôn khổ khác nhau trên Amazon Web Services (AWS), họ đã hình dung việc tạo ra một khuôn khổ thống nhất, cấp doanh nghiệp có thể thúc đẩy đổi mới nhanh hơn. Mục tiêu của họ là thiết lập một lộ trình rõ ràng có thể giúp các nhóm trong toàn tổ chức dễ dàng xây dựng các tác nhân AI an toàn, có khả năng mở rộng và dễ bảo trì. Nhóm Kỹ thuật Nền tảng AI của AutoScout24 đã hợp tác với nhóm AWS Prototype and Cloud Engineering (PACE) trong một khóa đào tạo chuyên sâu về AI kéo dài ba tuần. Mục tiêu là chuyển từ các thử nghiệm rời rạc sang một chiến lược mạch lạc bằng cách tạo ra một bản thiết kế có thể tái sử dụng, một Bot Factory, để tiêu chuẩn hóa cách các tác nhân AI trong tương lai được xây dựng và vận hành trong công ty của họ.

Thách thức: Xác định trường hợp sử dụng có tác động lớn

Để đặt nền móng cho bản thiết kế Bot Factory trong một trường hợp kinh doanh cụ thể, nhóm đã nhắm mục tiêu vào một chi phí vận hành đáng kể: hỗ trợ nhà phát triển nội bộ. Vấn đề đã được xác định rõ ràng. Các kỹ sư Nền tảng AI của AutoScout24 đã dành tới 30% thời gian của họ cho các tác vụ lặp đi lặp lại như trả lời câu hỏi, cấp quyền truy cập vào công cụ và tìm kiếm tài liệu. Chi phí hỗ trợ này đã làm giảm năng suất tổng thể. Nó đã làm chệch hướng các kỹ sư lành nghề khỏi việc phát triển tính năng ưu tiên cao và buộc các nhà phát triển khác phải chờ đợi các yêu cầu thường xuyên được hoàn thành. Một bot hỗ trợ tự động là trường hợp sử dụng đầu tiên lý tưởng vì nó cần thực hiện hai chức năng tác nhân cốt lõi:

  1. Truy xuất kiến thức: Trả lời các câu hỏi “làm thế nào” bằng cách tìm kiếm tài liệu nội bộ, một khả năng được gọi là Retrieval Augmented Generation (RAG).
  2. Thực thi hành động: Thực hiện các tác vụ trong các hệ thống khác, chẳng hạn như cấp phép GitHub Copilot, yêu cầu tích hợp API an toàn, hoặc “sử dụng công cụ”.

Bằng cách xây dựng một bot có thể thực hiện cả hai, nhóm có thể xác thực bản thiết kế đồng thời mang lại giá trị kinh doanh ngay lập tức.

Tổng quan kiến trúc

Trong bài viết này, chúng ta sẽ khám phá kiến trúc mà AutoScout24 đã sử dụng để xây dựng khuôn khổ phát triển AI tiêu chuẩn hóa của họ, cho phép triển khai nhanh chóng các tác nhân AI an toàn và có khả năng mở rộng.

Sơ đồ kiến trúc cho thấy quy trình làm việc của hệ thống AgentCore Runtime từ tương tác người dùng Slack thông qua các dịch vụ AWS đến các tác nhân worker chuyên biệt truy cập GitHub và Amazon Bedrock KnowledgeBase.

Kiến trúc được thiết kế với một luồng đơn giản, tách rời để đảm bảo hệ thống vừa linh hoạt vừa dễ bảo trì. Sơ đồ cung cấp một cái nhìn đơn giản tập trung vào quy trình làm việc AI tạo sinh cốt lõi. Trong môi trường sản xuất, các dịch vụ AWS bổ sung như AWS Identity and Access Management (IAM), Amazon CloudWatch, AWS X-Ray, AWS CloudTrail, AWS Web Application Firewall (WAF), và AWS Key Management Service (KMS) có thể được tích hợp để tăng cường bảo mật, khả năng quan sát và quản trị vận hành.

Dưới đây là cách một yêu cầu đi qua hệ thống:

  1. Tương tác người dùng qua Slack: Một nhà phát triển đăng một tin nhắn trong kênh hỗ trợ, ví dụ: “@SupportBot, tôi có thể nhận giấy phép GitHub Copilot không?“
  2. Truy cập an toàn qua Amazon API Gateway & AWS Lambda: Slack gửi sự kiện đến một endpoint Amazon API Gateway, kích hoạt một hàm AWS Lambda. Hàm này thực hiện kiểm tra bảo mật thiết yếu, xác minh chữ ký mã hóa của yêu cầu để xác nhận nó thực sự từ Slack.
  3. Tách rời qua Amazon Simple Queue Service (SQS): Yêu cầu đã được xác minh được đặt vào một hàng đợi Amazon SQS First-In, First-Out (FIFO). Điều này tách rời giao diện người dùng khỏi tác nhân, cải thiện khả năng phục hồi. Việc sử dụng hàng đợi FIFO với dấu thời gian của luồng tin nhắn làm MessageGroupId đảm bảo rằng các phản hồi trong một cuộc hội thoại duy nhất được xử lý theo thứ tự, điều này quan trọng để duy trì các cuộc hội thoại mạch lạc.
  4. Thực thi tác nhân qua Amazon Bedrock AgentCore: Hàng đợi SQS kích hoạt một hàm Lambda khi tin nhắn đến, kích hoạt tác nhân đang chạy trong AgentCore Runtime. AgentCore quản lý các tác vụ vận hành, bao gồm điều phối các cuộc gọi đến mô hình nền tảng và các công cụ của tác nhân. Logic của Orchestrator Agent, được xây dựng với Strands Agents, phân tích lời nhắc của người dùng và xác định tác nhân chuyên biệt chính xác để gọi—hoặc Knowledge Base Agent cho một câu hỏi hoặc GitHub Agent cho một yêu cầu hành động.

Một chi tiết triển khai quan trọng là cách hệ thống tận dụng khả năng cách ly phiên hoàn toàn của AgentCore. Để duy trì ngữ cảnh hội thoại, hệ thống tạo ra một sessionId duy nhất, có tính xác định cho mỗi luồng Slack bằng cách kết hợp ID kênh và dấu thời gian của luồng. sessionId này được truyền cùng với mỗi lần gọi tác nhân trong luồng đó. Các tương tác trong một luồng chia sẻ cùng một sessionId này, vì vậy tác nhân coi chúng là một cuộc hội thoại liên tục. Trong khi đó, các tương tác trong các luồng khác nhận được các sessionId khác nhau, giữ cho ngữ cảnh của chúng riêng biệt. Trên thực tế, mỗi cuộc hội thoại chạy trong một phiên cách ly: AgentCore khởi tạo các tài nguyên riêng biệt cho mỗi sessionId, vì vậy ngữ cảnh và trạng thái không bị rò rỉ giữa các luồng. Trong thực tế, điều này có nghĩa là nếu một nhà phát triển gửi nhiều tin nhắn trong một luồng Slack, tác nhân sẽ nhớ các phần trước đó của cuộc hội thoại đó. Lịch sử của mỗi luồng được AgentCore tự động lưu giữ.

Chiến lược quản lý phiên này cũng rất quan trọng đối với khả năng quan sát. Dựa trên một sessionId duy nhất, tương tác có thể được theo dõi bằng AWS X-Ray, cung cấp cái nhìn sâu sắc về luồng – từ tin nhắn Slack đến API Gateway cho đến khi tin nhắn được đưa vào hàng đợi SQS. Nó theo dõi quá trình xử lý của bộ điều phối, cuộc gọi đến mô hình nền tảng, các lần gọi công cụ tiếp theo (chẳng hạn như tra cứu cơ sở kiến thức hoặc cuộc gọi API GitHub), và cuối cùng là phản hồi trở lại Slack.

Metadata và thời gian giúp chỉ ra luồng của từng bước để hiểu thời gian được dành ở đâu. Nếu một bước thất bại hoặc chậm (ví dụ: hết thời gian chờ trên một cuộc gọi API bên ngoài), X-Ray sẽ xác định chính xác bước nào gây ra sự cố. Điều này vô cùng quý giá để chẩn đoán vấn đề nhanh chóng và xây dựng niềm tin vào hành vi của hệ thống.

Giải pháp: Một bản thiết kế có thể tái sử dụng được hỗ trợ bởi AWS

Kiến trúc Bot Factory được thiết kế bởi các nhóm AutoScout24 và AWS là kiến trúc hướng sự kiện, phi máy chủ và được xây dựng trên nền tảng các dịch vụ AWS được quản lý. Cách tiếp cận này cung cấp một mô hình linh hoạt và có khả năng mở rộng có thể được điều chỉnh cho các trường hợp sử dụng mới.

Giải pháp được xây dựng dựa trên Amazon Bedrock và các khả năng tích hợp của nó:

  • Amazon Bedrock cung cấp quyền truy cập vào các mô hình nền tảng (FM) hiệu suất cao, đóng vai trò là công cụ suy luận cho tác nhân.
  • Amazon Bedrock Knowledge Bases cho phép khả năng RAG, cho phép tác nhân kết nối với tài liệu nội bộ của AutoScout24 và truy xuất thông tin để trả lời câu hỏi một cách chính xác.
  • Amazon Bedrock AgentCore là một thành phần chính của khía cạnh vận hành của bản thiết kế. Nó cung cấp môi trường runtime phi máy chủ, được quản lý hoàn toàn để triển khai, vận hành và mở rộng các tác nhân.

Giải pháp này mang lại lợi thế đáng kể cho AutoScout24. Thay vì xây dựng cơ sở hạ tầng nền tảng cho quản lý phiên, bảo mật và khả năng quan sát, họ sử dụng các dịch vụ được xây dựng có mục đích của AgentCore. Điều này cho phép nhóm tập trung vào logic nghiệp vụ của tác nhân thay vì cơ sở hạ tầng bên dưới. AgentCore cũng cung cấp các tính năng bảo mật và cách ly tích hợp. Mỗi lần gọi tác nhân chạy trong vùng chứa cách ly riêng, giúp ngăn chặn rò rỉ dữ liệu giữa các phiên. Các tác nhân được gán các vai trò IAM cụ thể để hạn chế quyền AWS của chúng (tuân theo nguyên tắc đặc quyền tối thiểu). Thông tin xác thực hoặc token cần thiết bởi các công cụ tác nhân (chẳng hạn như khóa API GitHub) được lưu trữ an toàn trong AWS Secrets Manager và được truy cập trong thời gian chạy. Các tính năng này cung cấp cho nhóm một môi trường an toàn để chạy các tác nhân với cơ sở hạ tầng tùy chỉnh tối thiểu.

Bản thân tác nhân được xây dựng bằng Strands Agents SDK, một khuôn khổ mã nguồn mở giúp đơn giản hóa việc định nghĩa logic, công cụ và hành vi của tác nhân trong Python. Sự kết hợp này chứng tỏ hiệu quả: Strands để xây dựng tác nhân và AgentCore để chạy nó một cách an toàn ở quy mô lớn. Nhóm đã áp dụng một mẫu thiết kế “tác nhân như công cụ” tinh vi, trong đó một Orchestrator Agent trung tâm đóng vai trò là bộ điều khiển chính. Bộ điều phối này không chứa logic cho mọi tác vụ có thể. Thay vào đó, nó ủy quyền các yêu cầu một cách thông minh cho các tác nhân chuyên biệt, có mục đích duy nhất. Đối với bot hỗ trợ, điều này bao gồm một Knowledge Base agent để xử lý các truy vấn thông tin và một GitHub agent để thực hiện các hành động như cấp phép. Thiết kế mô-đun này giúp dễ dàng mở rộng hệ thống với các khả năng mới, chẳng hạn như thêm tác nhân đánh giá PR mà không cần tái kiến trúc toàn bộ pipeline. Chạy các tác nhân này trên Amazon Bedrock càng tăng cường tính linh hoạt, vì nhóm có thể chọn từ một loạt các mô hình nền tảng. Các mô hình mạnh mẽ hơn có thể được áp dụng cho các tác vụ suy luận phức tạp, trong khi các mô hình nhẹ hơn, hiệu quả về chi phí rất phù hợp cho các tác nhân worker thường xuyên như yêu cầu giấy phép GitHub hoặc quy trình làm việc vận hành. Khả năng kết hợp các mô hình này cho phép Autoscout24 cân bằng chi phí, hiệu suất và độ chính xác trên kiến trúc tác nhân của họ.

Tác nhân điều phối: được xây dựng với Strands SDK

Sử dụng Strands Agents SDK đã giúp nhóm định nghĩa tác nhân điều phối bằng mã ngắn gọn, khai báo. Khung này sử dụng cách tiếp cận hướng mô hình, trong đó nhà phát triển tập trung vào việc định nghĩa các hướng dẫn và công cụ của tác nhân, và mô hình nền tảng xử lý việc suy luận và lập kế hoạch. Tác nhân điều phối có thể được thể hiện chỉ trong vài chục dòng Python. Đoạn mã ví dụ dưới đây (được đơn giản hóa để rõ ràng, không dành cho sử dụng trực tiếp) cho thấy cách tác nhân được cấu hình với một mô hình, một lời nhắc hệ thống và một danh sách các công cụ (trong kiến trúc này đại diện cho các tác nhân chuyên biệt):

# A simplified, representative example of the orchestrator agent logic
# built with the Strands Agents SDK and deployed on Amazon Bedrock AgentCore.
from bedrock_agentcore.runtime import BedrockAgentCoreApp
from strands import Agent
from strands.models import BedrockModel
from tools import knowledge_base_query_tool, github_copilot_seat_agent
# Initialize the AgentCore application, which acts as the serverless container
app = BedrockAgentCoreApp()
class OrchestratorAgent:
def __init__(self):
# 1. Define the Model: Point to a foundation model in Amazon Bedrock.
self.model = BedrockModel(model_id="anthropic.claude-3-sonnet-20240229-v1:0")
# 2. Define the Prompt: Give the agent its core instructions.
self.system_prompt = """
You are a helpful and friendly support bot for the AutoScout24 Platform Engineering team.
Your goal is to answer developer questions and automate common requests.
Use your tools to answer questions or perform actions.
If you cannot handle a request, politely say so.
"""
# 3. Define the Tools: Provide the agent with its capabilities.
# These tools are entry points to other specialized Strands agents.
self.tools = [
knowledge_base_query_tool,
github_copilot_seat_agent
]
# Create the agent instance
self.agent = Agent(
model=self.model,
system_prompt=self.system_prompt,
tools=self.tools
)
def __call__(self, user_input: str):
# Run the agent to get a response for the user's input
return self.agent(user_input)
# Define the entry point that AgentCore will invoke when a new event arrives from SQS
@app.entrypoint
def main(event):
# Extract the user's query from the incoming event
user_query = event.get("prompt")
# Instantiate and run the orchestrator agent
return OrchestratorAgent()(user_query)

Một ví dụ khác là tác nhân cấp phép GitHub Copilot. Nó được triển khai dưới dạng một hàm công cụ Strands. Đoạn mã sau đây cho thấy cách nhóm đã định nghĩa nó bằng cách sử dụng decorator @tool. Hàm này tạo ra một GitHubCopilotSeatAgent, truyền yêu cầu của người dùng (tên người dùng GitHub) cho nó và trả về kết quả:

from strands import Agent, tool
class GitHubCopilotSeatAgent:
def __call__(self, query: str):
agent = Agent(model=self.model, system_prompt=self.system_prompt, tools=self.tools)
return agent(query)
@tool
def github_copilot_seat_agent(github_username: str) -> str:
agent = GitHubCopilotSeatAgent() response = agent(f"Request GitHub Copilot license for user: {github_username}")
return str(response)

Các lợi ích chính của cách tiếp cận này bao gồm sự phân tách rõ ràng các mối quan tâm. Nhà phát triển viết mã khai báo tập trung vào mục đích của tác nhân. Logic cơ sở hạ tầng phức tạp, bao gồm mở rộng quy mô, quản lý phiên và thực thi an toàn, được xử lý bởi Amazon Bedrock AgentCore. Sự trừu tượng hóa này cho phép phát triển nhanh chóng và cho phép AutoScout24 chuyển từ nguyên mẫu sang sản xuất nhanh hơn. Danh sách công cụ làm cho các tác nhân khác trở thành các hàm có thể gọi được một cách hiệu quả, cho phép bộ điều phối ủy quyền các tác vụ mà không cần biết triển khai nội bộ của chúng.

Tác động: Một bản thiết kế đã được xác thực cho AI doanh nghiệp

Dự án Bot Factory mang lại kết quả vượt ra ngoài nguyên mẫu ban đầu. Nó tạo ra giá trị kinh doanh tức thì và thiết lập một nền tảng chiến lược cho đổi mới AI trong tương lai tại AutoScout24. Các kết quả chính là:

  • Một bot hỗ trợ sẵn sàng sản xuất: Nhóm đã triển khai một bot Slack hoạt động hiệu quả, đang tích cực giảm tải công việc hỗ trợ thủ công cho Nhóm Kỹ thuật Nền tảng AI của AutoScout24, giải quyết 30% thời gian trước đây dành cho các tác vụ lặp đi lặp lại.
  • Một bản thiết kế Bot Factory có thể tái sử dụng: Dự án tạo ra một mẫu kiến trúc đã được xác thực, có thể tái sử dụng. Giờ đây, các nhóm tại AutoScout24 có thể xây dựng một tác nhân mới bằng cách bắt đầu với mẫu đã được chứng minh này (Slack -> API Gateway -> SQS -> AgentCore). Điều này tăng tốc đáng kể sự đổi mới bằng cách cho phép các nhóm tập trung vào logic nghiệp vụ độc đáo của họ, chứ không phải vào việc tái tạo cơ sở hạ tầng. Thiết kế mô-đun này cũng chuẩn bị cho họ cho sự hợp tác đa tác nhân tiên tiến hơn, có thể sử dụng các tiêu chuẩn như giao thức Agent-to-Agent (A2A) khi nhu cầu của họ phát triển.
  • Kích hoạt phát triển AI rộng hơn: Bằng cách trừu tượng hóa sự phức tạp của cơ sở hạ tầng, Bot Factory trao quyền cho nhiều người hơn để xây dựng các giải pháp AI. Một chuyên gia về bảo mật hoặc phân tích dữ liệu giờ đây có thể tạo ra một công cụ mới hoặc tác nhân chuyên biệt và “cắm” nó vào nhà máy mà không cần phải là chuyên gia về hệ thống phân tán.

Kết luận: Một mô hình mới cho các tác nhân doanh nghiệp

Sự hợp tác của AutoScout24 với AWS đã biến các thử nghiệm AI tạo sinh rời rạc thành một khuôn khổ có khả năng mở rộng, tiêu chuẩn hóa. Bằng cách áp dụng Amazon Bedrock AgentCore, nhóm đã chuyển bot hỗ trợ của họ từ nguyên mẫu sang sản xuất, đồng thời tập trung vào tầm nhìn Bot Factory của họ. AgentCore quản lý trạng thái phiên và mở rộng quy mô, vì vậy các kỹ sư có thể tập trung vào logic nghiệp vụ có giá trị cao thay vì cơ sở hạ tầng. Kết quả không chỉ là một bot hỗ trợ: đó là một nền tảng có thể tái sử dụng để xây dựng các tác nhân doanh nghiệp. Với AgentCore, AutoScout24 có thể chuyển từ nguyên mẫu sang sản xuất một cách hiệu quả, thiết lập một mô hình về cách các tổ chức có thể tiêu chuẩn hóa phát triển AI tạo sinh trên AWS. Để bắt đầu xây dựng các tác nhân doanh nghiệp với Amazon Bedrock, hãy khám phá các tài nguyên sau:


Về tác giả


Andrew Shved là Kiến trúc sư Nguyên mẫu cấp cao của AWS, người dẫn dắt các nhóm và khách hàng trong việc xây dựng và triển khai các giải pháp dựa trên AI tạo sinh, từ nguyên mẫu ban đầu đến sản xuất trên AWS.


Muhammad Uzair Aslam là Giám đốc Chương trình Kỹ thuật lâu năm trong nhóm AWS Prototyping, nơi anh làm việc chặt chẽ với khách hàng để đẩy nhanh hành trình đám mây và AI của họ. Anh ấy phát triển mạnh mẽ khi đi sâu vào các chi tiết kỹ thuật và biến sự phức tạp thành các giải pháp có tác động, định hướng giá trị.


Arslan Mehboob là Kỹ sư Nền tảng và kiến trúc sư giải pháp được chứng nhận AWS với chuyên môn sâu về cơ sở hạ tầng đám mây, hệ thống có khả năng mở rộng và kỹ thuật phần mềm. Anh hiện đang xây dựng các nền tảng đám mây linh hoạt và đam mê AI cũng như các công nghệ mới nổi.


Vadim Shiianov là Nhà khoa học dữ liệu chuyên về học máy và các hệ thống dựa trên AI cho các ứng dụng kinh doanh thực tế. Anh ấy làm việc trong việc thiết kế và triển khai các giải pháp ML và AI tạo sinh giúp chuyển đổi dữ liệu phức tạp thành tác động có thể đo lường được. Anh ấy đam mê các công nghệ mới nổi và xây dựng các hệ thống thực tế, có khả năng mở rộng xung quanh chúng.