Công cụ Agent transfer trong ElevenAgents

Chuyển người dùng giữa các agent ElevenLabs một cách liền mạch dựa trên các điều kiện đã xác định.

Tổng quan

Tính năng Agent-to-agent transfer cho phép một agent ElevenLabs chuyển giao cuộc hội thoại đang diễn ra cho một agent khác được chỉ định khi đáp ứng các điều kiện cụ thể. Điều này tạo điều kiện cho các quy trình hội thoại đa tầng, trong đó các agent khác nhau đảm nhận những nhiệm vụ riêng biệt hoặc xử lý các mức độ phức tạp khác nhau.

Ví dụ, một agent ban đầu (đóng vai trò điều phối - Orchestrator) có thể giải quyết các yêu cầu chung, sau đó chuyển cuộc gọi sang một agent chuyên biệt dựa trên ngữ cảnh của cuộc hội thoại. Việc chuyển giao này cũng có thể được thực hiện theo nhiều cấp độ lồng ghép:

Orchestrator Agent (Initial Qualification)
│
├───> Agent 1 (e.g., Availability Inquiries)
│
├───> Agent 2 (e.g., Technical Support)
│     │
│     └───> Agent 2a (e.g., Hardware Support)
│
└───> Agent 3 (e.g., Billing Issues)

Mục đích: Chuyển đổi cuộc hội thoại giữa các AI agent chuyên biệt dựa trên nhu cầu của người dùng.

Các điều kiện kích hoạt: Mô hình ngôn ngữ lớn (LLM) nên gọi công cụ này khi:

  • Yêu cầu của người dùng đòi hỏi kiến ​​thức chuyên môn hoặc các năng lực khác biệt của AI agent
  • Agent hiện tại không thể xử lý thỏa đáng truy vấn
  • Luồng hội thoại cho thấy cần một loại agent khác

Các tham số:

  • reason (chuỗi, tùy chọn): Lý do thực hiện chuyển đổi agent
  • agent_number (số nguyên, bắt buộc): Chỉ số (bắt đầu từ 0) của agent cần chuyển đến (dựa trên các quy tắc chuyển đổi đã được thiết lập)

Định dạng gọi hàm:

{
  "type": "function",
  "function": {
    "name": "transfer_to_agent",
    "arguments": "{\"reason\": \"User needs billing support\", \"agent_number\": 0}"
  }
}

Triển khai: Xác định các quy tắc chuyển đổi bằng cách ánh xạ các điều kiện tới những ID agent cụ thể. Cấu hình để chỉ định các agent mà agent hiện tại có thể chuyển cuộc hội thoại tới. Trong cấu hình chuyển đổi, các agent được tham chiếu bằng những con số bắt đầu từ 0.

Kích hoạt tính năng Agent transfer

Tính năng Agent transfer được thiết lập thông qua công cụ hệ thống transfer_to_agent.

1. Thêm công cụ chuyển đổi

Kích hoạt tính năng Agent transfer bằng cách chọn công cụ hệ thống transfer_to_agent trong phần cấu hình agent của bạn tại tab Agent. Hãy chọn tùy chọn “Transfer to AI Agent” khi thêm công cụ này.

Thêm công cụ chuyển đổi
Thêm công cụ chuyển đổi

2. Cấu hình mô tả công cụ (tùy chọn)

Bạn có thể cung cấp một mô tả tùy chỉnh để hướng dẫn mô hình ngôn ngữ lớn (LLM) về thời điểm kích hoạt quá trình chuyển đổi. Nếu để trống, hệ thống sẽ sử dụng mô tả mặc định bao gồm các quy tắc chuyển đổi đã được thiết lập.

Mô tả công cụ chuyển đổi
Mô tả công cụ chuyển đổi

3. Xác định các quy tắc chuyển đổi

