Agent chạy qua đêm: chuẩn bị VPS thế nào để sáng dậy không mất việc

Chia sẻ bài viết

Mục lục
Agent chạy qua đêm: chuẩn bị VPS thế nào để sáng dậy không mất việc

Trả lời nhanh: Sáu bước chuẩn bị: chạy trong tmux để phiên sống độc lập với kết nối, kiểm tra RAM còn dư và bật swap dự phòng, kiểm tra ổ còn trên 20 phần trăm trống, ghi log ra file để sáng đọc lại, đặt giới hạn số vòng lặp và hạn mức chi tiêu API, và quan trọng nhất là commit mã nguồn lên kho lưu trữ trước khi cho agent sửa hàng loạt. Bước cuối là thứ cứu bạn khi agent đi sai hướng suốt đêm.

Cho agent làm việc trong lúc mình ngủ là ý tưởng hấp dẫn nhất của vibe coding. Nhưng đêm không có ai canh, nên mọi thứ có thể sai đều nên được chặn trước.

Tóm tắt nhanh
  • Commit mã nguồn trước khi giao việc là bước quan trọng nhất, không phải bước cấu hình máy.
  • tmux giữ phiên sống khi bạn đóng máy.
  • Hết RAM và ổ đầy là hai nguyên nhân chết phiên phổ biến nhất.
  • Giới hạn vòng lặp chặn cả rủi ro kỹ thuật lẫn rủi ro hoá đơn.

Checklist sáu bước

  1. Commit và đẩy mã nguồn lên kho. Sáng ra thấy agent đi sai hướng thì bạn quay lại được trạng thái cũ trong một lệnh. Không có bước này, mọi bước còn lại đều không cứu được bạn.
  2. Chạy trong tmux. Đóng laptop, rớt mạng, phiên vẫn chạy.
  3. Kiểm tra RAM và bật swap. Hết RAM giữa đêm là kết thúc âm thầm, không có thông báo.
  4. Kiểm tra dung lượng ổ. Log và file trung gian phình nhanh khi chạy hàng trăm vòng.
  5. Ghi log ra file. Sáng đọc lại toàn bộ quá trình, biết nó đã làm gì và dừng ở đâu.
  6. Đặt giới hạn vòng lặp và hạn mức API. Agent gặp lỗi lạ có thể thử lại hàng trăm lần suốt đêm.

Ba lệnh kiểm tra trước khi đi ngủ

df -h            # ổ còn trên 20 phần trăm trống chưa
free -h          # RAM còn dư, swap đã bật chưa
git status       # đã commit hết chưa

Ba lệnh này mất ba mươi giây và chặn được phần lớn tình huống mất trắng một đêm.

Vì sao ổ nhanh quan trọng với tác vụ qua đêm

Tác vụ qua đêm thường là loại nhiều vòng lặp: sửa, build, test, đọc lỗi, sửa tiếp. Mỗi vòng đều đọc ghi ổ đĩa rất nhiều.

Ổ chậm không làm agent sai, nhưng nó làm số vòng hoàn thành được trong một đêm ít đi. Cùng tám tiếng, ổ NVMe cho nhiều vòng hơn, nghĩa là sáng dậy công việc đi xa hơn.

Buổi sáng nên kiểm gì trước

  1. Đọc log từ cuối lên, xem nó dừng vì hoàn thành hay vì lỗi.
  2. Chạy lại test một lượt, đừng tin kết quả agent tự báo.
  3. Xem diff toàn bộ thay đổi trước khi hợp nhất.
  4. Kiểm tra dung lượng ổ và dọn file trung gian.

Bước hai đáng nhấn mạnh: agent có thể báo đã xong trong khi test thật sự chưa chạy hoặc đã bị sửa cho dễ qua. Chạy lại là cách duy nhất chắc chắn.

Danh sách kiểm trước khi đi ngủ

# 1. Con bao nhieu o dia (day o la nguyen nhan chet im lang so mot)
df -h / && du -sh ~/.cache /tmp 2>/dev/null

# 2. Bo nho con du khong, va da co vung nho tam chua
free -h && swapon --show

# 3. Chay trong bo ghep man hinh, ghi lai toan bo dau ra
tmux new -s dem 'lenh-cua-ban 2>&1 | tee /root/dem-$(date +%F).log'

