Tải AX Code · Miễn phíTài liệu

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ế độ tự 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-25 Chủ sở hữu: môi trường chạy ax-code

Chế độ tự chủ cho phép ax-code hoàn tất tác vụ mà không chờ người xác nhận ở mỗi bước rủi ro thấp. Khi bật, các lời nhắc quyền được tự phê duyệt trừ khi bị chặn tường minh, và hộp thoại câu hỏi được tự trả lời bằng một suy đoán thực hành tốt, ưu tiên lựa chọn được khuyến nghị, mặc định, phổ biến, đơn giản và tối thiểu, đồng thời tránh các lựa chọn rủi ro hoặc thiết kế quá mức.

Theo mặc định, chế độ tự chủ bật. Nếu bạn đã tắt nó trước đó, tùy chọn đó được lưu và khôi phục ở lần khởi chạy sau.

Bắt đầu nhanh

Bật tắt từ TUI:

  • Gõ /autonomous trong lời nhắc, hoặc
  • Nhấn Ctrl+P và tìm “autonomous”, hoặc
  • Nhấp chỉ báo tự chủ bật/tắt trên thanh trạng thái

Thanh trạng thái hiện trạng thái hiện tại:

  • tự chủ bật (nền vàng, chữ đỏ đậm) — tác nhân chạy mà không tạm dừng
  • tự chủ tắt (chữ xanh) — tác nhân tạm dừng cho lời nhắc quyền/câu hỏi

Cài đặt được giữ qua các phiên trong ax-code.json.

Những gì thay đổi

Hành vi Tự chủ tắt Tự chủ bật
Quyền công cụ (read, edit, bash, v.v.) Hỏi người dùng phê duyệt Lai: an toàn (read/grep/list/…) được tự phê duyệt; rủi ro (edit/bash/webfetch/…) rơi xuống bộ quy tắc nên quy tắc từ chối vẫn áp dụng
Hộp thoại câu hỏi Chờ người dùng chọn một mục Chọn mục thực hành tốt/mặc định và ghi lại
Lập kế hoạch Theo lời nhắc tác nhân thông thường Dùng một khung quyết định nhẹ kiểu PRD/ADR trước khi triển khai
Vòng phiên khi bị từ chối Dừng và chờ Tiếp tục chạy
Lời nhắc isolation_escalation Luôn hỏi Luôn hỏi (không bao giờ tự phê duyệt)

Cách hoạt động

Chế độ tự chủ vận hành ở ba lớp:

Nguồn sự thật

Trang này tóm tắt hành vi hướng tới người dùng. Khi hành vi đổi, hãy đối chiếu tài liệu với:

  • packages/ax-code/src/session/processor.ts cho tự phê duyệt quyền, hành vi vòng lặp, xử lý từ chối và trần tự chủ.
  • packages/ax-code/src/session/system.ts và các tệp lời nhắc nhà cung cấp dưới packages/ax-code/src/session/prompt/ cho chỉ dẫn quy trình tự chủ.
  • packages/ax-code/src/question/ và packages/ax-code/test/question/question.test.ts cho suy đoán tự trả lời câu hỏi và hành vi leo thang.
  • packages/ax-code/src/session/blast-radius.ts cho trần bước tự chủ và thay đổi tệp.
  • packages/ax-code/test/session/system.test.ts, packages/ax-code/test/session/prompt.test.ts và các kiểm thử phiên liên quan cho hành vi lời nhắc và sổ quyết định.

Hãy giữ các bảo đảm an toàn ở đây khớp tài liệu hộp cát; chế độ tự chủ đổi hành vi phê duyệt, không đổi việc thực thi cô lập.

1. Tự phê duyệt quyền (phía máy chủ)

