Claude Prompt 技巧
掌握与 Claude 对话的技巧,可以显著提升输出质量。本指南介绍实用的 Prompt 工程方法。
#基础原则
#1. 清晰具体
markdown❌ 模糊请求 帮我写个程序 ✅ 清晰请求 用 Python 写一个函数,接收一个字符串列表, 返回其中长度大于 5 的字符串,并按字母排序。 包含类型提示和 docstring。
#2. 提供上下文
markdown❌ 缺少上下文 这段代码有什么问题? ✅ 提供上下文 我在开发一个 Next.js 应用,使用 TypeScript。 以下代码在获取用户数据时报错 "undefined is not an object"。 请帮我找出问题: [粘贴代码] 错误信息:[粘贴错误]
#3. 指定格式
markdown❌ 不指定格式 解释一下 React hooks ✅ 指定格式 解释 React hooks,请: 1. 先用一句话总结 2. 列出 5 个最常用的 hooks 3. 每个 hook 给一个简单示例 4. 使用中文
#高级技巧
#角色设定
让 Claude 扮演特定角色:
markdown你是一位有 10 年经验的高级前端架构师。 请从以下角度审查我的代码: - 性能优化 - 可维护性 - 最佳实践 - 潜在风险 [粘贴代码]
#思维链 (Chain of Thought)
要求分步骤思考:
markdown请分析这个算法问题,要求: 1. 首先理解问题要求 2. 列出可能的解决方案 3. 分析每种方案的时间和空间复杂度 4. 选择最优方案并解释原因 5. 给出完整代码实现 问题:[描述问题]
#Few-shot 示例
提供示例让 Claude 学习模式:
markdown将以下句子转换为更专业的表达: 示例 1: 输入:这个功能坏了 输出:该功能存在异常,无法正常运行 示例 2: 输入:我不知道怎么弄 输出:目前尚未找到合适的解决方案 请转换: 输入:这代码写得太烂了
#约束条件
明确限制和要求:
markdown请帮我重构这个函数,要求: - 保持原有功能不变 - 函数行数不超过 20 行 - 使用函数式编程风格 - 不使用任何外部库 - 添加错误处理 [粘贴代码]
#编程场景技巧
#代码审查
markdown请审查以下代码,关注: 1. **Bug 风险**:可能导致错误的地方 2. **安全问题**:SQL 注入、XSS 等 3. **性能问题**:N+1 查询、内存泄漏等 4. **代码质量**:命名、结构、可读性 对于每个问题,请: - 指出具体位置(行号) - 解释问题原因 - 提供修复建议 [粘贴代码]
#调试帮助
markdown我遇到了一个 bug,请帮我调试: **环境**: - Node.js 20 - Express 4.18 - MongoDB 6.0 **期望行为**: 用户登录后应该返回 JWT token **实际行为**: 返回 500 错误,日志显示 "Cannot read property 'id' of undefined" **相关代码**: [粘贴代码] **已尝试**: - 检查了数据库连接(正常) - 打印了 user 对象(显示 undefined)
#学习新技术
markdown我想学习 [技术名称],我的背景: - 熟悉:JavaScript, React - 了解:Node.js, SQL - 目标:能独立开发完整项目 请: 1. 解释核心概念(用我熟悉的技术类比) 2. 给出学习路线图 3. 推荐学习资源 4. 提供一个入门练习项目
#写作场景技巧
#技术文档
markdown请帮我写一篇技术文档,主题是 [主题]。 要求: - 目标读者:有 1-2 年经验的开发者 - 长度:约 1000 字 - 结构:问题背景 → 解决方案 → 实现步骤 → 注意事项 - 风格:专业但易懂,避免过于学术化 - 包含代码示例
#邮件撰写
markdown请帮我写一封邮件: 背景:我需要向客户解释项目延期的原因 语气:专业、诚恳、积极 要点: - 延期 2 周 - 原因是发现了安全问题需要修复 - 这对项目质量是好事 - 提供新的时间表 长度:不超过 200 字
#常用 Prompt 模板
#代码生成模板
markdown请用 [语言] 实现 [功能]。 要求: - 输入:[描述输入] - 输出:[描述输出] - 边界情况:[列出需要处理的边界情况] - 性能要求:[如有] 请包含: - 完整代码 - 使用示例 - 简要说明
#问题解决模板
markdown我遇到了以下问题: [描述问题] 环境信息: [列出相关环境] 我已经尝试了: [列出已尝试的方法] 请帮我: 1. 分析可能的原因 2. 提供解决方案 3. 解释为什么这样做有效
#学习请求模板
markdown请解释 [概念]。 我的背景:[你的技术背景] 我想了解: - 这是什么?(一句话定义) - 为什么需要它?(解决什么问题) - 怎么使用?(基本用法 + 示例) - 有什么注意事项? 请用简单的语言,避免过于抽象。
#避免的做法
#不要过于简短
markdown❌ 写个排序算法 ✅ 用 Python 写一个快速排序算法,要求处理空列表情况,并添加注释解释每一步
#不要假设 Claude 记得之前的对话
markdown❌ 继续上次的代码 ✅ 这是我们之前讨论的代码 [粘贴],请继续添加 [功能]
#不要一次问太多无关问题
markdown❌ 解释 React hooks,顺便帮我写个 Python 爬虫,还有推荐几本书 ✅ 分开问,每次专注一个主题
#下一步
- 编程辅助 - 更多编程技巧
- Projects 项目 - 使用 Projects 管理上下文
- Artifacts 工件 - 创建可交互内容
提示:好的 Prompt 需要练习。多尝试,观察结果,不断优化你的提问方式。