Phần lớn AI agent không cần GPU. Nếu agent của bạn gọi model qua API của nhà cung cấp LLM, máy chủ chỉ làm việc điều phối: chờ phản hồi qua mạng, xử lý JSON, gọi công cụ và ghi kết quả vào cơ sở dữ liệu. Đó là việc của CPU và RAM thông thường, và một VPS chạy AI agent cấu hình vừa phải là đủ. Bài này giúp bạn chọn máy chủ tại Mỹ, dựng worker chạy ổn định 24/7, bảo vệ API key, và nhận ra lúc nào nên chuyển sang máy có GPU.
Agent thực chất làm gì trên máy chủ
Một vòng lặp agent dùng LLM thường có các bước sau:
- Nhận việc từ hàng đợi, lịch chạy, webhook hoặc tin nhắn (Telegram, Zalo, Slack).
- Dựng prompt và gửi tới API của model qua HTTPS.
- Chờ phản hồi, có khi mất vài giây.
- Thực thi các tool mà model yêu cầu: tải trang web, truy vấn database, gọi API khác, ghi file.
- Lưu kết quả và lấy việc tiếp theo.
Thời gian chủ yếu nằm ở bước 3 và 4, tức là chờ hệ thống bên ngoài, còn CPU gần như rảnh. Hệ quả là một VPS nhỏ có thể chạy nhiều agent song song nếu code dùng async I/O hoặc nhiều tiến trình worker. Thứ cạn trước thường là RAM chứ không phải CPU, nhất là khi tool của bạn mở trình duyệt headless hoặc nạp tài liệu lớn vào bộ nhớ.
Vì sao đặt máy chủ tại Mỹ
Với agent, vị trí không nhạy cảm như máy chủ game, nhưng vẫn đáng cân nhắc:
- API bạn gọi nằm ở Mỹ. Nhiều endpoint LLM và dịch vụ SaaS mà agent dùng được phục vụ từ khu vực Mỹ. Đặt worker gần chúng giúp mỗi lượt gọi ngắn hơn, và một tác vụ có thể gọi hàng chục lần.
- Dữ liệu và khách hàng ở Bắc Mỹ. Nếu agent đọc database đặt tại Mỹ hoặc trả lời khách hàng Mỹ, đặt chung khu vực giúp cả chuỗi xử lý gọn hơn.
- Bờ Đông hay bờ Tây. Cloudj có máy chủ cloud tại Mỹ ở New York, Los Angeles, Santa Clara, Seattle, Chicago, Dallas, Atlanta và Miami. Hãy chọn thành phố gần các dịch vụ bạn gọi nhiều nhất. Bài chọn VPS Mỹ phân tích kỹ khác biệt giữa hai bờ, còn hướng dẫn khu vực châu Mỹ so sánh Mỹ với Canada và các vị trí khác.
Nếu agent chủ yếu phục vụ người dùng ở Việt Nam hay châu Á, đặt máy chủ ở châu Á có thể hợp lý hơn. Lượt gọi model chỉ là một chặng; phần còn lại của hệ thống cũng quan trọng không kém.
Chọn cấu hình VPS chỉ dùng CPU
Máy chủ Cloudj tại Mỹ bắt đầu từ 1 vCPU, 1 GB RAM, 20 GB ổ đĩa và lên tới cấu hình tùy chỉnh 104 vCPU, 512 GB RAM. Mỗi vị trí có 30 gói dựng sẵn, hoặc bạn tự phối vCPU, RAM và dung lượng ổ đĩa. Có thể tham khảo:
| Kiểu tải | Cấu hình khởi điểm | Cần theo dõi |
|---|---|---|
| Một bot hoặc vài agent chạy theo lịch, chỉ gọi API | 1 đến 2 vCPU, 1 đến 2 GB RAM | RAM nếu thêm database cục bộ |
| Nhiều agent đồng thời, có hàng đợi và Redis hoặc PostgreSQL | 2 đến 4 vCPU, 4 đến 8 GB RAM | Bộ nhớ database, số kết nối |
| Agent điều khiển trình duyệt headless | Từ 4 vCPU, từ 8 GB RAM | Mỗi trình duyệt có thể ngốn vài trăm MB |
| Chạy embedding hoặc model nhỏ trên CPU | CPU dedicated, từ 8 GB RAM | CPU tải liên tục, dung lượng file model |
Cloudj có ba loại CPU. CPU dùng chung ("Availability") phù hợp agent phần lớn thời gian chỉ chờ API. General purpose hợp với một stack hỗn hợp. CPU dedicated cho bạn nhân riêng, dành cho việc nặng CPU kéo dài như tính embedding suốt ngày đêm.
Cứ bắt đầu nhỏ. Bạn có thể tăng CPU, RAM và mở rộng ổ đĩa sau trong console mà không phải dựng lại từ đầu.
Dựng worker từng bước
Các bước dưới đây dùng Ubuntu hoặc Debian, cả hai đều có sẵn dưới dạng image.
Tạo user riêng và khóa SSH
Triển khai máy với SSH key, sau đó tạo user riêng cho agent để lỗi trong code không ảnh hưởng toàn hệ thống:
adduser --disabled-password agent
mkdir -p /opt/agent && chown agent:agent /opt/agent
ufw allow OpenSSH
ufw enable
Nếu agent chỉ gọi ra ngoài thì không cần mở thêm cổng inbound nào. Riêng phần nhận webhook, hãy đặt sau reverse proxy có TLS.
Giữ API key ngoài mã nguồn
Đừng commit API key vào repository hay đóng gói nó vào custom image. Hãy để trong một file chỉ user dịch vụ đọc được:
install -m 600 -o agent -g agent /dev/null /etc/agent.env
nano /etc/agent.env
Mỗi dòng một biến, ví dụ LLM_API_KEY=... và DATABASE_URL=.... Nên dùng key riêng cho từng máy chủ hoặc từng dự án để có thể thu hồi một key mà không làm sập mọi thứ, đồng thời đặt hạn mức chi tiêu ở phía nhà cung cấp model. Một vòng lặp agent bị lỗi có thể gọi hàng nghìn lần chỉ trong một đêm.
Chạy dưới dạng dịch vụ systemd
Dịch vụ systemd tự khởi động lại khi tiến trình bị crash hoặc máy chủ reboot:
cat > /etc/systemd/system/agent-worker.service <<'EOF'
[Unit]
Description=LLM agent worker
After=network-online.target
[Service]
User=agent
WorkingDirectory=/opt/agent
EnvironmentFile=/etc/agent.env
ExecStart=/opt/agent/venv/bin/python worker.py
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable --now agent-worker
journalctl -u agent-worker -f
Muốn chạy nhiều worker, dùng unit dạng template ([email protected]) rồi bật agent-worker@1, agent-worker@2, hoặc chạy bằng container với restart policy nếu bạn quen Docker.
Khi tải tăng, việc đầu tiên nên làm là thêm hàng đợi (Redis hoặc bảng jobs trong PostgreSQL) thay vì nâng máy ngay. Hàng đợi cho phép chạy lại tác vụ lỗi, giới hạn tốc độ khớp với quota API, và sau này thêm VPS thứ hai cùng lấy việc từ một hàng đợi.
Kiểm soát chi phí và vòng lặp mất kiểm soát
Chi phí của agent đến từ hai nơi: máy chủ và API model. Về máy chủ, Cloudj cho phép trả theo giờ từ số dư tài khoản hoặc trả trước kỳ hạn 1, 3, 6 hay 12 tháng. Tài khoản tính bằng USD, và khách hàng Việt Nam có thể nạp tiền bằng chuyển khoản ngân hàng theo VND.
Gói theo giờ hợp với thử nghiệm và các đợt chạy batch ngắn. Lưu ý máy chủ theo giờ vẫn bị tính phí khi đã tắt, vì ổ đĩa và IP vẫn được giữ; xóa máy khi thử nghiệm xong. Với agent chạy hằng ngày, gói tháng kèm lưu lượng 5 TB mỗi tháng tại Mỹ dễ dự trù hơn. Xem giá cập nhật trên trang bảng giá.
Về phía API, hãy ghi log lượng token theo từng tác vụ, giới hạn số bước mà agent được chạy trong một lượt, và theo dõi biểu đồ CPU, RAM, mạng trong console để phát hiện vòng lặp bị kẹt.
Khi nào VPS không còn đủ
VPS chỉ có CPU là lựa chọn sai khi bạn muốn tự chạy model. Phục vụ LLM mã nguồn mở, fine-tune, hay chạy model hình ảnh và giọng nói với tốc độ dùng được đều cần bộ nhớ GPU. Khi đó, hãy giữ phần điều phối agent trên một VPS rẻ và chuyển phần suy luận sang GPU cloud, hoặc tiếp tục dùng API có sẵn. Tách hai phần giúp thành phần chạy liên tục luôn nhỏ gọn, còn phần đắt tiền chỉ mở rộng khi cần.
Agent thu thập dữ liệu từ web có những vấn đề riêng: tốc độ crawl, quy định của từng trang và lúc nào cần thêm IP riêng. Bài VPS chạy tool scraping đi sâu phần đó. Nếu thứ bạn chạy là bot giao dịch chứ không phải agent LLM, bài VPS forex tại New York sát nhu cầu hơn.
Câu hỏi thường gặp
Chạy AI agent có cần GPU không?
Không, nếu agent gọi model qua API. VPS chỉ điều phối và chạy tool, vốn là việc của CPU và RAM. Chỉ khi tự chạy model bạn mới cần GPU.
VPS chạy agent cần bao nhiêu RAM?
Một agent gọi API chạy thoải mái trong 1 đến 2 GB. Database cục bộ, hàng đợi hay trình duyệt headless là những lý do phổ biến để nâng RAM.
Có chạy agent trên Windows được không?
Được. Cloudj có image Windows, kèm phí bản quyền hằng tháng hiển thị trong console trước khi triển khai. Tuy vậy, phần lớn framework agent được phát triển trên Linux nên Ubuntu hoặc Debian thường đơn giản hơn.
Nên chọn thành phố nào ở Mỹ?
Thành phố gần các API và database mà agent gọi nhiều nhất. Nếu chúng phân tán, một thành phố ở miền Trung hoặc bờ Đông là lựa chọn mặc định hợp lý.
Triển khai máy chủ cho agent
Chọn một thành phố tại Mỹ, bắt đầu với gói CPU dùng chung hoặc general purpose cỡ nhỏ, rồi nâng cấp khi số liệu theo dõi cho thấy cần. Bạn có thể triển khai trong vài bước tại console Cloudj, nơi hiển thị giá chính xác trước khi xác nhận.