agentscope-ai / agentscope-ai/agentscope-java

[Bug]:AgentScope 2.0 GA 单例 Agent 并发时工具组跨会话串扰

Aperta
#2,439 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub
area/core/agent area/core/memory area/core/tool area/docs area/harness bug
Lingua principale
Java
Stelle
5.6k
Fork
1.3k
Merge medio
4g 12h
PR unite (30g)
77

Descrizione

**Describe the bug(问题描述)**

AgentScope Java 2.0.0 (GA),同一个共享的 `HarnessAgent`/`ReActAgent` 单例在多个会话
并发执行时,激活的工具组(active tool groups)会跨会话串。原因是 `AgentState` 已按调用
隔离,但 `Toolkit` 仍是实例级共享可变对象:`activateSlotForContext` 里的
`toolkit.setActiveGroups(...)` 改的是共享实例,并发调用互相覆盖;`syncToolkitToState`
还会把它回写进错误会话的状态并持久化,导致该会话之后每轮都带着别人的工具组。

关联 #2256(该 issue 说 2.x 支持单例并发):本问题是**另一种症状**——工具组静默跨会话
串扰,不是 "agent is still running" 等待。若单例并发确为支持用法,这看起来是缺陷。

**Expected behavior(期望行为)**

活动工具组应像 `AgentState` 一样按 `(userId, sessionId)` 调用隔离,会话之间互不影响。

**Environment(环境)**

- AgentScope-Java Version: 2.0.0 (GA)
- Java Version: 21

**Additional context(补充信息)**

建议把工具组活动状态改为按调用隔离(随 `CallExecution`/Reactor Context 携带),
与 `AgentState` 一致。请问:单实例并发多会话是否为官方支持用法?若是则这是 bug,
若推荐每会话独立实例,能否在文档中说明?

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.