Bỏ qua điều hướng
Lập trình viên

Lệnh /loop trong Claude Code

Lệnh loop trong Claude Code giúp tự động hóa lời nhắc lặp lại, tối ưu hóa rà soát mã nguồn và quản lý tác vụ định kỳ hiệu quả ngay trong phiên làm việc.

Tuan Tran Van
8 phút đọc
Mục lục (7 phần)
  1. /loop là gì và nó chạy thế nào?
  2. Ba cách gọi /loop
  3. Khoảng cố định, chế độ tự điều nhịp và cron
  4. Tùy biến mặc định bằng loop.md
  5. Quản lý, dừng loop và nhắc một lần
  6. Khi nào nên — và không nên — dùng /loop
  7. Tài liệu tham khảo

Lệnh /loop trong Claude Code là công cụ tự động hóa các lời nhắc (prompt) lặp lại ngay trong một phiên làm việc (session).

Thay vì gõ tay từng câu lệnh kiểm tra trạng thái build, rà soát mã nguồn hay theo dõi lỗi CI, bạn thiết lập để Claude tự chạy các tác vụ đó theo chu kỳ định sẵn. Lệnh này giúp bạn giữ đúng mục tiêu công việc ngay cả khi phiên trải qua nhiều chu kỳ nén ngữ cảnh (compaction) — thời điểm AI dễ "quên" định hướng ban đầu.

Về bản chất, /loop mang tính "session-scoped": nó chỉ hoạt động khi phiên Claude Code hiện tại còn mở và ở trạng thái rảnh (idle). Đóng terminal hay mở một phiên mới, các vòng lặp sẽ dừng. Đây là cách biến Claude từ một trợ lý phản hồi thụ động thành một "nhà thầu" chủ động giám sát dự án trong suốt quá trình bạn viết mã.

Một vòng lặp tự động chạy các tác vụ kiểm tra build, PR và CI theo chu kỳ trong khi lập trình viên vẫn tiếp tục viết mã trong terminal — minh hoạ ý tưởng cốt lõi của lệnh /loop.

/loop là gì và nó chạy thế nào?

Kỹ thuật đằng sau /loop bắt nguồn từ cơ chế xác thực kết quả lặp lại (iterative verification), trước đây thường được gọi là "Ralph Wiggums". Đây là cách cho AI liên tục kiểm tra xem nhiệm vụ đã thực sự hoàn thành đúng yêu cầu hay chưa, tránh việc dừng lại quá sớm khi kết quả mới đi được một nửa. Trong Claude Code, cơ chế này được chuẩn hóa thành một kỹ năng (skill) hệ thống.

Khi bạn kích hoạt /loop, Claude Code đăng ký một tác vụ định kỳ (cron job) ngay bên trong tiến trình của chính nó. Khác với cron job ở cấp hệ điều hành — vốn rắc rối về đường dẫn và biến môi trường — /loop quản lý mọi thứ nội bộ. Tác vụ này kế thừa toàn bộ quyền hạn (permission) và các MCP server từ phiên hiện tại, nên có thể truy cập file, chạy lệnh shell hay gọi các công cụ như Slack, Gmail mà không cần cấu hình lại.

Ba cách gọi /loop

Bạn có thể triển khai /loop theo ba kịch bản, tùy mức độ kiểm soát mong muốn:

Ba cách gọi /loop: kèm khoảng thời gian và lời nhắc cho lịch cố định, chỉ lời nhắc để Claude tự điều nhịp, hoặc để trống để chạy lời nhắc bảo trì mặc định.

  1. Cung cấp cả khoảng thời gian và lời nhắc: bạn xác định chính xác tần suất lẫn nhiệm vụ. Ví dụ: /loop 5m check the deploy.
  2. Chỉ cung cấp lời nhắc: bạn đưa ra mục tiêu, Claude tự chọn khoảng nghỉ (tự điều nhịp) dựa trên trạng thái dự án — đợi ngắn khi build đang chạy, đợi lâu hơn khi không có gì thay đổi.
  3. Không cung cấp gì, hoặc chỉ có khoảng thời gian: Claude chạy lời nhắc bảo trì (maintenance prompt) mặc định, thường gồm hoàn thành nốt việc dang dở, rà soát PR và xử lý lỗi CI trên nhánh hiện tại.
text
# Quét lịch sử git mỗi 10 phút và báo cáo ngắn
/loop 10m scan my git history and give me a brief update
 
# Để Claude tự điều chỉnh tần suất kiểm tra và sửa lỗi PR
/loop check for new comments on my PR and fix them
 
# Chạy tác vụ bảo trì mặc định mỗi giờ một lần
/loop 1h

Khoảng cố định, chế độ tự điều nhịp và cron

Cú pháp thời gian hỗ trợ các đơn vị s (giây), m (phút), h (giờ) và d (ngày). Vì cron nội bộ của Claude chỉ chia nhỏ tới mức 1 phút, mọi giá trị tính bằng giây đều được làm tròn lên phút. Nếu bạn nhập một khoảng không khớp bước cron chuẩn (ví dụ 7m hay 90m), Claude sẽ tự làm tròn tới giá trị gần nhất và báo lại cho bạn.

