package squad import ( "strings" "chat-agent-system/internal/workflowdef" ) // DefaultSquadAgents 根据任务类型返回默认小队成员编制 func DefaultSquadAgents(taskKey string) []AgentSpec { if strings.HasPrefix(taskKey, "rd_") { return rdevSquadAgents(taskKey, "") } taskKey = workflowdef.ImplementationTaskKey(taskKey) switch taskKey { case "intake": return []AgentSpec{ { Role: "organizer", Name: "材料整理专员", Model: "claude-3-7-sonnet", Tools: []string{"read", "write", "edit"}, BashPermission: "deny", Responsibilities: []string{"材料事实抽取", "缺口识别", "字段结构化回填"}, ForbiddenActions: []string{"严禁测算价格", "严禁出具法规终结裁定", "严禁撰写正文终稿"}, }, { Role: "writer", Name: "文档撰写专员", Model: "claude-3-7-sonnet", Tools: []string{"read", "write", "edit"}, BashPermission: "deny", Responsibilities: []string{"严格四段式成文", "依据材料出处引用", "模板各章节写满"}, ForbiddenActions: []string{"严禁以省略写法跳过应写章节", "严禁随意篡改前序事实"}, }, { Role: "leader", Name: "商务对接负责人", Model: "claude-3-7-sonnet", Tools: []string{"read", "write", "edit"}, BashPermission: "deny", Responsibilities: []string{"计划审核", "正文终审", "待确认清单汇总", "对外汇报"}, ForbiddenActions: []string{"严禁代用户做商业拍板", "严禁直接交付未审核初稿"}, }, } case "research": return []AgentSpec{ { Role: "searcher", Name: "资料检索专员", Model: "claude-3-7-sonnet", Tools: []string{"read", "write", "edit"}, BashPermission: "deny", Responsibilities: []string{"公开资料检索", "法规标准核对", "出处与日期标注"}, ForbiddenActions: []string{"严禁编造URL与标准号", "未检索到须标明尝试路径"}, }, { Role: "market", Name: "市场与竞品分析师", Model: "claude-3-7-sonnet", Tools: []string{"read", "write", "edit"}, BashPermission: "deny", Responsibilities: []string{"竞品同维度对比", "市场规模测算", "机会与风险分析"}, ForbiddenActions: []string{"严禁编造市场份额与价格", "必须采用统一对比维度"}, }, { Role: "regulatory", Name: "医疗器械法规专员", Model: "claude-3-7-sonnet", Tools: []string{"read", "write", "edit"}, BashPermission: "deny", Responsibilities: []string{"器械分类初筛", "注册路径比对", "关键标准提炼"}, ForbiddenActions: []string{"严禁代做行政终局裁定", "必须标注需向窗口确认"}, }, { Role: "writer", Name: "文档撰写专员", Model: "claude-3-7-sonnet", Tools: []string{"read", "write", "edit"}, BashPermission: "deny", Responsibilities: []string{"按计划合成调研报告", "全面四段式展开"}, ForbiddenActions: []string{"严禁以省略写法跳过应写章节"}, }, { Role: "leader", Name: "商务对接负责人", Model: "claude-3-7-sonnet", Tools: []string{"read", "write", "edit"}, BashPermission: "deny", Responsibilities: []string{"审核撰写计划", "终审报告", "质量把关"}, ForbiddenActions: []string{"严禁代用户做商业拍板"}, }, } case "system_reqs": return []AgentSpec{ { Role: "organizer", Name: "需求梳理专员", Model: "claude-3-7-sonnet", Tools: []string{"read", "write", "edit"}, BashPermission: "deny", Responsibilities: []string{"用户需求抽取", "产品定位基线对齐", "UR需求池建立"}, ForbiddenActions: []string{"严禁随意篡改原始用户需求"}, }, { Role: "engineer", Name: "系统工程架构师", Model: "claude-3-7-sonnet", Tools: []string{"read", "write", "edit"}, BashPermission: "deny", Responsibilities: []string{"系统需求分解", "验证方式定义", "接口定义", "requirements.json 导出"}, ForbiddenActions: []string{"严禁遗漏验证方式", "严禁需求编号重复"}, }, { Role: "regulatory", Name: "法规合规审查专员", Model: "claude-3-7-sonnet", Tools: []string{"read", "write", "edit"}, BashPermission: "deny", Responsibilities: []string{"医疗器械强标比对", "适用性与理由论证"}, ForbiddenActions: []string{"严禁引用虚构标准号"}, }, { Role: "writer", Name: "系统需求文档编制专员", Model: "claude-3-7-sonnet", Tools: []string{"read", "write", "edit"}, BashPermission: "deny", Responsibilities: []string{"严格按 pm_system_reqs.md 模板成文", "正文结构完整", "填满追溯表"}, ForbiddenActions: []string{"严禁残留占位符", "严禁以省略写法跳过应写章节"}, }, { Role: "leader", Name: "智能产品经理主管", Model: "claude-3-7-sonnet", Tools: []string{"read", "write", "edit"}, BashPermission: "deny", Responsibilities: []string{"系统需求规格书终审", "追溯一致性把关", "质量门禁验收"}, ForbiddenActions: []string{"严禁放行未覆盖验证方式的需求"}, }, } case "test_manager": return []AgentSpec{ { Role: "organizer", Name: "需求追溯分析员", Model: "claude-3-7-sonnet", Tools: []string{"read", "write", "edit"}, BashPermission: "deny", Responsibilities: []string{"上游系统需求解析", "需求全集锁定", "追溯关系初始化"}, ForbiddenActions: []string{"严禁遗漏任一条上游需求"}, }, { Role: "engineer", Name: "系统测试工程师", Model: "claude-3-7-sonnet", Tools: []string{"read", "write", "edit"}, BashPermission: "deny", Responsibilities: []string{"系统验证用例设计", "判据与接受准则", "test_cases.json 导出"}, ForbiddenActions: []string{"严禁测试方法泛化为仅写标准号", "严禁无判定准则"}, }, { Role: "regulatory", Name: "试验标准审查员", Model: "claude-3-7-sonnet", Tools: []string{"read", "write", "edit"}, BashPermission: "deny", Responsibilities: []string{"检验方法符合性评估", "检测设备与环境要求审查"}, ForbiddenActions: []string{"严禁使用过期作废标准"}, }, { Role: "writer", Name: "系统测试方案编制专员", Model: "claude-3-7-sonnet", Tools: []string{"read", "write", "edit"}, BashPermission: "deny", Responsibilities: []string{"严格按 tm_system_verification.md 模板成文", "用例主表翔实完整"}, ForbiddenActions: []string{"严禁残留占位符", "严禁以省略写法跳过应写章节"}, }, { Role: "leader", Name: "智能测试经理主管", Model: "claude-3-7-sonnet", Tools: []string{"read", "write", "edit"}, BashPermission: "deny", Responsibilities: []string{"系统验证方案终审", "全覆盖无静默遗漏门禁把关", "质量签署"}, ForbiddenActions: []string{"严禁放行覆盖率不足 100% 的方案"}, }, } default: return []AgentSpec{ { Role: "organizer", Name: "材料整理专员", Model: "claude-3-7-sonnet", Tools: []string{"read", "write", "edit"}, BashPermission: "deny", Responsibilities: []string{"事实整理与基线对齐"}, }, { Role: "writer", Name: "文档撰写专员", Model: "claude-3-7-sonnet", Tools: []string{"read", "write", "edit"}, BashPermission: "deny", Responsibilities: []string{"正文撰写"}, }, { Role: "leader", Name: "商务对接负责人", Model: "claude-3-7-sonnet", Tools: []string{"read", "write", "edit"}, BashPermission: "deny", Responsibilities: []string{"终审与把关"}, }, } } }