0、先破个误区:Prompt 写得越长、越"说明白",不代表 AI 理解越准。
很多人把 Prompt 当需求文档写,背景、情绪、比喻、历史包袱一股脑塞进去,结果 AI 反而抓错重点;干扰不是来自信息太少,而是来自信息"层级混乱",让模型在主线和枝节之间来回摆。
1、先把任务变成一句话主命令:主线越短,偏航越少。
你要先写一句"这次只做什么"的命令,像钉子一样钉住方向,比如"生成一个可运行的 X 功能实现并附带单元测试";主命令最好能被读者复述一遍也不变味,后面再补条件,否则 AI 很容易把条件当主任务。
2、把信息分层:目标、输入、输出、约束、验收标准,分块写别混写。
Prompt 最常见的干扰源是"同一句话里既写目标又写约束还夹着背景";更稳的方式是用固定分区:
- 目标:这次要完成的事
- 输入:已有数据/接口/代码片段
- 输出:你希望它交付什么产物(代码、文档、测试、脚本)
- 约束:语言、框架、性能、权限、不能做什么
- 验收:怎么判断对(用例、边界、指标)
分层后,AI 更像在按表格填空,不像在读散文猜意思。
3、把"背景"从 Prompt 主体里赶出去:背景只保留会改变决策的那部分。
背景信息如果不影响实现选择,就会变成噪音;例如"老板很急""这是公司战略项目""我们之前失败过",对模型没帮助,只会诱导它输出安慰式话术或过度承诺。背景只留硬信息:现有架构、依赖限制、数据规模、合规边界、不可变的接口。
4、少用形容词,多用可判定条款:用"能否验证"替代"看起来不错"。
"高性能、优雅、简洁、工业级、像人写的"这些词都在给 AI 出谜题,因为没有统一尺度;换成可判定条款:QPS、延迟、复杂度、日志字段、错误码结构、测试覆盖范围。你给的是尺子,不是审美,干扰会立刻下降。
5、把"不想要的"写成黑名单:别指望 AI 从语气里悟禁区。
人类习惯用暗示,比如"最好别用太重的框架";模型可能理解成"可以用,只要别太重"。更直接:
- 禁止:使用某库/某模式
- 禁止:输出长篇解释
- 禁止:改动某目录/某接口
黑名单要短,写最要命的三到五条;禁区太多也会制造干扰,让模型不知道先保哪个。
6、减少"多任务捆绑":一次只要一个主要交付物,其他的变成可选项。
常见翻车 Prompt 是把"写代码 + 写测试 + 写文档 + 做性能优化 + 输出迁移方案"塞在一起;模型会在多个目标间平均用力,最后每个都半吊子。更稳的做法是设主交付物,比如"先交付代码+测试",文档放在"可选:如果篇幅允许再补"。
7、把示例当成锚点:给一两个正例/反例,比加十句解释更管用。
示例能把抽象要求变成具体模式,减少理解分歧。比如你要它生成接口响应结构,与其说"格式要统一",不如直接贴一个 JSON 示例;再贴一个反例并写"不要这样",模型会更快收敛。
8、用术语要给定义:同一个词,不同团队差一整套做法。
"幂等、灰度、事务、一致性、领域模型、清洁架构"这些词在不同人嘴里含义不一样。你在 Prompt 里提到术语,就顺手给一句定义或范围:幂等是按 requestId 去重还是按业务键去重?一致性是最终一致还是强一致?定义一补上,干扰立刻少一半。
9、把"自由发挥空间"显式标出来:让模型知道哪些能猜、哪些不能猜。
AI 最爱补全空白,但很多空白你其实不希望它补。你可以划线:
- 可自行决定:内部函数命名、文件拆分方式
- 不可自行决定:接口字段名、鉴权方式、数据表结构
这样模型不会在关键口径上自作主张,人类后续纠错就少。
10、做一次"反向复述"再开工:先让 AI 复述需求,再让它输出结果。
如果你直接让它产出代码,错了你要从成品里挖原因;更省事的是先让它用几条 bullet 复述"它理解的目标、约束、验收",你看一眼就能发现偏差。这一步看似多一道流程,实际上是在用最低成本把最大偏差提前拦住。
11、控制上下文污染:别把旧对话当资产,很多时候它是噪音源。
同一聊天里反复迭代,会累积很多过期假设:之前的字段名、旧方案、被否决的方向,都会继续影响模型。做法很实用:到关键节点就开新会话,把"最终版本需求+最终接口+最终约束"重新贴一遍;上下文越干净,理解越稳定。
12、给一份自用 Prompt 体检表:写完对照一遍,干扰会明显下降。
(1)主命令是否一句话就能说清;(2)目标/输入/输出/约束/验收是否分块;(3)背景是否只保留会改变方案的硬信息;(4)是否存在大量形容词但缺指标;(5)黑名单是否明确且不超过五条;(6)是否把多任务拆分成主交付物+可选项;(7)是否提供正例/反例;(8)关键术语是否给了定义;(9)哪些可自由发挥、哪些不可猜是否写清;(10)是否先让 AI 复述再输出;(11)上下文是否清爽、过期内容是否清理;(12)验收是否能直接变成测试或检查清单。能过十条以上,你的 Prompt 基本就不会"自己干扰自己"了。