Prime Agent viết lại bằng Rust: nhanh hơn 14 lần nhờ tự động tái cấu trúc

Công nghệ09 tháng 10, 2026·7 phút đọc

Prime Intellect đã viết lại Prime Agent từ TypeScript sang Rust, đạt tốc độ phản hồi nhanh hơn 14 lần và tiết kiệm hơn 80% bộ nhớ. Đáng chú ý, chính các agent AI đã tự động thực hiện toàn bộ quá trình chuyển đổi này thông qua một hệ thống điều phối gồm hơn 2.000 agent.

Prime Agent viết lại bằng Rust: nhanh hơn 14 lần nhờ tự động tái cấu trúc

Prime Agent viết lại bằng Rust: nhanh hơn 14 lần nhờ tự động tái cấu trúc

Prime Intellect vừa công bố phiên bản Prime Agent được viết lại hoàn toàn bằng Rust, đánh dấu bước tiến lớn về hiệu năng và kiến trúc phần mềm. Điều đặc biệt là chính các agent AI đã tự động thực hiện quá trình chuyển đổi phức tạp này, với hơn 2.000 agent phối hợp trong hơn hai tuần, xử lý hơn 200 tỷ token.

Từ TypeScript sang Rust: Lý do đằng sau

Kể từ khi ra mắt vào tháng 8, Prime Agent đã được tải xuống hơn 300.000 lần và xử lý hơn 8 nghìn tỷ token. TypeScript giúp nhóm phát triển ra mắt sản phẩm nhanh chóng, nhưng tồn tại nhiều hạn chế khi hệ thống mở rộng:

  • Kiểu dữ liệu tùy chọn: TypeScript không bắt buộc kiểm tra kiểu và các kiểu biến mất khi chạy, lỗi truyền đi dưới dạng ngoại lệ không được kiểm soát
  • Xử lý nặng trên một luồng sự kiện: Các tác vụ nặng CPU như hiển thị và phân tích phiên lớn phải cạnh tranh với nhập liệu bàn phím
  • Chi phí runtime: Mỗi tiến trình phải trả giá cho JavaScript runtime và bộ thu gom rác

Rust giải quyết những vấn đề này nhờ hiệu năng native không có bộ thu gom rác, khả năng đồng thời với các trait Send và Sync được trình biên dịch kiểm tra, cùng các đảm bảo ở thời điểm biên dịch như enum đầy đủ, quyền sở hữu và vòng đời.

So sánh cấu trúc điều phối trước và sau khi viết lạiSo sánh cấu trúc điều phối trước và sau khi viết lại

Cách Prime Agent tự viết lại chính mình

Mục tiêu của nhóm là để các agent thực hiện việc viết lại một cách tự chủ với ít can thiệp của con người nhất. Công việc của con người chủ yếu là thiết lập cơ chế xác minh phù hợp để cho phép triển khai tự động ở quy mô lớn.

Bốn loại kiểm tra tương đương được thiết lập:

  • Tương đương TUI: Bộ kiểm thử so sánh trực tiếp hai phiên bản TypeScript và Rust với cùng một mô hình kịch bản, đối chiếu khung hình terminal mà mỗi bên hiển thị
  • Tương đương harness: So sánh bản ghi phiên và các yêu cầu gửi đến nhà cung cấp mô hình
  • Tương đương giao thức: Kiểm tra tất cả loại thông điệp trong giao thức daemon so với bản TypeScript
  • Tương đương tính năng: Các agent kiểm tra từng thành phần sản phẩm TypeScript, phân loại là khớp, một phần hoặc thiếu

Với một phép kiểm tra khách quan cho mỗi loại tương đương, các agent có thể tự đo lường tiến độ và phát hiện hồi quy trước khi thay đổi được hợp nhất, giúp giảm bớt việc đánh giá thủ công.

Điều phối bằng máy trạng thái hữu hạn

Một agent gốc điều phối toàn bộ quá trình viết lại và chia công việc theo thứ tự tô-pô. Agent gốc không viết mã sản phẩm, giữ vai trò giám sát mọi tác vụ và duy trì tổng quan. Mỗi tác vụ đi qua bốn loại agent:

  1. Planner: Tạo đặc tả máy tổng thể, bao gồm thiết kế tính năng và cơ chế xác minh
  2. Implementer: Viết mã Rust trong một worktree riêng để các tính năng phát triển song song
  3. Reviewer: Kiểm tra pull request một cách đối kháng, dùng mô hình khác và ngữ cảnh riêng
  4. Verifier: Biên dịch và chạy kiểm tra tương đương trong một Prime Sandbox mới

Việc tách biệt giữa sinh mã và xác minh là nguyên tắc quan trọng, vì agent viết mã thường thiên vị khi đánh giá chính sản phẩm của mình.

Sơ đồ điều phối các agentSơ đồ điều phối các agent

Thiết kế lại kiến trúc

