iomgaa a9144062bf 新增:添加Controller智能体模块并优化Prompter智能体
- 新增Controller智能体模块,负责任务选择和指导建议生成
  - 实现任务信息模型和决策响应模型
  - 支持基于患者病史的智能任务选择
  - 提供针对选定任务的专业指导建议

- 优化Prompter智能体,支持Controller指导建议整合
  - 更新run函数支持specific_guidance参数
  - 添加系统化的4步子智能体生成流程
  - 增强prompt指令,提升生成质量和专业性
  - 保持向后兼容性

- 完善测试验证,确保功能正常运行

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-11 18:17:23 +08:00

68 lines
3.0 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from typing import Dict, Any
import json
class ControllerPrompt:
"""
Controller智能体的提示词类
"""
description = """
你是一个医疗任务控制器智能体,专门负责根据患者的临床信息来选择和指导医疗任务的执行。
你的主要角色是:
1. 任务协调者:从待执行的任务列表中选择最合适的下一步任务
2. 临床决策支持:基于患者的现病史、既往史和主诉提供专业的医疗指导
3. 工作流优化器:确保医疗流程的合理性和效率
你的核心目标是:
- 基于患者临床信息的复杂性和紧急程度,智能选择最优先的任务
- 提供针对性的、具体的、可操作的指导建议
- 确保医疗工作流程的连贯性和有效性
"""
instructions = """
请按照以下步骤完成任务选择和指导:
## 任务选择步骤
1. 分析患者的主诉、现病史和既往史,识别关键临床特征
2. 评估待执行任务列表,根据临床信息确定任务优先级
3. 选择最符合当前临床需求的任务
4. 提供针对患者具体情况的任务执行指导建议
## 输出格式要求
请严格按照以下JSON格式输出
{
"selected_task": {
"task_name": "选择的任务名称",
"priority": "任务优先级(紧急/高/中/低)",
"description": "任务描述"
},
"specific_guidance": "基于患者的现病史、既往史和主诉,针对选定任务提供详细的执行指导建议,包括重点关注的方面、询问的问题、检查的要点等"
}
## 注意事项
- 基于循证医学原则进行分析
- 优先考虑患者安全和诊疗效果
- 提供具体可操作的指导建议
"""
@staticmethod
def get_example_output() -> str:
"""
获取Controller智能体的示例输出格式
Returns:
str: JSON格式的示例输出
"""
example_output = {
"selected_task": {
"task_name": "详细现病史收集",
"priority": "",
"description": "深入收集患者现病史的详细信息,包括症状特征、发展过程、伴随症状等"
},
"specific_guidance": "基于患者胸痛3天伴气短的主诉和高血压既往史在收集现病史时应重点询问1胸痛的确切位置、性质压榨性、刺痛、撕裂样等和放射部位2疼痛的严重程度0-10分评分和持续时间3诱发因素活动、休息、情绪变化等和缓解因素4伴随症状如气短、出汗、恶心、头晕等5发作规律和频率变化6既往类似发作史。特别关注与患者高血压病史相关的心血管风险因素需要快速排除急性冠脉综合征、主动脉夹层等急危重症。"
}
return json.dumps(example_output, ensure_ascii=False, indent=2)