Back to articles
Technology Insight

Xây Dựng Hạ Tầng Serverless AI Agent Workers Tự Host Trên VPS Giá Rẻ Với Bun Runtime Và Ollama

May 26, 2026

Đặt Vấn Đề: Thách Thức Chi Phí Khi Vận Hành AI Agent Toàn Thời Gian

Trong kỷ nguyên trí tuệ nhân tạo (AI) bùng nổ, việc triển khai các AI Agent tự động thực hiện tác vụ (như thu thập dữ liệu, phân tích thị trường, hay tự động trả lời email) đang trở thành xu hướng tất yếu của doanh nghiệp. Tuy nhiên, rào cản lớn nhất đối với các kỹ sư và doanh nghiệp khởi nghiệp chính là chi phí vận hành hạ tầng.

Nếu sử dụng dịch vụ Cloud lớn như AWS Lambda hay OpenAI API, chi phí tính theo lượng token và số lượt gọi hàm (API calls) có thể tăng vọt theo cấp số nhân khi AI Agent chạy vòng lặp liên tục. Ngược lại, nếu thuê một cấu hình VPS GPU chuyên dụng, chi phí cố định hàng tháng sẽ cực kỳ đắt đỏ. Giải pháp tối ưu chính là: Tự chế tạo kiến trúc "Serverless" AI Agent Worker trên một VPS cấu hình khiêm tốn (Giá rẻ), tận dụng tối đa sức mạnh phần cứng thông qua bộ đôi công nghệ đột phá: Bun Runtime và Ollama.

Tại Sao Lại Chọn Bun Runtime Và Ollama Cho Hạ Tầng Này?

Để hệ thống có thể vận hành mượt mà trên môi trường hạn chế tài nguyên (ví dụ: VPS 2 vCPU, 4GB RAM), cấu trúc phần mềm phải cực kỳ tinh gọn và có tốc độ thực thi tối đa. Đó là lý do chúng ta kết hợp hai công cụ này:

  • Bun Runtime: Được viết bằng Zig và sử dụng bộ máy WebKit WebCore, Bun có tốc độ khởi động nhanh hơn Node.js gấp nhiều lần và tiêu tốn ít bộ nhớ hơn đáng kể. Cơ chế tích hợp sẵn HTTP server hiệu năng cao giúp tạo ra các Serverless Worker kích hoạt theo sự kiện (Event-driven) chỉ trong vài phần nghìn giây.
  • Ollama: Công cụ quản lý và chạy các Mô hình Ngôn ngữ Lớn (LLM) cục bộ (Local) một cách tối giản và hiệu quả. Ollama tối ưu hóa việc phân bổ mô hình vào RAM/CPU, hỗ trợ lượng quantization cao (như Q4_K_M) giúp các mô hình lớn như Llama 3 hay Phi-3 có thể chạy ổn định ngay trên CPU của VPS thông thường mà không nhất thiết phải có GPU đắt tiền.

Kiến Trúc Tổng Quan Của Hệ Thống "Serverless" Agent Worker

