failproofai-sdk so Failproof AI can reconstruct each run, audit its behavior, and find evidence-backed failures. The SDK writes structured events for the Failproof daemon to deliver to Cloud. It requires Python 3.10 or newer.
Tracing makes custom agents observable and auditable. Preventing an unsafe action before it executes also requires an enforcement hook in your runtime.
To enforce policies in a custom agent setup, contact Failproof AI. We will help map your runtime’s model, tool, and lifecycle boundaries to policy hooks.
Cài đặt failproofai-sdk
SDK hiện được phân phối dưới dạng wheel riêng tư. Liên hệ với đối tác Failproof AI của bạn để lấy phiên bản hiện tại và quyền truy cập tải xuống.
uv, hãy tải wheel xuống trước và chạy uv add ./failproofai_sdk-${VERSION}-py3-none-any.whl. Ghim wheel trong kho tạo tác riêng hoặc khóa phụ thuộc.
Package được cài đặt dưới dạng failproofai-sdk và nhập trong Python dưới dạng failproofai.
Kết nối daemon Failproof
- Dashboard
- CLI
-
Đi đến Admin → Keys và tạo khóa với
events:add. - Kết nối daemon Failproof đến Cloud trên máy agent.
- Chạy một phiên được instrumented, sau đó tìm ID chính xác của nó trong Observe → Events.
-
Đi đến Observe → Sessions, chọn cùng môi trường và mở trace được tái cấu trúc.

Instrument một lần chạy hoàn chỉnh
Gọiconfigure() một lần trong quá trình khởi động quy trình. Mọi lệnh gọi sự kiện chỉ sử dụng từ khóa và yêu cầu session_id và agent_id ổn định.
agent_start một lần cho mỗi diễn viên. Đối với các sub-agent, tái sử dụng session_id của cha mẹ, cung cấp cho mỗi diễn viên một agent_id riêng biệt và đặt parent_id thành agent ID của cha mẹ, không phải session ID.
Tham chiếu cấu hình
SDK ghi vào
base_dir rõ ràng khi được đặt. Nếu không, nó sử dụng spool custom-agents của daemon Failproof dưới FAILPROOFAI_HOME hoặc ~/.failproofai.
SDK xếp hàng các lệnh gọi trong bộ nhớ và ghi các lô trên một luồng nền. Nó cũng cố gắng flush cuối cùng thông qua xử lý atexit của Python. Đối với worker tồn tại ngắn hạn, hãy cho phép tắt trình thông dịch bình thường; kết thúc quy trình cứng có thể làm mất các sự kiện vẫn còn trong bộ nhớ.
Danh mục sự kiện
Tất cả các phương thức trả vềNone. Các trường để lại là None bị bỏ qua chứ không được ghi dưới dạng JSON null.
Sử dụng
outcome="failed", "error", "timeout" hoặc "rejected" khi một hoàn thành nên được tính là lỗi. Các giá trị khác, bao gồm "failure", không được phân loại là lỗi bởi backend hiện tại.
Quy tắc tương quan và thời lượng
- Tái sử dụng cùng
tool_call_id,hook_id,pause_idhoặcinput_idcho sự kiện hoàn thành phù hợp. - SDK tính toán
duration_mschotool_result,hook_completed,agent_resumevàhuman_input. Truyền nó riêng cho các phương thức đó sẽ tạoValueError. - ID công cụ và hook chia sẻ một bản đồ chờ xử lý trên toàn quy trình. Làm cho chúng toàn cầu duy nhất trong các phiên đồng thời và trong cả hai không gian tên; ID nhà cung cấp hoặc UUID là an toàn nhất.
- Một cặp phân chia trên các quy trình vẫn tương quan ở phía hạ lưu, nhưng SDK không thể tính toán thời lượng trong quy trình của nó.
- Bản đồ chờ xử lý chứa tối đa 10.000 lần bắt đầu và xóa mục nhập cũ nhất khi đầy.
Trường tùy chỉnh và tải trọng
Mỗi sự kiện chấp nhận các trường từ khóa bổ sung. Sử dụng các giá trị tương thích JSON khi các truy vấn ở phía hạ lưu cần cấu trúc. Các lá không được hỗ trợ như UUID, datetimes, decimals, sets, bytes và các đối tượng mô hình được chuỗi hóa bởi writer. Tên tùy chỉnh được dự trữ làtimestamp, session_id, agent_id, type và environment. Các lỗi đánh máy trường tùy chọn được chấp nhận như các trường tùy chỉnh mới, vì vậy hãy xem xét JSON phát hành khi trường tiêu chuẩn không xuất hiện trong Cloud.
Cung cấp và xác minh
- Dashboard
- CLI
Trong Observe → Events, xác minh
agent_start tồn tại trước tiên và agent_end tồn tại cuối cùng. Sau đó mở Observe → Sessions và xác nhận các sự kiện mô hình, công cụ, con người, hook và lỗi xuất hiện theo thứ tự dự kiến. Sử dụng ID phiên làm khóa xử lý sự cố chính.$FAILPROOFAI_HOME/custom-agents/events, nếu không thì ~/.failproofai/custom-agents/events. Các tệp JSONL chứng minh phát hành SDK; một spool ngày càng tăng chỉ đến cấu hình daemon hoặc cung cấp, trong khi một spool trống chỉ đến instrumentation hoặc thời gian tồn tại của quy trình.