Thiết lập các quy tắc cụ thể cho việc chuyển đổi sang những agent khác. Với mỗi quy tắc, hãy chỉ định:

  • Agent: Agent đích mà cuộc hội thoại sẽ được chuyển tới.
  • Condition: Mô tả bằng ngôn ngữ tự nhiên về các tình huống cần thực hiện chuyển đổi (ví dụ: “Người dùng hỏi về chi tiết thanh toán”, “Người dùng yêu cầu hỗ trợ kỹ thuật cho sản phẩm X”).
  • Delay before transfer (milliseconds): Khoảng thời gian chờ tối thiểu (tính bằng mili giây) trước khi quá trình chuyển đổi diễn ra. Mặc định là 0 (chuyển đổi ngay lập tức).
  • Transfer Message: Một thông điệp tùy chỉnh (không bắt buộc) sẽ được hiển thị/phát trong quá trình chuyển đổi. Nếu để trống, quá trình chuyển đổi sẽ diễn ra âm thầm.
  • Enable First Message: Xác định xem agent tiếp nhận có nên gửi thông điệp đầu tiên của nó sau khi quá trình chuyển đổi hoàn tất hay không. Mặc định là tắt.

LLM sẽ sử dụng các điều kiện này, cùng với mô tả công cụ, để quyết định thời điểm chuyển đổi và agent đích (thông qua số định danh) cần chuyển tới.

Cấu hình các quy tắc chuyển đổi
Cấu hình các quy tắc chuyển đổi

Hãy đảm bảo rằng tài khoản người dùng tạo agent đó có ít nhất quyền "xem" đối với bất kỳ agent đích nào được chỉ định trong các quy tắc chuyển đổi.

Cơ chế chuyển đổi

Khi quá trình chuyển đổi diễn ra, agent gốc (agent khởi tạo việc chuyển đổi) sẽ truyền một số giá trị cấu hình nhất định sang agent đích (agent tiếp nhận cuộc hội thoại), trong khi các giá trị khác sẽ được thiết lập lại hoàn toàn.

Kế thừa cấu hình

Agent gốc sẽ ghi đè các giá trị sau đây lên mọi agent đích, bất kể cấu hình hiện tại của agent đích đó là gì:

Cài đặt Mô tả
Client events Các sự kiện mà client gửi đi (ví dụ: audio, interruption, user_transcript).
TTS output audio format Định dạng lời nói của agent được gửi đi (ví dụ: pcm_16000, ulaw_8000).
ASR input audio format Định dạng âm thanh người dùng mà agent mong đợi (ví dụ: pcm_16000, ulaw_8000).

Ngoài ra, ngôn ngữ hiện tại của agent cha được kế thừa - nếu agent con không hỗ trợ ngôn ngữ đó, nó sẽ sử dụng ngôn ngữ mặc định của riêng mình. Cấu hình webhook sau cuộc gọi và phân tích (bao gồm tiêu chí đánh giá và các mục thu thập dữ liệu) cũng được áp dụng cho toàn bộ cuộc hội thoại.

Không kế thừa cấu hình

Tất cả các cấu hình khác được thiết lập bởi agent con, bao gồm nhưng không giới hạn ở:

  • Prompt, tin nhắn đầu tiên, LLM, quy trình làm việc, giọng nói, công cụ và cơ sở kiến ​​thức
  • Giọng nói TTS, mô hình, độ ổn định và các cài đặt giọng nói khác (ngoại trừ agent_output_audio_format)
  • Mô hình ASR, chất lượng và từ khóa (ngoại trừ user_input_audio_format)
  • Lượt/thời gian chờ, cài đặt ngôn ngữ sẵn có, thời lượng tối đa, v.v...

Cấu hình các cài đặt này nhất quán trên mỗi agent trong quy trình làm việc để tránh hành vi không khớp.

Bản ghi và lịch sử trò chuyện

Toàn bộ bản ghi được lưu giữ trong suốt cuộc hội thoại. Tin nhắn của người dùng và agent từ mỗi agent trước đó vẫn còn trong lịch sử trò chuyện.

