Trang này được dịch từ tài liệu tiếng Anh. Lệnh, định danh và ví dụ giữ nguyên. Runtime 7.24.4 · SDK 2.6.7. Bản tiếng Anh
Chế độ lặp và tác vụ đã lên lịch
Trạng thái: Đang hoạt động Phạm vi: trạng thái hiện tại Xem xét lần cuối: 2026-08-27 Chủ sở hữu: ax-code runtime
AX Code có ba nguyên thủy tự động hóa có thể ghép:
| Nguyên thủy | Nó là gì | Thời gian sống |
|---|---|---|
/goal |
Một mục tiêu bền mà phiên tiếp tục theo đuổi, với kế hoạch đã viết, ngân sách và một cổng xác minh | Được lưu theo phiên |
/loop |
Một nhịp tim chạy lại một lời nhắc theo khoảng cố định khi phiên đang rảnh | Tiến trình backend này |
| Tác vụ đã lên lịch | Các lần chạy một lần hoặc lặp lại bền (“mỗi ngày trong tuần lúc 9 giờ sáng…”) mà tác nhân có thể thiết lập bằng hội thoại | Được lưu trong cơ sở dữ liệu dự án |
/loop — lời nhắc lặp lại
/loop <interval> <prompt> start (interval like 30s, 5m, 1h)
/loop status show runs, busy-skips, and the prompt
/loop stop stop the loop
Ví dụ:
/loop 5m check CI for new failures and fix any you find
/loop 30m drain the review queue
Quy tắc:
- Giới hạn khoảng: 30 giây tới 24 giờ. Một vòng lặp mỗi phiên — bắt đầu vòng mới sẽ thay vòng cũ.
- Một nhịp bắn khi phiên đang bận sẽ bị bỏ và được đếm, không bao giờ xếp hàng — vòng lặp không thể chất đống các lượt.
- Mỗi nhịp là một lượt lời nhắc thông thường: quyền, câu hỏi, trần tự chủ và cổng hoàn thành đều áp dụng. Khi tự chủ tắt, một nhịp chỉ dừng ở lời nhắc quyền đầu tiên.
- Trần cứng 500 lần chạy mỗi vòng, rồi vòng tự dừng kèm một thông báo.
- Vòng lặp chỉ sống trong tiến trình backend: chúng không sống sót qua lần khởi động lại. Để có lịch bền, hãy dùng tác vụ đã lên lịch bên dưới.
Ghép /goal với /loop
/goal sở hữu mục tiêu (“mọi kiểm thử xanh, không còn phát hiện rà soát mở”);
/loop cung cấp nhịp tim tiếp tục kiểm tra. Tạo mục tiêu trước
sẽ chạy một người viết kế hoạch chuyên biệt, lưu một hợp đồng có thể rà soát dưới
.ax-code/goals/ (hoặc thư mục dữ liệu AX khi dự án không phải git
worktree). Nếu lập kế hoạch thất bại, mục tiêu ở trạng thái tạm dừng — /goal resume thử lại
nó. Các kiểm tra phạm vi Git đo diff của mục tiêu này dùng HEAD lúc lập kế hoạch
({BASELINE}), không phải origin/main, trừ khi mục tiêu nêu đích từ xa đó.
Hoàn thành mục tiêu vẫn có cổng xác minh: tác nhân không thể đánh dấu mục tiêu
hoàn thành sau các sửa mà không có một lần xác minh đạt, và khi đã có kế hoạch
nó còn phải cung cấp bằng chứng cho mọi tiêu chí chấp nhận.
/goal keep main green: fix any CI failure the loop finds
/loop 10m check CI status and act on failures
Bảo đảm mục tiêu là chọn tham gia
/goal <objective> bắt đầu ngay: nó không gắn hợp đồng chấp nhận đã đóng băng,
nên hoàn thành được phán theo kế hoạch làm việc mà tác nhân giữ (việc chờ) cộng một
lần xác minh đạt sau thay đổi cuối. /goal view (và “Xem chi tiết mục tiêu” của hộp thoại mục tiêu)
nói điều đó tường minh — “Không có hợp đồng bảo đảm” — nên trạng thái
không bao giờ là thứ bạn phải suy ra.
/goal --assure <objective> chạy người viết kế hoạch trước, việc này đóng băng tiêu chí chấp nhận,
tham chiếu nguồn và các kiểm tra thực thi được; hoàn thành khi đó còn cần một
biên nhận thành công hiện tại cho mọi kiểm tra bắt buộc (verify_project với
mã goalCheck của nó). Hãy dùng khi “xong” của mục tiêu phải chứng minh được chứ không chỉ
được mô tả.
--assure kết hợp với các cờ ngân sách theo thứ tự nào cũng được
(/goal --assure --budget 500000 <objective>). /goal replace <objective> giữ
bảo đảm khi mục tiêu bị thay có hợp đồng hợp lệ, nên việc thay không bao giờ
làm yếu âm thầm một mục tiêu đã được bảo đảm.
Ngân sách và trần của mục tiêu
Một mục tiêu đang hoạt động nâng trần tự tiếp tục theo lần chạy (session.max_continuations)
— lần chạy tiếp tục cho đến khi mục tiêu hoàn thành, bị chặn, tạm dừng hoặc
bị giới hạn ngân sách. Thay vào đó, những gì giới hạn nó:
- Ngân sách token (
/goal --budget N …): khi cạn, tác nhân nhận một lượt kết, rồi mục tiêu trở thànhbudget_limited. - Ngân sách thời gian (
/goal --time-budget 30m …): giới hạn đồng hồ tường tính bằng giây, phút (m) hoặc giờ (h), có thể kết hợp với ngân sách token theo thứ tự nào cũng được. Nó giới hạn việc đã trôi mà ngân sách token không thấy — việc huấn luyện từ xa, lần gọi công cụ dài, nhà cung cấp đứng. Cùng lượt kết và chuyểnbudget_limitedđược áp dụng khi nó kích hoạt. - Trần bước tích lũy: các lần chạy mục tiêu đang hoạt động chia sẻ chốt Super-Long
là
max_steps × 40tổng số bước (20,000 theo mặc định) thay cho trần tự chủ thông thườngmax_steps × (max_continuations + 1). Ghi đè bằngsession.max_total_steps. - Phát hiện vòng doom, trần bán kính ảnh hưởng và bộ ngắt lượt chỉ-công-cụ vẫn áp dụng suốt.
CLI mục tiêu (không giao diện)
Cùng điều khiển mục tiêu có sẵn ngoài TUI dưới ax-code goal:
ax-code goal status [--json]— hiện mục tiêu hiện tại (-s/--sessionđể chọn một phiên; mặc định là mục tiêu có thể tiếp tục duy nhất của dự án và báo lỗi khi lựa chọn sẽ mơ hồ).ax-code goal pause/ax-code goal clear— tạm dừng hoặc xóa nó.ax-code goal resume— tiếp tục mục tiêu và điều khiển không giao diện cho đến khi nó ổn định. Không có--attachthì nó khởi tạo dự án trong tiến trình; với--attach http://localhost:4111thì nó điều khiển một máy chủ đang chạy. Mã thoát theo hợp đồng mục tiêu không giao diện:0hoàn thành,3bị chặn,4bị giới hạn ngân sách,6tạm dừng/chưa kết,1lỗi phiên,124hết thời gian rảnh (--idle-timeout-ms, mặc định 10 phút). Sự kiện được phát tới stdout dưới dạng JSONL (--event-log PATHcũng ghi chúng), và một dòngGoal <status>: <objective>cuối đi tới stderr.
Khi một lần chạy mục tiêu tiến gần trần bước, tác nhân nhận một cảnh báo hội tụ một lần
bảo nó xác minh và hoàn thành mục tiêu hoặc để lại một
bàn giao sạch. Nếu trần vẫn bị chạm, mục tiêu bị tạm dừng — không
thất bại — và có thể được tiếp tục bằng /goal resume (hãy nâng
session.max_total_steps trước nếu nó cần thêm khoảng trống).
Tác vụ đã lên lịch — bền, bằng hội thoại
Hãy hỏi tác nhân trực tiếp; nó dùng các công cụ schedule_task, list_scheduled_tasks
và manage_scheduled_task:
- “Nhắc tôi lúc 14:30 kiểm tra lần triển khai.”
- “Mỗi ngày trong tuần lúc 9 giờ sáng, tóm tắt các lỗi CI mới.”
- “Liệt kê các tác vụ đã lên lịch của tôi.” / “Tạm dừng tác vụ tóm tắt CI.”
Các thay đổi lịch do tác nhân tạo và quản lý yêu cầu quyền schedule.
Một lần chạy chỉ đọc không thể đổi hoặc kích hoạt lịch. Để tạo không giám sát
không giao diện, hãy dùng lệnh tường minh ax-code schedule hoặc cấu hình một
quyền schedule tường minh cho tác nhân; các quyền ký tự đại diện rộng không
ủy quyền thay đổi lịch.
Cùng các tác vụ có thể quản lý từ shell mà không mở TUI:
ax-code schedule list # status, next run, schedule, id, title
ax-code schedule show <id> # details plus the five most recent runs
ax-code schedule runs <id> # run history: fired, failed, skipped and why
ax-code schedule pause|resume <id>
ax-code schedule delete <id>
ax-code schedule run <id> # trigger now; requires a live runtime
pause/resume/delete đi qua runtime được quản lý của dự án khi có một runtime
đang chạy (hiệu lực ngay, TUI cập nhật trực tiếp) và nếu không thì ghi thẳng cơ sở dữ liệu
dự án. run cần một backend đang sống — hãy khởi động bằng
ax-code runtime start — vì một tiến trình CLI một lần không được nhận việc mà nó
không thể hoàn thành. Mọi lệnh con đọc đều nhận --json.
Lịch hỗ trợ chạy một lần, giờ hằng ngày/hằng tuần và biểu thức cron 5 trường,
mỗi cái có múi giờ IANA tùy chọn. Tác vụ được lưu trong cơ sở dữ liệu
dự án và bắn khi một backend AX Code của dự án đang
chạy (quét bộ lập lịch 60 giây, nhận việc nguyên tử — một tác vụ bắn một lần kể cả khi
nhiều backend đang mở). Việc tiến lịch và chèn hàng đợi bền dùng chung
một giao dịch cơ sở dữ liệu, nên một sự cố không thể tiến một lần xảy ra mà không
để lại việc cần khôi phục.
Các lệnh một lần như ax-code run và ax-code stats không nhận các tác vụ đến hạn.
Hãy khởi động một backend bền bằng ax-code runtime start để điều phối
chúng.
Các lần xảy ra bị lỡ mặc định là catchUpPolicy: "run_once": sau thời gian ngừng,
AX Code gộp mọi tồn đọng thành một lần chạy. Dùng "skip" khi việc cũ nên
được tiến mà không chạy. Một tác vụ cũng có thể đặt maxRunDurationMs từ một
giây tới 72 giờ; một lần chạy hết thời gian bị hủy và được ghi là thất bại.
Để vận hành qua các lần khởi động lại tiến trình và máy chủ, hãy chạy backend dưới một giám sát. Xem Thao tác chạy dài để có ví dụ systemd, launchd và PM2 cùng ngữ nghĩa khôi phục chính xác.
Các lần chạy không giám sát dài
Với các phiên tự chủ nhiều giờ, chế độ Super-Long thêm hạn chạy (tới
72 giờ), nhịp yêu cầu và chỉnh nén. Nó tự bật cho các mô hình
có khả năng đã khai báo hỗ trợ việc tác nhân dài (mô hình suy luận ngữ cảnh 1M
như Qwen 3.7+ Max/Plus trên các tuyến Alibaba và GLM 5.x trên các tuyến z.ai)
và có thể bị ép theo phiên, theo dự án, hoặc qua
AX_CODE_SUPER_LONG. Mức gắn kết của lần chạy được ghi (super-long run engaged),
và nhịp nhà cung cấp chỉ bắt đầu sau một cửa sổ gia hạn từ lúc chạy bắt đầu
(mặc định 2 giờ, super_long.pacing_grace_minutes) để giai đoạn hiệu quả
đầu của một lần chạy tác nhân giữ đầy thông lượng gọi công cụ; phần đuôi
marathon được nhịp theo tầng giới hạn tốc độ đã khai báo của mô hình.