Cách hoạt động
RADAR hoạt động như thế nào.
Tổng quan kỹ thuật dành cho lập trình viên. RADAR vận hành các tác tử lập trình và chỉ đóng một tác vụ sau khi tự mình chạy lại bài kiểm thử nghiệm thu của tác vụ đó. Việc tác tử báo “xong” là một tuyên bố; lần chạy lại mới là bằng chứng.
01 Vòng lặp
Một vòng lặp cho mọi tác vụ.
Mọi tác vụ đều đi qua cùng một vòng lặp, và mỗi bước chỉ chạy nếu bước trước đó đã đạt.
- 01 · mở Tác vụ và bài kiểm thử nghiệm thu Được viết trước khi bắt đầu làm
- 02 · giao Một chủ sở hữu, worktree riêng Lease và fence token
- 03 · làm Tác tử làm việc Trong bản sao dự án của riêng nó
- 04 · tuyên bố Tác tử báo đã xong Ghi nhận là tuyên bố, không phải kết quả
- 05 · kiểm chứng RADAR chạy lại bài kiểm thử Trên phiên bản hiện tại
- nếu đạt Đã đóng Bằng chứng được lưu trong sổ cái
- nếu không đạt · lần thử n trên 3 Mở lại, kèm theo lỗi Cùng tác tử đó thử lại từ bước 03
- sau 3 lần thử Một tác tử khác tiếp quản Thêm tối đa 3 lần thử, từ bước 03
- sau 3 lần nữa Tác vụ chờ bạn Sổ cái từ chối các lần thử tiếp theo
- Mở
- Một tác vụ được mở cùng mục tiêu và một lệnh nghiệm thu có thể chạy lại. Lệnh này được kiểm tra khi mở tác vụ nhưng không được chạy: một tiêu chí không thể chạy đúng như đã viết sẽ bị từ chối ngay lúc đó, thay vì bị phát hiện ở cuối.
- Giao
- Mỗi tác vụ chỉ có một chủ sở hữu tại một thời điểm, thông qua một lease và một fence token. Thao tác ghi từ một chủ sở hữu đã hết hiệu lực sẽ bị từ chối.
- Làm
- Tác tử làm việc trong git worktree riêng, trên nhánh riêng của nó.
- Tuyên bố
- Việc tác tử báo rằng đã xong được ghi nhận là một tuyên bố. Một tuyên bố không đóng tác vụ.
- Kiểm chứng
- RADAR tự chạy lệnh nghiệm thu trên phiên bản hiện tại của công việc. Báo cáo của chính tác tử được đọc, nhưng không phải là bằng chứng.
- Đóng hoặc mở lại
- Nếu đạt, tác vụ được phép đóng, và bản ghi kiểm chứng được lưu làm bằng chứng. Nếu không đạt, tác vụ được mở lại, kèm theo lỗi.
- Giới hạn
- Ba lần thử của tác tử thực thi, sau đó ba lần tiếp quản bởi một tác tử khác. Sau đó sổ cái từ chối thêm lần thử và tác vụ chờ bạn. Đổi mô hình, phiên hay máy không đặt lại bộ đếm, và mỗi lần thử lại phải nêu rõ điều gì đã thay đổi.
02 Sổ cái
Một bản ghi chung mà mọi tác tử cùng ghi vào.
Mọi tác tử đều đọc và ghi vào cùng một sổ cái tác vụ: một tệp SQLite cục bộ. Đó là bản ghi duy nhất cho biết ai đang giữ từng tác vụ, điều gì đã được tuyên bố và bài kiểm thử cho thấy gì.
- Tác vụ
- Mục tiêu và lệnh nghiệm thu, được viết trước khi bắt đầu làm.
- Quyền sở hữu
- Chủ sở hữu hiện tại của từng tác vụ, cùng lease và fence token.
- Lần thử
- Được đếm theo từng tác vụ, xuyên suốt các tác tử, mô hình và máy.
- Tuyên bố
- Việc một tác tử báo rằng công việc đã xong, được lưu tách biệt khỏi kết quả.
- Bản ghi kiểm chứng
- Mỗi lần chạy nghiệm thu, gắn với commit và working tree mà nó đã chạy trên đó.
- Thay đổi
- Lệnh nghiệm thu bị thay đổi được ghi lại cùng phiên bản cũ và mới; một lần ghi đè thủ công cũng được ghi lại.
Bộ nhớ
Quyết định và bài học là các ghi chú Markdown có nguồn và phạm vi. Một chỉ mục cục bộ tìm kiếm chúng khi không có mạng, và một hook đưa những ghi chú phù hợp đến trước tác tử trước khi nó hành động. Vì các ghi chú là Markdown thuần, bạn có thể mở chúng trong Obsidian.
03 Cô lập
Mỗi lần thử trong bản sao riêng.
- Mỗi lần thử làm việc trong git worktree riêng, trên nhánh riêng. Hai tác tử thực thi không bao giờ dùng chung một cây.
- Tác tử thực thi không thể viết lại lệnh nghiệm thu của chính mình. Chỉ tác tử quản lý mới có thể thay đổi nó, và chỉ trước khi tác vụ được đóng; mọi thay đổi đều giữ lại phiên bản cũ và mới.
- Công việc chỉ đến được nhánh chính của bạn sau khi kiểm chứng đạt, và lệnh nghiệm thu chạy thêm một lần nữa sau khi merge.
- Force-push bị từ chối với mọi vai trò.
- Các quy tắc này chạy dưới dạng mã, trước và sau khi gọi mô hình. Chúng không phải là prompt, nên tác tử không thể dùng lời lẽ để vượt qua chúng.
04 Tác tử
Những tác tử bạn đang dùng.
RADAR vận hành Claude Code, Codex CLI, OMP và Hermes Agent, trên máy tính của bạn hoặc trên các máy chủ Linux của riêng bạn. Nó không thay thế chúng: chúng vẫn làm công việc.
- Claude Code
- Codex CLI
- OMP
- Hermes Agent
- Một hợp đồng chung
- Cùng quy tắc, cùng sổ cái, cùng cổng kiểm chứng và cùng giới hạn lần thử áp dụng cho cả bốn.
- Tác tử quản lý
- Tác tử mà bạn trò chuyện là tác tử quản lý: nó mở tác vụ, giao chúng cho các tác tử thực thi và chỉ đóng một tác vụ khi có bản ghi kiểm chứng đạt.
- Tác tử thực thi
- Các tác tử thực thi làm việc trong worktree riêng. Chúng không thể đóng tác vụ và không thể thay đổi lệnh nghiệm thu của mình.
05 Ưu tiên cục bộ
Ưu tiên cục bộ.
RADAR không cần tài khoản và không cần đám mây.
- Trên máy của bạn
- Sổ cái, các ghi chú bộ nhớ, các worktree và mọi lần chạy kiểm chứng, trên máy tính của bạn hoặc trên các máy chủ Linux của riêng bạn.
- Cần mạng
- Các tác tử của bạn, vốn trao đổi với nhà cung cấp của chúng như hiện nay. Mọi dịch vụ bên ngoài khác đều là tùy chọn và tắt cho đến khi bạn bật.
- Yêu cầu
- Windows hoặc Linux (macOS chưa được hỗ trợ), Python 3.12 trở lên, và Git. RADAR chỉ dùng thư viện chuẩn của Python.
- Chi phí
- Không có hóa đơn riêng. Các tác tử tiếp tục dùng những tài khoản mà bạn đã đăng nhập cho chúng. API trả phí chỉ được dùng nếu bạn chỉ định nhà cung cấp và ngân sách.
- Cài đặt
- Đưa cho tác tử lập trình của bạn đường dẫn đến repository và nói “cài đặt cái này”. Nó kiểm tra máy tính của bạn, hỏi trước khi cài bất cứ thứ gì còn thiếu, cài RADAR vào một môi trường ảo và báo lại kết quả của radar init và radar doctor.
06 Lệnh
Một danh sách lệnh ngắn.
Những lệnh bạn sẽ dùng đầu tiên. Phần giữ chỗ được đặt trong dấu ngoặc góc.
| Lệnh | Chức năng |
|---|---|
radar init | Thiết lập thư mục gốc của RADAR và sổ cái. |
radar doctor | Kiểm tra bản cài đặt và liệt kê các dịch vụ tùy chọn chưa được cấu hình. |
radar task new --project P --goal "…" --accept "<command>" | Mở một tác vụ cùng lệnh nghiệm thu của nó. |
radar dispatch <task> | Giao một tác vụ cho một tác tử, tác tử đó làm việc trong worktree riêng. |
radar status | Hiển thị toàn bộ hệ thống. |
radar verify <task> | Chạy lại lệnh nghiệm thu trên phiên bản hiện tại. |
radar task done <task> --evidence "<verification report>" | Đóng một tác vụ. Bị từ chối cho đến khi kiểm chứng đạt. |
radar collect | Thu thập công việc đã hoàn tất. |
radar integrate | Hợp nhất công việc đã kiểm chứng vào main. |
radar stop | Tạm dừng công việc và bật STOP. |
radar go | Gỡ STOP và liệt kê những gì có thể tiếp tục. |
radar memory search --local "<words>" | Tìm kiếm các ghi chú bộ nhớ khi không có mạng. |
radar uiradar web | Mở bảng điều khiển trong terminal hoặc trình duyệt. |
radar help --all | Liệt kê mọi lệnh. radar <command> -h cho biết chi tiết. |
07 Những điều nó không làm
Những điều RADAR không làm.
- Nó không thay thế các tác tử của bạn. Chúng vẫn viết mã; RADAR cho chúng một bản ghi chung, một bước kiểm tra không thể bỏ qua và một bộ nhớ.
- Nó không viết bài kiểm thử cho bạn. Một bước kiểm tra chỉ tốt bằng bài kiểm thử của nó; RADAR làm cho bài kiểm thử trở nên rõ ràng trước khi bắt đầu làm, để một người có thể đọc được.
- Nó không đóng công việc không có bài kiểm thử. Một tác vụ không có lệnh nghiệm thu chạy được sẽ bị từ chối ngay khi mở.
- Nó không giữ các tác tử của bạn ngoại tuyến. Chúng vẫn trao đổi với nhà cung cấp của mình, như hiện nay.
- Phiên bản mở dành cho lập trình viên cá nhân, không dành cho nhóm; phiên bản dành cho công ty đang được phát triển.
08 Trạng thái
Đang trong giai đoạn truy cập sớm
Hiện đang truy cập sớm. Mã nguồn mở khi phát hành công khai.
RADAR đang trong giai đoạn truy cập sớm. Nó sẽ được công bố dưới dạng mã nguồn mở theo giấy phép Apache-2.0 khi phát hành công khai. Để tham gia, hãy viết cho chúng tôi.