点击蓝字 关注我们

Andrej Karpathy 曾提出一个观点:「英语是最新的编程语言。」这句话在 AI 编程迅速普及的今天,显得尤为贴切。过去,开发者通过严格的编程语言与计算机对话;如今,越来越多的工作开始通过自然语言指令——也就是 Prompt——来驱动大型语言模型完成代码生成、调试与优化。
Prompt 工程,正是研究如何有效地与 AI 沟通的一门实践技术。它不是简单的「提问技巧」,而是把模糊的需求转化为清晰、可执行指令的能力。对于程序员而言,这已经成为与算法、数据结构同等重要的基本功;对于普通 AI 使用者而言,掌握它也能显著提升与 AI 协作的效率。
本文将围绕编程场景,梳理 Prompt 工程的核心原则与实践方法。
01
从「命令」到「对话」
传统编程强调精确性:一个标点错误、一个类型不匹配,程序就可能无法运行。Prompt 工程同样追求精确,但它使用的是自然语言,而自然语言天然带有歧义。
很多开发者初次使用 AI 编程工具时,会沿用写代码的习惯:指令简短、术语密集、假设 AI 能补全上下文。结果往往不尽如人意。问题并不在于 AI 的能力,而在于指令本身缺乏足够的清晰度与上下文。
一个更准确的定位是:
写 Prompt 不是在下命令,而是在向一位经验丰富但对你项目一无所知的新同事解释任务。你需要说明背景、目标、约束和验收标准。
下面五个原则,可以帮助我们更系统地进行这种沟通。
02
Prompt 工程的五个核心原则
原则 1:具体优于抽象
模糊的请求会得到模糊的结果。让 AI「做一个登录页面」,它可能只返回一个最基础的 HTML 表单;而如果你明确说明字段、验证规则、UI 风格和技术栈,结果会大不相同。
例如,与其写「做一个用户登录页面」,不如写:
「创建一个用户登录页面,包含邮箱输入框(需要验证格式)、密码输入框(最少 8 位)、蓝色圆角的登录按钮、忘记密码链接,错误时用红色提示,使用 React 和 Tailwind CSS,响应式设计。」
具体性能够消除歧义,让 AI 在正确的方向上生成内容。
原则 2:上下文决定质量
AI 并不了解你的项目背景。它不知道你的技术栈、目录结构、已有代码,也不清楚你团队的编码规范。因此,提供足够的上下文,是获得高质量输出的前提。
有效的上下文通常包括:技术栈与版本、项目目录结构、相关已有代码、设计规范与命名约定、业务规则与约束条件。
例如:「我们项目使用 Python 3.11,FastAPI 框架,SQLAlchemy 2.0 作为 ORM,PostgreSQL 数据库。请不要使用 Django 或 Flask。」这样一条简单的补充,就能避免 AI 基于错误假设生成代码。
原则 3:示例胜过描述
当需求涉及复杂的数据转换或格式规则时,文字描述往往不如具体示例直观。给出一个输入示例和一个期望的输出示例,AI 通常能够从中推断出转换逻辑。
这种方式尤其适合函数实现、正则表达式、数据清洗等任务。示例不仅降低了理解成本,也减少了因描述不清而产生的偏差。
原则 4:迭代优于完美
不要期望一次性写出完美的 Prompt。Prompt 工程本质上是一个迭代过程:先起草、观察输出、分析偏差、调整指令,再重新生成。
与其在输入框前反复斟酌,不如快速启动第一轮对话。通过几轮迭代,你能够逐步逼近最优结果,同时也更清楚地了解 AI 在哪些环节容易出错。
原则 5:约束明确边界
告诉 AI 不要做什么,与告诉它要做什么同等重要。
明确的约束可以防止 AI 引入不必要的依赖、使用不兼容的语法,或生成超出项目范围的代码。
例如:「使用 React 实现这个功能,但请不要使用任何第三方库,不要使用 class 组件,不要使用 useEffect,代码必须兼容 IE11。」这样的边界设定,能够有效控制输出的风险。
03
角色设定:激活领域知识
为 AI 设定一个明确的角色,可以显著提升输出质量。角色设定的作用,在于引导 AI 调用训练数据中特定领域的知识与表达习惯。
例如,同样是生成 React 组件,「你是一位有 10 年经验的 React 专家,擅长性能优化和可访问性」这样的角色设定,往往能让输出更加注重代码质量、边界处理和组件设计。
常见的角色包括:技术专家、系统架构师、安全工程师、代码审查员、编程教师等。根据任务类型选择合适的角色,是一种低成本但有效的优化方式。
0
上下文的组织方式
提供上下文时需要把握一个平衡:信息太少会导致 AI 做出错误假设,信息太多则可能淹没关键内容,甚至超出模型的上下文窗口限制。
一个实用的组织顺序是:
1. 角色设定:明确 AI 应该扮演什么角色
2. 任务描述:清晰说明需要完成的工作
3. 技术栈:列出相关语言、框架、库和版本
4. 项目背景:说明目录结构、已有代码和依赖关系
5. 具体要求:详细列出功能细节和验收标准
6. 约束条件:明确禁止或需要避免的事项
结语
Prompt 工程不是某种神秘的技巧,而是一种系统化的沟通能力。在 AI 日益深入开发 workflow 的今天,能够清晰、准确地表达需求,已经成为开发者不可或缺的核心素养。
无论是编写代码、调试程序,还是进行技术调研,良好的 Prompt 都能帮助你更高效地利用 AI 的能力。希望以上五个原则能为你的 AI 协作实践提供一些参考。
你在使用 AI 编程工具时,遇到过哪些 Prompt 相关的困惑?欢迎在评论区交流。
点击蓝字
关注我们
END
夜雨聆风