Add diagnosis playbook skills

This commit is contained in:
aruo
2026-07-06 08:35:54 +08:00
parent 88e0a6c944
commit 6ccfd33ec5
23 changed files with 1002 additions and 75 deletions
+31 -4
View File
@@ -159,7 +159,35 @@ ToolCallbackProvider
- retrieved domains。
- dedup reason。
## 6. 与旧版设计的差异
## 6. Skill / Playbook 流程
当前 Skill 是诊断流程编排提示,不是事实证据来源。Planner 只能看到 `SkillRegistry.listAll()` 暴露的 name/description 元数据;Executor 才能通过 Spring AI Alibaba 官方 `SkillsAgentHook` 使用 `read_skill` 读取完整 `SKILL.md`。
```mermaid
flowchart LR
Registry["SkillRegistry<br/>active skill metadata"] --> PlannerHook["PlannerSkillMetadataHook"]
PlannerHook --> Planner["Planner<br/>metadata only"]
Planner --> Plan["planner_plan<br/>selected_skill + steps"]
Registry --> ExecutorHook["SkillsAgentHook"]
ExecutorHook --> ReadSkill["read_skill"]
Plan --> Executor["Executor"]
Executor --> ReadSkill
ReadSkill --> SkillBody["SKILL.md workflow"]
SkillBody --> Executor
Executor --> EvidenceTools["lookup_knowledge / logs / metrics"]
EvidenceTools --> ToolTrace["tool_invocation evidence"]
Executor --> Verifier["Verifier"]
ToolTrace --> Verifier
```
| 角色 | Skill 可见性 | 工具权限 |
|---|---|---|
| Planner | 只看 skill name / description,并输出 `selected_skill` | 不暴露 `read_skill` |
| Executor | 读取 Planner 选中的 skill 正文 | 暴露官方 `read_skill` 和证据工具 |
| Verifier | 不看 skill catalog,也不读 skill 正文 | 只读取 `tool_trace_summary` |
## 7. 与旧版设计的差异
| 旧版设想 | 当前实现 |
|---|---|
@@ -167,9 +195,9 @@ ToolCallbackProvider
| ExternalApiSubAgent / InternalErrorSubAgent / DatabaseSubAgent | 暂未拆分,能力通过通用 Executor + 工具 + Prompt 约束实现 |
| 每个 SubAgent 专属工具集 | 当前 Executor 持有统一证据工具集合 |
| Verifier 支持 PASS / REVISE / REJECT | 当前 Chat Verifier 输出 PASS / LOW_CONFID / REJECT |
| Skill 驱动不同诊断流程 | 当前以 Prompt、知识域地图、工具调用和评测 baseline 控制 |
| Skill 驱动不同诊断流程 | 当前以 Planner 元数据选择 + Executor 读取 playbook 的方式接入 |
## 7. 后续演进
## 8. 后续演进
当诊断场景和工具复杂度继续上升时,再考虑拆分:
@@ -184,4 +212,3 @@ ToolCallbackProvider
- 不同故障类型的工具权限明显不同。
- Trace 能证明某类问题需要独立的推理策略。
- 评测集能覆盖拆分前后的行为差异。