
Tự động biên dịch hành vi của tác nhân LLM đã ghi lại thành các tệp nhị phân WASM đã được xác minh
Điểm: 2 Bình luận: 0
Tài liệu: arXiv:2607.04542 · Được xây dựng bởi RightNow AI · Apache-2.0
Auto biên dịch hành vi tác nhân LLM đã ghi lại thành các tệp nhị phân wasm đã được xác minh, giới hạn khả năng, với một thời gian chạy phân cấp, trong đó sẽ quay lại mô hình tiên phong để xử lý các trường hợp mới lạ và biên dịch lại kết quả. Nó ghi lại những gì một tác nhân thực hiện, chứng minh những phần nào là biểu tượng một cách bí mật, trích xuất chúng, chắt lọc phần còn lại thành các chuyên gia nhỏ, xác minh toàn bộ dựa trên một hợp đồng hành vi và phát ra một tệp nhị phân nhận thức (.cbin): mã cộng với các mô hình nhỏ cộng với một bản kê khai đã được đo lường.
Ý tưởng gói gọn trong một câu: coi mô hình tiên phong như một trình thông dịch, và xây dựng trình biên dịch luôn đi theo các trình thông dịch. Câu chuyện bằng ngôn ngữ thông thường, với mọi con số đã được đo lường và nguồn gốc của nó, có trong docs/why-agi-compiler.md.
CLAUDE.md ghi lại các tiêu chuẩn kỹ thuật mà chúng tôi đã tuân thủ khi xây dựng công cụ này; spec/ được viết cho độc giả bên ngoài.
Nó là gì
Trình biên dịch: auto record gắn vào một tác nhân đang hoạt động và ghi lại các dấu vết, auto compile --contract hạ cấp chúng xuống một IR đã được định kiểu, chạy các bước xử lý và xác minh dựa trên hợp đồng trước khi phát ra một tệp .cbin.
Thời gian chạy: cấp 1 là đường dẫn nhanh đã được biên dịch. cấp 0 là một mô hình tiên phong làm trình thông dịch, cho các đầu vào mà bộ bảo vệ gắn cờ là mới lạ. Một chuyến đi của bộ bảo vệ sẽ hủy tối ưu hóa xuống cấp 0, ghi lại dấu vết và biên dịch lại. Đây là cơ chế bánh cóc: không có gì được tìm ra hai lần.
Tạo phẩm: .cbin được định địa chỉ theo nội dung với một bản kê khai báo cáo điểm đánh giá, giới hạn chi phí và độ trễ, yêu cầu khả năng và nguồn gốc. Bản kê khai báo cáo các con số đã được đo lường hoặc null, không bao giờ là những con số mang tính tham vọng.
Giới hạn khả năng là vật lý: các tạo phẩm được phát ra khai báo không có wasm imports và trình tải từ chối bất cứ thứ gì khác, do đó một tệp nhị phân không thể vượt quá các hiệu ứng đã khai báo của nó.
Kết quả đo lường
Mọi con số dưới đây đều có thể truy xuất nguồn gốc từ paper/bench-results.md (chứa các id chạy đánh giá và các dòng sổ cái) hoặc paper/claims.md.
Thống kê tính xác định: 488 trong số 560 khoảng thời gian có hiệu ứng đã ghi được chứng kiến là xác định (87,1% tổng hợp), với ba họ đạt 100,0% và tạo văn bản tự do là phần còn lại. Đây là dạng đo lường của tuyên bố rằng hầu hết nhận thức của tác nhân là biểu tượng một cách bí mật.
Cơ chế bánh cóc, trên một luồng mới lạ gồm 300 mục với ba thay đổi phân phối theo lịch trình (vị trí 50, 120, 200): chi phí biên trên mỗi mục giảm từ khoảng 59 µ$ (mô hình tiên phong thuần túy) xuống 2 µ$/mục ở trạng thái ổn định, rẻ hơn 6,4 lần từ đầu đến cuối, với ba thế hệ biên dịch lại mỗi thế hệ hạ cánh một chu kỳ sau một sự thay đổi, không có lỗi, và mọi lần biên dịch lại đều vượt qua cùng một cổng hợp đồng. Các câu trả lời của cấp 1 khớp với tác nhân tham chiếu trên các đầu vào đã được chứng kiến 124 trong số 128 lần (96,9%).
Thang độ trễ trên đường dẫn đã biên dịch: 736 ms (tiên phong) xuống khoảng 21 ms (phục vụ qua HTTP) xuống 290 µs (stdio) xuống 54,1 µs (Python trong tiến trình, pyo3) xuống 18,2 µs (Node trong tiến trình, napi). Các số liệu trong tiến trình đo lường ranh giới cuộc gọi trên các thiết bị cố định tầm thường, không phải suy luận.
Cùng một luồng chạy với một bộ bảo vệ cố ý lỏng lẻo đã đo lường chế độ lỗi mà kiến trúc này tồn tại để ngăn chặn: 48,9% câu trả lời của cấp 1 sai một cách âm thầm. Hiệu chỉnh, không phải khả năng mô hình, quyết định liệu chi phí thấp có giữ được tính đúng đắn hay không.
Quy trình
frontend IR passes backend
-------- -- ------ -------
trace SDK --> typed task graph --> extract --> verify --> task.cbin
(prompts, (capability and distill (contract (wasm code
tool calls, memory effects, optimize gate) + small models
args, results) uncertainty, + manifest)
resource bounds)
chạy: đầu vào --> bảo vệ --> phân phối nội bộ --> cấp 1 (đã biên dịch, được bảo vệ)
\-> mới lạ --> deopt --> cấp 0 (biên giới) --> nắm bắt
\-> biên dịch lại --> cấp 1
(cơ chế: không có gì được tìm ra hai lần)
Các bước xử lý, theo thứ tự: trích xuất ký hiệu (tìm kiếm liệt kê hoặc CEGIS có hướng dẫn LLM, các ứng cử viên được kiểm tra trong sandbox wasmtime không có mạng), chắt lọc (các nút mờ còn lại thành cây nhỏ hoặc chuyên gia MLP), xác minh (hợp đồng là trình kiểm tra kiểu; kiểm thử khác biệt so với mô hình tham chiếu; một hợp đồng lỗi hoặc không thể đo lường sẽ chặn phát hành), và tối ưu hóa. Các bộ bảo vệ sử dụng khoảng cách trigram-Jaccard với hiệu chuẩn phân tách-phù hợp để từ chối có hiệu chuẩn.
xây dựng
Yêu cầu:
rust 1.96.1 (phiên bản 2024), được ghim trong rust-toolchain.toml.
flatc 25.12.19 chính xác. Nó phải khớp với crate flatbuffers đã ghim; quá trình xây dựng IR sẽ thất bại nếu không khớp.
crates/auto-ir/build.rs giải quyết flatc theo thứ tự này: biến môi trường FLATC, sau đó là tools/flatc/flatc[.exe] (bị gitignore), sau đó là PATH. Cài đặt nó từ bản phát hành chính thức, ví dụ trên Windows, giải nén flatc.exe từ Windows.flatc.binary.zip tại github.com/google/flatbuffers/releases/download/v25.12.19/ vào tools/flatc/. Linux sử dụng Linux.flatc.binary.clang++-18.zip từ cùng bản phát hành.
Các cổng CI chạy trên mọi yêu cầu kéo:
cargo fmt --all --check
cargo clippy --workspace --all-targets -- -D warnings
cargo test --workspace
bắt đầu nhanh
Xây dựng CLI, sau đó chạy tập lệnh end-to-end. Nó ghi lại tác nhân đồ chơi thông qua SDK Python thực, kiểm tra báo cáo tính xác định đã đo lường, biên dịch tệp .cbin thông qua cổng xác minh, chạy nó và chứng minh các đường dẫn phủ định: một triển khai sai bị chặn, một đầu vào xa bị từ chối, một deopt được nhập và biên dịch lại thành cấp 1, và một tạo phẩm đăng ký bị giả mạo bị từ chối.
cargo build -p auto-cli
bash evals/toy-agent/e2e.sh
Các bước tương tự bằng tay, một tác vụ, ghi lại để chạy:
# ghi lại tác nhân đồ chơi hai lần, sau đó đọc báo cáo tính xác định đã đo lường
cargo run -p auto-cli -- record --store store.db -- python evals/toy-agent/agent.py
cargo run -p auto-cli -- record --store store.db -- python evals/toy-agent/agent.py
cargo run -p auto-cli -- report --task toy-agent --store store.db
# xác minh một hợp đồng so với các khoảng thời gian đã ghi (ghi một lần chạy đánh giá được địa chỉ hóa nội dung)
cargo run -p auto-cli -- verify --contract evals/toy-agent/fake-frontier.contract.toml --store store.db
# biên dịch khoảng thời gian thành tệp .cbin; nếu không có --module, việc triển khai được
# tổng hợp từ các quan sát đã ghi, và phát hành được bảo vệ bằng xác minh
cargo run -p auto-cli -- compile --contract evals/toy-agent/fake-frontier.contract.toml --st
Nguồn tin: Hacker News LLM — Tác giả: mooreds. Bản dịch tiếng Việt do AI thực hiện, có thể có sai sót.