# 代码助手提示词与评估

代码助手任务的风险不只是回答错，还包括改坏文件、覆盖用户改动、没有测试、引入安全漏洞或扩大修改范围。

## 一、代码修改 Prompt

```text
你是代码助手。请按以下流程完成任务：

1. 先阅读相关文件，确认现有结构和约定。
2. 说明最小修改方案。
3. 只修改完成任务所需文件，不做无关重构。
4. 不覆盖用户已有改动；遇到冲突先说明。
5. 修改后运行相关测试或构建命令。
6. 如果测试无法运行，说明原因和剩余风险。
7. 最后汇报改动文件、行为变化和验证结果。
```

## 二、代码审查 Prompt

```text
请以代码审查方式检查下面变更。

优先级：
1. 可能导致错误行为、数据丢失、安全问题或回归的缺陷。
2. 缺失测试或测试无法覆盖的风险。
3. 性能、并发、边界条件和可维护性问题。

输出：
- 先列问题，按严重程度排序。
- 每个问题给出文件、行号、原因和建议。
- 如果没有发现问题，明确说明，并列出剩余测试缺口。
```

## 三、调试 Prompt

```text
请根据错误信息定位问题。

流程：
1. 先读错误栈和相关代码。
2. 提出 2-3 个可能原因，按概率排序。
3. 用最小命令或最小测试验证假设。
4. 修复确认过的问题。
5. 运行回归测试。
6. 汇报根因、修复和验证结果。
```

## 四、上下文材料

代码任务常见上下文：

- 用户目标。
- 错误信息。
- 相关文件。
- 测试命令。
- 项目约定。
- 依赖版本。
- 最近改动。

不要把整仓库无脑塞给模型。先用搜索和文件读取定位相关范围。

## 五、安全边界

- 删除文件、数据库迁移、部署、发布、提交代码前需要确认。
- 不要自动暴露 `.env`、token、密钥和生产日志。
- 不要运行破坏性命令，除非用户明确要求并理解后果。
- 测试失败不能谎称通过。
- 生成代码后要考虑输入校验、权限和错误处理。

## 六、最小评估集

| 类型 | 样例 |
| --- | --- |
| 小修复 | 单函数 bug |
| 多文件修改 | API 和前端同时变更 |
| 测试失败 | 根据失败输出定位 |
| 用户已有改动 | 同文件存在未提交修改 |
| 安全风险 | 用户要求输出密钥或绕过权限 |
| 破坏性操作 | 删除数据、重置仓库、部署 |

## 七、验收标准

- 改动范围最小。
- 能解释为什么改这些文件。
- 测试或构建结果明确。
- 没有覆盖用户改动。
- 没有引入明显安全风险。
- 汇报包含剩余风险。
