Công cụ Agent transfer trong ElevenAgents
Mua gói Thành viên QuanTriMang Pro để trải nghiệm website không quảng cáo và sử dụng các tiện ích AI trên QuanTriMang.
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 agentagent_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.
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.
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.
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,
},
],
},
},
},
},
},
},
});
Bạn nên đọc
-
Kiểm soát cách AI agent phát âm các từ cụ thể trong ElevenAgents
-
Cách kết nối agent đàm thoại ElevenLabs với các công cụ và nguồn dữ liệu bên ngoài bằng MCP
-
Công cụ End call trong ElevenAgents: Cho phép agent tự động ngắt cuộc gọi với người dùng
-
Thêm âm thanh nền, áp dụng bộ lọc giọng nói cho ElevenAgents
-
Bảo mật tích hợp MCP trong ElevenAgents
-
Nâng cao khả năng ElevenAgents bằng cơ sở kiến thức quy mô lớn sử dụng RAG
-
Thiết lập cơ sở kiến thức cho ElevenAgents
-
Cách cấu hình agent để giao tiếp bằng nhiều ngôn ngữ trong ElevenAgents
-
Cách thiết kế giọng nói sống động, lôi cuốn cho ElevenLabs Agents
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:
Hướng dẫn AI
AI Tools
Học IT
Hàm Excel