Kiến trúc hệ thống hoạt động theo nguyên lý hướng sự kiện (Event-driven). Hệ thống sẽ không chạy ngầm liên tục gây hao phí CPU, thay vào đó nó sẽ hoạt động theo mô hình Hybrid-Serverless:

  1. Một API Gateway bằng Bun lắng nghe các webhook hoặc yêu cầu từ hệ thống chính.
  2. Khi có request, Bun lập tức khởi tạo hoặc kích hoạt các hàm xử lý logic (Worker Context).
  3. Worker gửi prompt tối ưu đến Ollama API đang chạy ngầm trên cùng một VPS thông qua cổng nội bộ (http://localhost:11434).
  4. Ollama thực thi suy luận (Inference), trả kết quả về cho Bun Worker xử lý thô, thực hiện công cụ ngoại vi (Tools/Function Calling), sau đó giải phóng bộ nhớ ngay lập tức.
Lưu ý về định nghĩa "Serverless": Trong ngữ cảnh tự host (Self-hosted), khái niệm serverless ở đây ám chỉ việc trừu tượng hóa tài nguyên tính toán. Các Worker xử lý logic của Agent sẽ được quản lý cô lập, co giãn theo yêu cầu, và tự động thu hồi tài nguyên khi không có tác vụ nào xử lý, giúp VPS không bị quá tải.

Hướng Dẫn Từng Bước Triển Khai Trên VPS

Bước 1: Chuẩn Bị Môi Trường Và Cài Đặt Cập Nhật Hệ Thống

Kết nối vào VPS của bạn qua SSH và thực hiện cập nhật toàn bộ các gói hệ thống để đảm bảo tính ổn định và bảo mật cao nhất:

sudo apt update && sudo apt upgrade -y
sudo apt install curl git build-essential -y

Bước 2: Cài Đặt Ollama Và Tải Mô Hình AI Tối Ưu

Cài đặt Ollama vô cùng đơn giản bằng tập lệnh chính thức. Hệ thống sẽ tự động nhận diện cấu hình phần cứng của VPS để tối ưu hiệu năng:

curl -fsSL [https://ollama.com/install.sh](https://ollama.com/install.sh) | sh

Sau khi cài đặt thành công, hãy kiểm tra trạng thái dịch vụ và tải về một mô hình gọn nhẹ, tối ưu cho CPU như Llama3 (8B) hoặc Phi-3 (3.8B):

ollama run phi3:mini

Mẹo nhỏ: Dòng mô hình Phi-3 của Microsoft hoặc Qwen-2.5-Coder rất phù hợp cho VPS giá rẻ nhờ khả năng tư duy logic cao nhưng dung lượng RAM chiếm dụng cực thấp (chỉ khoảng 2.2GB RAM).

Bước 3: Cài Đặt Bun Runtime Và Thiết Lập Dự Án Agent

Cài đặt Bun chỉ với một dòng lệnh duy nhất:

curl -fsSL [https://bun.sh/install](https://bun.sh/install) | bash
source ~/.bashrc

Khởi tạo một thư mục dự án mới và cài đặt thư viện cần thiết để giao tiếp với AI:

mkdir serverless-ai-agent && cd serverless-ai-agent
bun init -y
bun add @ollama/modelfile zod

Bước 4: Viết Mã Nguồn Cho Worker Điều Hướng Sự Kiện (Event-driven)

Tạo file index.ts để xây dựng một HTTP Server siêu tốc bằng Bun, đóng vai trò nhận nhiệm vụ và điều phối Agent xử lý logic:

import { serve } from "bun";

serve({
  port: 3000,
  async fetch(req) {
    if (req.method !== "POST") {
      return new Response("Chỉ hỗ trợ phương thức POST", { status: 405 });
    }

    try {
      const body = await req.json();
      const { task, context } = body;

      if (!task) {
        return new Response("Thiếu thông tin tác vụ (task)", { status: 400 });
      }

      // Gọi sang Ollama một cách bất tuần tự (Async) đóng vai trò Worker thực thi
      const aiResponse = await fetch("http://localhost:11434/api/generate", {
        method: "POST",
        body: JSON.stringify({
          model: "phi3:mini",
          prompt: `Bạn là một AI Agent chuyên nghiệp. Hãy xử lý tác vụ sau dựa trên dữ liệu đầu vào.\nTác vụ: ${task}\nDữ liệu: ${context}`,
          stream: false
        })
      });

      const aiData = await aiResponse.json();
      
      return new Response(JSON.stringify({
        success: true,
        agent_output: aiData.response
      }), {
        headers: { "Content-Type": "application/json" }
      });

    } catch (error) {
      return new Response(JSON.stringify({ error: error.message }), { status: 500 });
    }
  },
});

console.log("Serverless AI Agent Worker đang chạy tại cổng 3000...");

Chiến Lược Tối Ưu Hóa Bộ Nhớ Và Hiệu Năng Cho VPS Giá Rẻ

Để hệ thống hoạt động bền bỉ 24/7 trên một VPS có cấu hình hạn chế mà không gặp lỗi Out Of Memory (OOM), bạn bắt buộc phải áp dụng các chiến lược quản trị tài nguyên nghiêm ngặt sau:

  • Sử dụng Biến Môi Trường Giới Hạn Bộ Nhớ Đệm Của Ollama: Mặc định, Ollama sẽ giữ mô hình trong bộ nhớ RAM khoảng 5 phút sau lần gọi cuối cùng. Hãy cấu hình giảm thời gian này xuống bằng cách đặt biến môi trường OLLAMA_KEEP_ALIVE=1m (chỉ giữ 1 phút) để giải phóng RAM ngay khi tác vụ hoàn thành.
  • Cấu hình Swap Space cho Linux: Nếu VPS của bạn chỉ có 4GB RAM, hãy chủ động tạo thêm 4GB đến 8GB Swap trên ổ cứng SSD. Điều này ngăn chặn tiến trình Ollama bị hệ điều hành hủy đột ngột (Killed) khi xử lý các prompt dài vượt ngưỡng RAM vật lý.
  • Tận dụng cơ chế Stream Output: Thay vì đợi toàn bộ đoạn văn bản dài hàng trăm từ được sinh ra hoàn chỉnh, hãy chuyển cấu hình sang stream: true trong mã nguồn Bun nhằm chuyển tiếp dữ liệu theo thời gian thực về phía Client, giảm đáng kể áp lực tải bộ đệm dữ liệu lên RAM của server.

Kết Luận

Việc kết hợp Bun Runtime và Ollama mở ra một hướng đi đột phá trong việc xây dựng hệ sinh thái AI độc lập cho cá nhân và doanh nghiệp nhỏ. Bạn không còn bị phụ thuộc vào các điều khoản chi phí ngặt nghèo từ các ông lớn công nghệ. Với một tư duy tối ưu hóa hạ tầng đúng đắn, một chiếc VPS giá vài USD một tháng hoàn toàn có thể trở thành trung tâm đầu não vận hành mạng lưới Serverless AI Agent Workers tự động, bảo mật và hiệu suất cao.

Xây Dựng Hạ Tầng Serverless AI Agent Workers Tự Host Trên VPS Giá Rẻ Với Bun Runtime Và Ollama | DPTCloud