智能体组件包含"智能体"、"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对象。在智能体初始化时,会向其提供可用工具列表,使其了解每个工具的功能。
组件使用指南
您可以参考下列步骤,学习如何在工作流中使用智能体组件(如需使用预置模板,可选择"简单智能体"模板):
- 点击新建工作流,选择新建空白工作流;
- 向工作区空白画布中添加智能体组件;
- 选择所需的供应商和模型:智能体组件默认使用Alibaba DashScope模型,如需更换供应商,请编辑“模型供应商”和“模型名称”字段;若目标模型未在列表中,可在“模型名称”字段输入完整名称后从下拉菜单选择,并确保该模型在供应商账户中已启用/验证(详见智能体组件参数说明)
- 输入对应模型供应商的有效凭证(确保该凭证具有调用所选模型的权限)
- 添加聊天输入和聊天输出组件,并将其连接至智能体组件。至此您已创建基于LLM的基础对话工作流,可在试验场中测试。但当前工作流仅支持与LLM对话,下一步将通过添加工具增强智能体能力;
- 向工作流中添加新闻搜索、URL和计算器组件
- 为这三个组件启用工具模式,工具模式通过修改组件的输入参数,使其能够接收智能体组件的工具调用请求。启用后,组件将新增工具集端口,需连接至智能体组件的工具端口方可使用:
- 点击新闻搜索组件激活顶部菜单,启用工具模式
- 对URL和计算器组件重复此操作
- 将各工具的工具集端口连接至智能体组件的工具端口
- 打开试验场,询问智能体:"你使用哪些工具来回答我的问题?"智能体应返回已连接工具列表(可能包含内置工具),回答示例如下:
我能够使用以下工具来回答您的问题:
search_news:通过RSS搜索Google新闻,清理并返回文章数据。
evaluate_expression:对给定的算术表达式执行基本运算。
fetch_content:从一个或多个网页递归地获取内容,包括跟随页面上的链接。
get_current_date:在选定的时区返回当前日期和时间。
这些工具可以帮助提供新闻更新、执行数学计算、抓取网页内容以及提供准确的时间信息。根据您的问题,我会选择最适合解决问题的工具。 -
通过交互式提问测试工具调用准确性,如"总结今天的科技新闻"。试验场将显示智能体的工具调用过程、输入参数及原始返回数据,帮助调试工作流。针对示例问题,智能体应调用新闻搜索组件的SEARCH_NEWS操作。
至此,您已成功创建使用通用工具的基础智能体工作流。如需进一步扩展,可尝试连接其他工具组件,或将工作流作为MCP客户端以支持更复杂的专业任务。