TROISINH
Nâng cao & Tự động hoáTính năng nâng cao

/loop và /schedule: Tự động hoá tác vụ định kỳ

Quên cron job đi—dùng /loop và /schedule để Claude Code tự động hóa tác vụ định kỳ. Kiểm tra lỗi, báo cáo dữ liệu bằng ngôn ngữ tự nhiên, không cần viết script.

Định nghĩa

/loop/schedule là hai built-in skills trong Claude Code cho phép lập lịch và thực thi tác vụ định kỳ bằng ngôn ngữ tự nhiên. Khác với cron job truyền thống chỉ biết lặp lại một cách mù quáng, cặp lệnh này biến AI assistant thành automation agent có trí nhớ—tự động điều chỉnh hành vi dựa trên kết quả của lần chạy trước và duy trì ngữ cảnh dự án qua từng phiên làm việc.

Giải thích chi tiết

Từ "máy lặp vô tri" sang "watchdog có não"

Truyền thống, cron job là stateless: mỗi lần chạy là một quá trình mới hoàn toàn (trang giấy trắng). Bạn phải viết script để lưu trạng thái vào file hoặc database nếu muốn nhớ điều gì đó từ lần chạy trước.

/loop thay đổi điều này bằng cách duy trì conversation context giữa các lần lặp. Nếu bạn lệnh "mỗi giờ kiểm tra log lỗi và sửa nếu đơn giản", Claude sẽ nhớ cách fix đã thử hôm qua không hiệu quả, hôm nay sẽ thử cách khác. Đây là sự khác biệt giữa một con vàng mỗi lần quay lại đều quên mọi thứ và một con chó canh nhà thực sự—có trí nhớ, có khả năng học hỏi từ lỗi lầm trước đó.

Semantic scheduling: Nói là làm

Thay vì ép bạn học cú pháp cron rối rắm (0 */6 * * *), /schedule hiểu ngôn ngữ tự nhiên: "mỗi sáng thứ Hai lúc 9 giờ", "5 phút một lần", hay "khi có commit mới". Hệ thống tự động parse ý định của bạn thành lịch trình thực thi.

Điểm mạnh của cách tiếp cận này là xử lý mơ hồ (ambiguity handling). Khi bạn nói "kiểm tra build có healthy không", Claude có thể tự định nghĩa "healthy" dựa trên pattern lịch sử—điều mà cron job cứng nhắc không bao giờ làm được mà không cần hàng trăm dòng code heuristic.

Tích hợp MCP cho workflow đa tầng

Kết hợp với MCP (Model Context Protocol), /loop có thể thực hiện workflow phức tạp xuyên suốt nhiều hệ thống. Ví dụ: "Mỗi giờ, query database kiểm tra đơn hàng Shopee lỗi → nếu có, tạo GitHub issue → gửi Slack alert cho team". Tất cả được thực hiện trong một context session liên tục, thay vì phải ghép nối nhiều script riêng lẻ.

Chạy nền và Headless execution

/loop hỗ trợ hai chế độ:

  • Interactive: Chạy như background task trong session hiện tại, bạn có thể kiểm tra tiến độ bất cứ lúc nào
  • Headless: Kết hợp với claude -p (print mode) để chạy trong CI/CD pipeline, xuất kết quả dạng JSON cho hệ thống khác xử lý

Ví dụ thực tế

Babysit PR tự động (The Boris Cherny Pattern)

Boris Cherny—creator của Claude Code—sử dụng /loop để tự động hóa quy trình review và merge:

/loop 5m /babysit

Lệnh này khiến Claude mỗi 5 phút kiểm tra các PR đang chờ: rebase nếu cần, chạy lại test nếu fail, và "shepherd" (hộ tống) chúng đến production. Đây là tác vụ vô cùng tẻ nhạt với developer nhưng lý tưởng cho AI—đòi hỏi kiên nhẫn và nhất quán, không cần sáng tạo.

Báo cáo chất lượng CSKH hàng ngày

Áp dụng case study của Bùi Tấn Việt với hệ thống Chat Quality Agent:

/schedule every weekday 8am "Phân tích chat quality đêm qua từ MCP Slack, tổng hợp top 3 lỗi thường gặp, gửi báo cáo vào channel #daily-report"

Mỗi sáng, thay vì phải mở dashboard, lọc filter, copy-paste dữ liệu, Claude tự động kéo dữ liệu qua MCP, phân tích bằng subagent chuyên biệt, và đăng kết quả. Context từ ngày hôm trước được giữ lại nên Claude biết "hôm qua chúng ta đang fix vấn đề gì để tiếp tục theo dõi".

Dọn dẹp và tối ưu code định kỳ

/loop 1h /simplify

Mỗi giờ, Claude tự động rà soát code vừa được commit, tìm kiếm cơ hội refactor đơn giản, loại bỏ dead code, hoặc tối ưu import. Khác với CI/CD chỉ chạy một lần khi push, /loop có thể chạy liên tục trong nền, "dọn dẹp" codebase dần dần như người giúp việc lau nhà mỗi ngày thay vì đợi cuối tuần mới quét dọn một lần.

Ứng dụng

Developer cá nhân

  • Tự động hóa "chores": Chạy linter, format code, kiểm tra security vulnerability trong dependency mỗi ngày
  • Giám sát side project: Theo dõi log error từ VPS, restart service nếu cần, báo cáo qua Telegram

Team Lead & Tech Lead

  • Giảm bottleneck review: Dùng /loop để pre-screen PR, chạy test cơ bản, và chỉ đánh thức senior dev khi thực sự cần judgment
  • Báo cáo tự động: Tổng hợp metrics từ GitHub, Jira, và monitoring tools, gửi newsletter kỹ thuật hàng tuần cho team

Data Analyst & Marketing

  • Dashboard tự cập nhật: Mỗi sáng tự động query database, generate chart, và gửi vào Slack channel
  • Social monitoring: Theo dõi mention trên Zalo OA hoặc Facebook, phân loại sentiment, và tạo báo cáo tổng hợp cuối ngày

Doanh nghiệp vừa và nhỏ

  • Thay thế RPA đơn giản: Tự động hóa các tác vụ lặp đi lặp lại như xử lý hóa đơn, chuẩn hóa dữ liệu khách hàng từ CSV, hoặc kiểm tra tồn kho

So sánh

Đặc điểm/loop & /scheduleCron job truyền thốngEnterprise Scheduler (Airflow/Temporal)
Cú pháp lập lịchNgôn ngữ tự nhiênCron expressionPython DAG
Trạng tháiStateful (nhớ context, học từ lỗi)Stateless (mỗi lần chạy là mới)Stateful (database backend)
Xử lý lỗiAdaptive (tự điều chỉnh chiến lược)Fail silently hoặc retry đơn giảnLogic retry phức tạp, cần cấu hình
Chi phí vận hànhAPI tokens (tính theo usage)Free (chạy trên server cũ)Infrastructure cost (worker, database)
Khả năng tích hợpMCP native, đa dạng toolsChỉ shell commandsTích hợp rộng nhưng cần setup
Quy môPersonal đến small teamPersonalEnterprise
Độ tin cậy SLABest-effortBest-effortHigh availability (99.9%+)

Kết luận: /loop/schedule nằm ở vị trí "sweet spot" giữa sự đơn giản của cron và sức mạnh của enterprise scheduler. Chúng phù hợp khi bạn cần automation "thông minh" có khả năng thích ứng, nhưng không muốn trả chi phí vận hành của Airflow hay viết boilerplate của cron script truyền thống.

Bài viết liên quan

Cùng cụm (Advanced Features)

Đọc tiếp (Pro Automation)

On this page