## 工具清单（按功能分组）

### 一、项目生命周期管理（必须）

| 工具名 | 用途 | 纯模拟 | 代码实现 |
|--------|------|--------|----------|
| `generate_project_name()` | 生成唯一项目名（如 `proj_001`） | 模拟（直接输出字符串） | 必须实现 |
| `switch_project(project_name)` | 切换当前项目上下文 | 模拟（记录状态） | 必须实现 |
| `get_current_project_name()` | 获取当前项目名 | 模拟（返回存储的ID） | 必须实现 |
| `save_project_state(project_name)` | 保存项目数据（计划、WBS等） | 可选（依赖外部记忆） | 强烈建议 |
| `list_projects()` | 列出所有项目及状态 | 模拟（维护列表） | 建议实现 |

### 二、子智能体调用（必须）

| 工具名 | 用途 | 纯模拟 | 代码实现 |
|--------|------|--------|----------|
| `call_planner(description, project_name)` | 调用规划分析师 | 模拟（直接输出规划JSON） | 必须（实际调用另一个LLM或API） |
| `call_hr_matcher(plan_json, project_name)` | 调用人力匹配师 | 模拟 | 必须 |
| `call_task_planner(plan_json, hr_json, project_name)` | 调用任务分解师 | 模拟 | 必须 |

### 三、HR智能体协作（必须）

| 工具名 | 用途 | 纯模拟 | 代码实现 |
|--------|------|--------|----------|
| `hr_request_decision(project_name, task_name, required_role, required_skills, complexity)` | 向HR智能体请求复用/创建决策 | 模拟（输出决策JSON） | 必须（调用HR智能体的接口） |
| `hr_report_result(agent_id, project_name, task_name, success, quality_score)` | 向HR智能体反馈任务结果 | 模拟 | 必须 |

### 四、执行智能体管理（必须）

| 工具名 | 用途 | 纯模拟 | 代码实现 |
|--------|------|--------|----------|
| `create_executor_agent(config)` | 根据角色和技能创建新智能体实例 | 模拟（返回一个假智能体ID） | 必须（实际实例化一个Agent对象） |
| `execute_task(agent, task_description)` | 将任务交给执行智能体并获取结果 | 模拟（直接输出“任务完成”） | 必须（实际调用执行智能体的run方法） |

### 五、辅助工具（可选/增强）

| 工具名 | 用途 | 纯模拟 | 代码实现 |
|--------|------|--------|----------|
| `infer_skills(task)` | 从任务描述推断所需技能 | 可选（可用规则或LLM） | 可选 |
| `estimate_complexity(task)` | 估算任务复杂度（低/中/高） | 可选 | 可选 |
| `generate_task_name(project_name, parent_id)` | 自动生成WBS编号 | 可选 | 可选（可直接由任务分解师生成） |

---

## 总结：最小必需工具集（代码实现环境）

如果你要在真实系统中运行，**必须实现以下 9 个工具**：

1. `generate_project_name`
2. `switch_project`
3. `get_current_project_name`
4. `call_planner`
5. `call_hr_matcher`
6. `call_task_planner`
7. `hr_request_decision`
8. `hr_report_result`
9. `create_executor_agent`
10. `execute_task`

> 其中 `create_executor_agent` 和 `execute_task` 是执行智能体工厂的核心；`hr_request_decision` 和 `hr_report_result` 是与HR智能体通信的接口。
