
本节提供排查问题和寻求帮助的 Prompt 模板,覆盖错误排查、技术选型、概念解释等场景。
适用于:代码报错、程序崩溃、控制台报红
## 错误信息
运行时遇到以下错误:
[完整粘贴错误信息,包括堆栈跟踪]
## 触发场景
**操作步骤**:
1. [第一步做了什么]
2. [第二步做了什么]
3. [然后就报错了]
**触发频率**:[每次都报错/偶尔报错/特定条件下报错]
## 相关代码
错误指向的代码:
```[语言]
[粘贴错误信息中提到的代码,以及上下文]
## 错误信息
运行时遇到以下错误:
TypeError: Cannot read properties of undefined (reading 'map')
at TaskList (TaskList.tsx:15:23)
at renderWithHooks (react-dom.development.js:14985:18)
at mountIndeterminateComponent (react-dom.development.js:17811:13)
## 触发场景
**操作步骤**:
1. 打开应用首页
2. 页面加载时直接报错
3. 任务列表没有显示出来
**触发频率**:每次刷新页面都报错
## 相关代码
错误指向的代码:
```tsx
// TaskList.tsx
function TaskList({ tasks }) {
return (
<ul>
{tasks.map(task => ( // 第 15 行
<li key={task.id}>{task.title}</li>
))}
</ul>
);
}
// App.tsx 中的调用
function App() {
const [tasks, setTasks] = useState(); // 注意这里
return <TaskList tasks={tasks} />;
}
适用于:代码能跑但结果不对
## 问题描述
代码可以运行,但结果不符合预期。
**期望行为**:[应该是什么结果]
**实际行为**:[实际得到什么结果]
## 测试用例
| 输入 | 期望输出 | 实际输出 | 是否正确 |
|-----|---------|---------|---------|
| [输入1] | [期望1] | [实际1] | ❌ |
| [输入2] | [期望2] | [实际2] | ❌ |
| [输入3] | [期望3] | [实际3] | ✅ |
## 相关代码
```[语言]
[粘贴相关代码]
我怀疑问题可能出在:[你的猜测]
## 问题描述
代码可以运行,但结果不符合预期。
**期望行为**:计算购物车总价时,满 100 减 20
**实际行为**:无论金额多少,都减了 20
## 测试用例
| 输入(商品总价) | 期望输出 | 实际输出 | 是否正确 |
|---------------|---------|---------|---------|
| 150 | 130 | 130 | ✅ |
| 80 | 80 | 60 | ❌ |
| 100 | 80 | 80 | ✅ |
## 相关代码
```javascript
function calculateTotal(items) {
let total = items.reduce((sum, item) => sum + item.price, 0);
// 满 100 减 20
if (total > 100) {
total = total - 20;
} else {
total = total - 20; // 问题可能在这里?
}
return total;
}
我怀疑问题可能出在:else 分支也减了 20,应该是复制粘贴时忘记删掉
适用于:不知道选什么库、框架、工具
## 项目背景
**项目类型**:[简述项目是做什么的]
**技术栈**:[当前使用的技术]
**团队情况**:[个人项目/团队规模/技术水平]
## 选型需求
我需要选择一个 [类型] 来实现 [功能]。
**核心需求**:
- [需求1]
- [需求2]
- [需求3]
**考虑因素**:
| 因素 | 重要程度 | 说明 |
|-----|---------|------|
| 学习成本 | 高/中/低 | [说明] |
| 社区活跃度 | 高/中/低 | [说明] |
| 性能 | 高/中/低 | [说明] |
| 包体积 | 高/中/低 | [说明] |
| 长期维护 | 高/中/低 | [说明] |
## 已知候选(可选)
我目前了解到的选项有:
1. [选项A]:[简单印象]
2. [选项B]:[简单印象]
3. [选项C]:[简单印象]
## 请帮我
1. 补充我可能遗漏的候选方案
2. 从多个维度对比各方案的优缺点
3. 给出推荐方案及理由
4. 说明什么情况下应该选择其他方案
## 项目背景
**项目类型**:个人博客网站
**技术栈**:Next.js + TypeScript
**团队情况**:个人项目,前端熟练,后端初学
## 选型需求
我需要选择一个数据库方案来存储博客文章。
**核心需求**:
- 存储文章内容(Markdown 格式)
- 支持分类和标签
- 能按时间排序查询
**考虑因素**:
| 因素 | 重要程度 | 说明 |
|-----|---------|------|
| 学习成本 | 高 | 后端不熟,希望上手简单 |
| 免费额度 | 高 | 个人项目,不想花钱 |
| 与 Next.js 集成 | 中 | 希望有现成教程 |
| 性能 | 低 | 博客访问量不大 |
## 已知候选
我目前了解到的选项有:
1. Supabase:听说是 Firebase 替代品
2. MongoDB Atlas:NoSQL 数据库
3. PlanetScale:MySQL 云服务
## 请帮我
1. 补充我可能遗漏的候选方案
2. 从多个维度对比各方案的优缺点
3. 给出推荐方案及理由
4. 说明什么情况下应该选择其他方案
适用于:不理解某个技术概念
## 想了解的概念
我想理解 [概念名称]。
## 当前困惑
**我目前的理解**:[你现在认为它是什么]
**困惑的地方**:[哪里不理解]
## 希望的解释方式
**技术深度**:[只要知道怎么用/想了解原理/需要深入细节]
**类比偏好**:[喜欢生活化类比/喜欢技术类比/直接解释就好]
## 相关背景
**我的技术背景**:[熟悉什么技术/语言]
**为什么要了解这个**:[应用场景]
## 请帮我
1. 用通俗的语言解释这个概念
2. 给出一个简单的代码示例
3. 说明什么时候会用到它
4. 指出常见的理解误区
## 想了解的概念
我想理解 React 中的 useEffect。
## 当前困惑
**我目前的理解**:好像是用来处理"副作用"的,但不知道什么算副作用
**困惑的地方**:
- 什么时候需要用 useEffect?
- 依赖数组是干什么的?
- 为什么有时候会"无限循环"?
## 希望的解释方式
**技术深度**:只要知道怎么用就行,原理以后再说
**类比偏好**:喜欢生活化类比
## 相关背景
**我的技术背景**:会基础 JavaScript,正在学 React
**为什么要了解这个**:想在组件加载时获取数据
## 请帮我
1. 用通俗的语言解释 useEffect
2. 给出"获取数据"的代码示例
3. 说明依赖数组的作用
4. 解释为什么会"无限循环"以及如何避免
适用于:让 AI 检查代码质量
## 审查目标
请帮我审查以下代码:
```[语言]
[粘贴代码]
请从以下维度检查:
功能正确性:逻辑是否正确,边界情况是否处理
安全性:是否有安全隐患(XSS、SQL注入等)
性能:是否有明显的性能问题
可读性:命名是否清晰,结构是否合理
可维护性:是否容易扩展和修改
错误处理:异常情况是否妥善处理
这段代码的作用:[简述功能]
使用场景:[在什么情况下运行]
请按以下格式输出:
当问题比较简单时,可以用这个精简版:
**问题**:[一句话描述问题]
**背景**:[必要的上下文]
**代码**:
```[语言]
[相关代码]
期望:[你希望得到什么帮助]
## 提问技巧:如何让回答更有用
### 技巧一:先说结论,再给细节
```markdown
❌ 我有一个 React 项目,用的是 TypeScript,然后我在做一个表单验证...
(AI 读了半天还不知道问题是什么)
✅ 我的表单验证代码报错了。
技术栈是 React + TypeScript,错误信息是 [xxx]。
不要贴整个文件,只贴能复现问题的最小代码。这样 AI 更容易定位问题。
这能帮助 AI 避免给出你已经试过的无效方案。
| 误区 | 问题 | 正确做法 |
|---|---|---|
| 只说"不工作" | AI 不知道具体症状 | 描述期望 vs 实际的差异 |
| 错误信息只截一半 | 丢失关键信息 | 完整粘贴,包括堆栈跟踪 |
| 不给代码 | AI 只能猜测 | 贴出相关代码片段 |
| 概念问题太宽泛 | "解释一下 JavaScript" | 具体到某个点,如"解释闭包" |