Skip to main content
Chính sách tùy chỉnh chuyển đổi mô hình lỗi từ traces hoặc audits của bạn thành một quyết định chạy trong khi agent hoạt động. Một chính sách có thể cho phép một hành động, cung cấp hướng dẫn cho agent, hoặc từ chối hành động trước khi nó gây ra một sự cố khác. Sử dụng chính sách tùy chỉnh khi hành vi phụ thuộc vào tools, đường dẫn, lệnh, môi trường hoặc quy tắc vận hành của bạn. Kiểm tra danh mục chính sách tích hợp sẵn trước để tránh tái tạo một điều khiển hiện có.

Tạo chính sách tùy chỉnh

  1. Đi đến Admin → policy editor, chọn New policy, và mô tả lỗi bạn muốn ngăn chặn.
  2. Thêm mã nguồn chính sách, sau đó kiểm tra các kết quả khớp dự kiến và các kết quả không khớp an toàn trong trình editor. Giải quyết mọi lỗi xác thực.
  3. Lưu bản nháp và chọn Publish version để tạo một phiên bản không thay đổi.
  4. Đi đến Admin → enforcement, triển khai phiên bản tới một máy test trong chế độ observe, và xác minh các quyết định của nó trong Observe → policy trước khi thực thi. Trình soạn chính sách được sử dụng để tạo và xuất bản chính sách tùy chỉnh.

Bắt đầu với một quy tắc hẹp

Chính sách này chặn các lệnh Kubernetes phá hoại chỉ khi lệnh nhắm mục tiêu sản xuất. Mọi thứ ngoài chế độ lỗi chính xác đó trả về allow().
Những chính sách tốt đủ hẹp để giải thích trong một câu. Khớp hành động quan sát được—không phải ý định bạn hy vọng agent có—và trả về allow() ngay khi quy tắc không áp dụng.

Chọn một quyết định

Viết lý do cho agent phải khôi phục. Giải thích những gì được phát hiện và nó nên làm gì thay vào đó.
Không sử dụng instruct() cho ranh giới an toàn. Việc phân phát hướng dẫn khác nhau tùy theo agent harness. Sử dụng deny() khi hành động phải được ngăn chặn.

Đối tượng chính sách

Lọc tools bên trong fn. match.toolNames không phải là một phần của loại chính sách tùy chỉnh công cộng.

Ngữ cảnh chính sách

Mỗi chính sách nhận một PolicyContext. Coi mọi giá trị tùy chọn là thực sự tùy chọn. Các phiên bản agent và loại sự kiện không cung cấp các trường giống nhau.

Đầu vào công cụ phổ biến

Failproof AI bình thường hóa các công cụ phổ biến trên các harness được hỗ trợ để một chính sách thường có thể sử dụng một hình dạng đầu vào. Sử dụng ép kiểu phòng chống vì các giá trị đầu vào công cụ được nhập là unknown:

Chọn sự kiện

Tính khả dụng sự kiện và hành vi chặn phụ thuộc vào agent harness. Xem Agent harnesses trước khi dựa vào một sự kiện trên một hạm đội hỗn hợp.
SessionStart, SessionEnd, UserPromptSubmit, PreToolUse, PermissionRequest, PermissionDenied, PostToolUse, PostToolUseFailure, Notification, SubagentStart, SubagentStop, TaskCreated, TaskCompleted, Stop, StopFailure, TeammateIdle, InstructionsLoaded, ConfigChange, CwdChanged, FileChanged, WorktreeCreate, WorktreeRemove, PreCompact, PostCompact, Elicitation, ElicitationResult, UserPromptExpansion, PostToolBatch, và Setup.

Tạo các mô hình chính sách phổ biến

Chặn ghi vào các đường dẫn được bảo vệ

Cung cấp hướng dẫn không chặn

Ghi lại hoàn thành phiên

Một sự kiện Stop bị từ chối có thể làm cho agent thử lại. Chỉ ghi lại một điều kiện mà agent có thể thỏa mãn trong môi trường hiện tại, và ràng buộc mọi lệnh gọi tiến trình con hoặc mạng.

Tải tệp chính sách

Tệp quy ước

Tệp quy ước tải tự động:
  • Cả thư mục chính sách dự án và người dùng đều được tải.
  • Các tệp tải theo thứ tự bảng chữ cái trong mỗi thư mục.
  • Một tệp phải kết thúc bằng policies.js, policies.mjs, hoặc policies.ts.
  • Nhiều lệnh gọi customPolicies.add() trong một tệp được hỗ trợ.
  • Nhập tương đối từ các mô-đun cục bộ được hỗ trợ.
  • Chính sách dự án có thể được cam kết để các quy tắc tương tự theo kho lưu trữ.

Tệp rõ ràng

Sử dụng các đường dẫn rõ ràng khi xác thực hoặc cấu hình nên đặt tên tệp nhập trực tiếp:
Các tệp rõ ràng tải trước, theo sau là các tệp quy ước dự án và sau đó là các tệp quy ước người dùng. Một tệp được phát hiện thông qua cả hai đường dẫn được tải một lần.

Xác thực và kiểm tra

Xác thực thực thi mô-đun thông qua trình tải sản xuất và xác nhận rằng nó đăng ký ít nhất một chính sách.
Xác thực bắt các tệp bị thiếu, lỗi cú pháp, nhập chưa được giải quyết, các ngoại lệ cấp cao nhất và hết thời gian tải mô-đun. Nó không chứng minh rằng logic khớp của bạn là chính xác. Kiểm tra ít nhất các trường hợp này:
  • Một hành động phải khớp và tạo lý do chính sách dự kiến.
  • Một hành động gần nhưng an toàn phải trả về allow().
  • Trường công cụ bị thiếu hoặc không đúng định dạng.
  • Cú pháp lệnh thay thế, đường dẫn, trích dẫn, casing và khoảng trắng.
  • Một tiến trình con hoặc phụ thuộc mạng không có sẵn.
Ghi nhận kết quả cho chính sách tùy chỉnh của bạn trong Observe → policy. Một bài kiểm tra bị chặn không đủ nếu một chính sách tích hợp sẵn khác đã đưa ra quyết định.

Hành vi thời gian chạy

  • Các chính sách tích hợp sẵn đánh giá trước các chính sách tùy chỉnh.
  • Deny đầu tiên dừng đánh giá chính sách thêm.
  • Nhiều kết quả instruct có thể được kết hợp khi không có chính sách nào từ chối sự kiện.
  • Một hàm chính sách có thời hạn thực thi 10 giây.
  • Một ngoại lệ bị ném hoặc hết thời gian được ghi nhật ký và được coi là allow().
  • Một tệp quy ước không tải được bỏ qua; các tệp tùy chỉnh khác và chính sách tích hợp sẵn tiếp tục.
  • Tải mô-đun cấp cao nhất cũng có thời hạn 10 giây.
  • Chế độ quan sát đám mây chạy chính sách nhưng ghi lại quyết định không cho phép mà không thực thi nó.
Giữ các mô-đun chính sách xác định và nhanh chóng. Tránh các lệnh gọi mạng cấp cao nhất hoặc khởi động máy chủ. Ràng buộc công việc bên trong fn, bắt các lỗi phụ thuộc và chọn cách cố ý liệu lỗi đó nên cho phép hay từ chối hành động.

Xuất API

TypeScript xuất PolicyContext, PolicyResult, CustomHook, PolicyDecision, và PolicyFunction.

Triển khai chính sách tùy chỉnh

Xuất bản một phiên bản, triển khai nó ở chế độ quan sát, xác minh quyết định và chuyển sang thực thi.