Chuyển đến nội dung

Hướng dẫn

Chọn giữa các ứng viên

oloproof select chọn, trong nhiều phiên bản của một hệ thống, phiên bản tốt nhất đáp ứng mọi yêu cầu, và nói riêng liệu nó có thật sự dẫn trước phiên bản kế tiếp hay không. Hãy dùng khi bạn có, chẳng hạn, ba tác tử, hai prompt hoặc bốn thiết lập truy xuất, và một bộ yêu cầu.

Vì sao không chọn con số đẹp nhất

Chọn ứng viên rẻ nhất có các con số vượt ngưỡng gặp hai vấn đề. Mức 91% đo được so với ngưỡng 90% chỉ cao hơn một điểm, nằm trong nhiễu của một nghìn trường hợp. Và khi bạn xem nhiều ứng viên, ứng viên vượt ngưỡng nhờ may mắn lại chính là ứng viên bạn chọn. Vì vậy mỗi ứng viên trước hết phải tự xác lập mọi quy tắc, ở mức tin cậy chặt hơn vì có nhiều ứng viên được xem xét: với ba ứng viên và một chính sách 95%, mỗi ứng viên được quyết định ở mức 98.33% (1 - 0.05/3). Chỉ những ứng viên vượt qua mọi quy tắc mới được xếp hạng, và một ứng viên rẻ hơn không bao giờ có thể đổi một quy tắc an toàn lấy chi phí của nó.

Khai báo một lựa chọn

Viết một tệp lựa chọn bên cạnh dự án của bạn, và quyết định nó theo release.yaml của dự án:

select:
  candidates:
    agent_a: run_01JC8Q2X7D
    agent_b: agent_b.yaml
    agent_c: agent_c.yaml
  objective:
    metric: cost_per_task
    direction: minimize

Một ứng viên là một id lần chạy đã lưu, hoặc một tệp dự án mà oloproof select chạy trước. Một lần chạy có thể tái sử dụng thì không tốn thêm gì. Chính sách chỉ được chứa quy tắc lần chạy, và dừng sớm phải tắt.

oloproof select select.yaml
oloproof select select.yaml --save

--save cũng ghi lựa chọn cho workbench cục bộ, trong Candidates.

Đọc câu trả lời

Có ba kết quả:

  • Một ứng viên được chọn và lợi thế của nó so với ứng viên thứ hai được xác lập: phép so sánh ghép cặp của hai ứng viên trên mục tiêu là PASS.
  • Một ứng viên được chọn và lợi thế của nó chưa được xác lập: với bằng chứng này, ứng viên thứ hai cũng là một lựa chọn có thể bảo vệ được như vậy.
  • Không ứng viên nào đạt: các quy tắc của từng ứng viên được liệt kê cùng câu trả lời, để bạn thấy còn thiếu gì.

Lệnh thoát với 0 khi một ứng viên được chọn và 3 khi không ứng viên nào đạt.

Một ví dụ cụ thể

Ba agent phải đạt tỷ lệ thành công ít nhất 90% và tỷ lệ vi phạm nhiều nhất 1%; mục tiêu là chi phí mỗi tác vụ thấp nhất.

AgentThành côngVi phạmChi phí mỗi tác vụ
A94%0.5%$18
B91%0.1%$12
C96%2%$30

Mỗi agent được quyết định ở mức 98.33%. Với 1,000 trường hợp, không agent nào đạt: tỷ lệ vi phạm của A chưa được chứng minh là dưới 1%, mức 91% của B quá gần 90% để được xác lập, và C vượt trần vi phạm. Câu trả lời là "không ứng viên nào đạt", kèm những gì mỗi ứng viên còn thiếu. Với 3,000 trường hợp, A xác lập cả hai quy tắc và được chọn. B rẻ hơn, nhưng tỷ lệ thành công của nó vẫn chưa được xác lập, nên nó không bao giờ được xếp hạng: chọn B theo con số của nó sẽ phát hành một yêu cầu mà chưa ai chứng minh.

Chia sẻ một lựa chọn

oloproof select select.yaml --save giữ lựa chọn cho workbench. oloproof push --selection ID gửi nó đến workspace được lưu trữ cùng lần chạy của từng ứng viên, qua chính sách egress của dự án; ID là tên thư mục dưới .oloproof/bundles/ hoặc digest của lựa chọn. Trước khi giữ lựa chọn, workspace thực hiện lại nó từ các lần chạy mà nó có, theo chính sách mà các lần chạy đó đã được quyết định, và chỉ giữ nếu kết quả giống hệt: một lựa chọn có kết quả hoặc câu chữ bị sửa, nêu tên một lần chạy mà dự án không có, hoặc mà engine không tạo ra từ các lần chạy đó, sẽ bị từ chối và không có gì được lưu. Vì vậy hãy quyết định các lần chạy của ứng viên theo chính sách của lựa chọn trước khi đẩy chúng lên. Trang Candidates của dự án liệt kê nó, và trang của nó hiển thị đúng như workbench cục bộ.

Owner hoặc Admin có thể tạo một trang bằng chứng từ trang của lựa chọn: kết quả, mức, và với mỗi ứng viên là tên, id lần chạy và các quy tắc ở mức đã hiệu chỉnh, gắn nhãn "Reported by the developer", không bao giờ có nội dung của một trường hợp.

Tiếp theo

  • Quy tắc so sánh trình bày phép so sánh ghép cặp quyết định lợi thế.
  • Gating trình bày các quy tắc mà mỗi ứng viên phải tuân theo.