Cách thiết kế các luồng hội thoại phức tạp trong ElevenAgents

Tổng quan

Agent Workflows cung cấp giao diện trực quan mạnh mẽ để thiết kế các luồng hội thoại phức tạp trong ElevenAgents. Thay vì phụ thuộc vào những lộ trình hội thoại tuyến tính, các workflow cho phép bạn tạo ra những sơ đồ hội thoại phân nhánh tinh vi, có khả năng thích ứng linh hoạt với nhu cầu của người dùng.

Tổng quan về workflow
Tổng quan về workflow

Xây dựng workflow

Dashboard là phương thức được khuyến nghị để thiết kế workflow nhờ vào trình chỉnh sửa sơ đồ trực quan. Các workflow được lưu trữ như một phần trong conversation_config.workflow của agent; do đó, bạn cũng có thể tải về (pull), chỉnh sửa và đẩy (push) dữ liệu JSON thông qua CLI hoặc cập nhật qua SDK - điều này rất hữu ích cho việc quản lý phiên bản và CI/CD.

Xây dựng qua dashboard

Mở agent của bạn trong dashboard, chuyển đến tab Workflow và sử dụng trình chỉnh sửa trực quan để thêm các node, cấu hình hành vi của subagent và kết nối các edge. Lưu lại các thay đổi của bạn.

Cập nhật qua CLI

1. Tải cấu hình agent về

elevenlabs agents pull --agent "<tên-agent>"

2. Chỉnh sửa agent_configs/<agent-name>.json

Đồ thị workflow nằm tại conversation_config.workflow. Các node và edge là những đối tượng được định danh bằng ID. Dưới đây là một workflow tối giản gồm 3 node, trong đó luồng đi từ node bắt đầu đến một subagent hỗ trợ và sau đó chuyển đến node kết thúc:

{
  "conversation_config": {
    "workflow": {
      "nodes": {
        "start_node": {
          "type": "start",
          "edge_order": ["start_to_support"]
        },
        "support_agent": {
          "type": "override_agent",
          "label": "Support agent",
          "additional_prompt": "Help the user with their support request, then transition to the end node when resolved.",
          "edge_order": ["support_to_end"]
        },
        "end_node": {
          "type": "end"
        }
      },
      "edges": {
        "start_to_support": {
          "source": "start_node",
          "target": "support_agent",
          "forward_condition": { "type": "unconditional" }
        },
        "support_to_end": {
          "source": "support_agent",
          "target": "end_node",
          "forward_condition": {
            "type": "llm",
            "condition": "The support request has been resolved."
          }
        }
      }
    }
  }
}

Hầu hết các nhóm thiết kế workflow trên dashboard trước, sau đó đưa file JSON thu được vào hệ thống quản lý phiên bản.

3. Đẩy các thay đổi của bạn lên

elevenlabs agents push --agent "<tên-agent>"

Cập nhật qua API

Python

from elevenlabs import ElevenLabs

elevenlabs = ElevenLabs()

elevenlabs.conversational_ai.agents.update(
    agent_id="agent_7101k5zvyjhmfg983brhmhkd98n6",
    conversation_config={
        "workflow": {
            "nodes": {
                "start_node": {
                    "type": "start",
                    "edge_order": ["start_to_support"],
                },
                "support_agent": {
                    "type": "override_agent",
                    "label": "Support agent",
                    "additional_prompt": "Help the user with their support request, then transition to the end node when resolved.",
                    "edge_order": ["support_to_end"],
                },
                "end_node": {"type": "end"},
            },
            "edges": {
                "start_to_support": {
                    "source": "start_node",
                    "target": "support_agent",
                    "forward_condition": {"type": "unconditional"},
                },
                "support_to_end": {
                    "source": "support_agent",
                    "target": "end_node",
                    "forward_condition": {
                        "type": "llm",
                        "condition": "The support request has been resolved.",
                    },
                },
            },
        },
    },
)

TypeScript

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

const elevenlabs = new ElevenLabsClient();

await elevenlabs.conversationalAi.agents.update("agent_7101k5zvyjhmfg983brhmhkd98n6", {
  conversationConfig: {
    workflow: {
      nodes: {
        start_node: {
          type: "start",
          edgeOrder: ["start_to_support"],
        },
        support_agent: {
          type: "override_agent",
          label: "Support agent",
          additionalPrompt:
            "Help the user with their support request, then transition to the end node when resolved.",
          edgeOrder: ["support_to_end"],
        },
        end_node: { type: "end" },
      },
      edges: {
        start_to_support: {
          source: "start_node",
          target: "support_agent",
          forwardCondition: { type: "unconditional" },
        },
        support_to_end: {
          source: "support_agent",
          target: "end_node",
          forwardCondition: {
            type: "llm",
            condition: "The support request has been resolved.",
          },
        },
      },
    },
  },
});

