星火链网智能助手,是一个多智能体任务编排的演示系统,用于帮助开发者访问星火链网底层链和星火开放平台。其内部包含三个智能体,分别是编排智能体,离线智能体和在线智能体。
之所以称作离线智能体,是因为该智能体的所有功能均不需要与星火底层链和开放平台交互。该智能体需要持有用户私钥,可以在安全环境下运行维护,以保护用户私钥信息。
- 实现星火链网的离线的功能。
- 密钥对管理(账户创建、BID/密钥生成)、
- 私钥管理(校验、签名)、
- 公钥管理(验签、有效性校验)、
- 交易数据的生成和转换(序列化/反序列化)、
- 账户与合约操作的数据生成(激活、元数据、权限、合约创建/调用、Gas发送)。
之所以称作在线智能体,是因为该智能体的所有操作均需要调用底层区块链和开放平台。为保护用户私钥安全,该智能体无需持有用户私钥,可以交给第三方运营维护。
- 账户管理(激活、查询、权限)、
- 区块管理(区块信息、出块节点)、
- 链信息管理、合约管理(创建、调用、查询)、
- 平台管理(交易缓存、许可)、
- 交易管理(提交、费用评估、Gas、信息查询)
负责处理用户请求和任务编排。其中任务编排包括任务划分、任务分配、任务调度和跟踪等功能。 图中通过交易上链来展示其工作机制,可以看到交易上链这个目标包含多个子任务,子任务被分配给在线智能体和离线智能体来负责具体的执行,由用户智能体负责任务编排。
将星火链网开放平台BOP SDK封装成MCP智能体,将业务逻辑(如参数检查)与MCP协议解耦,可用性强。
BOP SDK的开源代码,可访问链接https://github.com/caict-4iot-dev/bop-framework。
首先启动离线智能体和在线智能体
- python -m offline_sdk_agent.a2a_server
- python -m bop_sdk_agent.a2a_server
其次启动编排智能体
- 执行python -m google.adk.cli web
- 打开与智能体交互的网页http://localhost:8000/dev-ui/
- 在交互界面上分别输入任务请求:
- 请帮我生成一个账户,将账户信息发给我;
- 请帮我查询地址余额,地址字符串是did:bid:efQESvuR18rgZaWcsWE4mi8SEEUHAEwt和did:bid:ef23JVb42eryyAKD5fomZApJWzNjB3ucs
- 请帮我生成一个账户,并查询该账户地址的余额
- 请创建一个有效账户
- 请向did:bid:ef23JVb42eryyAKD5fomZApJWzNjB3ucs转账,额度是1000,要能体现多智能体编排效果。
在线智能体可以单独使用。用户通过命令行交互界面,来访问开放平台和底层链的功能。
离线智能体也支持单独使用。用户通过命令行交互界面,来通过自己的私钥、公钥等账户信息来实现星火协议格式的数据的生成和转换。
与单个智能体相比,多智能体任务编排在能力和易用性上有提升,可以更好地理解和完成用户意图。
如下的动图展示了使用效果:
xujinliang@信通院工物所