Skip to main content
Chính sách tùy chỉnh chuyển đổi một mẫu 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 các tools, đường dẫn, lệnh, môi trường hoặc quy tắc hoạt động của bạn. Kiểm tra gói chính sách Failproof AI trước để bạn không tạo lại một điều khiển hiện có.

Soạn thảo chính sách tùy chỉnh

  1. Đi đến Admin → policy editor, chọn New policy, và mô tả lỗi mà 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 chỉnh sửa. 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 bất biến.
  4. Đi đến Admin → enforcement, triển khai phiên bản sang một máy kiểm tra trong chế độ observe, và xác minh các quyết định của nó dưới Observe → policy trước khi áp dụng nó. Trình chỉnh sửa chính sách được sử dụng để soạn thả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ứ bên ngoài chế độ lỗi chính xác đó trả về allow().
Các chính sách tốt đủ hẹp để giải thích trong một câu. Khớp với hành động có thể quan sát được — không phải ý định mà 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 phục hồi. 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 cung cấp hướng dẫn khác nhau tùy theo harness agent. Sử dụng deny() khi hành động phải được ngăn chặn.

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

Lọc cá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 khai.

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à các loại sự kiện không cung cấp các trường giống nhau.

Đầu vào tool phổ biến

Failproof AI chuẩn hóa các tools phổ biến trên các harness được hỗ trợ để chính sách thường có thể sử dụng một hình dạng đầu vào. Sử dụng việc chuyển đổi phòng thủ vì các giá trị đầu vào tool đượ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 harness agent. 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.

Soạn thảo các mẫu chính sách phổ biến

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

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

Chặn hoàn thành phiên

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

Tải các file chính sách

File quy ước

Các file quy ước tải tự động:
  • Cả thư mục chính sách của dự án và người dùng đều được tải.
  • Các file tải theo thứ tự bảng chữ cái trong mỗi thư mục.
  • Một file 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 file được hỗ trợ.
  • Các nhập tương đối từ các mô-đun cục bộ được hỗ trợ.
  • Các chính sách của dự án có thể được cam kết để cùng các quy tắc theo kho lưu trữ.

File tường minh

Sử dụng các đường dẫn tường minh khi xác thực hoặc cấu hình phải đặt tên file đầu vào trực tiếp:
Các file tường minh tải trước tiên, theo sau là các file quy ước của dự án và sau đó là các file quy ước của người dùng. Một file đượ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 file bị thiếu, lỗi cú pháp, nhập không được giải quyết, 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 ra lý do chính sách dự định.
  • Một hành động gần nhưng an toàn phải trả về allow().
  • Các trường tool bị thiếu hoặc sai đị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 phụ thuộc con quy trình hoặ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 dưới 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.
  • Cái deny đầu tiên dừng đánh giá chính sách tiếp theo.
  • 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 là được ghi nhận và được coi là allow().
  • Một file quy ước không tải được bị bỏ qua; các file 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 nhận quyết định không phải là allow mà không áp dụng nó.
Giữ các mô-đun chính sách xác định và nhanh. Tránh các lệnh gọi mạng cấp cao nhất hoặc khởi động máy chủ. Giới hạn công việc bên trong fn, bắt các lỗi phụ thuộc, và chọn có chủ ý xem liệu lỗi đó có nên cho phép hay từ chối hoạt độ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ó trong chế độ quan sát, xác minh các quyết định, và chuyển sang thực thi.