全部產品
Search
文件中心

:智能體編排應用

更新時間:Oct 15, 2025

智能體編排應用可以協助您構建具備自動規劃協同能力的多智能體群組,讓各智能體高效協作處理複雜任務。本文將引導您快速上手構建智能體編排應用,並瞭解更多進階功能。

重要

為什麼選擇智能體編排

與單個智能體應用相比,智能體編排有以下優勢:

  • 協作與靈活性:智能體編排應用由多個具有自治能力的智能體組成,這些智能體可以相互連信、資訊共用和協作,能夠完成單個智能體難以完成的複雜任務。這種協作性使得智能體編排應用在需要多方協作和多重路徑平行處理任務的環境中表現出色。

  • 可擴充性與健壯性:智能體編排應用具有更高的可擴充性和健壯性。您可以調整智能體的數量和角色,以適應不同的任務需求,從而提高應用的靈活性和適應性。

  • 任務分解與平行處理:智能體編排應用可以將複雜任務分解為多個子任務,由不同的智能體平行處理,從而提高任務執行的效率和速度。

  • 自動規劃能力:智能體編排應用可以根據任務需求自動規劃任務執行流程,靈活調度子智能體。

  • 完整的智能體功能:即使具備上述流程功能,智能體節點依然支援RAG、外掛程式和流程編排等功能,與單個智能體的功能保持一致。

快速入門

我們將以議程管理助手為例,協助您快速上手智能體編排應用。

情境描述:議程管理助手

問題

使用者需要一個智能助手協助他們收集和整理排程。我們的目標是設計一個系統,能夠接收使用者的議程資訊,並將其整理成一個結構化的日曆格式。

解決方案

我們使用智能體編排應用,將任務分解為兩個獨立的智能體,每個智能體負責不同的子任務。

角色和任務

角色

任務

功能描述

樣本輸入

樣本輸出

資訊收集智能體

從使用者側收集議程資訊。

接收使用者輸入的排程,如會議、任務、約會等。然後將這些資訊傳遞給資料整理智能體。

使用者輸入“明天上午10點有個團隊會議”。

將輸入轉換為結構化資料,如 {"日期": "明天", "時間": "上午10點", "事件": "團隊會議"}。

資料整理智能體

將收集到的議程資訊整理成日曆格式。

接收資訊收集智能體傳來的結構化資料,並將這些資訊按照日期和時間進行排序,最終輸出一個方便使用、易於查看的日曆。

{"日期": "明天", "時間": "上午10點", "事件": "團隊會議"}

將資訊添加到使用者日曆中,例如 使用者日曆:{"2024-08-19": [{"時間": "上午10點", "事件": "團隊會議"}]}

樣本

  • 使用者輸入

    “明天上午10點有個團隊會議”

  • 資訊收集智能體處理:

    將輸入解析為 {"日期": "明天", "時間": "上午10點", "事件": "團隊會議"}

  • 資料整理智能體處理:

    將結構化資料添加到日曆中,產生結果:

    {
      "使用者日曆": {
        "2024-08-19": [
          {
            "時間": "上午10點",
            "事件": "團隊會議"
          }
        ]
      }
    }

提示詞設計

您需要為兩個智能體分別設計提示詞,我們提供了範例提示詞供您選擇:

資訊收集智能體

你是一個智能助手,負責收集使用者的排程。使用者會以自然語言輸入他們的議程資訊。你的任務是解析這些輸入,並提取出日期、時間和事件。輸出格式應該是結構化的JSON對象。
樣本輸入:
"明天上午10點有個團隊會議"
樣本輸出:
{
  "日期": "明天",
  "時間": "上午10點",
  "事件": "團隊會議"
}
當使用者輸入排程時,請按照上述格式返回解析後的資料。

資料整理智能體

你是一個智能助手,負責整理使用者的排程。你將接收來自另一個Agent傳遞的結構化資料,並將這些資料添加到使用者的日曆中。請確保資料按照日期和時間排序,並輸出更新後的日曆。

樣本輸入:
{
  "日期": "明天",
  "時間": "上午10點",
  "事件": "團隊會議"
}

樣本輸出:
{
  "使用者日曆": {
    "2024-08-19": [
      {
        "時間": "上午10點",
        "事件": "團隊會議"
      }
    ]
  }
}

