Cuối cùng, React có cách giao tiếp bản địa với các tác nhân. Xây dựng giao diện người dùng tác nhân vẫn khó hơn nhiều so với những gì nó nên có. Bạn đã có tác nhân chạy ở phía backend. Có thể đó là LangGraph, CrewAI, hoặc một cái gì đó khác. Bây giờ bạn cần: → Truyền đầu ra của nó đến giao diện người dùng của bạn → Giữ trạng thái đồng bộ giữa UI và tác nhân → Xử lý kết nối lại khi người dùng làm mới → Quản lý vòng đời của tác nhân (bắt đầu/dừng/đặt lại) → Làm cho mọi thứ cảm thấy như thời gian thực Để giải quyết điều này, hầu hết các nhóm cuối cùng viết một đống mã kết dính tùy chỉnh, như WebSockets ở đây, quản lý trạng thái ở đó, và phân tích sự kiện thủ công ở khắp mọi nơi. CopilotKit vừa phát hành phiên bản v1.50, và nó giải quyết chính xác điều này. Trung tâm là `useAgent()`, một hook React cung cấp cho bạn một tay cầm trực tiếp đến bất kỳ tác nhân nào. Ví dụ: ```const { agent } = useAgent({ agentId: "my-agent" });``` Chỉ với một hook này: - Truyền tất cả các sự kiện của tác nhân vào UI của bạn (tin nhắn, gọi công cụ, đầu ra một phần, trạng thái) - Giữ trạng thái cuộc trò chuyện đồng bộ tự động - Gửi đầu vào của người dùng được bọc dưới dạng sự kiện AG-UI - Hoạt động với bất kỳ backend nào nói AG-UI (mà về cơ bản là mọi framework lớn hiện nay)...