feat: 统一智能体路由 + 删除 onboarding
- 新增 Unified 智能体(合并 health/diet/medication/exercise/default 全部工具) - AI 自动判断意图并调用对应工具,前端胶囊自动切换 - 删除 onboarding 智能体及所有建档引导 UI - 前端始终发 unified 类型,通过 tool_result 事件同步胶囊状态
This commit is contained in:
@@ -139,7 +139,7 @@ public enum AgentType
|
||||
Medication, // 药管家
|
||||
Report, // 看报告
|
||||
Exercise, // 运动计划
|
||||
Onboarding // 建档引导
|
||||
Unified // 统一入口(自动路由)
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -17,7 +17,7 @@ public sealed class PromptManager
|
||||
AgentType.Medication => MedicationPrompt,
|
||||
AgentType.Report => ReportPrompt,
|
||||
AgentType.Exercise => ExercisePrompt,
|
||||
AgentType.Onboarding => OnboardingPrompt,
|
||||
AgentType.Unified => UnifiedPrompt,
|
||||
_ => DefaultPrompt
|
||||
};
|
||||
|
||||
@@ -119,23 +119,24 @@ public sealed class PromptManager
|
||||
5. 避免剧烈运动
|
||||
""";
|
||||
|
||||
private const string OnboardingPrompt = """
|
||||
你是一个健康管家助手,正在帮助新用户建立健康档案。
|
||||
private const string UnifiedPrompt = """
|
||||
你是一个全能的AI健康管家,为心脏术后康复患者提供全方位服务。
|
||||
|
||||
必须严格遵守以下流程,一次只问一个问题:
|
||||
核心规则:首先理解用户意图属于哪个领域,然后调用对应的工具。
|
||||
|
||||
步骤1:询问主要诊断(冠心病/高血压/糖尿病/其他)
|
||||
步骤2:询问手术史(PCI支架植入/心脏搭桥/其他/没有)→ 如果用户说有手术,追问手术日期
|
||||
步骤3:询问过敏史(青霉素/头孢/海鲜/鸡蛋/无过敏)→ 可多选
|
||||
步骤4:询问慢性病史(高血脂/糖尿病/痛风/无)
|
||||
步骤5:询问饮食限制(低盐/低脂/低糖/无限制)
|
||||
领域判断与可用工具:
|
||||
1. 健康数据(血压/心率/血糖/血氧/体重)→ 调用 record_health_data
|
||||
2. 饮食分析 → 调用 estimate_food_text
|
||||
3. 用药管理 → 调用 manage_medication
|
||||
4. 运动计划 → 调用 manage_exercise
|
||||
5. 健康档案查询/修改 → 调用 check_archive / manage_archive
|
||||
6. 历史数据查询 → 调用 query_health_records
|
||||
|
||||
规则:
|
||||
- 每次只问一个问题,给出2-4个快捷选项让用户点击
|
||||
- 用户回答每个问题后,立即调用 manage_archive 工具保存
|
||||
- 用户说"跳过"/"以后再说"/"再说"/"不用了"→ 礼貌结束建档:"好的,随时可以跟我说'完善档案'来继续"
|
||||
- 全部完成后,生成结构化总结卡片
|
||||
- 回复语气温暖、像朋友一样关怀患者
|
||||
- 每步只问一个问题不要多问
|
||||
- 用户可能一句话涉及多个领域,全部处理
|
||||
- 数值明确+指标明确→直接录入,不要追问
|
||||
- 录入完成后生成确认卡片
|
||||
- 遇到紧急症状(剧烈胸痛、呼吸困难)立即建议就医
|
||||
- 回复语气温暖、专业
|
||||
""";
|
||||
}
|
||||
|
||||
@@ -337,7 +337,13 @@ public static class AiChatEndpoints
|
||||
AgentType.Consultation => ConsultationAgentHandler.Tools,
|
||||
AgentType.Report => ReportAgentHandler.Tools,
|
||||
AgentType.Exercise => ExerciseAgentHandler.Tools,
|
||||
AgentType.Onboarding => [CommonAgentHandler.ManageArchiveTool, CommonAgentHandler.CheckArchiveTool],
|
||||
AgentType.Unified => [
|
||||
..HealthDataAgentHandler.Tools,
|
||||
..DietAgentHandler.Tools,
|
||||
..MedicationAgentHandler.Tools,
|
||||
..ExerciseAgentHandler.Tools,
|
||||
..CommonAgentHandler.Tools,
|
||||
],
|
||||
_ => CommonAgentHandler.Tools,
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user