Chế độ tự chủ dùng một chính sách từ chối trước kiểu lai (ADR-004 / PRD v4.2.0). Khi một công cụ gọi ctx.ask() để xin quyền, mô-đun Quyền phân loại quyền:

  • Quyền SAFE (read, glob, grep, list, lsp, code_intelligence, skill, todoread) tự phê duyệt mà không tạo lời nhắc chặn.
  • Quyền RISK (edit, bash, external_directory, task, webfetch, websearch, codesearch, …) rơi xuống bộ quy tắc — quy tắc cho phép/từ chối đã cấu hình của tác nhân vẫn áp dụng, và quy tắc từ chối do người dùng định nghĩa luôn được thực thi. Trong chế độ hộp cát full-access, quyền RISK được tự phê duyệt sau khi quy tắc từ chối được đánh giá.
  • Quyền không xác định hỏi theo mặc định (experimental.autonomous_strict_permission: false giữ hành vi cho phép cũ).

Các quyền luôn tới một quyết định theo từng lời gọi thay vì phê duyệt ngay dựa trên quy tắc: isolation_escalation (yêu cầu ghi đè hộp cát), quyền INTERACTIVE_ONLY, và tập NEVER_AUTONOMOUS_AUTOAPPROVE. Một chỗ thu hẹp (ADR-098): trong chế độ hộp cát full-access, các yêu cầu external_directory được đánh dấu chỉ tương tác — lệnh bash có đường dẫn không xác minh tĩnh được vì dùng glob, biến, hoặc khai triển ngoặc nhọn — cũng được tự phê duyệt, vì một hộp cát truy cập đầy đủ không còn ranh giới hệ thống tệp để canh. Quy tắc từ chối tường minh vẫn áp dụng, và các chế độ hộp cát bật (workspace-write, read-only) giữ lời nhắc theo từng lời gọi.

“Cho phép một lần” khi nhàn rỗi (bật theo mặc định): Tự động bật cộng Hộp cát tắt (full-access) nghĩa là tương tác tối thiểu: mọi quyền đang chờ có thể tự trả lời một lần sau 15 giây, gồm lời nhắc requireInteractive, hook và leo thang hộp cát. Tự động tắt hoặc Hộp cát bật đòi hỏi câu trả lời của người cho các lời nhắc đang chờ. WebMCP còn đòi hỏi cầu nối tương ứng đang kết nối; một cầu nối khác đã kết nối không đủ điều kiện. Quy tắc từ chối tường minh vẫn áp dụng. experimental.permission_idle_once.enabled: false tắt bộ đếm ngược, và permissions có thể hạn chế phạm vi của chúng. Cài đặt cũ timeout_ms được chấp nhận để tương thích nhưng không còn đổi thời lượng cố định 15 giây.

Máy chủ sở hữu bộ đếm ngược. Yêu cầu cũ nhất của mỗi phiên nhận một hạn; các yêu cầu đang xếp hàng nhận 15 giây mới khi tới đầu hàng. Câu trả lời của người hủy bộ đếm. Tắt Tự động, bật Hộp cát, hoặc ngắt cầu nối WebMCP liên quan sẽ hủy các bộ đếm đang chờ. Khôi phục đủ điều kiện bắt đầu một bộ đếm mới. Các khoảng trống tải lại cấu hình tạm thời tạm dừng bộ đếm. Câu trả lời tự động kiểm tra lại chế độ, cầu nối và quy tắc từ chối hiện tại và không bao giờ lưu phê duyệt bền vững. Ghi đè gỡ lỗi/kiểm thử nội bộ AX_CODE_PERMISSION_IDLE_ONCE_MS vẫn dùng được và bị trần ở mức tối đa bộ đếm của Node.

Chế độ được giới hạn theo thư mục đang hoạt động. Một ax-code.json lồng nhau có thể ghi đè cài đặt gốc kho; hãy dùng công tắc Hộp cát của phiên đang hoạt động để đổi chế độ có hiệu lực của nó.

