## 主要改动 1. 重构为更清晰的三段式结构 - 角色定位:明确"诊断流程的执行者" - 核心行为准则:严格按步执行、必须调用工具、证据综合分析 - 任务执行规范:每步产出要求、最终报告格式 2. 强化关键约束 - 永远不要凭记忆回答错误码含义、接口定义、排障步骤 - 结论必须基于至少两个独立证据源 - 提供证据链格式示例 3. 简化 lookup_knowledge 说明 - 修正参数名:query_text → query - 简化返回字段说明(保留核心信息) - 保留三级使用规则(必须/必须/建议) ## 设计理念 - 从"技术细节"转向"行为准则" - 从"字段说明"转向"证据驱动" - 提供具体的输出格式示例,减少 Agent 的不确定性 ## 参考 基于 mvp/discuss/Executor_Prompt.md 微调
数据库设计文档
📚 文档导航
核心表设计
- diagnosis_record - 诊断记录表(核心)
- case_library - 案例库表
- api_document - 文档元数据表
架构设计
- Agent 架构设计 - Agent 协作 + Skill + Harness
- 知识库检索架构 - L0+L1 混合检索架构 ⭐新增
- 知识库检索使用指南 - 文档编写和使用说明 ⭐新增
- 会话管理 - Redis + MySQL 会话管理
- 实施规划 - 分阶段实施计划
一、设计原则
1.1 核心原则
- ✅ 简单优先:满足诊断流程需要,避免过度设计
- ✅ 渐进增强:先实现核心功能,再逐步扩展
- ✅ 数据分离:诊断结果持久化(MySQL),会话上下文临时化(Redis)
- ✅ 适度冗余:避免过度范式化,适当冗余提升查询性能
1.2 系统定位
自动化诊断系统
- 核心:一键诊断 → 返回完整报告
- 辅助:支持追问,但不是主要场景
- 特点:大部分用户单次诊断即结束,少数用户会追问细节
二、表结构总览
2.1 核心表关系
┌─────────────────────┐
│ diagnosis_record │ 诊断记录(核心)
│ - 每次诊断一条 │
└──────────┬──────────┘
│ 1:1
↓
┌─────────────────────┐
│ case_library │ 案例库(知识沉淀)
│ - 诊断成功→案例 │
└─────────────────────┘
┌─────────────────────┐
│ api_document │ 文档元数据(管理层)
│ - 状态追踪/去重 │
└──────────┬──────────┘
│ doc_id
↓
┌─────────────────────┐
│ Milvus │ 文档内容(检索层)
│ - 向量检索 │
└─────────────────────┘
┌─────────────────────┐
│ Redis Session │ 会话管理(临时)
│ - 30分钟过期 │
│ - 支持追问 │
└─────────────────────┘
2.2 表统计
| 表名 | 类型 | 预估数据量 | 用途 |
|---|---|---|---|
| diagnosis_record | 核心 | 3.6万/年 | 诊断记录 |
| case_library | 核心 | 500-1000 | 案例库 |
| api_document | 核心 | 100-200 | 文档管理 |
三、技术栈
3.1 数据存储
MySQL 8.0+
├─ 元数据管理
├─ 事务支持
└─ JSON 字段支持
Redis 6.0+
├─ 会话存储
├─ 缓存
└─ TTL 自动过期
Milvus 2.6+
├─ 向量存储
├─ 语义检索
└─ 混合检索
3.2 开发框架
Spring Boot 3.2
Spring AI Alibaba 1.1.0
Milvus SDK Java 2.6.10
DashScope SDK
四、快速开始
4.1 创建数据库
-- 1. 创建数据库
CREATE DATABASE diagnosis_system CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- 2. 执行建表脚本(按顺序)
SOURCE tables/diagnosis_record.sql;
SOURCE tables/case_library.sql;
SOURCE tables/api_document.sql;
4.2 初始化 Milvus
// 创建 Collection
MilvusClientFactory.createCollection();
4.3 配置 Redis
spring:
redis:
host: localhost
port: 6379
database: 0
五、版本历史
| 版本 | 日期 | 变更内容 |
|---|---|---|
| v1.0 | 2024-06-15 | 初版,定义核心表结构 |
| v2.0 | 2024-06-15 | diagnosis_record 字段泛化,支持多种故障类型 |
| v2.1 | 2024-06-22 | 文档拆分,增加 api_document 表 |
六、维护说明
- 每个表的详细设计在
tables/目录下 - 架构设计文档在
architecture/目录下 - 修改表结构时,同步更新对应的 Markdown 文档
- 重大变更需记录在版本历史中