跳转至

提示词设计原则

六个让提示词更精准、更稳定的设计原则。

原则一:角色定位明确

在提示词开头明确 AI 的角色和工作模式:

你是一个 TypeScript 专家,正在为一个 Next.js 14 项目工作。
你只修改我明确指定的文件,不做额外的"优化"或"改进"。

原则二:正向约束 + 负向约束并用

只说"做什么"不够,还要说"不做什么":

正向:实现 POST /api/users 接口,返回创建的用户对象
负向:不修改现有的 GET /api/users 接口,不改动数据库 Schema

原则三:提供具体的验收标准

模糊的验收标准会导致 AI 自行判断"完成":

模糊:确保代码正确
具体:运行 npm test -- --testPathPattern=users 后所有测试通过,
      且 npm run typecheck 无错误

原则四:用示例代替描述

当风格要求难以用语言描述时,直接提供示例:

按照以下风格实现错误处理(不要用 try/catch):

// 现有示例
const result = await safeAsync(fetchUser(id))
if (result.error) return { error: result.error }
return { data: result.data }

原则五:分步骤而非一次性

对于复杂任务,要求 AI 分步骤输出,每步确认后再继续:

请分三步完成这个任务:
第一步:只输出修改方案,不写代码,等我确认
第二步:我确认后,只输出修改后的文件内容
第三步:列出验证步骤

原则六:明确输出格式

告诉 AI 你期望的输出格式,减少解析成本:

输出格式要求:
1. 先输出改动摘要(3 行以内)
2. 再输出完整的修改后文件内容(用代码块包裹)
3. 最后列出验证命令
不需要解释每行代码的含义。

原则组合示例

把六个原则组合成一个完整的提示词:

你是一个 Python 后端专家,正在为 FastAPI 项目工作。
只修改我指定的文件,不做额外改动。

任务:为 /api/products 接口添加分页支持。

范围:只修改 src/routers/products.py
不改动:src/models/、src/database.py

验收:pytest tests/test_products.py::test_pagination 通过

参考现有分页实现(src/routers/users.py 第 45-60 行):
[代码内容]

输出格式:
1. 改动摘要(2 行)
2. 修改后的完整文件
3. 验证命令

原则的优先级

如果只能选一个原则,选负向约束。明确告诉 AI 不能做什么,是防止跑偏最有效的手段。