智能体组件

智能体组件包含"智能体"、"A2A智能体“和"MCP工具"三款子组件,用于定义智能体在工作流中的行为模式与能力范围,利用大语言模型作为“大脑”进行推理,并通过调用各类工具来解决问题。

智能体

智能体组件用于创建一个具备工具调用能力的AI智能体,它能根据指令回答问题并执行复杂任务:

  • 核心集成:LLM模型集成。
  • 指令定制:支持在“智能体指令”中配置提示词,以定义智能体的角色和行为。
  • 功能扩展:提供专用的工具端口,用于连接工具组件,从而扩展其能力。同时通过 A2A 协议向外部智能体暴露自身功能,支持跨平台智能体间的任务委托、数据交互与结果协同。

此外,当前智能体支持在试验场中对工作流运行结果进行可视化展示:可将 REST 地图服务、REST 数据服务、GeoJSON 数据类型的结果数据以基础地图形式呈现;还可将 WebMap 地图类型的结果数据以多种专题地图形式展示,包括基础地图、聚合图、3D 热力图、3D 柱状图、单值专题图、分段专题图和热力图。针对不同类型的结果数据,您需在 “智能体指令” 中添加对应的 JSON 代码才可进行可视化展示:

REST 地图服务

```json 
[{
  "type": "RestMap",
  "mapUrl": "http://{IP地址}:{端口}/iserver/services/[地图服务名称]/rest/maps/[地图名称]"

}]
```

REST 数据服务

```json 
[{
  "type": "RestData",
  "datasetUrl": "http://{IP地址}:{端口}/iserver/services/[数据服务名称]/rest/data/datasources/[数据源名称]/datasets/[数据集名称]"

}]
```

GeoJSON 数据

```json 
[{
  "type": "GeoJson",
  "data": {}  // GeoJSON标准FeatureCollection结构,包含features地理要素数组

}]
```

WebMap 数据

```json 
[{
  "type": "WebMap",
  "serverUrl": "http://{IP地址}:{端口}/iportal",
  "mapID": "[地图ID字符串]"

}]
```

A2A智能体

A2A智能体组件用于创建一个遵循 Agent2Agent(A2A) 协议的智能体,可将当前工作流中定义的智能体能力,以标准化接口暴露给外部系统实现跨平台、跨框架的智能体协作与任务协同

基础配置:本组件的基础配置方式与智能体组件保持一致,支持 LLM 模型集成、指令定制与功能扩展,您需要完成以下核心配置

  • 模型信息:指定模型服务商,填写对应的 API Key 和模型名称。
  • 智能体指令:在此填写提示词,定义智能体的角色与行为。
  • 工具端口:可连接工具组件扩展其能力。
  • 输入端口:用于接收外部智能体(或其他 A2A 客户端)发起的任务请求。需要连接“会话输入”组件,由“会话输入”将来自A2A端点的请求引入工作流。

跨平台协作:A2A 协议的核心是让智能体能够互相“发现”和“沟通”。除了上述配置外,还需通过以下配置项,向外部智能体暴露自身身份和能力:

A2A 智能体名称:为该智能体设置一个对外展示的名称,外部系统通过此名称识别该智能体。

A2A 智能体描述:用自然语言描述该智能体能够做什么,支持哪些任务。外部智能体通过读取此描述来判断是否可以将任务委托给本智能体。

获取协议端点:完成组件所有参数配置后,点击组件右上角的运行按钮,即可生成并获取 A2A 协议端点(即 Agent card URL),通常为 http://.../.well-known/agent-card.json,该地址可直接用于其他平台对接,实现跨系统智能体协作。

扩展元信息:A2A智能体协议组件提供元信息扩展机制,以满足不同任务或业务场景的需求。通过元信息扩展,智能体可在标准消息结构之外增加自定义字段或结构化数据,从而增强任务表达能力,提高系统可控性与透明度。如您有扩展元信息的需求,可参见:A2A智能体元信息扩展

MCP工具

MCP工具组件是智能体能够调用的功能函数,用于执行特定任务或访问外部资源。它们被统一封装为具备标准接口的 Tool对象。在智能体初始化时,会向其提供可用工具列表,使其了解每个工具的功能。

组件使用指南

您可以参考下列步骤,学习如何在工作流中使用智能体组件(如需使用预置模板,可选择"简单智能体"模板):

  1. 点击新建工作流,选择新建空白工作流
  2. 向工作区空白画布中添加智能体组件;
  3. 选择所需的供应商和模型:智能体组件默认使用Alibaba DashScope模型,如需更换供应商,请编辑“模型供应商”和“模型名称”字段;若目标模型未在列表中,可在“模型名称”字段输入完整名称后从下拉菜单选择,并确保该模型在供应商账户中已启用/验证(详见智能体组件参数说明)
  4. 输入对应模型供应商的有效凭证(确保该凭证具有调用所选模型的权限)
  5. 添加聊天输入和聊天输出组件,并将其连接至智能体组件。至此您已创建基于LLM的基础对话工作流,可在试验场中测试。但当前工作流仅支持与LLM对话,下一步将通过添加工具增强智能体能力;
  6. 向工作流中添加新闻搜索、URL和计算器组件
  7. 为这三个组件启用工具模式,工具模式通过修改组件的输入参数,使其能够接收智能体组件的工具调用请求。启用后,组件将新增工具集端口,需连接至智能体组件的工具端口方可使用:
    • 点击新闻搜索组件激活顶部菜单,启用工具模式
    • 对URL和计算器组件重复此操作
    • 将各工具的工具集端口连接至智能体组件的工具端口
  8. 打开试验场,询问智能体:"你使用哪些工具来回答我的问题?"智能体应返回已连接工具列表(可能包含内置工具),回答示例如下:

    我能够使用以下工具来回答您的问题:
    search_news:通过RSS搜索Google新闻,清理并返回文章数据。
    evaluate_expression:对给定的算术表达式执行基本运算。
    fetch_content:从一个或多个网页递归地获取内容,包括跟随页面上的链接。
    get_current_date:在选定的时区返回当前日期和时间。
    这些工具可以帮助提供新闻更新、执行数学计算、抓取网页内容以及提供准确的时间信息。根据您的问题,我会选择最适合解决问题的工具。

  9. 通过交互式提问测试工具调用准确性,如"总结今天的科技新闻"。试验场将显示智能体的工具调用过程、输入参数及原始返回数据,帮助调试工作流。针对示例问题,智能体应调用新闻搜索组件的SEARCH_NEWS操作。

至此,您已成功创建使用通用工具的基础智能体工作流。如需进一步扩展,可尝试连接其他工具组件,或将工作流作为MCP客户端以支持更复杂的专业任务。