Các loại node

Workflow bao gồm nhiều loại node khác nhau, mỗi loại phục vụ một mục đích cụ thể trong luồng hội thoại của bạn.

Các loại node
Các loại node

Node subagent

Các node subagent cho phép bạn thay đổi hành vi của agent tại những thời điểm cụ thể trong workflow. Những thay đổi này được áp dụng bổ sung vào cấu hình cơ sở của agent hoặc có thể ghi đè hoàn toàn cấu hình hiện tại, mang lại cho bạn khả năng kiểm soát chi tiết từng giai đoạn hội thoại. Bất kỳ thành phần nào trong cấu hình agent, các công cụ có sẵn và những mục trong cơ sở kiến thức đều có thể được cập nhật hoặc ghi đè.

Tổng quan

Cấu hình bổ sung cho subagent
Cấu hình bổ sung cho subagent

Thay đổi các cài đặt cốt lõi của agent cho node cụ thể này:

  • System Prompt: Thêm hoặc ghi đè các chỉ dẫn hệ thống để định hướng hành vi của agent
  • LLM Selection: Chọn một mô hình ngôn ngữ khác (ví dụ: chuyển từ Gemini 2.0 Flash sang một mô hình mạnh mẽ hơn cho các tác vụ suy luận phức tạp)
  • Voice Configuration: Thay đổi cài đặt giọng nói bao gồm tốc độ, tông giọng hoặc thậm chí chuyển sang giọng nói khác

Các trường hợp sử dụng:

  • Sử dụng LLM mạnh mẽ hơn cho các node yêu cầu ra quyết định phức tạp
  • Áp dụng các nguyên tắc hội thoại nghiêm ngặt hơn trong quá trình thu thập thông tin nhạy cảm
  • Thay đổi đặc điểm giọng nói cho các giai đoạn hội thoại khác nhau
  • Điều chỉnh tính cách của agent cho các loại tương tác cụ thể

Cơ sở kiến thức 

Cơ sở kiến thức bổ sung cho subagent
Cơ sở kiến thức bổ sung cho subagent

Thêm kiến ​​thức dành riêng cho node mà không ảnh hưởng đến cơ sở kiến ​​thức chung:

  • Include Global Knowledge Base: Bật/tắt việc sử dụng cơ sở kiến ​​thức chính của agent
  • Additional Documents: Thêm các tài liệu dành riêng cho giai đoạn hội thoại này
  • Dynamic Knowledge: Đưa vào thông tin theo ngữ cảnh dựa trên trạng thái quy trình làm việc

Các trường hợp sử dụng:

  • Thêm tài liệu về sản phẩm trong các cuộc hội thoại bán hàng
  • Bao gồm những hướng dẫn tuân thủ trong quá trình xác thực
  • Cung cấp hướng dẫn khắc phục sự cố cho các quy trình hỗ trợ
  • Thêm thông tin giá cả chỉ sau khi đã hoàn tất bước sàng lọc/đánh giá

Công cụ

Các công cụ bổ sung cho subagent
Các công cụ bổ sung cho subagent

Quản lý các công cụ khả dụng cho agent tại node này:

  • Include Global Tools: Bật/tắt việc sử dụng các công cụ từ cấu hình agent chính
  • Additional Tools: Thêm các công cụ dành riêng cho node quy trình làm việc này (ví dụ: các công cụ webhook như book_meeting)
  • Tool Type: Xác định xem công cụ là webhook, lệnh gọi API hay các hình thức tích hợp khác

Các trường hợp sử dụng:

  • Thêm công cụ xác thực chỉ sau bước sàng lọc ban đầu
  • Kích hoạt công cụ xử lý thanh toán tại các node thanh toán
  • Cung cấp quyền truy cập CRM sau khi xác minh người dùng
  • Thêm công cụ lên lịch cho các giai đoạn đặt lịch hẹn
  • Bao gồm các công cụ webhook cho những hành động cụ thể như đặt lịch họp

Node Dispatch tool 

Các node công cụ thực hiện một lệnh gọi công cụ cụ thể trong luồng hội thoại. Khác với những công cụ nằm bên trong subagent, các node công cụ là những điểm thực thi chuyên biệt đảm bảo rằng công cụ đó chắc chắn sẽ được gọi.

