agentscope-ai / agentscope-ai/agentscope-java

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

Open
#680 6 comments 0 reactions 1 assignee Claimed by @Wzy19930507 View on GitHub
area/core/agent area/ext/integration bug
Dominant language
Java
Stars
5.6k
Forks
1.3k
Avg merge
4d 12h
Merged PRs (30d)
77

Description

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传输一些特定参数。

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.