60 lines
1.7 KiB
Markdown
60 lines
1.7 KiB
Markdown
# ISS-004 Executor 域级检索水位控制(Phase 2)
|
||
|
||
**状态**:待规划
|
||
**严重程度**:低
|
||
**发现时间**:2026-07-01
|
||
**关联**:ISS-002(Executor 无约束重复调用 lookup_knowledge)
|
||
|
||
---
|
||
|
||
## 现象
|
||
|
||
ISS-002 修复后,`lookup_knowledge` 调用已经从 20+ 次收敛到约 10 次,但仍存在同一批 domain 之间反复横跳的冗余调用。
|
||
|
||
当前文档级去重能阻止重复内容进入上下文,但不能阻止 LLM 继续发起相似检索请求。
|
||
|
||
---
|
||
|
||
## 根因
|
||
|
||
Prompt 软约束依赖 LLM 自觉遵守。在 ReactAgent 自主决策模式下,模型倾向于“再确认一步”,而不是信任已有信息。
|
||
|
||
---
|
||
|
||
## 影响
|
||
|
||
- 不影响核心答案正确性。
|
||
- 增加每轮检索耗时和 token 消耗。
|
||
- 长会话中冗余调用会随 session 继续累积。
|
||
|
||
---
|
||
|
||
## 建议方案
|
||
|
||
在代码层增加域级检索水位控制,而不是只依赖 prompt。
|
||
|
||
水位指标可以包括:
|
||
|
||
- 当前 session 内 `lookup_knowledge` 调用次数。
|
||
- 当前 session 已检索 domain 数量。
|
||
- 当前 session token 消耗。
|
||
- 最近一次检索结果的 `relevanceLevel`。
|
||
|
||
决策矩阵示例:
|
||
|
||
| 水位 | PRECISE | HIGHLY_RELEVANT | REFERENCE | DEDUPED |
|
||
|---|---|---|---|---|
|
||
| 低 | 可继续 | 可继续 | 可定向补充 | 停止 |
|
||
| 中 | 可继续 | 建议停止 | 可定向补充 | 停止 |
|
||
| 高 | 停止 | 停止 | 停止 | 停止 |
|
||
|
||
---
|
||
|
||
## 相关文件
|
||
|
||
- `src/main/java/com/superbiz/agent/dto/LookupResult.java`
|
||
- `src/main/java/com/superbiz/agent/tool/RetrievedDocTracker.java`
|
||
- `src/main/java/com/superbiz/agent/tool/LookupKnowledgeTool.java`
|
||
- `src/main/resources/prompts/chat-executor-prompt.md`
|
||
- `mvp/architecture/archive/2026-07-05-legacy/action-memory-relevance.md`
|