Trong quá trình chuyển cuộc gọi, các lệnh gọi công cụ transfer_to_agent sẽ bị loại bỏ khỏi lịch sử hiển thị cho LLM của agent con, do đó cuộc hội thoại sẽ tiếp tục mà không đề cập đến việc chuyển giao.

Đánh giá sau cuộc gọi

LLM đánh giá sau cuộc gọi nhận được toàn bộ bản ghi chưa được lọc - tất cả các tin nhắn của người dùng và agent, và tất cả các lệnh gọi công cụ bao gồm cả việc chuyển cuộc gọi.

Các tin nhắn riêng lẻ không có trường agent_id. Để xác định agent nào đã tạo ra tin nhắn nào, trình đánh giá sử dụng lệnh gọi công cụ transfer_to_agent làm dấu mốc phân định trong bản ghi.

Triển khai API

Bạn có thể cấu hình công cụ hệ thống transfer_to_agent khi tạo hoặc cập nhật agent thông qua API.

Python

from elevenlabs import AgentConfig, ConversationalConfig, ElevenLabs

elevenlabs = ElevenLabs(api_key="YOUR_API_KEY")

# Define transfer rules with new options
transfer_rules = [
    {
        "agent_id": "AGENT_ID_1",
        "condition": "When the user asks for billing support.",
        "delay_ms": 1000,  # 1 second delay
        "transfer_message": "I'm connecting you to our billing specialist.",
        "enable_transferred_agent_first_message": True,
    },
    {
        "agent_id": "AGENT_ID_2",
        "condition": "When the user requests advanced technical help.",
        "delay_ms": 0,  # Immediate transfer
        "transfer_message": None,  # Silent transfer
        "enable_transferred_agent_first_message": False,
    },
]

response = elevenlabs.conversational_ai.agents.create(
    conversation_config=ConversationalConfig(
        agent=AgentConfig(
            first_message="Hi, how can I help you today?",
            prompt={
                "prompt": "You are a helpful assistant.",
                "built_in_tools": {
                    "transfer_to_agent": {
                        "type": "system",
                        "name": "transfer_to_agent",
                        # Optional custom description
                        "description": "Transfer the user to a specialized agent based on their request.",
                        "params": {
                            "system_tool_type": "transfer_to_agent",
                            "transfers": transfer_rules,
                        },
                    }
                },
            },
        ),
    ),
)

print(response)

 JavaScript 

import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";

const elevenlabs = new ElevenLabsClient({
  apiKey: "YOUR_API_KEY",
});

await elevenlabs.conversationalAi.agents.create({
  conversationConfig: {
    agent: {
      firstMessage: "Hi, how can I help you today?",
      prompt: {
        prompt: "You are a helpful assistant.",
        builtInTools: {
          transferToAgent: {
            type: "system",
            name: "transfer_to_agent",
            description: "Transfer the user to a specialized agent based on their request.", // Optional custom description
            params: {
              systemToolType: "transfer_to_agent",
              transfers: [
                {
                  agentId: "AGENT_ID_1",
                  condition: "When the user asks for billing support.",
                  delayMs: 1000, // 1 second delay
                  transferMessage: "I'm connecting you to our billing specialist.",
                  enableTransferredAgentFirstMessage: true,
                },
                {
                  agentId: "AGENT_ID_2",
                  condition: "When the user requests advanced technical help.",
                  delayMs: 0, // Immediate transfer
                  // transferMessage omitted for a silent transfer
                  enableTransferredAgentFirstMessage: false,
                },
              ],
            },
          },
        },
      },
    },
  },
});
Thứ Bảy, 17/10/2026 09:34
5 ★ 1 👨
Xác thực tài khoản!

Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:

Số điện thoại chưa đúng định dạng!
Số điện thoại này đã được xác thực!
Bạn có thể dùng Sđt này đăng nhập tại đây!
Lỗi gửi SMS, liên hệ Admin
0 Bình luận
Sắp xếp theo
❖ Eleven Agents