agentscope-ai / agentscope-ai/agentscope-java

[Bug]:Agent As Tool + A2A形式调用远程子智能体时,Msg中的metadata信息丢失。

未关闭
#680 6 条评论 0 个 reaction 已指派 1 人 已被 @Wzy19930507 认领 在 GitHub 查看
area/core/agent area/ext/integration bug
主要语言
Java
星标
5.6k
派生
1.3k
平均合并
4 天 12 小时
30 天内合并 PR
77

描述

Agent As Tool + A2A形式调用远程子智能体时,Msg中的metadata信息丢失。但如果客户端直接A2A调用时,Msg中的metadata信息可以正确传输。
客户端代码
Agent As Tool + A2A形式调用
```
Toolkit toolkit = new Toolkit();
toolkit.registration()
.subAgent(() -> A2aAgent.builder()
.name("timeExpert")
.agentCardResolver(resolver)
.build())
.apply();
ReActAgent mainAgent = ReActAgent.builder()
.name("Coordinator")
.sysPrompt("你叫 Tom ,是一个智能助手。当遇到时间相关问题时,调用 call_timeexpert 工具咨询 Jarvis。")
.model(model)
.memory(new InMemoryMemory())
.toolkit(toolkit)
.build();
Msg userMsg = Msg.builder()
.textContent("请告诉我今天的日期。")
.metadata(Map.of("useriId", "1234567890"))
.build();
Msg response = mainAgent.call(userMsg).block();
```
服务端收到的请求中metadata无内容
Image

如果客户端直接A2A调用
```
A2aAgent agent = A2aAgent.builder()
.name("remote-agent")
.agentCardResolver(resolver)
.build();
Msg msg = Msg.builder()
.textContent("今天的日期是什么?")
.metadata(Map.of("userId", "1234567890"))
.build();
Msg response = agent.call(msg).block();
```
Image

这导致在主智能体调用远程子智能体时,无法通过Msg传输一些特定参数。

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。