Đường dẫn được bảo vệ không ghi đè được: chế độ tự chủ cũng từ chối ghi một tập cố định các đường dẫn chính sách/mặt phẳng điều khiển — ax-code.json/ax-code.jsonc, .ax-code/**, .git/config và .git/refs/** — để tác nhân không thể sửa cấu hình của chính nó, nâng trần tự chủ của chính nó, hoặc cài git hook. Khác với danh sách đường dẫn bị chặn có thể cấu hình, những đường này không thể bị gỡ bởi cấu hình dự án hay người dùng.

2. Tự trả lời câu hỏi (phía máy chủ)

Khi một công cụ hỏi người dùng một câu, mô-đun Câu hỏi chọn một câu trả lời ngay. Nó ưu tiên các mục được đánh dấu là được khuyến nghị, mặc định, an toàn, chuẩn, phổ biến, thông lệ, thực hành tốt, đơn giản hoặc tối thiểu. Nó tránh các mục được đánh dấu thử nghiệm, rủi ro, nguy hiểm, phá hủy, nâng cao, phức tạp, viết lại hoặc thiết kế quá mức. Nếu không mục nào có tín hiệu, nó chọn mục đầu vì công cụ câu hỏi chỉ dẫn tác nhân đặt mục được khuyến nghị lên trước.

3. Vòng bộ xử lý (cấp phiên)

Nếu một quyền bị từ chối bằng cách nào đó (ví dụ bởi một quy tắc từ chối tường minh), vòng bộ xử lý không dừng — nó tiếp tục bước kế tiếp thay vì dừng phiên.

4. Khung quyết định kiểu PRD/ADR

Chế độ tự chủ thêm một lời nhắc quy trình nhẹ vào lời nhắc hệ thống. Trước khi triển khai, tác nhân nên khung công việc bằng vấn đề, ràng buộc, quyết định, đánh đổi, kế hoạch và xác thực. Với các thay đổi nhiều tệp, kiến trúc hoặc nhìn thấy được ở sản phẩm đáng kể, nó có thể tạo hoặc cập nhật một tài liệu kho khi điều đó khớp mẫu tài liệu của kho. Với thay đổi nhỏ, nó nên giữ khung này nhẹ trong kế hoạch để tránh thiết kế quá mức.

Tự chủ + Hộp cát

Chế độ tự chủ và chế độ hộp cát độc lập. Bạn có thể dùng cả hai cùng lúc:

Kết hợp Hành vi
Tự chủ BẬT + Hộp cát BẬT Tác nhân chạy tự do nhưng bị giới hạn trong không gian làm việc. Được khuyến nghị cho kho không đáng tin hoặc kho nhóm.
Tự chủ BẬT + Hộp cát TẮT Tác nhân chạy tự do với quyền truy cập toàn hệ thống. Dùng cho dự án đáng tin.
Tự chủ TẮT + Hộp cát BẬT Tác nhân hỏi quyền ở mỗi hành động, bị giới hạn trong không gian làm việc. Kiểm soát tối đa.
Tự chủ TẮT + Hộp cát TẮT Tác nhân hỏi quyền ở mỗi hành động, truy cập toàn hệ thống.

Tư thế môi trường chạy mặc định là tự chủ bật cộng hộp cát tắt: full-access với mạng được bật. Việc này cho hành vi CLI ít ma sát nhất nhưng không có ranh giới cô lập. Dùng /sandbox, --sandbox workspace-write, AX_CODE_ISOLATION_MODE hoặc cấu hình dự án để bật hạn chế cho công việc không đáng tin hoặc không có người trông.

Cấu hình

Tệp cấu hình

Trong ax-code.json:

{
  "autonomous": true
}

Đặt thành false để tắt:

{
  "autonomous": false
}

Biến môi trường

AX_CODE_AUTONOMOUS=true ax-code    # force autonomous on
AX_CODE_AUTONOMOUS=false ax-code   # force autonomous off

Thứ tự ưu tiên

Biến môi trường > tệp cấu hình > mặc định (bật)

Ngân sách khối lượng (lượt mô hình và lời gọi công cụ)

Chế độ tự chủ không nghĩa là thực thi không giới hạn. Nhiều trần độc lập được áp dụng. Các mặc định bên dưới là hằng số đã phát hành; hãy nâng hoặc hạ chúng trong ax-code.json khi một khối lượng cần thêm chỗ.

Một lượt mô hình là một yêu cầu mô hình của vòng ngoài. Một lời gọi công cụ là một lần gọi công cụ bên trong một lượt mô hình. Đây là các ngân sách riêng: một lượt mô hình có thể phát nhiều lời gọi công cụ. Các tên cấu hình cũ chứa steps vẫn được hỗ trợ, nhưng chúng không làm hai đơn vị hoán đổi cho nhau.

Hãy ưu tiên đối tượng hạng nhất autonomy. Các khóa cũ session.* và experimental.autonomous_caps.* vẫn hoạt động như bí danh (ưu tiên thấp hơn).

Trần Mặc định Đơn vị Cấu hình ưu tiên Bí danh cũ
Lượt mô hình mỗi phân đoạn 500 Yêu cầu mô hình mỗi phân đoạn tiếp tục autonomy.budget.model_turns.per_segment session.max_steps
Tự tiếp tục 3 Phân đoạn sau trần lượt mô hình (tự chủ thông thường) autonomy.budget.continuations session.max_continuations (0 tắt)
Lượt mô hình tích lũy 2,000 thông thường · 20,000 mục tiêu / Super-Long Yêu cầu mô hình cộng qua các lần tiếp tục autonomy.budget.model_turns.total session.max_total_steps
Lượt mô hình mỗi tác nhân Không trần cho tác nhân gốc Yêu cầu mô hình khi tác nhân đó đang hoạt động agent.<name>.steps (tùy chọn) —
Tự thử lại việc cần làm 10 Các lần tiếp tục khi việc cần làm còn chờ autonomy.budget.todo_retries session.max_todo_retries
Lời gọi công cụ bán kính nổ 500 / phân đoạn Lần gọi công cụ ở chế độ tự chủ autonomy.budget.tool_calls.per_segment experimental.autonomous_caps.steps
Tệp / dòng bán kính nổ 50 tệp · 5,000 dòng Dấu thay đổi (sống sót qua các lần tiếp tục) autonomy.budget.changes.files_total / .lines_total experimental.autonomous_caps.files / .lines
Đường dẫn miễn dòng Tệp khóa + ảnh chụp đã sinh (*.snap, *-snapshot.json) Glob tính vào trần tệp nhưng không vào trần dòng autonomy.budget.changes.lines_exempt_paths experimental.autonomous_caps.linesExemptPaths
Trần lũ mỗi công cụ ví dụ bash 50, edit 100 Lời gọi mỗi lượt mô hình autonomy.budget.tool_calls.per_tool experimental.autonomous_caps.perTool
Ngắt chuỗi chỉ công cụ Nhắc 15 · cuối ~30 · dừng 35 Các lần kết thúc mô hình chỉ có công cụ liên tiếp autonomy.stall.tool_only_* —
Ngân sách đột biến thất bại 30 / phân đoạn Lần thử công cụ đột biến lỗi mà không có lần thành công autonomy.stall.failed_mutation_attempts —
Giới hạn bùng nổ lời gọi công cụ 30 lời gọi / 10s Cửa sổ trượt mỗi lượt bộ xử lý autonomy.budget.tool_calls.rate —
Ngân sách lỗi liên tiếp 3 Lỗi nhà cung cấp/công cụ liên tiếp trước khi lần chạy bỏ cuộc autonomy.stall.max_consecutive_errors —

Tệp nhị phân (cp của một tệp thực thi, curl -o của một zip, và các lần ghi không phải văn bản khác) vẫn tính vào trần tệp, nhưng chúng tính không dòng. Trần dòng đo thay đổi văn bản. Các lần ghi văn bản shell giữ ước lượng ceil(size / 80) để một tải dày không thể né ngân sách bằng cách có ít dòng mới.

Các đường dẫn chưa theo dõi mà git check-ignore báo là bị bỏ qua cũng tính không dòng và vẫn tính là một tệp. Điều đó bao phủ các cây đã sinh như target/ khi một bộ xác minh chuyển hướng đầu ra của nó tới đó (cargo clippy > target/review/clippy.log). Miễn trừ chỉ áp dụng khi git thoát 0. Một kho thiếu, một lỗi git, và một tệp đã theo dõi giữ mức tính dòng bình thường, kể cả tệp đã theo dõi có tên khớp một mẫu bỏ qua.

Hồ sơ

Đặt autonomy.profile để gieo nhiều trường cùng lúc (các trường tường minh vẫn thắng):

Hồ sơ Ý định
standard Mặc định đã phát hành (500 / 3 lần tiếp tục / bùng nổ 30·10s / chỉ công cụ 35)
quick Sửa ngắn: 80 bước/phân đoạn, 1 lần tiếp tục, chỉ công cụ và bùng nổ chặt hơn
long Lô nhiều tệp: 10 lần tiếp tục, tổng 10k, chỉ công cụ/bùng nổ rộng hơn
goal Chỗ trống quy mô mục tiêu mà không cần /goal
custom Không gieo hồ sơ — chỉ khóa tường minh và hằng số

Kiểm tra bằng /limits

Trong một phiên, chạy /limits để in chồng ngân sách đã phân giải, mẫu số TUI có hiệu lực cho tác nhân đang hoạt động, nguồn cấu hình, và cảnh báo doctor (ví dụ khi agent.steps chặt hơn phân đoạn phiên). Dùng /limits help cho tên khóa.

TUI hiện gì: trong một lần chạy tự chủ, tiêu đề báo turn current/max · total current/max · cont current/max. turn là phân đoạn tiếp tục hiện tại và dùng trần nhịp có hiệu lực cho tác nhân đang hoạt động — min(agent.steps, session.max_steps) khi tác nhân bị trần, nếu không thì giới hạn mỗi phân đoạn. total sống sót qua các lần tự tiếp tục. cont hiện ∞ khi một mục tiêu đang hoạt động hoặc chế độ Super-Long nâng trần tiếp tục thông thường.

Tự định tuyến: định tuyến từ khóa có thể chuyển phiên sang một tác nhân chuyên biệt (Debug, Security, DevOps, …). Các chuyên gia dùng cùng chính sách lượt mô hình không trần theo mặc định như Dev trừ khi bạn đặt agent.<name>.steps. Tắt định tuyến bằng "routing": { "disable": true } nếu bạn chỉ muốn tác nhân Dev.

Lần chạy dài: dùng /goal hoặc Super-Long cho công việc nhiều giờ — chúng nâng trần tiếp tục thông thường và dùng trần tích lũy lớn hơn (mặc định 20,000), với ngữ nghĩa xác minh / tạm dừng được ghi trong Chế độ vòng lặp. /goal trước hết ghi một hợp đồng có thể xem lại (tiêu chí nghiệm thu + kế hoạch xác minh) và đóng về tạm dừng nếu kế hoạch đó không tạo được.

Khi một giới hạn dừng lần chạy

Trước khi một lần chạy thông thường tới trần lượt mô hình tích lũy, AX Code tiêm một chỉ dẫn hội tụ có giới hạn (tối đa 50 lượt cuối, được co cho ngân sách tùy chỉnh nhỏ). Nó bảo mô hình dừng khám phá rộng, hoàn tất hoặc đậu an toàn công việc đang dở, chạy xác minh có mục tiêu, và báo công việc chưa xong một cách trung thực. Nó không thêm ngân sách và không vòng qua bất kỳ trần nào.

Khi một ngân sách kết thúc được chạm, session.error gồm một code máy đọc được tùy chọn, và sự kiện phát lại session.end ghi cùng giá trị dưới dạng stopCode. Các lý do kết thúc thô sẵn có không đổi để tương thích. Các mã giới hạn hiện tại là:

  • MODEL_TURN_SEGMENT_LIMIT
  • MODEL_TURN_TOTAL_LIMIT
  • AGENT_MODEL_TURN_LIMIT
  • AGGREGATE_TOOL_CALL_LIMIT
  • FILE_CHANGE_LIMIT
  • LINE_CHANGE_LIMIT

Ở trần phân đoạn, AX Code tự tiếp tục khi ngân sách tiếp tục đã cấu hình còn. Khi ngân sách đó hết, lần chạy dừng và thông điệp nói chuyện gì đã xảy ra. Gửi một lời nhắc mới như continue bắt đầu một lần chạy do người chỉ đạo mới với kế toán lần chạy mới; nó không kéo dài hồi tố lần chạy đã dừng. Dùng /goal khi mục tiêu nên giữ tường minh và có thể tiếp tục cho đến khi hoàn tất, bị chặn, hoặc một ranh giới ngân sách mục tiêu/môi trường chạy. /goal không tắt các chốt quyền, cô lập, bán kính nổ, đình trệ, token, thời gian, hay lượt mô hình tích lũy.

Ví dụ: nâng ngân sách cho một lô tự chủ lớn

{
  "autonomous": true,
  "autonomy": {
    "profile": "long",
    "budget": {
      "model_turns": { "per_segment": 500, "total": 20000 },
      "tool_calls": {
        "per_segment": 1000,
        "rate": { "count": 40, "window_seconds": 10 },
        "per_tool": { "bash": 80, "edit": 150 }
      },
      "changes": { "files_total": 100, "lines_total": 10000 }
    },
    "stall": {
      "tool_only_turns": 50,
      "tool_only_nudge": 20,
      "failed_mutation_attempts": 30,
      "max_consecutive_errors": 3
    }
  },
  "agent": {
    "debug": { "steps": 200 }
  }
}

Khi nào nên tắt tự chủ

  • Đang học ax-code — xem tác nhân làm gì ở mỗi bước
  • Thao tác nhạy — xem lại mỗi thay đổi tệp trước khi nó được áp dụng
  • Gỡ lỗi hành vi tác nhân — hiểu vì sao tác nhân đưa ra một số quyết định
  • Mã không đáng tin — xem lại lời gọi công cụ khi làm việc với kho chưa quen

Khi nào nên giữ tự chủ bật

  • Tác vụ thường ngày — tái cấu trúc, sửa lỗi, di chuyển khi bạn tin tác nhân
  • Đường ống CI/CD — thực thi không tương tác khi tác vụ đã bị chính sách ràng buộc
  • Dùng SDK — thực thi tác nhân theo chương trình qua createAgent()
  • Tác vụ lớn — thay đổi nhiều tệp khi dừng ở mỗi quyền sẽ mất hàng giờ

Dùng không tương tác / CI

Ở chế độ không tương tác (ax-code run, ax-code serve, SDK), chế độ tự chủ là thiết yếu — không có TUI để hiện lời nhắc. Việc tự phê duyệt phía máy chủ bảo đảm tác nhân chạy đến hoàn tất mà không treo vì lời nhắc chưa được trả lời.

# Headless one-shot with autonomous on (default)
ax-code run "Fix all TypeScript errors in src/"

# Explicit override
AX_CODE_AUTONOMOUS=true ax-code run "Migrate API routes"

ax-code run in đầu ra công cụ ngắn gọn theo mặc định: đầu ra lệnh được rút về phần đuôi, các sửa hiện một tóm tắt diff, và lần ghi việc cần làm hiện một số tiến trình một dòng. Lỗi không bao giờ bị giấu — chúng được kết xuất với cùng trần đuôi như đầu ra khác. Truyền --full để khôi phục đầu ra công cụ đầy đủ (diff đầy đủ, đầu ra lệnh không cắt, danh sách việc cần làm đầy đủ) để kiểm toán.

Bảo đảm an toàn

Ngay cả khi chế độ tự chủ bật:

  1. Hộp cát vẫn thực thi ranh giới — ghi ra ngoài không gian làm việc bị chặn bất kể chế độ tự chủ
  2. Leo thang cô lập luôn hỏi — tác nhân không thể âm thầm ghi đè hạn chế hộp cát
  3. Quy tắc từ chối được thực thi — quy tắc quyền "deny" tường minh vẫn chặn lời gọi công cụ
  4. Lựa chọn tự chủ được ghi — siêu dữ liệu công cụ câu hỏi gồm một sổ autonomousDecisions có cấu trúc, và đầu ra công cụ gồm các câu trả lời đã chọn để tác nhân có thể báo chúng sau
  5. Tránh thiết kế quá mức — việc tiếp tục tự chủ nhắc tác nhân ưu tiên thay đổi thực hành phổ biến đơn giản nhất và tránh trừu tượng khi chưa có 3 trường hợp dùng cụ thể trở lên
  6. Ảnh chụp phiên được ghi — mọi lời gọi công cụ được ghi nhật ký để kiểm toán/phát lại
  7. Hủy luôn có tác dụng — nhấn Esc (ngắt) dừng tác nhân ngay