PromptQuorumPromptQuorum
主页/提示词工程/开发者提示词工程工作流:IDE配置、测试和CI/CD集成
工作流与自动化

开发者提示词工程工作流:IDE配置、测试和CI/CD集成

·12分钟阅读·Hans Kuepper 作者 · PromptQuorum创始人,多模型AI调度工具 · PromptQuorum

开发者需要一个融入现有开发流程的提示词工程工作流 — 版本控制、CI/CD和本地测试 — 而不是一个独立的工具生态系统。 在中国,《数据安全法》和《个人信息保护法》(PIPL)要求对AI系统的输入和输出进行记录和审计,这使得系统化的提示词工程工作流对于合规性尤为重要。

开发者需要一个融入现有开发流程的提示词工程工作流 — 版本控制、CI/CD和本地测试 — 而不是一个独立的工具生态系统。 工作流涵盖5个阶段:编写、本地测试、版本控制、CI/CD门控和生产监控。

⚡ Quick Facts

  • ·使用Promptfoo的本地提示词测试循环不到30秒:编写、在3个输入上测试、与基线比较、提交。
  • ·将提示词存储为/prompts目录中的.txt或.ts文件。命名:task-version.txt(如customer-support-v3.txt)。
  • ·CI/CD门控阈值:从85%通过率开始,3个月稳定测试后提高到95%。
  • ·Cursor是TypeScript/Python开发者的推荐IDE。VS Code + Continue.dev用于开源/本地模型要求。
  • ·在生产中记录提示词标识符、模型、延迟、令牌数量和每个响应的质量分数。
  • ·如果质量分数在24小时滚动窗口内下降超过10%,则发出警报。

提示词工程的IDE配置

📍 In One Sentence

Cursor和VS Code + Continue.dev是覆盖大多数开发者提示词工程需求的两个IDE — Cursor用于云API工作流,Continue.dev用于开源和本地模型要求。

💬 In Plain Terms

选择您已经花费最多时间的IDE。如果您使用TypeScript或Python并调用云API(OpenAI、Anthropic、Google),Cursor的摩擦最小。如果您需要在本地运行模型或有开源要求,VS Code + Continue.dev是正确的选择。

两个IDE涵盖了大多数开发者提示词工程需求:Cursor(原生AI集成,将提示词视为一等公民)和VS Code + Continue.dev(开源,本地模型支持)。 选择取决于您的主要语言和模型访问要求。

Cursor原生处理提示词文件 — 您可以在编辑器中直接引用、编辑和测试提示词,与应用程序代码并排。它与OpenAI兼容的API有原生集成,很好地支持TypeScript和Python。

VS Code + Continue.dev是开源的,通过Ollama支持本地模型,适用于任何语言生态系统。Continue.dev提供编辑器内的提示词补全和修改功能。如果有开源要求或需要在本地运行模型,请使用VS Code + Continue.dev。

💡 Cursor提升提示词迭代速度

Cursor允许您从编辑器内直接在提示词文件上运行Claude 4.6 Sonnet。对于已经使用Cursor编写代码的团队,这将编写-测试周期从分钟缩短到秒。

本地提示词测试循环

本地提示词测试循环有4个步骤:编写提示词、在3个代表性输入上测试、与基线比较、通过则提交。 使用本地配置的Promptfoo,这个循环应该在30秒内完成。

步骤1:在IDE中编写或编辑提示词。步骤2:针对3个代表性输入运行提示词 — 一个典型输入、一个边界情况和一个之前导致失败的输入。步骤3:将输出与基线(最后提交的版本)进行比较。步骤4:如果质量保持或改善,使用conventional消息提交。

为本地循环配置Promptfoo:使用`npm install -g promptfoo`安装,在项目根目录创建包含3个测试用例和LLM-as-judge评估器的`promptfooconfig.yaml`,运行`promptfoo eval`。现有提示词的总设置时间不到15分钟。

⚠️ 基线比较不可省略

没有基线比较,如果绝对阈值足够低,在边界情况下退化的提示词仍然可能"通过"测试。始终与最后部署的版本进行比较。

在版本控制中存储提示词

将提示词作为`.txt`或`.ts`文件存储在存储库根目录的`/prompts`目录中。 在Git中对提示词进行版本控制与对代码进行版本控制具有相同的好处:完整历史、blame、回滚和基于PR的审查。

命名规则:`task-version.txt` — 例如`customer-support-v3.txt`、`email-draft-v1.txt`。使用顺序版本号,而不是日期。将退役的提示词移至`/prompts/archive/`而不是删除。

提示词更改的提交消息格式:使用conventional commits。每次成功部署到生产环境后,使用`prompts/task/version`标记提交。这些标签在需要回滚生产环境中的提示词更改时用作回滚目标。

📌 提示词就是代码

以与代码文件相同的规律对待提示词文件:PR审查、命名作者、语义版本控制,永不删除 — 而是移动到/prompts/archive/。

提示词的CI/CD门控

