从“训练模型的人”到“与模型对话的架构师”,你需要这门新语言。

前言:学习阶段的根本转变

如果你和我一样,刚完成了 BERT 分类、微调、评估,熟悉了 Transformer、注意力机制,那么恭喜——你已经掌握了传统 NLP 的基石。但现在,我们要正式进入 大模型应用开发的核心实战:提示词工程。

这次转变,不仅仅是技术栈的变化,更是思维方式的跃迁:

之前(模型训练阶段)现在(提示词工程阶段)
重心在修改代码、调整参数重心在设计输入输出、优化指令
评估指标:损失、准确率、F1评估指标:任务完成度、稳定性、成本
需要 GPU、大量数据、长时间训练只需 API 或本地推理,即时反馈
调试:print、断点、梯度监控调试:修改提示词、A/B 测试

提示词工程绝不是“随便写两句话”那么简单。它在真实应用中扮演着 四个关键角色


一、角色1:需求翻译器 —— 将模糊意图转化为精确指令

用户输入往往是模糊、不完整的。比如用户说:“帮我总结一下这篇文章。”——没说明长度、侧重点、格式。

提示词工程需要

  • 拆解用户需求为模型可执行的子任务

  • 补充隐含约束(长度、风格、输出结构)

  • 处理边界情况(信息不足时拒绝回答)

示例

python

# 原始用户输入
user_query = "总结一下这篇文档"

# 经过提示词包装后的模型输入
prompt = f"""
你是一个专业的文档分析师。请对以下文档进行总结,要求:
1. 控制在200字以内
2. 分三个要点:核心观点、支持论据、结论
3. 如果文档内容不足,请直接回答"信息不足,无法总结"

文档内容:{document}
"""

没有这层翻译,模型可能输出过长、过短、格式混乱或捏造的内容。


二、角色2:行为约束器 —— 控制模型的输出空间

大模型本质是概率生成器,不加约束时输出空间无限。提示词工程通过:

  • 格式约束:指定 JSON、Markdown、纯文本 → 输出可解析

  • 内容边界:禁止某些词、限定主题范围

  • 风格控制:设定语气、人称

这使得模型从“天马行空的创作者”变成 “可编程的执行者”。例如 Agent 需要调用天气 API,必须先让模型输出 {"city": "北京", "date": "2025-04-04"}。通过 Few-shot 示例和 JSON 格式约束,可以做到 100% 可解析,避免程序崩溃。


三、角色3:知识激活器 —— 在 RAG 中连接检索与生成

在 RAG(检索增强生成)系统里,提示词工程承担 整合检索结果、指导生成、拒绝幻觉 三重任务:

python

rag_prompt = f"""
请基于以下【文档片段】回答问题。如果片段中没有相关信息,请直接说“根据现有资料无法回答”,不要编造。

【文档片段】
{retrieved_chunks}

【问题】
{user_question}

【要求】
1. 回答中需要引用片段中的具体句子(用引号标出)。
2. 如果多个片段信息矛盾,请指出矛盾点。
3. 输出格式:首先给出答案,然后列出依据。
"""

这个提示词:

  • 明确了信息源,阻止模型使用内部知识编造

  • 强制引用,增加可信度

  • 处理矛盾信息,提升鲁棒性

没有精心设计的提示词,RAG 系统会变成“检索什么就胡说八道”的工具。


四、角色4:流程编排器 —— 在 Agent 中实现多步推理

Agent 需要完成 规划 → 调用 → 观察 → 再规划 的循环。提示词工程定义了工具接口、引导推理步骤、处理错误。

ReAct 模式提示词示例

text

你是一个能使用工具的助手。你有以下工具:
- 搜索[query]:返回相关网页摘要
- 计算[表达式]:返回数学计算结果

请按照以下格式输出:
思考: <你的推理过程>
行动: <工具名>[参数]
观察: <工具返回的结果>
...(重复思考-行动-观察,直到得出最终答案)
最终答案: <回答>

问题:北京今天气温是15度,纽约是20度,两者温差多少度?

模型会依次输出:

text

思考: 我需要先获取两地气温,然后计算差值。
行动: 搜索[北京今天气温]
观察: 15度
行动: 搜索[纽约今天气温]
观察: 20度
思考: 现在有了两个温度,需要计算差值。
行动: 计算[20-15]
观察: 5
最终答案: 两地温差为5度。

通过提示词,我们教会了模型 何时调用工具、如何解析结果、如何组合信息


五、为什么“简单输入”不够?

你可能觉得:“我每次手工写一句也能工作。”但在工程化应用中,你必须考虑:

  • 稳定性:面对千变万化的用户输入,输出格式必须一致

  • 可维护性:提示词需要像代码一样版本管理、测试、优化

  • 成本控制:提示词长度直接影响 token 消耗,需要精炼

  • 多模型适配:同一个应用可能需要切换 GPT、Claude、本地模型,提示词要可迁移

因此,提示词工程已经演变为一门 工程学科,有专门的角色“提示词工程师”,使用 LangChain 的 PromptTemplate、版本控制、自动化测试等工具。


六、总结:你的角色转变

维度传统编程提示词工程
输入代码自然语言指令
输出确定性的结果概率性的文本
调试方式断点、日志修改提示词、对比输出
核心能力算法、数据结构语言表达、逻辑拆解、实验设计

你现在正在从“代码编写者”转向 “模型行为设计师”。提示词工程就是这个新角色的核心工具。

下一步,不妨打开一个聊天界面(或 API),尝试设计一个包含角色、任务、格式、Few-shot 示例的提示词,完成一个小任务(如评论分类)。你会亲身体验到:好的提示词,就是最好的“模型微调”


参考资料

  • OpenAI Prompt Engineering Guide

  • Learn Prompting (learnprompting.org)

  • LangChain Prompt Templates

本文为原创,转载请注明出处。如果你觉得有帮助,欢迎点赞、收藏、分享!

更多推荐