LangGPT 年度复盘:从提示词本质到结构化范式,2023 提示工程实践全景解析
【免费下载链接】LangGPTLangGPT: Empowering everyone to become a prompt expert! 🚀 📌 结构化提示词(Structured Prompt)提出者 📌 元提示词(Meta-Prompt)发起者 📌 最流行的提示词落地范式 | Language of GPT The pioneering framework for structured & meta-prompt design 10,000+ ⭐ | Battle-tested by thousands of users worldwide Created by 云中江树项目地址: https://gitcode.com/gh_mirrors/la/LangGPT
导读
本文基于 LangGPT 项目作者云中江树在 2024 年 1 月 13 日北京 AIGC 中国开发者大会上的年度分享整理而成(原始讲稿见 Docs/PromptAnnualReview.md),系统复盘了 2023 年提示工程领域的关键认知、方法论与社区实践。你将读到:Prompt 的真正边界在哪里、提示工程在 LLM 应用全生命周期中的位置、LangGPT 社区总结的七条高效实践,以及如何用结构化提示词把"作文题"变成"填空题"。文章同时结合仓库中的模板源码、论文与示例,给出可复制、可运行的落地参考。
一、背景:一次开发者大会上的年度复盘
2024 年 1 月 13 日,AIGCLink 在昆仑巢举办了北京 AIGC 中国开发者大会,LangGPT 项目作者云中江树(江树)作为嘉宾分享了提示工程领域的年度思考。过去一年(2023 年),LangGPT 社区在提示词与提示工程方向上沉淀了大量内容,这次分享正是对这一年实践的系统梳理:
- 2023 年 5 月开源 LangGPT 提示词项目,并在网易、字节跳动等互联网大厂的实际业务中落地应用;
- 建立了上百人参与共建的知识库,拥有数千人的交流社群,在开源社区获得数万 Star;
- 与华为、百度等知名公司开展了密切的交流合作,并受到创业邦等媒体报道。
这些背景信息在 README.md 的项目介绍中亦有印证——LangGPT 被定位为"面向大模型的结构化、可复用提示词设计框架",其学术基础发表在 Papers/LangGPT_paper_cn.md(arXiv:2402.16929)。需要说明的是,本文正文中的分享观点属于作者个人见解,仅供参考。
二、什么是 Prompt:所有会被模型用于预测输出结果的内容
2.1 一个广泛存在的认知误区
很多学习者把 Prompt 简单理解为自己精心设计的那一小段开场提示词,而忽略了 Prompt 的其他来源。分享中用输入法做了一个直观类比:
- 第一张图:输入"春眠",输入法预测"不觉晓"。此时"春眠"是输入,"不觉晓"是模型输出,所以"春眠"是 Prompt;
- 第二张图:输入"春眠不觉晓"(其中"不觉晓"是模型上一轮的输出),输入法预测"处处闻啼鸟"。此时"春眠不觉晓"是 Prompt。
这一类比同样适用于 GPT 类模型——它以"之前的内容"为输入,预测"之后的内容"。因此在多轮对话中,模型不仅读取系统提示词,还会把用户每一轮的输入、模型自己之前的输出一并作为上下文来预测后续内容。
由此得到本文第一个核心结论:
"所有会被模型用于预测输出结果的内容,都是 Prompt。"
Prompt 的来源可以是预设的提示词、用户的输入,甚至模型自身的输出。对"Prompt 即对话全程上下文"这一广义认知的更详细论述,可参考仓库中的 Docs/PromptChain.md(其中引入了 System Prompt 的概念,并列举了"输入被误认为新 Prompt""输入被误认为反馈指令""输入被误认为特定含义"三类典型错误及其解法)。
2.2 Prompt:调用大模型能力的接口
从模型原理出发,Prompt 无处不在。它既是调用大模型能力的接口,也是用好大模型能力的核心。分享中引用了 OpenAI 开发者大会的一张 PPT 来说明:在 LLM 应用的开发与性能优化全过程中,提示工程贯穿始终。
- 先做原型:一切 LLM 应用推荐先从 Prompt 工程着手建立原型,作为性能优化的基石;
- RAG 本质上也是一种 Prompt 工程:当 Prompt 工程无法满足需求时,通过检索增强构造更好的模型输入;
- 微调依赖提示工程:通过 Prompt 工程构造高质量的微调数据,是微调成功的关键;
- 垂直大模型同样如此:先用 Prompt 工程(或结合 RAG)获取第一批高质量输入输出数据,再微调模型;
- 数据飞轮:更好的模型产出更好的数据,更优质的数据用于训练又反过来提升模型,形成正向迭代循环——其中每个环节都离不开提示工程。
三、写好提示词的基础方法论
3.1 OpenAI 六大原则与"思考时间"的误解
分享推荐阅读 OpenAI 官方的提示工程文档,并将其总结为一张思维导图,包含六大原则以及若干子要点。其中特别强调了一个容易被误解的原则——给模型"思考"时间:
它并不是指让模型"慢慢想再给出答案",而是侧重于让模型一步步思考、给出过程、最终得到答案——就像做数学题时先写计算过程再给结果,能显著提高结果的正确度。这与 CoT(思维链)思想一脉相承,仓库 Docs/HowToWritestructuredPrompts.md 中也将 CoT 视为构建高质量提示的核心技巧之一。
3.2 为什么学了技巧还是写不好:互相冲突的资料
不少学习者发现,技巧和框架学了很多,实践中依然写不好提示词。一个重要的原因是:大量提示工程资料彼此冲突,甚至来源都相当权威。例如"是否该对 AI 礼貌"这个问题:
- 微软的建议是"要礼貌";
- 部分学术论文给出相反结论;
- 广为流传的"26 条提示工程准则"第一条就是"对 AI 没有必要礼貌"。
分享给出的答案是:这对 AI 来说不重要,对个人修养很重要,礼貌一点没有坏处。它点出了提示工程的本质——它不是机械的咒语,而是一种沟通艺术。
四、LangGPT 社区的七条高效实践
面对纷繁复杂的技巧,LangGPT 社区的答案是实践。以下是分享中总结的、经社区反复验证的七条方法:
| 序号 | 方法 | 要点说明 |
|---|---|---|
| 1 | 清晰地描述 | 最重要的方法,做到这一点能解决约 80% 的问题。与华硕校园的合作案例表明:第一次接触 GPT 时,不妨让它写一首诗,通过调整格式、诗歌体裁、内容质量,逐步获得对模型的掌控感 |
| 2 | 角色扮演 | 对当前基于角色的模型非常有效,能明显提高内容质量;网上大量基于角色的提示词被用于模型训练后,进一步强化了这一技巧的有效性 |
| 3 | 提供示例 | 尤其是在需要复刻文案结构与风格的场景下,多提供几个高质量示例(即 Few-shot) |
| 4 | 复杂任务分解 | 分为人去分解与模型自动分解两种:有成熟 SOP 或自有思路就复用 SOP 自己分解;否则让模型自动分解并给出过程,CoT 思维链就是一种模型自动分解的方法 |
| 5 | 使用格式 | 良好的格式能大大避免因语义歧义、冲突导致的性能问题,推荐使用 Markdown 格式 |
| 6 | 情感与物质激励 | 情感激励类似情感 PUA,物质激励指"给 AI 小费"这类技巧——对人高情商的那一套,对 AI 也很有效 |
| 7 | 使用英语 | 正如开篇示例所示,仅把一个词换成英文,回答质量就天差地别 |
其中第 4 条"复杂任务分解"在仓库 Docs/PromptChain.md 中有系统展开:当任务超出单 Prompt 能力时,可通过提示链(Prompt Chain)把大任务拆成多个小 Prompt 协同解决;还给出了任务拆解的停止条件("模型表现够好即可")、子任务相互影响规律以及稳定度/可用性的量化评估公式。第 3 条"提供示例"的完整范本可参考 examples/chinese_poet/Prompt_chinese_poet.md 中的诗人角色。
五、把方法论封装起来:LangGPT 结构化提示词
5.1 从"作文题"到"填空题"
分享将上述方法论封装,形成了LangGPT 结构化提示词。与一般提示词相比,它的价值在于:把提示词这一"作文题"变成"填空题"——编写门槛降低的同时,提示更加清晰、更加强大。凭借优秀的结构和稳定良好的性能表现,LangGPT 结构化提示词也成为了字节 Coze 平台的推荐提示词范式(分享中原述)。
关于结构化提示词背后的设计思想,仓库中有充分依据:
- Docs/HowToWritestructuredPrompts.md 系统论述了其优势:层级结构实现内容与形式统一、提升语义认知、定向唤醒模型深度能力、像代码开发一样构建生产级 Prompt,以及"构建全局思维链"和"保持上下文语义一致性"等编写要点;
- Papers/LangGPT_paper_cn.md 提出双层结构设计:提示由若干模块(类似编程语言的类)和模块内的元素(类似函数与属性)组成,分为内置模块(Profile、Constraints、Goal、Workflow、Example、Initialization 等)与可扩展模块,并支持 Markdown、JSON、YAML 等多种格式。
5.2 官方模板源码解读
仓库 LangGPT/templates 目录下提供了多套可直接套用的模板:
完整版 Role.md(推荐用于复杂角色)的核心骨架:
# Role: Role_Name *Name*: LangGPT *Author*: YZFly *Version*: 0.2 ## Profile: ### Capabilities # 定义模型要完成的任务、用户与输入、期望输出 ### Limitations # 定义能力边界与越界时的应对方式 ### Style # 定义回复的姿态与语气 ## Output # 定义输出语言、语法与格式化要求(可要求 JSON 等机器可解析格式) ## Examples # 描述困难/模糊用例,展示"内心独白"与思维链 ## Tools # browser / python / dalle 等工具接入基础版 baseRole.md则包含了更完整的实战要素——Profile(Author/Version/Language/Description)、Reminder(输出前自提醒角色设定)、Commands(/help、/continue、/config、/language、/search等斜杠命令)、Rules、Workflow、Tools 与 Initialization,其中 Initialization 规定了开场行为:
## Initialization As a/an <Role>, you must follow the <Rules>, you must talk to user in default <Language>, you must greet the user. Then introduce yourself and introduce the <Workflow>.轻量版 miniRole.md保留最精简的骨架(Role → Profile → Rules → Workflow → Initialization),适合快速上手;而miniRole.yaml与 miniRole.json 则展示了面向工程化开发的 YAML/JSON 写法——分享中也提到,程序员群体推荐使用 yaml、json 等成熟数据结构进行结构化 Prompt 开发,对 prompt 的工程化、版本管理(Git)与多人协同尤其友好。
一个贴合分享内容的经典示例是 examples/chinese_poet/Prompt_chinese_poet.md 中的"诗人"角色——它完整呈现了"作文题变填空题"的写法:用户在对话中只需按形式:[], 主题:[]填空,模型即可按要求创作现代诗、七言律诗或五言诗,这正是分享中华硕校园合作案例中"写一首诗"实践的结构化版本。
六、社区实践:提示词的边界在哪里
分享展示了 LangGPT 社区在提示工程方向上的三类代表性实践:
6.1 纯 Prompt 游戏
社区实现了很多好玩的纯 Prompt 游戏,例如"猫总的人生重启模拟器"项目、结合 DALL-E 3 等工具的规则怪谈游戏。AI 游戏很多,但纯 Prompt 实现且兼顾趣味性的实践,在全球范围内都处于前列。
6.2 商业场景:简历筛选助手
通过提示词应用为企业提升招聘效能:设计简历筛选助手,帮助企业制订用人评分标准,上传简历即可对候选人打分并给出评分依据,评分后对候选人进行综合排序,显著提高用人效率。分享指出,商业化的提示词案例少有公开,LangGPT 社区是少有的乐于开源此类贡献的社区,更多案例可访问 LangGPT 知识库(feishu.langgpt.ai)。
6.3 用提示词重塑研发工作流:让大模型设计小模型
社区还通过提示词实现了 AI 模型设计——让大模型来设计小模型:接入 Python 代码环境后,大模型可辅助 AI 模型的设计到部署全流程。分享展示了部分流程:先进行环境检查,再依据要求设计 AI 网络并测试,最终生成部署所需文件,将原来可能需要一天的任务压缩至半天解决。
这一类实践与仓库中 src/SOMPromptingWithSAM.ipynb、src/ImagePromptingWithYOLOv10.ipynb 所探索的"以提示方式驱动视觉模型"思路同属一条主线:提示词正在从"文字生成"扩展到"模型设计与多模态调用"。此外,Prompts/ 目录下的 AI 分身系列(如 巴菲特AI分身、马斯克AI分身、梵高AI分身、段永平AI分身)也展示了"用提示词复刻人物思维"这一范式在角色建模上的延展。
七、总结:Prompt is All You Need
结合社区探索与思考,分享借用 Transformer 论文句式提出:Prompt is All You Need。理由有三:
- 提示工程本质上是人机沟通的艺术。只要人类自己仍在学习如何高情商表达交流,人机如何更好地交互这一命题就会持续存在;
- 从调用大模型能力,到调用大模型生态能力的接口。现在已从调用单个大模型能力(如 GPT)转为调用多个大模型能力(如 GPT + DALL-E),从调用 AI 模型能力转为调用 AI + 工具的能力(如 GPT + 代码环境);随着未来 Agents 生态进一步完善,提示词将能调用以 LLM 为大脑的 Agents 生态。提示工程的天花板,会随大模型能力进化与各种工具(如 GPTs)的接入被不断拉高——"始于提示工程、终于提示工程"或许是对大模型应用最好的答案,唯一的局限在于我们对提示词的理解与实践是否足够深刻。
八、给学习者的落地建议
回顾整场分享,可以提炼出三条可立即执行的行动路径:
- 建立广义 Prompt 认知:把"所有会被模型用于预测输出结果的内容都是 Prompt"作为第一原则,在每一轮对话中主动管理输入质量与输出格式;
- 用七条实践方法逐项打磨:从"清晰描述"开始,依次叠加角色扮演、示例、任务分解、格式、激励与语言选择,在真实任务上做对照实验;
- 从模板出发、按需裁剪:直接套用 LangGPT/templates 下的完整版或轻量版模板,参考 examples 中的示例快速起步;熟悉后再依据 Docs/HowToWritestructuredPrompts.md 的全局思维链原则增删模块,形成自己的模板;对复杂任务,按 Docs/PromptChain.md 的方法做任务分解与多 Prompt 协同。
最后,分享以对 2023 年涌现的才华横溢的项目与热情似火的社区朋友们的感谢收尾,并期待 2024 年大家继续"热情满怀搞 AI"。以下是大会现场的交流照片:
【免费下载链接】LangGPTLangGPT: Empowering everyone to become a prompt expert! 🚀 📌 结构化提示词(Structured Prompt)提出者 📌 元提示词(Meta-Prompt)发起者 📌 最流行的提示词落地范式 | Language of GPT The pioneering framework for structured & meta-prompt design 10,000+ ⭐ | Battle-tested by thousands of users worldwide Created by 云中江树项目地址: https://gitcode.com/gh_mirrors/la/LangGPT
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考