Commit Graph
16 Commits
Author SHA1 Message Date
aruo 7b8c75e571 feat(agent): harden verifier evidence references 2026-07-08 16:12:56 +08:00
aruo 6015bcbf6f feat(agent): add composer final answer 2026-07-08 09:51:07 +08:00
aruo 1b31e78be5 feat(agent): add verifier claim checks 2026-07-08 02:33:02 +08:00
aruo c5e496e715 feat(agent): add executor gatekeeper hook 2026-07-08 02:01:49 +08:00
aruo 050cbc8fee feat(agent): add executor evidence v2 contract 2026-07-08 01:37:15 +08:00
zhuyongxin 04eb50e2b4 feat(agent): add executor evidence output contract 2026-07-07 19:02:02 +08:00
aruo b3315ead52 fix(agent): harden live diagnosis skill observability 2026-07-07 00:20:34 +08:00
zhuyongxin cf3333d607 feat(rag): modularize knowledge retrieval pipeline 2026-07-06 17:06:05 +08:00
zhuyongxin 9050487307 feat: add chat verifier agent 2026-07-03 10:54:33 +08:00
zhuyongxin e438df4355 feat(knowledge): Executor 行动记忆 + 归一化质量等级解决 ISS-002 重复检索
- 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
2026-07-01 18:24:41 +08:00
zhuyongxin bb44140901 feat(knowledge): 会话级去重 + 知识域地图注入 Planner 解决 ISS-001 重复检索
- RetrievedDocTracker: sessionId → Set<filePath> 会话级去重,LookupKnowledgeTool Step 5 过滤已检索文档
- KnowledgeDomainService: 域级聚合,LLM 生成 when_to_retrieve,构建 knowledge map YAML
- DocumentFieldEnricher: 上传时 LLM 补全 covers + whenToRetrieve(含同域文档排除上下文)
- KnowledgeDomain entity + V009 迁移: 域级元数据持久化,避免重启重复 LLM 调用
- ChatService: 注入 knowledge map 到 Planner prompt,会话结束时清理去重状态
- KnowledgeIndexService: 手写 JSON 解析替换为 Jackson ObjectMapper,启动时补建缺失域记录
- chat-planner-prompt: 新增知识库检索规则(按域 when_to_retrieve 判断,每域最多一次检索)
- doc-field-enricher-prompt / domain-summary-prompt: 外部化 LLM 提示词
2026-07-01 10:47:46 +08:00
zhuyongxin 0d9cce75f9 feat(session): 会话存储体系实现 & Chat多Agent路由
- 新增诊断会话(diagnosis_session/agent_step/tool_invocation)三表
- AgentLoggingHook 持久化 agent_step,记录决策链和耗时
- LookupKnowledgeTool 写入 tool_invocation,记录L0/L1检索质量
- TokenTrackingChatModel 捕获真实token用量
- Chat接口支持意图路由:简单问题单Agent,复杂问题多Agent(Planner+Executor)
- Prompt外置到 src/main/resources/prompts/
- 删除旧 diagnosis_record 表及相关文件
- 新增SessionContextHolder(ThreadLocal传递sessionId)
- QuestionComplexity 复杂度判断工具
- 测试覆盖三张新表的Repository
2026-06-26 16:22:05 +08:00
zhuyongxin 553d1d1faf refactor(ai-ops): 重构 Executor Prompt - 强化行为准则和证据驱动
## 主要改动

1. 重构为更清晰的三段式结构
   - 角色定位:明确"诊断流程的执行者"
   - 核心行为准则:严格按步执行、必须调用工具、证据综合分析
   - 任务执行规范:每步产出要求、最终报告格式

2. 强化关键约束
   - 永远不要凭记忆回答错误码含义、接口定义、排障步骤
   - 结论必须基于至少两个独立证据源
   - 提供证据链格式示例

3. 简化 lookup_knowledge 说明
   - 修正参数名:query_text → query
   - 简化返回字段说明(保留核心信息)
   - 保留三级使用规则(必须/必须/建议)

## 设计理念

- 从"技术细节"转向"行为准则"
- 从"字段说明"转向"证据驱动"
- 提供具体的输出格式示例,减少 Agent 的不确定性

## 参考

基于 mvp/discuss/Executor_Prompt.md 微调
2026-06-24 18:53:42 +08:00
zhuyongxin c88b287f83 refactor(ai-ops): 优化 lookup_knowledge 工具描述和 Executor Prompt
## 主要改动

1. 优化工具描述(中等版)
   - 保留 L0/L1 两阶段检索机制说明
   - 增加适用场景列举(错误码、接口文档、排障步骤等)
   - 简化为核心信息,减少 token 消耗

2. Executor Prompt 新增详细使用说明
   - 添加 lookup_knowledge 返回结果字段说明
   - 提供 confidence 和 match_type 的使用建议
   - 明确 found=false 的处理方式
   - 结构化组织:工具选择 → 结果处理 → 执行反馈

## 设计思路

- 工具描述:简洁,快速理解核心用途
- Executor Prompt:详细,指导正确使用
- 分层设计:减少重复信息,降低 token 消耗
2026-06-24 18:48:04 +08:00
zhuyongxin 363767d3e7 refactor(ai-ops): 标记 queryInternalDocs 为弃用,统一使用 lookup_knowledge
## 改动说明

1. 标记 InternalDocsTools 为 @Deprecated
   - 添加弃用注解和说明文档
   - 工具描述中明确提示使用 lookup_knowledge 替代

2. 简化 Executor Prompt
   - 移除 queryInternalDocs 相关的工具选择逻辑
   - 统一使用 lookup_knowledge 处理所有知识库查询
   - 精确关键词、模糊概念、故障流程都使用同一个工具

## 理由

lookup_knowledge 已经支持:
- L0 精确匹配(< 10ms,高置信度)
- L1 语义检索(自动兜底)

功能完全覆盖 queryInternalDocs(纯 L1 检索),且性能更优。
保留 queryInternalDocs 会导致:
- 工具功能重叠,Agent 决策困难
- 维护两套相似的代码逻辑

## 迁移路径

- 当前:标记为弃用,但保持可用
- 验证:观察 lookup_knowledge 是否能完全替代
- 未来:确认无问题后,在下个版本中移除
2026-06-24 18:38:39 +08:00
zhuyongxin c4d23c3bd8 feat(ai-ops): Prompt 配置化 & 集成 LookupKnowledgeTool
## 主要改动

1. Prompt 配置化
   - 从硬编码改为独立 Markdown 文件管理
   - 新增 AiOpsPromptProperties 配置类,使用 @PostConstruct 加载
   - 创建 prompts/{planner,executor,supervisor}-prompt.md

2. 集成 LookupKnowledgeTool
   - 在 AiOpsService 中注入 LookupKnowledgeTool
   - 添加到工具数组,只给 Executor Agent 使用
   - 符合 3-Agent 协同分析模式

3. Executor Prompt 增强
   - 添加工具选择指南(精确关键词 vs 模糊概念)
   - 明确降级策略(lookup_knowledge 未找到时降级到 queryInternalDocs)

## 优势

- 易于维护:Prompt 修改不需重新编译
- 格式友好:Markdown 原生支持代码块和表格
- 性能优化:精确关键词查询 < 10ms(L0 匹配)

## 文件变更

- 新增:AiOpsPromptProperties.java
- 新增:prompts/planner-prompt.md
- 新增:prompts/executor-prompt.md
- 新增:prompts/supervisor-prompt.md
- 修改:AiOpsService.java(-136 行硬编码,+5 行配置引用)
2026-06-24 18:29:24 +08:00