Harnix

Tool

knowledge_search tự động khi có KB; tool tích hợp ask_user; connector thêm tool của MCP server từ xa.

Một agent có ba nguồn tool: tool tự động (knowledge_search khi gắn cơ sở tri thức), tool tích hợp trong nền tảng (ask_user), và tool từ các connector (MCP server từ xa) được gán cho agent.

Không có cờ bật/tắt cho tool này. Gắn ít nhất một knowledge base vào agent (xem Agent) là nó xuất hiện; gỡ hết knowledge base là nó biến mất. Chi tiết tool này trả về gì nằm ở trang Knowledge base. knowledge_search chỉ đọc và không bao giờ hỏi người dùng xác nhận.

Tool tích hợp (ask_user)

Harnix có sẵn một catalog tool tích hợp trong nền tảng. Tool đầu tiên là ask_user:

  • Hỏi lại người dùng khi cần: Khi agent đang xử lý mà thiếu một quyết định quan trọng từ người dùng (và không có lựa chọn mặc định hợp lý), agent gọi ask_user với 1–4 câu hỏi trắc nghiệm. Mỗi câu có tiêu đề ngắn gọn (header, tối đa 12 ký tự), nội dung câu hỏi (tối đa 500 ký tự), và 2–4 lựa chọn (label tối đa 60 ký tự kèm mô tả tuỳ chọn tối đa 200 ký tự). Câu hỏi có thể là chọn một hoặc chọn nhiều (multi_select).
  • Bật hoặc tắt trên console: Khi tạo agent mới, ask_user được bật sẵn. Trên console, mở một agent và vào tab Công cụ: mục Công cụ tích hợp (nằm ngay phía trên các nhóm connector) hiển thị từng tool nền tảng kèm tên, mã công cụ (ask_user), mô tả, và công tắc bật/tắt riêng (nhãn hỗ trợ trợ năng Bật: {tên}). Bạn có thể bật hoặc tắt ask_user cho từng agent bất kỳ lúc nào mà không ảnh hưởng tới các agent khác.
  • Tạm dừng không giữ worker: Khi agent gọi ask_user, lượt chạy dừng ở trạng thái waiting_input mà không giữ worker. Luồng streaming phát khung question, và cuộc hội thoại hiển thị pending_question.
  • Trả lời linh hoạt: Người dùng có thể trả lời bằng cách bấm chọn hoặc gõ câu trả lời của riêng mình. Trong lúc chờ câu hỏi, ô nhập tin nhắn không bị khoá — một tin nhắn mới gửi vào cuộc hội thoại chính là câu trả lời văn bản tự do cho câu hỏi đó. Ngoài ra, backend có thể trả lời qua API bằng POST /v2/runs/{run_id}/answer.
  • Thời hạn chờ: Cửa sổ chờ mặc định là 10 phút (ASK_USER_TIMEOUT_SECONDS, 600 giây). Nếu quá hạn không có câu trả lời, lượt chạy tiếp tục bình thường: model nhận thông báo câu hỏi đã hết hạn và hoàn thành câu trả lời với những thông tin hiện có. Xem Idempotency & huỷ và Giới hạn.

Connector (MCP server)

MCP (Model Context Protocol) là cách một agent gọi tool trên một server bên ngoài — ví dụ tra cứu đơn hàng trong hệ thống của bạn, tạo ticket, hay gọi một API nội bộ. Bạn thêm MCP server từ xa thành một connector, đăng nhập cho nó, rồi chọn ở tab Công cụ của từng agent những tool nào agent đó được dùng. Mỗi tool xuất hiện trong danh sách tool của agent với tiền tố mcp_<tên server>_, để không bao giờ đụng tên với tool của server khác. Tool có thể thay đổi dữ liệu (server không đánh dấu readOnlyHint: true) hỏi người dùng xác nhận trước khi chạy. Xem Connector.

Giới hạn khi thực thi

  • Kết quả một lần gọi tool bị cắt ở 64 KB — tool trả về nhiều hơn sẽ bị cắt bớt và đánh dấu đã cắt, vì kết quả đi thẳng vào prompt tiếp theo.
  • Một server không phản hồi không giữ agent chờ vô thời hạn: kết nối có deadline riêng, và lỗi kết nối được trả về cho model như một kết quả tool thất bại (model có thể thử cách khác hoặc báo cho người dùng), không phải làm sập cả lượt trả lời.

Trên trang này