程序员的提示工程手册
原文来自于 Addy Osmani,他是 Google Chrome 的工程主管,在 Google 工作多年。 开发人员越来越依赖 AI 编程助手来加速我们的日常工作流程。这些工具可以自动完成函数、建议修复错误,甚至生成整个模块或 MVP。然而,正如我们许多人所了解的那样,AI 输出的质量很大程度上取决于你提供的提示的质量。换句话说,提示工程已经成为一项必备技能。一个措辞不当的请求可能会产生不相关或笼统的答案,而一个精心设计的提示可以产生周到、准确甚至富有创造性的代码解决方案。本文将实际探讨如何系统地构建适用于常见开发任务的提示。 AI 结对程序员很强大但并非神奇——除了你告诉他们的或包含在上下文中的信息外,对你特定的项目或意图没有先验知识。你提供的信息越多,输出就越好。我们将提炼出开发者反响热烈的提示模式、可重复的框架和难忘的示例。你将看到好与坏提示的并排比较以及实际的 AI 响应,并附有评论以了解为什么一个成功而另一个失败。以下是入门小贴士: 技巧 提示模板 目的 1. 角色提示 “你是一名资深的{语言名}开发者。请审查这个函数以实现{目标}。” 模拟专家级的代码审查、调试或重构 2. 明确上下文设定 “问题如下:{问题说明}。下面是代码。它本应做到{预期行为},但实际上做了 {实际行为}。为什么?” 明确框定问题,避免泛泛而谈的回答 3. 输入/输出示例 “这个函数在输入{输入内容}时应返回{预期输出}。你能编写或修复这段代码吗?” 通过示例引导 AI 理解意图 4. 迭代分步 “首先生成这个组件的骨架。接下来我们添加状态。然后处理 API 调用。” 将大任务拆解为步骤,避免模糊或过载的提示 5. 模拟调试 “逐行走查这个函数。变量值是什么?哪里可能出错?” 引导 AI 模拟运行时行为,发现隐藏的 bug 6. 功能蓝图 “我正在构建{功能特性}。需求如下:{具体说明}。技术栈为:{技术栈说明}。请搭建初始组件并解释你的选择。” 启动 AI 主导的功能规划与脚手架搭建 7. 重构指导 “请重构这段代码以提升{目标},比如(如:可读性、性能、符合语言习惯的风格)。请使用注释解释变更。” 让 AI 的重构符合你的目标,而不是随意更动 8. 请求替代方案 “你能用函数式风格重写这段代码吗?递归版本会是什么样?” 探索多种实现方式,扩展工具箱 9. 橡皮鸭调试 “我觉得这个函数的作用是:{你的解释}。我遗漏了什么吗?有没有 bug?” 让 AI 质疑你的理解并发现潜在问题 10. 约束锚定 “请避免(例如:递归),并遵守(例如:ES6 语法、无外部库)。优化方向为(例如:内存)。这是函数代码:” 防止 AI 过度发挥或引入不兼容的模式 高效代码提示基础 向 AI 编码工具提示与与一个非常有原则、有时会知识渊博的合作者交流有点像。为了获得有用的结果,您需要清楚地设置场景,并指导 AI 您想要什么以及如何实现。