agentscope-ai / agentscope-ai/agentscope-java

[Bug]: io.agentscope.core.agent.StreamOptions.Builder#incremental(累计模式)在 tool call 后无法正确累加内容

Đang mở
#1,211 2 bình luận 0 reaction 0 người được giao Xem trên GitHub
area/core/agent 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(问题描述)**
当使用 `StreamOptions.Builder#incremental` 并将其设置为 `false`(累计模式)时,框架的行为与预期不一致。
按文档说明,累计模式应该返回“所有已累加的内容”,但实际表现为:在每次调用工具(tool call)后,之前的内容会被重置,导致历史推理内容和文本内容丢失。

---

**To Reproduce(复现步骤)**

1. 设置参数:
- `incremental = false`
2. 使用如下测试话术(触发多轮推理 + 工具调用):
"先输出一段推理内容,然后调用工具,再输出一段推理内容和文本,然后再调用工具,最后输出文本。"
3. 执行请求并观察流式输出结果

---

**Expected behavior(期望行为)**
在 `incremental = false`(累计模式)下,每次流式返回都应该包含完整的累计内容,包括:

- 之前的推理内容(reasoning / ThinkingBlock)
- 之前输出的文本内容
- 工具调用前后的所有内容

即:整个会话过程中不应丢失任何已生成内容。

---

**Actual behavior(实际行为)**

当前表现为:每次工具调用后内容被重置。

具体过程如下:

1. 模型输出第一段推理内容
→ `ThinkingBlock` 正常按累计模式返回

2. 模型调用工具,然后输出推理内容 + 文本
→ 推理内容从“工具调用之后”开始重新累计
→ 之前的推理内容丢失
→ 文本内容从此时开始累计

3. 模型再次调用工具
→ 推理内容再次被重置
→ 上一轮累计的推理内容丢失
→ 上一轮的文本内容也丢失
→ 仅从本次工具调用之后开始累计

---

**Error messages(错误信息)**
没有明确的报错信息,该问题体现在流式返回内容的行为上。

---

**Environment(环境信息)**

- AgentScope-Java Version: 1.0.11
- Java Version: 17
- OS: Windows 10

---

**Additional context(补充说明)**

根据文档描述,`incremental = false` 表示“累计模式(cumulative)”,理论上应该返回完整的历史累积内容。

但当前观察到的行为更像是:累计范围仅限于“每个 tool call 片段内部”,而不是整个流式会话。

目前不确定这是:
- 设计如此(即:按 tool call 分段累计),还是
- 实现上的问题(累计逻辑被错误重置)

希望可以得到确认或说明。

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.