添加一个GitHub Actions工作流,在每个拉取请求上运行Promptfoo或Braintrust,如果通过率低于阈值则使构建失败。 从85%的阈值开始,在3个月的稳定测试后提高到95%。

GitHub Actions工作流结构:创建`.github/workflows/prompt-test.yml`,包含一个在`pull_request`上触发的作业,安装Promptfoo,运行`promptfoo eval --config promptfooconfig.yaml`,如果退出代码非零则失败。

阈值策略:从85%开始,允许一些变化同时仍然捕获主要回归。在3个月没有误报的稳定测试后,提高到95%。在存储库分支保护设置中将prompt-test作业添加为必需状态检查。

提示词的生产监控

记录提示词输入和输出,对每个响应运行质量评分器,并为24小时滚动窗口内质量分数下降超过10%设置警报。 监控所有处理用户数据的提示词。

记录内容:提示词标识符和版本、模型名称、输入令牌数量、输出令牌数量、毫秒延迟和评估器的质量分数。对于处理个人数据的提示词(PIPL合规要求),记录输入的哈希值而不是原始输入。

质量评分选项:Braintrust提供带有每响应评分和仪表板的云端评估器。对于自托管方法,对10%的响应样本运行轻量级LLM-as-judge调用。如果平均质量分数与7天滚动平均值相比下降超过10%,则触发警报。

开发者提示词工作流中的常见错误

将提示词直接写入应用程序代码

Why it hurts: 硬编码的提示词无法在没有完整部署的情况下进行版本控制、测试或更改

Fix: 将提示词作为单独文件存储在/prompts目录中,在运行时加载。

仅在本地测试,从不在CI/CD中测试

Why it hurts: 本地测试在时间压力下被跳过;CI/CD门控是强制性的

Fix: 向GitHub Actions添加Promptfoo测试步骤。如果通过率低于85%则阻止合并。

没有生产监控

Why it hurts: 提示词质量在部署后无可见性地退化

Fix: 每天记录每个提示词的通过率。如果通过率每周下降5%则发出警报。

仅在一个模型上测试

Why it hurts: 在GPT-4o上工作的提示词可能在Claude 4.6 Sonnet上失败

Fix: 在CI/CD中针对至少2个模型运行测试套件。

关键要点

  • 使用云API的TypeScript/Python使用Cursor。本地模型或开源要求使用VS Code + Continue.dev。
  • 本地测试循环有4个步骤:编写、在3个代表性输入上测试、与基线比较、通过则提交。使用Promptfoo目标在30秒内完成。
  • 将提示词作为.txt或.ts文件存储在/prompts中。命名规则task-version.txt。在Git中标记生产部署的版本。
  • 添加GitHub Actions CI/CD门控,如果通过率低于85%则使构建失败。在3个月的稳定测试后提高到95%。
  • 在生产环境中,记录提示词标识符、模型、令牌数量、延迟和质量分数。对24小时内质量分数下降超过10%发出警报。

常见问题

哪个IDE最适合提示词工程?

对于主要使用TypeScript或Python并希望获得原生AI集成的开发者,推荐使用Cursor。如果需要本地模型支持或开源要求,推荐使用VS Code + Continue.dev。

应该如何在版本控制中存储提示词?

将提示词作为.txt或.ts文件存储在/prompts目录中。命名规则:task-version.txt。对提示词更改使用conventional commit格式。为部署到生产环境的每个版本添加Git标签。

如何为提示词设置CI/CD门控?

添加一个GitHub Actions工作流步骤,在每个拉取请求上运行Promptfoo或Braintrust。如果通过率低于阈值则使构建失败 — 从85%开始,在3个月的稳定测试后提高到95%。

生产提示词监控应该记录什么?

记录提示词输入(如果包含个人信息则记录哈希值)、模型响应、延迟、令牌数量和评估器的质量分数。对于处理用户数据的提示词,日志至少保留30天,并设置24小时内质量分数下降超过10%的警报。

如何在Git仓库中存储提示词?

将每个提示词作为纯文本文件存储在`/prompts/主题/`目录中。使用slug和版本命名文件:`classify-intent-v2.txt`。添加包含版本、作者、日期、模型和一行描述的YAML前言。

什么是提示词的CI/CD门控?

CI/CD门控是一个自动化测试步骤,在每个PR上运行提示词测试套件,如果通过率低于阈值(通常为85%),则阻止合并。在GitHub Actions中使用`npx promptfoo eval --threshold 0.85`实现。

提示词工程最适合哪个IDE?

Cursor是提示词工程最适合的IDE,因为它有内置AI辅助功能,可以直接在提示词文件上运行Claude 4.6 Sonnet。VS Code + Continue.dev是需要开源工具的团队的有力替代方案。

使用PromptQuorum将这些技术同时应用于25+个AI模型。

免费试用PromptQuorum →

← 返回提示词工程

开发者提示词工程:IDE & CI/CD配置 | PromptQuorum