agentscope-ai / agentscope-ai/agentscope-java

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

Đang mở
#2,439 2 bình luận 0 reaction 0 người được giao Xem trên GitHub
area/core/agent area/core/memory area/core/tool area/docs area/harness bug
Ngôn ngữ chính
Java
Star
5.6k
Fork
1.3k
Merge trung bình
4 ngày 12 giờ
Pull request đã merge (30 ngày)
77

Mô tả

**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,
若推荐每会话独立实例,能否在文档中说明?

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.