Hướng dẫn custom agents
Cài đặt, cấu hình, các phương thức sự kiện, một ví dụ chi tiết và các vấn đề thường gặp.
Đang dùng framework?
LangChain, CrewAI, LlamaIndex và Pydantic AI tự cấu hình với một lệnh gọi.
Cài đặt
failproofai-sdk và nhập trong Python dưới dạng failproofai_sdk. Các tính năng bổ sung của framework như failproofai-sdk[langgraph] cài đặt framework; các adapter luôn được đi kèm trong wheel cơ bản.
Kết nối daemon Failproof
- Dashboard
- CLI
-
Đi tới Admin → Keys và tạo một khóa với
events:add. - Kết nối daemon Failproof với Cloud trên máy agent.
- Chạy một phiên cấu hình, sau đó tìm ID chính xác của nó trong Observe → Events.
-
Đi tới Observe → Sessions, chọn cùng một environment, và mở trace được tái tạo.

Cấu hình
Đặt theo biến môi trường thay thế:
Các sự kiện được xếp hàng trong bộ nhớ và được ghi ở chế độ nền mỗi
flush_interval giây, với một lần xóa cuối cùng khi thoát thông dịch viên. Một quy trình bị giết hoàn toàn mất bất cứ điều gì chưa được ghi.
Danh tính
Mỗi sự kiện thuộc về một phiên và một agent. Các phạm vi điền cả hai, vì vậy bạn hiếm khi chuyển chúng:session_id hoặc agent_id một cách rõ ràng vẫn hoạt động và thắng. Không có cả ràng buộc lẫn được truyền, cuộc gọi tăng TypeError chứ không phải phát thải một sự kiện Cloud sẽ yên lặng loại bỏ.
Danh tính di trên các biến ngữ cảnh. Nó theo
asyncio tự động, nhưng không các luồng mới — bao quanh công nhân trong failproofai_sdk.propagate() hoặc sự kiện của nó hạ cánh không được gắn.Danh mục sự kiện
Mười lăm phương thức. Hầu hết đi theo cặp — bạn gọi bộ mở, sau đó bộ đóng, và SDK đo khoảng thời gian.
Ba tự đứng:
error, human_pause, human_interrupt.
Mỗi trường, theo phương thức
Mỗi trường, theo phương thức
Mỗi phương thức cũng có
session_id và agent_id, mà các phạm vi điền cho bạn. Bất cứ điều gì để lại là None được thả ra chứ không phải được gửi dưới dạng JSON null, và mỗi phương thức trả về None.Ghép đôi và thời lượng
Một quy tắc: cho sự kiện đóng cùng id với bộ mở của nó. Đó là những gì ghép đôi chúng, và những gì cho phép SDK đo khoảng thời gian.
Không tự truyền
duration_ms. SDK đo nó, và truyền nó tăng ValueError.
Ngoại lệ duy nhất là model_response, nơi chỉ bạn biết độ trễ nhà cung cấp thực. Chuyển một số nguyên của mili giây — một float tăng, bởi vì cột là một số nguyên 32-bit và sẽ hạ cánh trống.
Các trường hợp cạnh
Các trường hợp cạnh
- Id chỉ cần phải là duy nhất cho mỗi loại, mỗi phiên. Một lệnh gọi công cụ và một móc có thể chia một; hai phiên chạy cùng lúc có thể tái sử dụng cùng các id mà không va chạm.
- Chúng không được phạm vi vào một agent. Một cặp mở dưới một agent và đóng dưới một agent khác vẫn khớp — đó là trường hợp bình thường trong mã đa agent.
request_idlà tùy chọn nhưng được khuyến khích. Không có nó, các sự kiện mô hình ghép đôi theo thứ tự họ tới, vì vậy hai lệnh gọi đồng thời trong cùng một agent có thể sai lệch.- Một cặp chia tách trên các quy trình vẫn khớp trong Cloud, nhưng SDK không thể đo nó — không có gì trong quy trình nào thấy cả hai nửa.
- Nhiều nhất 10,000 bộ mở chờ một bộ đóng cùng một lúc. Quá điều đó, bộ cũ nhất bị thả, vì vậy rò rỉ không thể phát triển mà không bị ràng buộc.
Trường của riêng bạn
Bất kỳ từ khóa bổ sung nào bạn chuyển được lưu trữ với sự kiện:Decimal, một tập hợp, byte, một đối tượng mô hình — được lưu trữ dưới dạng chuỗi.
Năm tên này được dành riêng và bị từ chối hoàn toàn: timestamp, session_id, agent_id, type, environment.
Phân phối 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, móc và lỗi xuất hiện theo thứ tự dự định. Sử dụng ID phiên làm khóa khắc phục sự cố chính.$FAILPROOFAI_HOME/custom-agents/events, nếu không ~/.failproofai/custom-agents/events. Các tệp JSONL chứng minh phát thải SDK; một spool phát triển trỏ đến cấu hình daemon hoặc phân phối, trong khi một spool trống trỏ đến cấu hình hoặc thời lượng quá trình.
Chỉ kiểm tra spool khi daemon được dừng. Khi nó chạy, nó thu thập và xóa mỗi lô trong vài mili giây, vì vậy danh sách thư mục đua với bộ sưu tập và hiển thị ít sự kiện hơn nhiều so với sự kiện được phát thải.