Special Edge Configuration: Các node công cụ có loại edge đặc biệt cho phép điều hướng đến một node mới dựa trên kết quả thực thi của công cụ. Bạn có thể thiết lập:

  • Success path: Nơi điều hướng khi công cụ thực thi thành công
  • Failure path: Nơi điều hướng khi công cụ thất bại hoặc trả về lỗi

Trong tương lai, các điều kiện phân nhánh bổ sung sẽ được cung cấp.

Node Agent transfer 

Node này hỗ trợ chuyển giao cuộc hội thoại giữa các agent hội thoại khác nhau.

Node Transfer to number

Node này chuyển tiếp cuộc hội thoại từ AI agent sang nhân viên con người thông qua hệ thống điện thoại.

Node End

Node này kết thúc luồng hội thoại một cách suôn sẻ.

Các edge và kiểm soát luồng

Các edge xác định cách thức hội thoại di chuyển giữa các node trong workflow. Chúng hỗ trợ logic định tuyến phức tạp, cho phép tạo ra các lộ trình hội thoại linh hoạt và có khả năng nhận biết ngữ cảnh.

Các edge trong workflow
Các edge trong workflow

Forward edge

Forward edge đưa cuộc hội thoại đến các node tiếp theo trong workflow. Chúng đại diện cho luồng hội thoại chính.

Forward edge
Forward edge

Backward edge

Backward edge cho phép luồng hội thoại quay trở lại các node trước đó, tạo điều kiện cho những tương tác lặp lại và cơ chế thử lại.

Cấu hình Backward edge
Cấu hình Backward edge

Các trường hợp sử dụng:

  • Thử lại các lần xác thực thất bại
  • Quay lại bước trước để thu thập thêm thông tin
  • Đánh giá lại sau khi yêu cầu của người dùng thay đổi
  • Các quy trình khắc phục sự cố lặp lại

Điều kiện LLM

Sử dụng điều kiện LLM để tạo các luồng hội thoại linh hoạt dựa trên việc đánh giá ngôn ngữ tự nhiên. LLM sẽ đánh giá các điều kiện trong thời gian thực để xác định lộ trình phù hợp.

Điều kiện LLM cho chuyển giao agent
Điều kiện LLM cho chuyển giao agent

Các tùy chọn cấu hình:

  • Label: Mô tả về điều kiện của edge dành cho người đọc (không được LLM xử lý)
  • LLM Condition: Điều kiện bằng ngôn ngữ tự nhiên được LLM đánh giá

Biểu thức

Sử dụng các biểu thức để thiết lập logic có điều kiện dựa trên biến số và dữ liệu có cấu trúc.

Chuyển tiếp cho nhân viên hỗ trợ qua biểu thức
Chuyển tiếp cho nhân viên hỗ trợ qua biểu thức

Các tùy chọn cấu hình:

  • Label: Mô tả dễ hiểu về điều kiện chuyển tiếp (không được LLM xử lý)
  • Expression: Tiêu chí đánh giá xác định (không ngẫu nhiên) dựa trên cấu trúc dữ liệu

Không điều kiện (None)

Các bước chuyển tiếp không điều kiện tự động chuyển cuộc hội thoại sang node tiếp theo mà không cần bất kỳ điều kiện nào.

Chuyển tiếp cho nhân viên hỗ trợ (không điều kiện)
Chuyển tiếp cho nhân viên hỗ trợ (không điều kiện)

Các trường hợp sử dụng:

  • Các bước tuần tự luôn diễn ra nối tiếp nhau
  • Tự động chuyển tiếp sau khi hoàn tất một hành động
  • Các luồng dự phòng mặc định

Tab Analytics

Tab phân tích workflow hiển thị dữ liệu về số lượt vào node, thời lượng, số lần kết thúc và luồng edge được hiển thị chồng lên
Tab phân tích workflow hiển thị dữ liệu về số lượt vào node, thời lượng, số lần kết thúc và luồng edge được hiển thị chồng lên

Khi workflow đã đi vào hoạt động, tab Workflow trong dashboard phân tích sẽ hiển thị dữ liệu sử dụng chồng lên sơ đồ: Số lượt vào từng node, thời gian trung bình và số lần kết thúc, cùng với sự phân bổ các edge đi vào và đi ra cho mỗi node. Từ giao diện chi tiết node (node ​​inspector), bạn cũng có thể truy cập trực tiếp vào các cuộc hội thoại tương ứng trong lịch sử thông qua bộ lọc Node entered (node đã truy cập).

Thứ Sáu, 02/10/2026 07:30
5 ★ 1 👨 4
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