Việc chuyển sang Rust cũng là cơ hội tái cấu trúc toàn bộ mã nguồn, mang lại lợi ích dài hạn:

  • Mô-đun hóa: Mã được chia thành chín crate với đồ thị phụ thuộc một chiều do Cargo thực thi. Tệp nguồn lớn nhất hiện khoảng 2.500 dòng, giảm từ khoảng 15.000 dòng trong TypeScript
  • Cô lập: Mỗi phiên chạy trong tiến trình worker riêng dưới một supervisor nhỏ, nên lỗi ở một phiên không ảnh hưởng đến các phiên khác
  • Trừu tượng hóa nền tảng: Truyền tải, điều khiển tiến trình và khóa tệp nằm sau các giao diện đặc thù nền tảng, giúp hỗ trợ Windows trở nên đơn giản hơn
  • Một định nghĩa giao thức: Client, daemon và mọi worker biên dịch dựa trên cùng các loại thông điệp trong crate shared types
  • Mô hình theo catalog: Danh sách mô hình và MCP được chuyển sang catalog riêng, tải lúc chạy, cho phép phát hành mô hình mới mà không cần bản phát hành Prime Agent mới

Tối ưu hiệu năng bằng hillclimbing

Sau khi đạt tương đương tính năng, nhóm xây dựng một harness benchmark đo lường hiệu năng trên nhiều chỉ số runtime khác nhau. Một orchestrator thứ hai chạy vòng lặp hillclimbing trong ba ngày với mục tiêu duy nhất: cải thiện kết quả benchmark mà không phá vỡ tương đương.

Đáng chú ý, nhóm cố ý không đặt mục tiêu số cụ thể, vì một ngưỡng cố định thường trở thành điểm dừng. Qua chu kỳ hillclimbing, vòng lặp ghi nhận hơn 144 bản ghi thí nghiệm và kiểm tra, hợp nhất hơn 69 thay đổi hợp lệ.

Các cải thiện đáng kể bao gồm:

  • Khởi động lạnh: Độ trễ sẵn sàng nhập liệu nhanh hơn 14,18 lần (từ 736,1 ms xuống 51,9 ms)
  • Khởi động ấm: Nhanh hơn 13,34 lần (từ 552,3 ms xuống 41,4 ms)
  • Bộ nhớ phiên lớn: Nhỏ hơn 4,76 lần (từ 1.130 MB xuống 237,3 MB)
  • Kích thước cài đặt: Nhỏ hơn 2,89 lần (từ 172,1 MB xuống 59,6 MB)

Phần lớn lợi ích đến từ ba loại thay đổi: chuyển công việc ra khỏi đường khởi động và hiển thị, thay vòng lặp polling bằng chờ đợi hướng sự kiện, và giải phóng bộ nhớ ngay khi phiên lớn tải xong.

Kết quả và so sánh

Tổng thể, bản viết lại bằng Rust giúp Prime Agent nhanh hơn đáng kể và tiết kiệm tài nguyên hơn. Với thời gian nhập liệu nhanh hơn khoảng 14 lần so với TypeScript và sử dụng ít hơn 80% bộ nhớ sau khởi động, Prime Agent nằm trong nhóm các harness agent lập trình nhanh nhất hiện có.

So sánh với các công cụ khác như Claude Code, Codex CLI, Pi và Hermes Agent, Prime Agent bản Rust cho thấy thời gian hiển thị đầu tiên chỉ 23,6 ms và thời gian nhập liệu khởi động lạnh 55,8 ms — vượt trội rõ rệt so với các đối thủ.

Kết quả của các harness bên ngoài được đo bằng bộ kiểm thử runtime tùy chỉnh của chúng tôi. Do chưa có chuẩn benchmark chung, các so sánh nên được diễn giải thận trọng.

Điều gì tiếp theo

Với bản Rust đã hoàn thiện, Prime Intellect đang tập trung vào các tính năng và đánh giá, đồng thời mở rộng các workflow đa agent đằng sau quá trình viết lại này cho người dùng. Prime Agent cũng sẽ được tích hợp chặt chẽ hơn vào hệ sinh thái Prime Intellect, cho phép làm việc xuyên suốt stack với cloud agent swarm, suy luận, trace, sandbox và huấn luyện.

Bản phát hành này cũng đi kèm hỗ trợ Windows gốc (bản beta) và cài đặt qua Homebrew. Prime Agent vẫn là mã nguồn mở và có thể cài đặt bằng một lệnh duy nhất.

Đối với độc giả Việt Nam quan tâm đến phát triển phần mềm và AI agent, đây là ví dụ đáng chú ý về cách các mô hình ngôn ngữ lớn có thể được áp dụng để tái cấu trúc hệ thống phần mềm phức tạp, đồng thời cho thấy tiềm năng của Rust trong các ứng dụng đòi hỏi hiệu năng cao và quản lý bộ nhớ chặt chẽ.

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