Skip to content
Beginner

Best DeepSeek Prompt for Debug & Fix

Why DeepSeek?

DeepSeek R1's chain-of-thought reasoning is exceptional at tracing bugs — it shows its work step by step, explains WHY an error occurs rather than just patching it, and handles Chinese comments/variable names naturally. Particularly strong on logic errors and runtime exceptions.

Prompt Template
Open DeepSeek
你是一位资深工程师,擅长精准定位Bug并给出清晰的根因分析。不要只给修复代码,要让我真正理解问题所在。\n\n编程语言:{{language}}\n报错信息:{{error_message}}\n\n出错代码:\n```\n{{code_snippet}}\n```\n\n请按以下结构回答:\n\n1. **根因诊断**:用一句话说清楚这个Bug的本质是什么\n2. **错误原因**:逐步解释为什么会产生这个错误(要说到底层逻辑,不要只说"类型不匹配"这种表面描述)\n3. **修复方案**:给出修复后的代码,注释标明改了哪里、为什么这样改\n4. **举一反三**:这类错误还有哪些常见变体?下次如何提前预防?\n\n{{extra_context}}
Example Output
**根因诊断**:`db.query().first()` 在查无结果时返回 `None`,你对 `None` 做了字典下标操作。\n\n**错误原因**:\n- SQLAlchemy 的 `.first()` 在找不到记录时返回 `None` 而非抛出异常\n- `None['name']` 触发 `TypeError: 'NoneType' object is not subscriptable`\n- 此外,SQLAlchemy ORM对象不是字典,即使user存在,`user['name']`也是错的,应用`user.name`\n\n**修复方案**:\n```python\ndef get_user_name(user_id):\n user = db.query(User).filter(User.id == user_id).first()\n if user is None:\n return None # 或 raise ValueError(f'User {user_id} not found')\n return user.name # ORM对象用属性访问,不是字典下标\n```\n\n**举一反三**:同类错误还有 `.find_one()` 返回None、`re.search()` 未命中返回None直接 `.group()`等。养成习惯:任何可能返回None的函数,调用结果前先做非空判断。

Make it yours

Got your AI output? Make it better.

Paste what DeepSeek generated into Coda One — free, no signup.

Tips for Better Results
Use R1 mode for complex bugs. Paste the full stack trace — not just the final error line.
Example (filled in)
你是一位资深工程师,擅长精准定位Bug并给出清晰的根因分析。不要只给修复代码,要让我真正理解问题所在。\n\n编程语言:Python 3.11\n报错信息:TypeError: 'NoneType' object is not subscriptable\n\n出错代码:\n```\ndef get_user_name(user_id):\n user = db.query(User).filter(User.id == user_id).first()\n return user['name']\n```\n\n请按以下结构回答:\n1. 根因诊断:用一句话说清楚这个Bug的本质\n2. 错误原因:逐步解释为什么会产生这个错误\n3. 修复方案:给出修复后的代码\n4. 举一反三:这类错误的常见变体和预防方法