# 4. Ghi lai tinh trang may moi 5 phut, de sang mai truy nguyen nhan
(while true; do date; free -m | head -2; uptime; df -h / | tail -1; \
  echo ---; sleep 300; done) > /root/theodoi-$(date +%F).log &

# 5. Dat canh bao khi o dia sap day
echo '*/10 * * * * [ $(df / | tail -1 | awk "{print \$5}" | tr -d %) -gt 85 ] && \
  echo "o dia sap day" | mail -s "canh bao" [email protected]' | crontab -

Bốn nguyên nhân mất việc qua đêm

Nguyên nhânDấu hiệu sáng hôm sauCách chặn
Mất kết nối, phiên chết theoKhông thấy dấu vết gì, việc dừng ở giữaChạy trong bộ ghép màn hình
Hết bộ nhớ, tiến trình bị dừngdmesg có dòng báo hết bộ nhớThêm RAM hoặc đặt vùng nhớ tạm
Ổ đĩa đầyLỗi ghi tệp, hoặc treo im lặngDọn trước, và đặt cảnh báo ở mức 85%
Hết hạn mức gọi dịch vụNhật ký có lỗi vượt giới hạnĐặt thử lại giãn dần, và chia việc thành chặng

Buổi sáng kiểm gì, theo thứ tự

  1. Đọc cuối tệp nhật ký công việc: nó dừng ở đâu, có báo lỗi gì.
  2. Đọc tệp theo dõi tình trạng máy quanh mốc thời gian đó: bộ nhớ và ổ đĩa lúc ấy thế nào.
  3. Chạy dmesg | tail -50 tìm dòng báo hệ thống dừng tiến trình.
  4. Chỉ khi ba bước trên đều sạch mới nghi tới phía dịch vụ bên ngoài.

Vì sao ổ nhanh quan trọng: công việc chạy qua đêm thường đọc và ghi rất nhiều tệp nhỏ. Trên ổ chậm, phần chờ ổ đĩa cộng dồn cả đêm có thể chiếm hơn nửa tổng thời gian. Xem VPS NVMe.

Câu hỏi thường gặp

Làm sao để phiên không chết khi đóng máy?

Chạy trong tmux hoặc screen. Phiên sống độc lập với kết nối SSH của bạn, mở lại bằng lệnh attach.

Agent chạy qua đêm có tốn nhiều tiền API không?

Có thể, nhất là khi nó lặp lại vì gặp lỗi không tự thoát được. Luôn đặt hạn mức chi tiêu trên bảng điều khiển của nhà cung cấp mô hình và giới hạn số vòng.

Nên giao loại việc gì cho ban đêm?

Việc rõ ràng, có tiêu chí đúng sai kiểm được bằng test: viết test, sửa lỗi có bước tái hiện, chuyển đổi mã hàng loạt. Việc cần quyết định kiến trúc thì nên ngồi cùng.

Ổ NVMe giúp gì cho tác vụ qua đêm?

Rút ngắn mỗi vòng lặp nên trong cùng số giờ agent hoàn thành được nhiều vòng hơn. Nó không làm agent thông minh hơn, chỉ làm nó đi xa hơn.

Hạ tầng NVMe Enterprise của TND
VPS ổ Enterprise U.2 NVMe, CPU xung cao, đặt tại Việt Nam
Truy vấn SQL, PHP dựng trang, build Next.js hay đóng gói app iOS và Android: phần lớn các bước này chạy đơn luồng và đập liên tục vào ổ đĩa. Nghẽn nằm ở tốc độ đọc ghi và xung nhịp CPU, không phải ở việc có thật nhiều nhân. Ổ Enterprise U.2 NVMe chuẩn máy chủ chạy RAID 10 cho IOPS đọc ghi ngẫu nhiên gấp 5 đến 7 lần ổ SATA SSD, khác hẳn NVMe M.2 phổ thông. Chạy trên chip Intel Xeon Platinum dòng xung cao, backup tự động hàng tuần, bàn giao trong 5 phút.
Xem VPS NVMe Enterprise, chip Intel Xeon Platinum xung cao

Bài viết liên quan