Files
Agent-System/internal/squad/workspace_default_agents.go
T
WeiCHEN dca33c705d refactor(boundaries): split five oversized packages by use-case
Move bizdev/freedoc/intent/projectworkflow/squad giant files into
≤800-line use-case siblings without behavior change; short tests green.
2026-09-23 09:52:16 +08:00

219 lines
8.7 KiB
Go

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{"终审与把关"},
},
}
}
}