agentscope-ai / agentscope-ai/agentscope-java
[Bug]:AgentScope 2.0 GA 单例 Agent 并发时工具组跨会话串扰
- 主要語言
- Java
- 星號
- 5.6k
- 分支
- 1.3k
- 平均合併
- 4 天 12 小時
- 30 天內合併 PR
- 77
描述
**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,
若推荐每会话独立实例,能否在文档中说明?
貢獻指南
評估
這個 Issue 還沒有評估資料。