Ở chế độ tự điều nhịp (chỉ có lời nhắc), Claude thường dùng công cụ Monitor: thay vì polling bằng cách chạy lại toàn bộ prompt — vốn tốn token — Monitor truyền (stream) kết quả từ các lệnh chạy ngầm. Cách này phản ứng tức thì với thay đổi và tiết kiệm chi phí đáng kể. Một lưu ý: trên Bedrock, Vertex AI và Microsoft Foundry, chế độ tự điều nhịp không khả dụng — mọi lời nhắc không kèm khoảng thời gian sẽ chạy cố định mỗi 10 phút.

Tùy biến mặc định bằng loop.md

File loop.md cho phép bạn thay thế hoàn toàn lời nhắc bảo trì mặc định bằng chỉ dẫn riêng. Claude tìm file này theo thứ tự ưu tiên:

  1. .claude/loop.md — cấu hình riêng cho từng dự án.
  2. ~/.claude/loop.md — cấu hình chung cho người dùng, áp dụng cho mọi dự án không có file cục bộ.

Ví dụ, bạn có thể hướng Claude tập trung vào các tác vụ kỹ thuật chuyên sâu thay vì chỉ rà soát PR chung chung:

markdown
1. Chạy 'npm test' để kiểm tra độ ổn định của mã nguồn.
2. Nếu có lỗi, phân tích stack trace và đề xuất bản vá ngay.
3. Dùng Slack MCP gửi tóm tắt tình trạng nhánh release-v1.0 vào channel #deploy-alerts.

Nên giữ file dưới 25.000 byte để không bị cắt khi Claude đọc ngữ cảnh. Mọi thay đổi trong file có hiệu lực ngay ở vòng lặp kế tiếp, nên bạn có thể tinh chỉnh ngay khi loop đang chạy.

Quản lý, dừng loop và nhắc một lần

Bạn kiểm soát tác vụ qua cả phím tắt lẫn lệnh:

  • Dừng nhanh: nhấn Esc khi một loop đang chờ để hủy lần đánh thức kế tiếp.
  • Nhắc một lần (one-shot): thay vì /loop, hãy yêu cầu bằng ngôn ngữ tự nhiên (ví dụ: "nhắc tôi sau 20 phút kiểm tra log"). Claude dùng một biểu thức cron để "ghim" thời điểm chạy và tự xóa tác vụ ngay sau khi hoàn thành.
  • Công cụ quản lý: CronList liệt kê mọi tác vụ đang chạy kèm ID 8 ký tự (tối đa 50 tác vụ mỗi phiên); CronDelete hủy tác vụ theo ID; CronCreate là công cụ cấp thấp để tạo tác vụ bằng biểu thức cron 5 trường.
text
# Tạo tác vụ thủ công bằng CronCreate (chạy 9:00 sáng mỗi ngày)
CronCreate(schedule="0 9 * * *", prompt="Summarize yesterday's commits", recurring=true)

Khi nào nên — và không nên — dùng /loop

Nên dùng /loop khi bạn cần một "mắt xích" tự động để theo dõi chất lượng code, phân tích lỗi test sau mỗi thay đổi, hay dựng báo cáo tóm tắt công việc mỗi sáng. Nó giải phóng đầu óc khỏi các tác vụ kiểm tra vụn vặt để bạn tập trung vào logic chính.

So sánh ba mức tự động hoá: /loop chạy trong phiên cục bộ, Desktop Tasks chạy bền trên máy, và Cloud Tasks chạy trên hạ tầng Anthropic.

Vài hạn chế cần nhớ:

  • Độ lệch (jitter): để tránh quá tải API, Claude thêm một độ lệch. Với tác vụ chạy thường xuyên hơn mỗi giờ, độ lệch tối đa bằng nửa khoảng thời gian (loop 10 phút có thể lệch tối đa 5 phút); với tác vụ thưa hơn, độ lệch có thể lên tới 30 phút.
  • Hết hạn: mọi tác vụ tự xóa sau 7 ngày. Cần lâu hơn thì phải tạo lại.
  • Chi phí: ngữ cảnh tích lũy qua từng vòng lặp làm tăng chi phí token; hãy dùng /compact thường xuyên để dọn lịch sử.
  • Độ bền: /loop sẽ chết khi terminal đóng.
Đặc điểm/loopDesktop TasksCloud Tasks
Môi trườngMáy cục bộMáy cục bộAnthropic Cloud
Yêu cầu mở phiênKhôngKhông
Truy cập fileKhông (clone mới)
Chi phí tokenTăng theo ngữ cảnhĐộc lập theo taskĐộc lập theo task

Muốn tắt hoàn toàn tính năng này, đặt biến môi trường CLAUDE_CODE_DISABLE_CRON=1.

Tài liệu tham khảo

Đọc tiếp

Chia sẻ bài viết

X / TwitterFacebookLinkedIn