《猫猫钓游记》可爱+收集+钓鱼游戏试玩
2026-06-30
2026-07-01 0
Prompt Engineering(提示工程)是 AI 工程化中最基础也最核心的环节。它回答的是所有 AI 交互中的第一个问题:"怎么问?"

从技术本质上看,Prompt 是用户意图与模型能力之间的翻译层。大语言模型(LLM)本质上是一个基于概率的文本续写器,它不会"理解"用户的真实需求——它只会根据输入的上下文,预测下一个最可能的 token。Prompt Engineering 的目标,就是通过精心设计的输入文本,最大化模型输出符合预期的概率。
这个定义看似简单,但背后蕴含着一个深刻的工程化命题:如何将模糊的人类意图,转化为机器可精确执行的指令?
在实际应用中,Prompt Engineering 远不止"写一段话问 AI"。它涵盖了角色设定、任务分解、格式约束、示例引导(Few-shot)、思维链引导(Chain-of-Thought)、输出校验等多个维度,是一门融合了语言学、认知心理学和软件工程的交叉学科。
一个完整的 Prompt 通常由以下组件构成:
系统指令是整个对话的"宪法",定义了模型的行为边界、角色身份和回答风格。它通常位于对话的最开始,对模型的全局行为产生持续影响。
复制代码你是一个资深的后端架构师,擅长分布式系统设计。
回答问题时请遵循以下原则:
1. 先给出结论,再展开解释
2. 涉及代码时,标注语言和关键行号
3. 不确定的地方明确说明,不要编造
系统指令的质量直接决定了后续所有交互的上限。一个模糊的系统指令(如"你是一个编程助手")会导致模型在后续交互中频繁越界、风格不一致。
任务描述是单次交互的核心,明确告诉模型"这一次要做什么"。好的任务描述应满足 3C 原则:
差的示例:
好的示例:
Few-shot 是提示工程中性价比最高的技巧之一。通过在 Prompt 中提供 2-5 个输入-输出示例,模型可以快速理解期望的输出格式和推理模式。
复制代码将以下中文句子翻译成英文,要求:
- 保留原文的语气
- 专业术语使用行业标准译法示例1:
输入:请尽快完成代码审查
输出:Please complete the code review as soon as possible.示例2:
输入:这个接口的 QPS 上限是多少?
输出:What is the QPS limit for this API?现在请翻译:
输入:我们需要在下一轮迭代中引入熔断机制
明确的格式约束能大幅降低后处理的复杂度。常见做法包括:
复制代码请分析以下代码的性能瓶颈,输出 JSON 格式:{
"bottlenecks": [
{
"location": "文件和行号",
"severity": "critical | major | minor",
"description": "问题描述",
"suggestion": "优化建议"
}
],
"overall_score": "1-10 的整体评分"
}
思维链提示是 2022 年由 Google 研究团队提出的重要技术,核心思想是:让模型在给出最终答案之前,先展示推理过程。
最简单的触发器是加入一句:"Let's think step by step"(让我们一步一步思考)。但更有效的做法是设计结构化的推理框架:
复制代码请解决以下问题。在回答时,请按以下步骤思考:问题:一个水箱有两个进水管,A管单独充满需要3小时,B管单独充满需要6小时,
同时还有一个出水管C,单独排空需要4小时。如果三个管子同时打开,水箱
需要多久才能充满?步骤1:分析题目,列出已知条件
步骤2:计算每个管子的工作速率
步骤3:建立方程
步骤4:求解并验证
步骤5:给出最终答案
CoT 的变体还包括:
ReAct 范式将推理(Reasoning)和行动(Acting)交织在一起,是 Agent 系统的核心 Prompt 模式。模型在推理过程中可以调用外部工具获取信息,然后基于新信息继续推理。
复制代码你可以使用以下工具:
- search(query: string): 搜索互联网信息
- calculator(expression: string): 执行数学计算请使用"思考→行动→观察→思考→..."的循环模式回答问题。问:2024年诺贝尔物理学奖得主的年龄之和是多少?思考:我需要先知道2024年诺贝尔物理学奖得主是谁,以及他们的年龄。
行动:search("2024 Nobel Prize in Physics winners")
观察:[搜索结果...]
思考:根据搜索结果,得主是John Hopfield和Geoffrey Hinton。我需要查他们的年龄。
行动:search("John Hopfield age")
观察:[搜索结果...]
...
自洽性是一种通过多次采样+投票来提升推理准确率的技术。对于同一个问题,让模型生成多条推理路径(temperature > 0),然后取出现频率最高的答案。
这种方法特别适合数学推理、逻辑推理等有明确正确答案的任务。研究表明,在 GSM8K 等数学推理基准上,Self-Consistency 可以将准确率提升 5-10 个百分点。
看似"花哨"的技巧,实际上有研究支撑。论文《Large Language Models Understand and Can Be Enhanced by Emotional Stimuli》表明,在 Prompt 中加入情绪暗示(如"这对我的职业生涯非常重要")可以提升模型输出质量。角色设定则可以帮助模型建立更稳定的行为模式。
Prompt 应该像代码一样纳入版本管理。推荐实践:
.prompt 或 .yaml) 复制代码# prompts/code_review.yaml
version: "2.3.0"
name: code_review
system: |
You are a senior code reviewer...
template: |
Review the following {language} code:
{code}
Focus on:
{focus_areas}
Output format: {format}
Prompt 的优化需要数据驱动。建立评估体系,包括:
在生产环境中,Prompt 通常不是固定的,而是根据上下文动态组装:
复制代码最终 Prompt = 系统指令 + 角色设定 + 任务描述 + 检索到的参考文档 + 对话历史 + 用户输入 + 输出格式约束
组装时需要注意:
Prompt Engineering 本质上是在模型已有的能力空间中寻找最优解,而不是创造新的能力。如果模型本身不具备某个领域的知识或推理能力,再精巧的 Prompt 也无法弥补。
例如,一个未经过代码训练的模型,即使给出最完美的编程 Prompt,也无法写出正确的代码。
当 Prompt 中存在多个指令时,模型可能无法同时满足所有约束。例如同时要求"回答尽可能详细"和"控制在 200 字以内",模型可能顾此失彼。
随着 Prompt 越来越复杂(包含系统指令、Few-shot 示例、检索文档、对话历史),很容易超出模型的上下文窗口限制。即使技术上将窗口扩展到 128K 甚至 1M tokens,信息密度和注意力分配仍然是核心挑战。
同一个 Prompt 在不同的模型、不同的模型版本、甚至不同的采样温度下,可能产生截然不同的输出。这种不稳定性使得 Prompt Engineering 很难像传统软件工程那样做到"一次编写,处处运行"。
正是因为上述局限性,AI 工程的重心正在从单一的 Prompt 优化,向更系统的工程化方向迁移:
随着 AI 应用从单轮问答向多步自主执行演进,Prompt Engineering 的角色也在发生变化:
| 阶段 | 核心 Prompt 模式 | 典型场景 |
|---|---|---|
| 单轮交互 | 指令 + 约束 + 格式 | 翻译、摘要、分类 |
| 多轮对话 | 系统指令 + 上下文管理 | 客服、辅导、咨询 |
| 工具调用 | ReAct / Function Calling | 搜索、计算、API 调用 |
| 自主 Agent | 规划 + 执行 + 反思 + 重规划 | 代码生成、数据分析、自动化运维 |
在 Agent 系统中,Prompt 不再是一次性的输入,而是循环中的一个环节。它需要与工具调用结果、执行反馈、中间状态等信息协同工作,形成完整的感知-推理-行动闭环。
Prompt Engineering 是 AI 工程化的起点,但不是终点。它的核心价值在于:
但 Prompt Engineering 的能力边界也很清晰:它无法突破模型本身的能力上限,面对复杂任务时,需要与 Context Engineering、Harness Engineering 和 Loop Engineering 协同,才能构建真正可靠、可扩展的 AI 应用系统。
下一篇:[Context Engineering —— 知识与记忆的窗口]