项目快照:dair-ai/Prompt-Engineering-Guide,约 77,526 个 Star,8,517 个 Fork;最新推送时间 2026-03-11T20:09:13Z。本文基于仓库公开资料撰写。
项目地址:https://github.com/dair-ai/Prompt-Engineering-Guide · https://www.promptingguide.ai/

项目速览(TL;DR)
Prompt-Engineering-Guide 是一个以提示工程(Prompt Engineering)为核心的开源知识库,内容覆盖上下文工程(Context Engineering)、检索增强生成(Retrieval-Augmented Generation,RAG)与人工智能智能体(AI Agents)。它的主要交付物是指南、论文索引、课程资料、案例和笔记本,而不是可直接嵌入业务系统的模型服务或软件开发工具包(Software Development Kit,SDK)。
- GitHub 元信息:77,526 Star、8,517 Fork;这些数字是资料提供时的快照,实时数据以仓库页面为准。
- 仓库主要语言:MDX,即支持在 Markdown 内容中嵌入组件的文档格式。
- 默认分支:
main。 - 许可证:MIT。
- 文档技术栈:Next.js 13.5.6、Nextra 2.13.2、React 18.2.0,具体版本来自
package.json。 - 内容入口包括提示设计基础、提示技术、应用案例、Prompt Hub、模型资料、风险与误用等。
如果目标是系统学习和查阅提示工程资料,可以直接使用网站版本;如果需要审阅内容、参与翻译、修改 MDX 或在本地构建文档,则应使用 GitHub 仓库。仓库没有在已提供资料中声明推理 API、模型权重、向量数据库、后端服务接口或生产级服务等级协议(Service Level Agreement,SLA)。
“Prompt engineering is a relatively new discipline for developing and optimizing prompts to efficiently use language models (LMs) for a wide variety of applications and research topics. Prompt engineering skills help to better understand the capabilities and limitations of large language models (LLMs).”
定位与目标用户
该项目的定位是开放式学习与参考资料集合,而非特定模型厂商的客户端。根据 README,研究人员可借助提示工程研究问答、算术推理等任务,开发者则可用相关方法设计与语言模型及外部工具交互的提示流程。
知识库而非推理服务
仓库的输入主要是 MDX 文档、引用资料和站点配置,经过 Next.js 与 Nextra 构建后输出可浏览的文档站点。项目描述虽覆盖 RAG 和 AI Agents,但资料没有给出一个统一的 RAG 管线、智能体运行时或可调用的服务端接口,因此不能把它当作现成的应用后端。
研究、开发与教学的不同使用方式
研究人员可以从技术章节定位零样本、少样本、思维链和 ReAct 等主题,再回到原始论文验证方法边界。应用开发者可以按 Function Calling、代码生成、信息抽取或问答等任务查找提示设计线索;教师与学习者则可以按“介绍—技术—应用—模型—风险”的层次组织阅读路径。
README 还提到 DAIR.AI Academy 的自定进度课程,并明确说明课程用于补充指南、提供更偏实践的学习方式。课程是否收费、课程持续时间、退款与服务承诺均不属于仓库许可证覆盖范围,应以对应课程页面的现行条款为准。
核心功能
项目的核心能力是组织、呈现和持续维护提示工程知识,而不是执行提示本身。每项能力都依赖文档内容和站点导航,最终输出是供人阅读、检索和引用的页面。
提示工程基础指南
基础部分涵盖语言模型设置、提示基础、提示组成元素、设计建议与示例。其工作方式是将概念和示例编排为分层页面:输入是读者的问题或学习目标,触发条件是访问对应主题页面,输出是设计原则、术语解释和示例材料;依赖组件是仓库中的 MDX 内容及 Nextra 文档渲染能力。
提示技术目录
技术部分收录零样本提示(Zero-Shot Prompting)、少样本提示(Few-Shot Prompting)、思维链提示(Chain-of-Thought Prompting)、自洽性(Self-Consistency)、提示链、思维树、RAG、ART、APE、PAL、ReAct、多模态思维链与图提示等主题。读者按问题类型选择章节,再将章节中的方法应用到自己的模型与测试数据;仓库负责解释和索引,不负责替读者调用模型。
应用案例与 Prompt Hub
应用部分按任务组织资料,包括函数调用、数据生成、面向 RAG 的合成数据集、代码生成和职位分类案例。Prompt Hub 则按分类、编程、创作、评估、信息抽取、图像生成、数学、问答、推理、摘要、真实性和对抗性提示等类别提供参考,输入是具体任务需求,输出是可供评估和改写的提示示例。
这些示例不能直接构成生产保证。模型名称、参数、上下文、采样设置和数据分布都会影响结果,而仓库资料没有提供跨模型的一致性承诺、准确率基线或 Benchmark,因此使用者必须在自己的模型、数据和风险边界内验证。
模型专题与资源索引
README 列出的模型专题包括 ChatGPT、Code Llama、Flan、Gemini、GPT-4、LLaMA、Mistral 7B、Mixtral、OLMo 和 Phi-2。其机制是按模型建立说明入口,帮助读者查找与该模型相关的提示资料;仓库不包含资料所列模型的权重,也没有声明代为托管这些模型。
多语言内容
README 宣布项目支持 13 种语言,并欢迎更多翻译。已提供资料没有列出完整语言清单、翻译覆盖率、同步周期和术语审校流程,因此不能据此断言各语言页面与英文内容完全同步;相关状态应以最新 README 和站点导航为准。
系统架构与关键模块
从 package.json 可核查的部分看,该仓库采用 Next.js、Nextra 和 React 构建文档站点。官方资料没有给出完整架构图、部署拓扑或目录树,以下模块边界仅依据依赖和脚本说明,无法确认的实现细节不作推断。
内容与渲染层
仓库主要语言为 MDX,Nextra 及 nextra-theme-docs 负责文档站点能力,React 与 React DOM 提供组件运行基础。Next.js 提供开发、构建和启动脚本;具体页面路由、主题覆盖文件及内容目录名称未出现在所给资料中,官方仓库未提供该信息,建议以最新 README 和实际分支为准。
公式、图标与资源处理
katex 依赖表明项目具备排版数学公式所需的软件依赖,@fortawesome/* 提供 Font Awesome 图标相关组件,@svgr/webpack 用于 SVG 与 Webpack 集成。资料仅能证明这些包被声明为依赖,不能确认每个页面均使用它们,也不能据此推导站点的无障碍等级或浏览器兼容矩阵。
仓库数据与分析依赖
@napi-rs/simple-git 是已声明的 Git 操作依赖,@vercel/analytics 是已声明的分析依赖。已提供文件没有展示调用代码、采集字段、启用条件或关闭方式,因此不能确认线上站点实际采集哪些信息;隐私要求较高的部署应先审阅源码与实际网络请求。
构建链路
可核查的脚本只有 next dev、next build 和 next start。对应链路是开发模式预览、生成构建产物、启动已构建应用;构建产物目录、缓存策略、静态导出能力和部署平台配置未在资料中说明。
依赖与运行环境
依赖版本可以从 package.json 精确读取,但 Node.js、npm、操作系统和内存下限没有被声明。准备本地环境时,不应自行把某个 Node.js 版本写成项目的官方要求。
- 应用框架:
next^13.5.6。 - 文档框架:
nextra与nextra-theme-docs,均为^2.13.2。 - 界面运行时:
react与react-dom,均为^18.2.0。 - 类型与开发工具:
typescript^4.9.5、@types/node18.11.10、@types/react^18.2.0。 - 内容辅助:
katex^0.16.27、clsx^2.1.0。
package.json 没有提供 engines 字段,也没有在资料中指定包管理器版本或锁文件类型。官方仓库未提供该信息,建议以最新 README、仓库锁文件和持续集成配置为准;在确认前,不应把本地验证通过的运行时版本表述为官方兼容范围。
快速开始:本地安装、运行与验证
最小闭环是克隆默认分支、安装声明的依赖、启动开发模式,再通过正式构建命令验证内容和配置能否完成编译。资料没有提供固定监听端口,因此示例不写死浏览器地址,也不使用未经确认的健康检查路径。
# 安装:获取 main 分支并安装 package.json 中声明的依赖
git clone https://github.com/dair-ai/Prompt-Engineering-Guide.git
cd Prompt-Engineering-Guide
npm install
# 运行:启动 package.json 中定义的开发脚本
npm run dev开发进程启动后,应以终端实际输出的本地地址为准。完成页面检查后停止开发进程,再执行以下验证;build 和 start 均来自仓库的 package.json,示例不添加项目未声明的命令参数。
# 验证:执行正式构建,检查 MDX、组件和站点配置能否通过编译
npm run build
# 运行已构建的本地站点
npm run start这里把 npm run build 作为最低限度的构建验证,不等同于自动化测试。资料没有提供 test、lint 或端到端测试脚本,也没有说明构建成功后的页面数量和产物校验方式。
配置说明
当前可核查的配置集中在 package.json,其中脚本和版本约束决定本地构建行为。资料没有提供 .env.example、运行时环境变量表或独立配置样例,因此不能补写 API Key、分析开关或部署域名等字段。
| 字段名 | 类型 | 默认值 | 作用 |
|---|---|---|---|
name |
字符串 | nextra-docs-template |
声明 npm 包名称;该值来自当前所给 package.json,与 GitHub 仓库名不同。 |
version |
字符串 | 0.0.1 |
声明包版本。资料没有说明它是否与文档发布版本同步。 |
scripts.dev |
字符串 | next dev |
启动 Next.js 开发模式。 |
scripts.build |
字符串 | next build |
执行正式构建,可用于发现编译与内容处理错误。 |
scripts.start |
字符串 | next start |
启动已经完成构建的 Next.js 应用。 |
dependencies.next |
字符串(版本约束) | ^13.5.6 |
声明 Next.js 框架依赖。 |
dependencies.nextra |
字符串(版本约束) | ^2.13.2 |
声明 Nextra 文档框架依赖。 |
dependencies.nextra-theme-docs |
字符串(版本约束) | ^2.13.2 |
声明 Nextra 文档主题依赖。 |
dependencies.katex |
字符串(版本约束) | ^0.16.27 |
提供数学公式排版所需依赖。 |
devDependencies.typescript |
字符串(版本约束) | ^4.9.5 |
声明 TypeScript 开发依赖。 |
版本前的插入符号 ^ 是版本约束的一部分,安装时解析出的精确版本还受锁文件和安装时间影响。资料未提供锁文件内容,因此不能把约束下的某个后续版本写成固定安装结果。
以下 JSON 仅摘录资料中真实存在的脚本,不是新增配置:
{
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start"
}
}内容导航与学习路径
该项目的资料跨度较大,按任务而非按页面数量阅读更容易形成可验证的结果。根据本文作者的经验判断,较稳妥的顺序是先掌握提示元素和模型设置,再选择技术章节,最后进入具体应用与风险评估。
- 先阅读 Introduction 下的设置、基础、提示元素和设计建议,明确提示输入由哪些部分组成。
- 用 Zero-Shot 与 Few-Shot 建立基线,保留输入、输出、模型和设置,避免只凭单次结果下结论。
- 任务需要多步推理时,再查阅思维链、自洽性、提示链或思维树;这些方法不是所有任务的默认选项。
- 任务需要外部知识时,转向 RAG;任务需要工具交互时,查阅 Function Calling、ART、PAL 或 ReAct。
- 部署前检查 Risks and Misuses 以及 Truthfulness、Evaluation、Adversarial Prompting 等主题,并在授权数据上复测。
网站版被 README 描述为获取最新指南的入口,仓库版则适合审阅文件变更和参与内容维护。二者不是不同实现方案:在纯阅读场景使用网站,在需要版本控制、修改或本地构建时使用仓库。
进阶用法
进阶使用不应停留在复制提示文本,而应把指南中的方法转化为可重复实验。仓库没有规定实验框架,因此评测集格式、模型调用方式和结果存储方案需要使用者自行建立。
建立提示实验记录
可以把任务定义、提示版本、模型名称、模型设置、输入样本和输出评价放入同一条记录。触发条件是提示、模型或上下文发生任何变化,输出是可对照的实验结果;这属于根据本文作者的经验判断给出的实践建议,不是 README 声明的内置功能。
把技术组合成流程
提示链适合把一个任务拆成多个有明确输入输出的阶段,RAG 章节则面向需要检索外部信息的场景,ReAct 与工具调用主题关注模型和工具之间的交互。组合这些技术时,应为每一步定义允许接收的数据、输出结构、失败处理和停止条件,不能假定知识库已经提供可直接运行的编排器。
模型专题与任务专题交叉验证
同一提示技术在不同模型上的表现不能由目录结构推导。可先从任务专题确定评价标准,再查阅模型专题中的限制和示例,最后在目标模型上复现;资料没有提供统一模型适配层、测试数据集版本或跨模型结果表。
可观测性与运维
项目没有在所给资料中定义日志规范、指标面板、告警规则、追踪系统或生产运维手册。可核查的最低观察点是开发进程输出和 next build 的退出结果,不能据此声称具备完整可观测性(Observability)。
- 构建阶段:记录
npm run build的退出码和完整日志,用于定位 MDX、依赖或编译问题。 - 启动阶段:以
npm run start的实际终端输出确认进程是否启动;固定端口和健康检查地址未提供。 - 页面阶段:检查关键导航、内部链接、公式和组件是否可渲染;官方仓库未提供自动化检查命令。
- 依赖阶段:升级前对照
package.json与锁文件变化;资料没有给出升级周期和长期支持承诺。
@vercel/analytics 出现在依赖列表中,但仅凭依赖声明无法确认是否启用、发送何种事件或由谁控制配置。涉及隐私、数据驻留或内部部署时,应在发布前审阅源码、构建产物与浏览器网络请求,必要时按组织政策调整;具体调整方式未在资料中提供。
备份、回滚、多副本、高可用、容量规划和灾难恢复均没有官方说明。项目也没有提供性能数据、并发级别、页面响应时间或可用性 SLA,运维负责人需要按自己的部署平台另行验证。
安全与合规边界
该知识库包含对抗性提示、风险与误用、真实性、模型工具调用及数据生成等主题,这些内容可能触及提示注入、敏感数据处理和模型越权调用。使用范围应限定在自有系统、明确授权的测试环境和合法取得的数据上。
授权与隔离
不得把提示测试用于未授权账号、第三方生产系统或不受控的模型端点,也不应将对抗性提示章节转化为绕过访问控制、内容政策或检测机制的操作指南。测试工具调用和智能体流程时,应使用隔离的测试账户、最小权限凭据和受限工具集合,避免模型直接获得高权限执行能力。
隐私与数据处理
将个人信息、商业秘密、访问令牌或受监管数据发送给模型前,需要确认数据处理依据、保存期限、跨境要求及供应商条款。仓库没有提供数据脱敏工具、同意管理、数据处理协议或合规认证,不能因为内容以 MIT 许可证发布,就推导出输入数据和模型输出自动满足合规要求。
生成内容与决策责任
提示示例的输出需要经过事实核验,尤其是医疗、法律、财务、就业分类和安全相关场景。README 虽列出职位分类案例,但没有提供公平性保证、偏差阈值或自动决策合规结论;涉及个人权益的用途应保留人工复核和申诉机制。
供应链审查
资料列出了前端与构建依赖,但没有提供软件物料清单(Software Bill of Materials,SBOM)、漏洞扫描结果或 CVE 状态。部署方应基于实际锁定版本执行组织要求的依赖审查,不应虚构仓库不存在的安全认证或漏洞修复承诺。
许可证与商用条款
GitHub 元信息和 package.json 均将项目标记为 MIT 许可证。MIT 许可证允许使用、复制、修改、合并、发布、分发、再许可和销售软件副本,因此可用于商业场景,但必须遵守许可证文本中的通知保留要求。
- 分发项目或其重要部分时,需要保留原版权声明和 MIT 许可声明。
- 允许修改和内部使用,不要求派生项目必须采用相同的开源许可证。
- MIT 许可证包含按原样提供以及不承担担保责任的条款,不能把开源内容理解为准确性、适销性或特定用途适用性的承诺。
- 第三方论文、商标、模型服务、课程内容和外部网站可能有各自的权利与条款,不能仅凭仓库的 MIT 标识推定全部外链资源均按 MIT 授权。
已提供资料没有附上完整 LICENSE 文件正文和版权主体文本,正式商用与再分发时应直接核对仓库当前的 LICENSE 文件。若仓库元信息、包元数据与 LICENSE 正文存在差异,以仓库 LICENSE 和适用法律要求为准。
局限性与已知限制
最关键的限制是:这是知识与文档项目,不是端到端提示执行平台。它可以帮助形成方法和查找资料,但不会自动完成模型接入、数据治理、效果评估与生产运维。
- 没有在资料中提供统一的模型 API、接口签名、身份验证方式或速率限制配置。
- 没有提供可核查的 Benchmark、准确率、延迟、吞吐量、并发规模或资源消耗数据。
- 没有声明 Node.js 与 npm 的支持版本,也没有操作系统兼容矩阵。
- 没有提供环境变量样例、Dockerfile、Docker Compose 或基础设施即代码配置。
- 没有提供测试、代码检查、端到端验证或链接检查脚本。
- README 声明支持 13 种语言,但资料没有给出各语言内容完整度和同步状态。
- 模型和提示技术更新较快,仓库中的具体页面是否覆盖最新模型能力,应以页面修订记录和原始资料为准。
package.json 中的名称、仓库字段、问题追踪地址和主页仍指向 nextra-docs-template 的模板信息,而不是当前 GitHub 项目。该现象可以从所给文件直接核查,但资料没有解释其原因;进行 npm 发布、元数据展示或自动化合规扫描前,应先确认这些字段是否为有意保留。
适合谁
是否采用该项目,应由交付目标和团队已有基础决定,而不是由 Star 数决定。以下信号可以直接用于判断该知识库是否匹配当前任务。
- 团队需要为提示工程、RAG 或 AI Agents 建立内部学习大纲,并能安排人员核对原始论文与模型文档。
- 开发任务已具备独立的模型调用层,只缺少提示技术、任务案例和评估思路的参考入口。
- 研究人员需要按零样本、少样本、思维链、RAG、ReAct 等主题定位材料,并愿意自行搭建实验环境。
- 文档团队已有 Next.js、React 或 MDX 使用经验,希望在本地审阅、修改或参与翻译。
- 组织允许使用 MIT 许可内容,同时能够自行处理第三方资料版权、模型条款、隐私和输出审核。
不适合谁
如果交付要求集中在开箱即用的运行服务、确定性指标或完整合规证明,该仓库不能单独满足要求。以下任一信号成立时,需要另行准备应用框架、基础设施或合规方案。
- 团队需要直接部署一个带身份认证、模型路由、配额、审计日志和 SLA 的提示服务,而不是文档站点。
- 采购或监管流程要求仓库直接提供 SBOM、漏洞状态、数据处理协议、合规认证或长期支持承诺。
- 项目必须依据官方 Benchmark、并发容量和延迟指标进行技术选型,而当前资料没有这些数据。
- 团队没有可用的模型端点、测试数据或评估方法,却预期仅克隆仓库就能运行完整 RAG 或智能体应用。
- 部署环境要求官方指定的 Node.js 版本、容器镜像和固定健康检查接口,而仓库资料未给出这些约束。
常见问题与排查(FAQ / Troubleshooting)
排查应先区分“文档内容问题”和“站点构建问题”。由于资料没有提供官方故障手册,以下建议只使用可核查的脚本和依赖信息,不补写未经声明的端口、缓存目录或环境变量。
为什么克隆后没有模型可以直接调用
因为仓库定位是指南与资源集合,package.json 也只表明它是 Next.js/Nextra 文档项目。官方资料没有提供模型权重、推理服务、API Key 配置或统一 SDK,需要由使用者另行选择并接入合法授权的模型服务。
npm run dev 无法启动怎么办
先确认依赖安装步骤是否成功,再核对终端中的首个错误和当前分支文件是否完整。Node.js 与 npm 的官方版本要求未提供,不应盲目认定某一版本必然兼容;建议检查最新 README、锁文件和仓库问题记录。
如何验证一次内容修改没有破坏构建
执行 npm run build,并以命令退出状态和构建日志作为最低限度的验证。该命令不能替代链接有效性、内容事实、浏览器兼容性和视觉回归检查,因为资料没有提供这些自动化测试。
为什么不能按固定端口执行 curl 验证
所给 README 与 package.json 没有声明端口或健康检查路径。应读取开发或启动命令的实际终端输出,再在授权的本地环境中验证,不能把 Next.js 的某个默认行为写成该项目的固定合同。
能否直接复制 Prompt Hub 的提示用于生产
可以把示例作为实验输入,但不能跳过目标模型、真实数据和风险场景的复测。仓库没有为示例提供跨模型准确率、稳定性保证或法律适用结论,生产采用前应记录提示版本、模型设置、失败样本和人工审核规则。
如何配置模型 API Key
已提供资料没有 .env.example、环境变量名称或模型 API 配置章节,因此无法给出真实字段。官方仓库未提供该信息,建议以最新 README 和具体示例页面为准,避免创建与项目实现不一致的变量名。
为何 package.json 的仓库地址与当前项目不同
所给文件中的 repository、bugs 和 homepage 指向 Nextra 文档模板,而当前项目地址是 DAIR.AI 的 Prompt-Engineering-Guide。资料没有说明这是模板遗留还是有意配置,自动发布或生成元数据前应检查当前 main 分支并向维护者确认。
是否有 Docker 或云部署说明
资料没有提供 Dockerfile、Compose 文件、云平台配置或正式部署命令。现阶段只能确认 npm run build 与 npm run start 两个脚本,其他部署步骤应以最新仓库文档为准。
维护与贡献注意事项
参与维护时,应优先保证事实来源、链接语义和不同语言版本之间的可追踪性。官方资料没有提供完整贡献指南、分支策略或发布流程,因此不能假定提交格式、审查时限和版本计划。
- 修改技术结论时,核对原始论文、模型文档和页面现有引用,避免把单次实验结果推广为普遍能力。
- 新增 MDX 内容后执行
npm run build,检查公式、组件和内部链接涉及的构建错误。 - 翻译时保留技术术语、代码、模型名称与引用关系,并标明原文版本,减少语言页面长期分叉。
- 升级依赖时记录版本约束和锁文件变化,尤其关注 Next.js、Nextra、React 与 MDX 渲染链路。
- 提交前查看仓库当前分支中的贡献说明和议题模板;官方仓库未在所给资料中提供具体流程。
项目地址与资源
仓库适合查看源码、历史和参与维护,网站适合阅读较新的指南。以下链接均来自所给 GitHub 元信息或 README,外部课程与社区服务可能适用独立条款。



