提示词工程简介

提示词是什么?

提示词(prompt) 是你送给模型的全部输入:系统设定、用户问题、检索到的文档、对话历史、工具结果。模型不会「猜到你没写出来的成功标准」。OpenAI 把 prompting 说成既是技艺也是工程:同样的模型,合同写得清不清,输出质量差一截。

提示词工程 不是背咒语,而是把任务写成一份可复查的合同:谁在做、做什么、不能做什么、交什么格式。Anthropic 强调 清楚、直接;OpenAI 强调 角色放 system、任务与示例放 user,并把生产提示词 当代码一样进 Git、过 PR、带评估

你以为的:  脑子里的意图  ──魔法──►  满意的输出
实际发生:  意图 → 写成合同 → 模型补全 → 你验收(或程序解析)

为什么 Agent 时代还要学这个?

Cursor、Claude Code、LangChain、Dify 都会给模型一堆 工具。工具降低了「模型只能空口说话」的限制,但 没有降低对合同的要求

没有工具时有工具时
提示词描述整件任务提示词描述 目标、边界、何时用哪把工具
输出常常是一篇文章输出可能是工具调用 + 最终答复
错了就再聊一句错了可能改错文件、打错 API

本站 Agent 课默认你已经会写清楚任务。本课就是把那一层补上。详见 工具与 Agent

flowchart LR
  I[意图] --> C[合同:角色/任务/约束/格式]
  C --> M[模型]
  M --> T{要工具?}
  T -->|是| E[工具结果当数据]
  E --> M
  T -->|否| O[按格式输出]
  O --> V[人审或自动评估]

一份合同里通常有什么

构件回答的问题反例
角色以什么身份、对谁说话「你是一个有帮助的助手」(过空)
任务这一步要交付什么「帮我看看」(没有动词 + 对象)
约束不准做什么、范围、语气、长度全凭模型「懂事」
输出格式Markdown / JSON / 表格 / 仅补丁「随便写」然后程序解析失败
上下文原文、文件、检索片段把整仓糊进窗口
示例好输出长什么样形容词堆砌(「专业、友好、全面」)

四个核心构件在 四个构件;怎么切开长文本在 结构与分隔


本课教什么、不教什么

教:

  • 把含糊指令改成可执行合同
  • 用 XML / Markdown / 分隔符降低「指令和资料缠在一起」
  • 用少量示例锁定格式与边界情况
  • 用 schema 让下游代码吃得下
  • 用金标题做回归,而不是只看一次「感觉还行」

不教:

  • 越狱、绕过安全策略、提示注入的攻击步骤
  • 用提示词去骗过审核或冒充他人
  • 某个模型的「隐藏系统提示」或未公开技巧
  • 用更长的套话代替更清楚的任务

厂商文档会更新;本课抓住 稳定的工程习惯。模型名以各产品页面为准,教程里只用常见占位(如 gpt-4.1-mini)。


和「聊天随手问」的差别

随手问适合探索。要复用、要团队共用、要进 CI,就把提示词当成 会改变产品行为的源码:OpenAI 明确建议用模块保存、用类型参数填空、和功能同一 PR 评审。Dify 画布上的提示词框、Cursor 的规则、LangChain 的 system_prompt,都是这份源码的不同容器。

一句话:先写清合同,再选容器。


下一步

评论