請將接收的資料添加到使用者的日曆中,並返回更新後的結果。

建立應用

  1. 訪問阿里雲百鍊應用,點擊新增應用,建立智能體編排應用

image

  1. 從左側節點列表中拖動一個智能體群組節點到畫布中。

image

  1. 刪除開始節點的兩個輸入參數。

    在這裡無需預置的輸入參數。

image

  1. 配置智能體群組節點的群組名稱和群組模型。

    群組名稱:議程管理助手
    模型選擇:通義千問-Plus

image

  1. 配置智能體群組的子智能體。

    • 資訊收集智能體

      智能體名稱:資訊收集
      描述:接收使用者輸入的排程,如會議、任務、約會等。然後將這些資訊傳遞給資料整理智能體。
      模型配置:通義千問-Plus
      Prompt:請參考樣本
    • 資料整理智能體

      智能體名稱:資料整理
      描述:接收資訊收集智能體傳來的結構化資料,並將這些資訊按照日期和時間進行排序,最終輸出一個方便使用、易於查看的日曆。
      模型配置:通義千問-Plus
      Prompt:樣本

image

image

  1. 按照圖示串連各節點,並配置節點的輸入輸出參數。

image

image

測試、發布與 API 呼叫

  1. 您可以使用畫布中的測試功能,測試應用效果。

image

  1. 點擊畫布中的發布按鈕,即可發布應用。

image

  1. 點擊畫布中的API樣本,您可以參考這些樣本,通過API調用您剛發布的應用。

import dashscope
from http import HTTPStatus
from dashscope import Application

dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
def call_agent_app():
    response = Application.call(app_id='YOUR_APP_ID',
                                prompt='明天早上10點參加周會。',
                                api_key='YOUR_API_KEY',
                                # 如果在開始節點定義了變數,請在這裡傳參
                                # biz_params = {
                                #    "city": "杭州",
                                #    "date": "明天"
                                # }
                                )

    if response.status_code != HTTPStatus.OK:
        print('request_id=%s, code=%s, message=%s\n' % (response.request_id, response.status_code, response.message))
    else:
        print('request_id=%s\n output=%s\n usage=%s\n' % (response.request_id, response.output, response.usage))


if __name__ == '__main__':
    call_agent_app()
import com.alibaba.dashscope.app.*;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import java.util.List;
import com.alibaba.dashscope.utils.Constants;

public class Main{
      static {
        Constants.baseHttpApiUrl="https://dashscope-intl.aliyuncs.com/api/v1";
      }
      public static void callAgentApp()
            throws ApiException, NoApiKeyException, InputRequiredException {
        // 如果在開始節點定義了變數,請在這裡傳參
        // String bizParams = "{\"city\":\"杭州\",\"date\":\"明天\"}"
        ApplicationParam param = ApplicationParam.builder()
            .apiKey("YOUR_API_KEY")
                .appId("YOUR_APP_ID")
                .prompt("明天早上10點參加周會。")
            //  .bizParams(JsonUtils.parse(bizParams))
                .build();

        Application application = new Application();
        ApplicationResult result = application.call(param);

        System.out.printf("requestId: %s, text: %s, finishReason: %s\n",
                result.getRequestId(), result.getOutput().getText(), result.getOutput().getFinishReason());
    }

    public static void main(String[] args) {
        try {
            callAgentApp();
        } catch (ApiException | NoApiKeyException | InputRequiredException e) {
            System.out.printf("Exception: %s", e.getMessage());
        }
        System.exit(0);
    }  
}
curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/apps/YOUR_APP_ID/completion' \
--header 'Authorization: Bearer {YOUR_API_KEY}' \
--header 'Content-Type: application/json' \
--data '{
    "input": {
        "prompt": "明天早上10點參加周會。"
    },
# 如果在開始節點定義了變數,請在這裡傳參
#   "biz_params":{
#       "city": "杭州",
#       "date": "明天"  
#   },
    "parameters":  {},
    "debug": {}
}' --verbose

進階功能

功能節點

以下是各功能節點的簡介,您可以瞭解節點的功能、適用性,以及詳細的參數配置方法,從而掌握建立智能體編排應用的節點用法。

開始節點

