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
Điều khiển harness và đánh giá đã xác minh
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-09-14
Chủ sở hữu: môi trường chạy ax-code
Về mức nỗ lực theo mô hình, công tắc suy nghĩ và phát lại suy luận, xem điều khiển suy luận của mô hình hiện tại.
Điều khiển ngữ cảnh và công cụ tùy chọn
Bật từng thử nghiệm một cách độc lập trong cấu hình AX Code của bạn:
{
"experimental": {
"context_recovery": true,
"mcp_tool_discovery": true,
"tail_reminders": true,
"read_only_recipes": true
}
}
Cả bốn tùy chọn mặc định đều tắt. Hãy đo mức thành công của tác vụ và thời gian đã trôi với mô hình của bạn trước khi dùng chúng cùng nhau. Chúng giữ quyền công cụ và cài đặt cô lập sẵn có. Xem chẩn đoán hiệu năng.
context_recovery phơi bày context_recover và thêm con trỏ nguồn vào các bản tóm tắt nén thành công. Công cụ
nhận một từ khóa, ID thông điệp, ID phần tùy chọn và một giới hạn kết quả. Nó chỉ đọc phiên hiện tại, gồm
lịch sử trước khi nén, và loại trừ tài liệu đã hoàn nguyên, suy luận ẩn, cùng văn bản bị bỏ qua hoặc tổng hợp. Nó trả về
ID thông điệp/phần gốc và các đoạn trích có giới hạn. Tìm kiếm quét tối đa 100 phần mỗi trang và 16.000 ký tự đầu
của mỗi phần; before tiếp tục vào các phần cũ hơn. Một lần không khớp không chứng minh toàn bộ lịch sử thiếu văn bản đó.
Các nhánh sao dùng lịch sử đã sao và ID mới. Các phép gán thông tin xác thực bị che khỏi đoạn trích.
mcp_tool_discovery giữ các công cụ dựng sẵn vẫn dùng được và đưa vào tool_search cho các công cụ MCP đã kết nối. Một lần tìm
trả về tối đa năm lược đồ khớp và làm các công cụ đó dùng được ở yêu cầu mô hình kế tiếp. Nó không thực thi
chúng. Các lựa chọn được giới hạn trong phiên, tối đa 32 công cụ, và được giao với việc nhận hiện tại ở mỗi yêu cầu.
Lược đồ lớn có thể bị bỏ khỏi kết quả tìm và được tải ở yêu cầu kế tiếp. Nếu tool_search bị từ chối,
danh mục MCP đã được nhận theo cách thông thường vẫn dùng được. Một công cụ sẵn có xung đột tên tool_search tạo ra lỗi.
tail_reminders chỉ chuyển các lời nhắc lượt động do AX Code sinh ra xuống cuối yêu cầu nhà cung cấp. Thông điệp người dùng đã lưu,
suy luận của trợ lý, lịch sử công cụ và chỉ dẫn tĩnh không đổi. Việc này có thể đổi hành vi mô hình
và cách dùng bộ nhớ đệm; bản thân nó không thiết lập một cải thiện tốc độ.
read_only_recipes phơi bày read_recipe. Nó chạy tối đa tám lời gọi read, glob hoặc grep phụ thuộc nhau qua
bộ điều phối công cụ thông thường. Mỗi lời gọi con có kiểm tra quyền, hook, hủy và bằng chứng phiên riêng. Một công thức
không thể đánh giá mã, chạy lệnh shell, ghi tệp, gọi công cụ MCP hoặc lồng một công thức khác.
{
"steps": [
{ "id": "files", "tool": "glob", "parameters": { "pattern": "src/**/*.ts" } },
{
"id": "source",
"tool": "read",
"parameters": { "filePath": { "$ref": { "step": "files", "path": ["paths", 0] } } }
}
],
"select": [{ "step": "source", "path": ["text"] }]
}
Kết quả glob chuẩn chứa paths và truncated; kết quả grep chứa matches với path, line, text;
kết quả đọc chứa kind, text đã kết xuất, và truncated. Chọn một kết quả trước đó theo bước và đường dẫn
thuộc tính riêng của nó. Lựa chọn mảng hỗ trợ bộ lọc contains nguyên văn và limit. Hãy kiểm tra trạng thái trả về và việc cắt cụt.
Công thức có hạn hủy 60 giây, ngân sách đối số 32KB, ngân sách trung gian 192KB và đầu ra cuối có giới hạn.
Việc hủy chờ công cụ sở hữu ổn định. Chỉ dẫn kho mới hoặc phương tiện tạm dừng thực thi và
giữ đầu ra con bình thường để mô hình thấy chúng trước khi tiếp tục. Các lựa chọn thành công chỉ thay đầu ra trung gian
trong yêu cầu mô hình; bản ghi con gốc vẫn nằm trong lịch sử. Tiến trình cha bị ngắt vẫn giữ đầu ra con.
Sửa một thế hệ đang chạy
GET /session/{sessionID}/steering trả về UUID của thế hệ đang hoạt động và các biên nhận gần đây. Hãy kèm tham số truy vấn
directory sẵn có khi chọn một dự án qua máy chủ HTTP.
Gửi POST /session/{sessionID}/steering với:
{
"expectedGeneration": "00000000-0000-4000-8000-000000000001",
"clientID": "correction_1",
"text": "Preserve the existing public function signature."
}
Dùng UUID từ GET, không dùng UUID ví dụ. accepted nghĩa là bản sửa đang chờ. applied nghĩa là nó đã được
ghi thành thông điệp người dùng tại một ranh giới vòng lặp và gồm ID thông điệp của nó; điều này không bảo đảm nhà cung cấp hoàn tất.
rejected nghĩa là nó không được áp dụng. Hook vòng đời có thể phủ quyết việc nhận. Một bản sửa được chấp nhận kéo dài một thế hệ
sắp hoàn tất thêm một vòng lặp, nên bản sửa gửi đúng lúc kết thúc được áp dụng thay vì
bị từ chối; việc hủy và lỗi vẫn từ chối các bản sửa đang chờ, và một thế hệ cũ không thể nhận văn bản cho
thế hệ kế tiếp. Các lần thử lại giống hệt trả về cùng biên nhận được giữ; nội dung khác dưới một ID máy khách sẵn có trả về
HTTP 409. Cử chỉ gửi ngay ctrl+s của TUI dùng điểm cuối này.
Lời gọi công cụ song song trong một bước
Khi mô hình phát nhiều lời gọi công cụ trong một thông điệp trợ lý, môi trường chạy thực thi chúng đồng thời qua một
cổng đọc/ghi theo phạm vi phiên. Công cụ chỉ đọc dùng chung làn và chồng lên nhau; sửa tệp, bash, bash_input,
sửa sổ tay, ops_apply, công cụ MCP, và mọi batch chứa một lời gọi con không an toàn khi chạy đồng thời chiếm làn độc quyền
và chạy một mình theo thứ tự đến. Một lời gọi bị hủy khi đang chờ không bao giờ chạy. Lô giữ rào thứ tự riêng cho các
lời gọi nó điều phối, và các phiên con có cổng riêng.
Biên nhận thuộc tiến trình cục bộ, tối đa 256 mỗi phiên và 32 yêu cầu đang chờ. Biên nhận đã kết thúc và mục phiên không hoạt động
có thể bị loại. Sau khi khởi động lại, hãy lấy thế hệ mới và đối chiếu các thông điệp đã lưu; API này không
hứa tra cứu biên nhận bền vững qua các lần khởi động lại. SDK đã sinh phơi bày session.steering và session.steer.
Đưa phần theo dõi đã lưu vào lượt đang chạy
POST /task-queue/{taskID}/steer nhận văn bản của một phần theo dõi đang xếp hàng vào thế hệ đang chạy của phiên tại
ranh giới bước kế tiếp — cùng điểm giao như POST /session/{sessionID}/steering — và hủy hàng đó trong
cùng yêu cầu, ghi steeredInto (UUID thế hệ) và steeredAt trên tải của hàng để kiểm toán.
Các phần theo dõi chỉ có văn bản tới 16.000 ký tự có thể được điều hướng; văn bản được điều hướng dùng tác nhân, mô hình
và công cụ của lượt đang chạy. Tệp đính kèm, loại không phải theo dõi, hàng đã ổn định và văn bản quá cỡ bị từ chối với HTTP 400, và
một hàng tranh chấp sang trạng thái khác giữa chừng yêu cầu trả về HTTP 409.
Phản hồi mang mục hàng mới nhất và một biên nhận có thể rỗng. Khi không có thế hệ nào hoạt động, hàng được để
nguyên và phản hồi báo generation_not_active với biên nhận rỗng; bên gọi khi đó có thể quay về
POST /task-queue/{taskID}/send-now, vốn chỉ đưa hàng lên đầu hàng đợi và vẫn chờ
lượt kết thúc. Một hàng đã được điều hướng không hoàn tác được, nhưng vẫn hiện dưới dạng cancelled trong lịch sử /queue với các
trường kiểm toán.
Trong TUI, tổ hợp phím input_submit_steer (mặc định ctrl+s) điều hướng bản nháp đã gõ khi có bản nháp; với
trình soạn trống trên một phiên đang bận, nó thay vào đó đẩy tiền tố có thể điều hướng của hàng đã lưu theo thứ tự FIFO,
dừng ở hàng không điều hướng được đầu tiên để các phần theo dõi sau không bao giờ nhảy lên trước. Mục Theo dõi trên thanh bên
và hộp thoại /queue đưa ra cùng hành động điều hướng ngay theo từng hàng, và một gợi ý gần các phần theo dõi đang xếp hàng hiện phím đã gắn.
SDK đã sinh phơi bày taskQueue.steer.
Đề xuất một kỹ năng từ công việc đã xác minh
Ứng viên kỹ năng là các bản ghi tường minh trong kho cục bộ sẵn có của AX Code. Chúng không vào khám phá kỹ năng cho đến khi bạn thăng cấp chúng, và không bao giờ kích hoạt một lời gọi mô hình tự động hay viết lại chỉ dẫn.
Tạo một tệp JSON đề xuất với name, description, applicability, procedure và evidence chứa
sessionID, messageID và partID. Bằng chứng phải xác định một kết quả verify_project thành công gốc với
các phong bì kiểm thử hoặc kiểm tra kiểu đã thực thi đối chiếu bản sửa Git sạch hiện tại. Một câu thành công hoặc mã thoát shell
tùy ý là chưa đủ. Việc xác thực phải dẫn chiếu một xác minh thành công của phiên khác ở cùng bản sửa.
ax-code skill candidate propose --proposal proposal.json
ax-code skill candidate show verified-procedure
ax-code skill candidate validate verified-procedure --proposal independent-evidence.json
ax-code skill candidate promote verified-procedure
ax-code skill candidate retire verified-procedure
Giữ JSON đầu vào ngoài worktree hoặc trong một thư mục cục bộ bị bỏ qua để kiểm tra bản sửa sạch vẫn có ý nghĩa.
Việc thăng cấp tạo .ax-code/skill/{name}/SKILL.md mà không ghi đè một kỹ năng sẵn có. Bằng chứng nguồn được kiểm tra lại
trước khi thăng cấp. Thư mục liên kết tượng trưng bị từ chối. Việc nghỉ hưu chỉ gỡ tệp không đổi thuộc chính ứng viên;
sửa tay gây xung đột. Hãy khởi động lại một thực thể môi trường chạy sẵn có để làm mới bộ nhớ đệm khám phá kỹ năng.
Các kiểm tra đạt thiết lập bằng chứng cho chính những kiểm tra đó; hãy xem lại khả năng áp dụng của quy trình trước khi thăng cấp.
Ghi một thí nghiệm đã ghép cặp
Từ một bản checkout nguồn, dùng:
pnpm --dir packages/ax-code exec tsx script/harness-eval.ts run /path/to/manifest.json > /path/to/runs.ndjson
pnpm --dir packages/ax-code exec tsx script/harness-eval.ts compare /path/to/runs.ndjson baseline candidate
Bản kê vận hành viên đáng tin chứa một provider/model tường minh, runtimeRevision, argv CLI command tùy chọn,
repetitions, timeoutMs, đúng hai arms có tên, và tasks. Mỗi nhánh có features tùy chọn (các cờ thí nghiệm
ở trên) và toolProfile. Mỗi tác vụ cung cấp id, prompt, files nội tuyến (path/content), và một oracle.
Bộ kiểm chuẩn là JavaScript đáng tin do Node thực thi sau khi tiến trình lập trình thoát; process.argv[1] xác định
bộ thử tạm. Mã của nó nằm ngoài không gian làm việc của tác nhân và không bao giờ đến từ phản hồi của mô hình.
Mỗi lần thử nhận một bộ thử Git mới. Bộ kiểm chuẩn phải thất bại với mã thoát 1 trên bộ thử ban đầu. Bộ chạy dùng một
lần gọi CLI không tương tác cố định, đổi thứ tự nhánh giữa các lần lặp, áp dụng thời gian chờ, và chạy bộ kiểm chuẩn lần nữa
sau một lần thử đã hoàn tất. elapsedMs gồm tiến trình lập trình và xác minh sau lần chạy; verificationMs xác định
phần sau một cách riêng. Thiết lập bộ thử và kiểm tra thất bại ban đầu bị loại khỏi đó. Luồng ghi mọi lần thử đã hoàn tất,
thất bại, hết thời gian hoặc bị hủy ngay khi kết thúc. Lời nhắc thô, đầu ra tiến trình con và thông tin xác thực không được phát
trong bản ghi đánh giá. Một đợt bị ngắt vẫn chưa hoàn tất và không thể tạo một so sánh đã ghép cặp.
Phép so sánh từ chối bản trùng và các cặp tác vụ/mô hình/đợt/lần lặp thiếu hoặc lệch. Các lần thử thất bại và chưa xác minh vẫn nằm ở mẫu số của tỷ lệ thành công. Trung vị độ trễ và tỷ lệ ghép cặp được đặt điều kiện một cách tường minh trên thành công đã xác minh. P95 cần 20 quan sát thành công trong một ô tác vụ/mô hình/đợt/nhánh; các tổng hợp ô trộn bỏ qua chỉ số đó. Đợt băm bản kê, nhưng bản sửa môi trường chạy và điều kiện nhà cung cấp, cấu hình, bộ nhớ đệm bên ngoài vẫn cần sự kiểm soát của vận hành viên. Một lần chạy thử nhanh nhỏ không thể thiết lập ưu thế tốc độ tổng quát hay biện minh việc đổi mặc định.
Chọn khả năng và chẩn đoán phục hồi
Yêu cầu tự chủ có thể gồm một gói ngữ cảnh tác nhân dài khi mô hình có ít nhất 64.000 token ngữ cảnh, hỗ trợ suy luận và hỗ trợ công cụ. Với mô hình không có mục đăng ký, cả ba phải được khai báo trong siêu dữ liệu mô hình đã phân giải. Gói bổ sung có trần ước lượng ký tự 2.048 token; đó không phải cửa sổ hội thoại. Các khai báo phủ định tường minh và hạn chế đã đăng ký ngăn việc nhận. Tối ưu văn bản lời nhắc này không thiết lập tương thích bộ nhớ đệm hay suy nghĩ được giữ lại, cũng không đổi hạn và nhịp Super-Long tự động. Những thứ đó giữ quy tắc đủ điều kiện và ghi đè sẵn có.
Hai lỗi công cụ có cấu trúc liên tiếp sau thông điệp người dùng mới nhất (đếm trước các lời nhắc đuôi tổng hợp) yêu cầu suy luận sâu hơn ở lời gọi mô hình kế tiếp khi tồn tại một biến thể nỗ lực dùng được. Một kết quả công cụ thành công đặt lại bộ đếm. Nỗ lực do người dùng nêu tường minh và các tùy chọn suy luận đã cấu hình giữ quyền ưu tiên. Việc này đổi cách chọn nỗ lực, không đổi giới hạn thử lại hay quyền công cụ.
Các sự kiện phát lại llm.request cục bộ gồm capabilityResolution: giao thức, cửa sổ ngữ cảnh, liệu một gói ngữ cảnh hoặc
chế độ Super-Long đã được chọn, các lỗi công cụ liên tiếp, và lựa chọn suy luận hoặc một lý do chưa áp dụng.
boundary: "policy-selection" mô tả quyết định của AX Code; plugin và SDK nhà cung cấp vẫn có thể đổi yêu cầu cuối.
Các giá trị nỗ lực GPT-6 tường minh được giữ nguyên; API yêu cầu low trở lên chứ không phải none hay minimal.
Sự kiện giữ hash yêu cầu thay vì thân lời nhắc hoặc thông tin xác thực. Việc thiếu biến thể nỗ lực không có nghĩa
suy nghĩ mặc định của nhà cung cấp đã bị tắt.
Việc ghi harness ghép cặp đọc các sự kiện JSON step_finish và tool_use của CLI cho token đầu vào, đầu ra, suy luận và đọc bộ nhớ đệm,
các lời gọi công cụ đã hoàn tất, và lỗi công cụ. ID phần trùng chỉ tính một lần. metricsStatus là observed, partial hoặc
unavailable; luồng bị cắt hoặc sai dạng và các lần thử bị ngắt giữ lại tổng. Các phép so sánh báo số lần chạy đã quan sát và còn thiếu
của từng chỉ số cùng trung vị, gồm cả lần thử thất bại khi có quan sát. Giá trị thiếu vẫn là thiếu. Các bộ đếm này mô tả sự kiện môi trường chạy đã phát, không phải hóa đơn nhà cung cấp, mức dùng phiên con, hay công cụ nội bộ CLI gốc. Một luồng đã quan sát đầy đủ không có sự kiện công cụ kết thúc báo không lời gọi công cụ. Xác minh
bộ kiểm chuẩn vẫn là nguồn thành công của tác vụ; riêng mức dùng không thiết lập phục hồi thành công hay chất lượng tốt hơn.