- RetrievedDocTracker 升级为域级+文档级双层记录(Map<sessionId, Map<domain, Set<filePath>>>) - LookupKnowledgeTool 新增 Min-Max 归一化层(BGE-M3 L2 距离→[0,1] similarity) - 三等级 relevanceLevel:PRECISE / HIGHLY_RELEVANT / REFERENCE + completenessHint 兜底信号 - LookupResult 新增 relevanceLevel、completenessHint、retrievedDomainsThisSession - Executor prompt 重写:4 条检索约束 + 合法出口不查全不追责,重复检索才惩罚 - 入库可观测性:V010 迁移 + retrieval_details JSON 扩展 - 归档 executor-action-memory-relevance change
36 lines
1.3 KiB
Markdown
36 lines
1.3 KiB
Markdown
# Brief: executor-action-memory-relevance
|
||
|
||
## 背景
|
||
|
||
ISS-002:Executor 在单次会话中调用 `lookup_knowledge` 20+ 次,大部分是同域换变体的冗余调用。前序 change `session-dedup-knowledge-map` 解决了文档级重复召回(ISS-001),但未解决 Executor 重复调用问题。
|
||
|
||
## 目标
|
||
|
||
- Executor 获得行动记忆(知道自己本次会话已检索了哪些域)
|
||
- 检索结果提供归一化质量等级(PRECISE/HIGHLY_RELEVANT/REFERENCE)+ 兜底信号
|
||
- Executor prompt 提供明确的检索约束和"放弃检索"的合法出口
|
||
- 原始分数入库保留可观测性,但不暴露给 LLM
|
||
|
||
## 范围
|
||
|
||
- `RetrievedDocTracker`:域级 + 文档级双层记录
|
||
- `LookupKnowledgeTool`:归一化层 + 行动记忆注入
|
||
- `LookupResult`:新增 relevanceLevel / completenessHint / retrievedDomainsThisSession
|
||
- `chat-executor-prompt.md`:检索约束重写
|
||
- `ToolInvocation` + V010:入库可观测性
|
||
|
||
## 非目标
|
||
|
||
- 不给 Executor 注入 knowledge map(保持 Agent 边界)
|
||
- 不修改 Planner prompt 或 Planner 逻辑
|
||
- 不修改 PrimaryResult / SupplementResult 的字段(不暴露原始分数)
|
||
- Phase 2 域级硬限制暂不实施
|
||
|
||
## 分档
|
||
|
||
standard
|
||
|
||
## 关联 OpenSpec change
|
||
|
||
openspec/changes/executor-action-memory-relevance
|