簡介

參數配置

輸入

輸出

其他參數

用於接收使用者輸入,可自訂多個變數。

query預設用於接收使用者輸入的變數

您可以自訂若干個變數,用於接收使用者輸入。

與輸入變數相同

結束節點

簡介

參數配置

輸入

輸出

其他參數

用於輸出內容,支援文本輸出和JSON輸出。

需要輸出給使用者的內容。可插入若干變數,支援變數和文本的混合排版

與輸入變數相同

智能體應用

簡介

用法

參數配置

輸入

輸出

其他參數

選擇我的應用程式中已經建立好的智能體應用。

匯入已有的智能體

用於輸入智能體的內容

智能體產生的內容

只能在源智能體中定義

智能體建立

簡介

用法

參數配置

輸入

輸出

其他參數

建立一個新的智能體,僅供在編排畫布內使用。

建立只在當前應用中使用的智能體

用於輸入智能體的內容

智能體產生的內容

智能體名稱:智能體的標識符

模型配置:為智能體配置的大模型

Prompt:使用自然語言定義智能體的角色和任務

知識檢索增強:即RAG功能,可為智能體配置知識庫

外掛程式:允許智能體調用官方外掛程式或自訂外掛程式

流程:允許智能體調用流程編排

智能體群組

簡介

建議用法

參數配置

輸入

輸出

其他參數

建立一個包含多個智能體的群組,自動協同多個智能體執行任務。

適合需要智能規劃的任務。如果您需要完成一個較大的專案,又不知道如何設計具體的流程,那麼建議您選擇該節點

用於輸入智能體群組的內容

智能體群組產生的內容

agResult推理結果

agProcess推理過程

群組名稱:智能體群組名稱

模型選擇:選擇決策模型

子智能體:其他參數與智能體建立節點相同

決策分類

簡介

建議用法

參數配置

輸入

輸出

其他參數

根據類別描述智能匹配後續鏈路,可用於使用者意圖分類、任務情境分類。

適合需要智能決策的任務。如果您希望藉助大模型智能判斷流程的下一步走向,那麼建議您選擇該節點

用於輸入決策模型的內容

決策模型產生的內容

thought思考過程

subject命中主題

類別配置:自訂的類別。根據您的類別描述,如果決策模型判斷輸入內容屬於某一類別,工作流程將切換到該分支的後續流程。

其他類別:預設決策類別。如果決策模型判斷輸入內容不屬於您規定的任一類別,工作流程將切換到該分支的後續流程。

文本轉換

簡介

建議用法

參數配置

輸入

輸出

其他參數

使用模板進行轉換或處理常值內容。

適合直觀的編排智能體節點產生的內容

需要轉換格式的文本。可插入若干變數,支援變數和文本的混合排版

排版後的內容

指令碼轉換

簡介

建議用法

參數配置

輸入

輸出

其他參數

使用指令碼進行轉換或處理常值內容。

適合按照JSON格式編排智能體節點產生的內容

需要轉換格式的文本

JSON Schema格式化輸出變數

代碼:支援使用Python或JavaScript指令碼轉換文本

JSON Schema產生器可以根據目標JSON樣本產生用於輸出的JSON Schema。

條件判斷

簡介

建議用法

參數配置

輸入

輸出

其他參數

在節點內部對參數進行條件判斷,然後通過不同分支的文本轉換節點產生輸出回複。

適合需要通過條件判斷後再產生輸出的情境

需要條件判斷的參數

通過不同分支的文本轉換節點產生輸出

查看智能體編排應用版本

  1. 點擊智能體編排配置頁面右上方的發布,在發布對話方塊中輸入版本資訊(例如:1.0.0)後,點擊確定image

  2. 點擊頁面頂部的image表徵圖,您可以在歷史版本面板按需查看或使用(點擊使用此版本內容回到當前畫布)當前智能體編排應用的不同版本。image

    您也可以點擊頂部的DSL匯出該版本,匯出所選歷史版本智能體編排應用的DSL。

  3. 可選:在工具列查看或搜尋當前畫布節點。image

更多文章

如果您想瞭解建立和使用智能體應用的方法,請訪問智能體應用

如果您想瞭解建立和使用工作流程應用的方法,請訪問工作流程應用