Đột Phá Với Docker Desktop 4.43: Khi AI Agent Gặp Docker Compose Trên Mây!
Lê Lân
1
Docker Compose và Docker Offload: Cách Mạng Trong Việc Triển Khai Hệ Thống AI Đa Tác Nhân
Mở Đầu
Với sự phát triển nhanh chóng của trí tuệ nhân tạo (AI), việc triển khai các mô hình AI và hệ thống đa tác nhân trở nên ngày càng phức tạp. Docker Desktop 4.43 ra mắt vào ngày July 3, 2025 đã mở ra một chương mới khi cho phép người dùng khai báo các mô hình AI, các tác nhân và công cụ MCP trong cùng một file compose.yaml và khởi chạy toàn bộ hệ thống chỉ với một lệnh docker compose up.
Trong bài viết này, chúng ta sẽ khám phá cách Docker đã đơn giản hóa quá trình xây dựng và triển khai hệ thống đa tác nhân AI, đặc biệt là mẫu ví dụ A2A Multi-Agent Fact Checker do docker/compose-for-agents chính thức cung cấp. Đồng thời, bài viết cũng giới thiệu về Docker Offload - một tính năng beta cho phép chạy trực tiếp các dự án Compose trên đám mây với GPU NVIDIA L4, giúp chạy các mô hình lớn từ chiếc laptop khiêm tốn nhất.
Tổng Quan Về Hệ Thống A2A Multi-Agent Fact Checker
Khái Quát Mẫu Hệ Thống
A2A Multi-Agent Fact Checker là hệ thống đa tác nhân được xây dựng dựa trên Google’s ADK (Agent Development Kit) và giao thức A2A. Hệ thống bao gồm ba tác nhân chính:
Auditor: Phân tích yêu cầu người dùng thành các nhiệm vụ con, giao cho các tác nhân Critic và Reviser, thu thập kết quả cuối cùng và trả về giao diện người dùng.
Critic: Thực hiện tìm kiếm thông tin bên ngoài thông qua công cụ DuckDuckGo MCP để thu thập bằng chứng hỗ trợ.
Reviser: Tinh chỉnh và xác minh kết quả dựa vào bằng chứng từ Critic và bản nháp ban đầu từ Auditor.
Điểm đặc biệt là mô hình suy luận (Gemma 3 4B-Q4) được host qua Docker Model Runner, còn Critic giao tiếp với thế giới ngoài thông qua MCP Gateway.
Kiến Trúc Hệ Thống
Chi Tiết File compose.yaml
Giới Thiệu File compose.yaml
File compose.yaml định nghĩa toàn bộ dịch vụ trong hệ thống đa tác nhân với cấu trúc rõ ràng, gồm các services, models, và cách thức liên kết giữa chúng. Đây là điểm cải tiến lớn khi bạn có thể:
Định nghĩa tất cả tác nhân, công cụ, mô hình AI trong cùng một file.
Điều phối khởi động các dịch vụ (bằng depends_on).
Tiêm biến môi trường cho từng tác nhân để linh hoạt cấu hình.
Các Service Chính
Service
Mô Tả
Các Yếu Tố Liên Quan
auditor-agent-a2a
Tác nhân Auditor điều phối toàn bộ workflow
depends_on critic-agent-a2a, reviser-agent-a2a
critic-agent-a2a
Tác nhân Critic thực hiện tìm kiếm thông tin
depends_on mcp-gateway
reviser-agent-a2a
Tác nhân Reviser tinh chỉnh kết quả
depends_on mcp-gateway
mcp-gateway
Cổng MCP kết nối với các MCP Servers (DuckDuckGo)
Image docker/mcp-gateway:latest
Ví dụ đoạn cấu hình cho service auditor-agent-a2a
auditor-agent-a2a:
build:
target:auditor-agent
ports:
-"8080:8080"
environment:
-CRITIC_AGENT_URL=http://critic-agent-a2a:8001
-REVISER_AGENT_URL=http://reviser-agent-a2a:8001
depends_on:
-critic-agent-a2a
-reviser-agent-a2a
Mô hình (Models) được khai báo cấp cao
Ở cấp độ top-level bên ngoài services, bạn khai báo các mô hình AI để Docker Model Runner tự động kéo về và chạy:
models:
gemma3:
model:ai/gemma3:4B-Q4_0
context_size:10000
Nguyên tắc Inject biến môi trường cho từng tác nhân
Mỗi dịch vụ sẽ sử dụng biến môi trường để nhận URL và tên mô hình, tránh phải cứng mã đường dẫn:
export MODEL_RUNNER_URL=http://model-runner:12434
export MODEL_RUNNER_MODEL=gemma3
Điều này giúp ứng dụng đọc linh hoạt từ biến môi trường mà không cần thay đổi code khi thay đổi mô hình.
Chạy Local và Khả Năng Triển Khai Trực Tuyến Với Docker Offload
Chạy Locally
Bạn có thể khởi chạy toàn bộ hệ thống dễ dàng với:
docker compose up --build
Điều đáng chú ý là mô hình Gemma 3 4B-Q4 đã được lượng tử hóa (quantized) để có thể chạy trên MacBook Air M2.
Sử Dụng Docker Offload Chạy Trên Cloud
Tại sao cần Docker Offload?
Với các mô hình lớn hơn như Gemma 27B Q4, GPU tại máy local thường không đủ sức mạnh để xử lý. Docker Offload cho phép chuyển phần tải này lên đám mây sử dụng GPU NVIDIA L4 nhanh và mạnh mẽ.
Bước kích hoạt Docker Offload
Đăng ký beta trên trang chính thức Docker Offload.
Vào Settings > Beta Features, kích hoạt:
Enable Docker Offload
Enable Docker Offload GPU Support
Chuyển toggle Docker Desktop sang biểu tượng đám mây hoặc chạy:
docker offload start
File cấu hình override compose.offload.yaml
models:
gemma3:
model:ai/gemma3-qat:27B-Q4_K_M
context_size:10000
Cách chạy với Offload
Kết hợp file compose.yaml và compose.offload.yaml để override cấu hình mô hình và chạy trên cloud:
docker compose -f compose.yaml -f compose.offload.yaml up --build
Docker Offload cung cấp 300 GPU credits miễn phí, phí phát sinh là 0.015 USD cho mỗi giây GPU sử dụng. Đừng quên tắt Offload khi không dùng để tránh tốn chi phí:
docker offload stop
Kết Luận
Docker Desktop 4.43 cùng với Docker Offload đã đem lại bước tiến đột phá trong triển khai và vận hành các hệ thống AI đa tác nhân. Việc sử dụng file compose.yaml duy nhất cho phép định nghĩa và quản lý toàn bộ dịch vụ, mô hình và công cụ một cách gọn gàng, đồng thời cho phép chạy cả offline và trên cloud chỉ với một câu lệnh.
Nếu bạn đang làm việc với các hệ thống AI phức tạp, việc tận dụng Docker Compose và Docker Offload sẽ giúp tối ưu hóa quy trình làm việc và tăng cường khả năng mở rộng hiệu quả.
Hãy thử nghiệm ngay hôm nay và chia sẻ những kinh nghiệm quý báu của bạn!