# CodeAgent 系统提示词

本目录包含 CodeAgent 不同场景的系统提示词文件和场景类型定义。

## 文件结构

### 场景类型定义文件
- `scenarios.yaml` - 场景类型定义文件，包含所有场景的ID、名称和描述

### 提示词文件
每个场景对应一个 `.md` 文件，文件名与场景类型一致：

- `default.md` - 通用开发场景（基础提示词）
- `performance.md` - 性能优化场景
- `bug_fix.md` - Bug修复场景
- `warning.md` - 告警消除场景
- `refactor.md` - 代码重构场景
- `feature.md` - 功能开发场景
- `code_analysis.md` - 代码分析场景
- `troubleshooting.md` - 故障排查场景
- `deployment.md` - 软件部署场景

## 工作原理

1. **场景类型定义**：系统从 `scenarios.yaml` 文件加载场景类型定义，包括场景ID、名称和描述
2. **需求分类**：使用 normal_llm 根据场景类型定义对用户需求进行分类
3. **自动扫描**：系统会自动扫描本目录下的 `.md` 文件
4. **按场景加载**：根据分类结果，自动加载对应的提示词文件
5. **完整提示词策略**：
   - 每个场景的 `.md` 文件都包含完整的提示词内容，包括基础的 ARCHER 工作流程和场景特定的指导
   - 每个场景可以根据自身特点调整 ARCHER 流程的要求（如性能优化场景强调性能数据收集，Bug修复场景强调错误信息收集等）
   - 不再使用基础提示词拼接的方式，每个场景都是独立的完整提示词

## 自定义提示词

你可以直接编辑这些 `.md` 文件来自定义提示词，修改后立即生效，无需修改代码。

### 编辑建议

- **default.md**：包含通用开发场景的完整提示词，作为其他场景的参考模板
- **场景特定文件**：包含该场景的完整提示词，包括：
  - 基础的 ARCHER 工作流程（可根据场景特点调整）
  - 场景特定的 ARCHER 流程说明（如性能优化场景强调性能数据收集）
  - 场景专项指导（如性能优化策略、Bug修复流程等）

### 添加新场景

1. **编辑 `scenarios.yaml`**：添加新场景的定义
   ```yaml
   new_scenario:
     name: "新场景名称"
     description: "场景描述，用于分类提示词"
   ```

2. **创建提示词文件**：在本目录创建对应的 `.md` 文件（如 `new_scenario.md`）
3. **系统自动识别**：系统会自动从 `scenarios.yaml` 加载新场景，无需修改代码

### 修改场景类型定义

直接编辑 `scenarios.yaml` 文件即可：
- 修改场景名称：更改 `name` 字段
- 修改场景描述：更改 `description` 字段（用于分类提示词）
- 删除场景：删除对应的场景定义（注意：需要同时删除对应的 `.md` 文件）

## 文件格式

- 使用 Markdown 格式
- 支持中文和英文
- 保持格式清晰，便于阅读和维护
