提示词工程简介
提示词是什么?
提示词(prompt) 是你送给模型的全部输入:系统设定、用户问题、检索到的文档、对话历史、工具结果。模型不会「猜到你没写出来的成功标准」。OpenAI 把 prompting 说成既是技艺也是工程:同样的模型,合同写得清不清,输出质量差一截。
提示词工程 不是背咒语,而是把任务写成一份可复查的合同:谁在做、做什么、不能做什么、交什么格式。Anthropic 强调 清楚、直接;OpenAI 强调 角色放 system、任务与示例放 user,并把生产提示词 当代码一样进 Git、过 PR、带评估。
为什么 Agent 时代还要学这个?
Cursor、Claude Code、LangChain、Dify 都会给模型一堆 工具。工具降低了「模型只能空口说话」的限制,但 没有降低对合同的要求:
本站 Agent 课默认你已经会写清楚任务。本课就是把那一层补上。详见 工具与 Agent。
一份合同里通常有什么
本课教什么、不教什么
教:
- 把含糊指令改成可执行合同
- 用 XML / Markdown / 分隔符降低「指令和资料缠在一起」
- 用少量示例锁定格式与边界情况
- 用 schema 让下游代码吃得下
- 用金标题做回归,而不是只看一次「感觉还行」
不教:
- 越狱、绕过安全策略、提示注入的攻击步骤
- 用提示词去骗过审核或冒充他人
- 某个模型的「隐藏系统提示」或未公开技巧
- 用更长的套话代替更清楚的任务
厂商文档会更新;本课抓住 稳定的工程习惯。模型名以各产品页面为准,教程里只用常见占位(如 gpt-4.1-mini)。
和「聊天随手问」的差别
随手问适合探索。要复用、要团队共用、要进 CI,就把提示词当成 会改变产品行为的源码:OpenAI 明确建议用模块保存、用类型参数填空、和功能同一 PR 评审。Dify 画布上的提示词框、Cursor 的规则、LangChain 的 system_prompt,都是这份源码的不同容器。
一句话:先写清合同,再选容器。