Skip to content

Semantic Versioning for Prompts - Clear, predictable version management specification for AI prompts | Prompt 语义化版本规范

License

Notifications You must be signed in to change notification settings

langgptai/PromptVer

Repository files navigation

PromptVer

Semantic Versioning for AI Prompts

Prompt 语义化版本规范 | プロンプトのセマンティックバージョニング

License Version LangGPT PRs Welcome

English | 日本語 | 简体中文

为 AI Prompt 提供清晰、可预测的版本管理


🎯 什么是 PromptVer?

PromptVer(Prompt Semantic Versioning)是专为 AI Prompt 设计的语义化版本管理规范

Semantic Versioning 启发,PromptVer 让团队能够:

  • 清晰沟通:一眼看出 Prompt 升级的影响范围
  • 安全迭代:知道哪些改动会破坏现有功能
  • 高效协作:团队成员快速理解版本差异
  • 追溯变更:轻松回滚到稳定版本

📖 版本号格式

MAJOR.MINOR.PATCH

示例: 1.2.3

递增规则:

版本类型 何时递增 示例
MAJOR 破坏性变更(输出格式、核心功能) 1.x.x → 2.0.0
MINOR 向后兼容的新功能 x.1.x → x.2.0
PATCH 向后兼容的修复和优化 x.x.1 → x.x.2

🚀 快速开始

1️⃣ 在 Prompt 中标注版本

# Role: Customer Service Assistant

## Profile
- Version: 1.0.0          ← 添加版本号
- PromptVer: 1.0.0        ← 声明遵循 PromptVer 规范
- Language: 简体中文
- Description: 专业的客服助手

2️⃣ 维护变更日志

创建 CHANGELOG.md

# Changelog

## [1.1.0] - 2025-10-06
### Added
- 新增退款处理场景

## [1.0.0] - 2025-10-01
### Added
- 初始版本发布
- 客户咨询响应功能

3️⃣ 版本递增示例

# 修复错别字
1.0.0 → 1.0.1 (PATCH)

# 添加新功能
1.0.1 → 1.1.0 (MINOR)

# 改变输出格式
1.1.0 → 2.0.0 (MAJOR)

💡 实际案例

查看完整的版本演进示例:

v1.0.0 → 基础客服功能
v1.1.0 → 添加退款处理(向后兼容)
v2.0.0 → 输出改为 JSON 格式(破坏性变更)

为什么是 MAJOR?
从纯文本改为 JSON,调用方需要修改解析代码。

查看完整演进过程 →


📚 完整文档

📖 规范文档

📘 使用指南


🌟 核心特性

简单易懂

不需要复杂工具
只需要三个数字

向后兼容

MINOR 和 PATCH 保证兼容
MAJOR 明确标识破坏性变更

团队协作

统一的版本语言
清晰的变更沟通

生态友好

与 LangGPT 完美集成
可用于任何 Prompt 项目

🔄 与 LangGPT 集成

完美互补:

如何"写"好 Prompt

结构化设计框架 模板化编写方法

PromptVer

如何"管"好 Prompt

版本管理规范 变更追踪体系

使用示例:

# 用 LangGPT 结构编写
# Role: Code Assistant

## Profile
- Version: 1.2.3        ← PromptVer 版本管理
- PromptVer: 1.0.0
- Author: YourName

## Skills
- 代码生成
- 代码审查

## Rules
...

🎓 为什么需要 PromptVer?

痛点 1:不知道改动影响

❌ 改了 Prompt,不知道会不会影响现有功能
✅ MAJOR 版本明确标识破坏性变更

痛点 2:版本混乱

❌ v1、v2、v3-final、v3-final-final-really
✅ 1.0.0、1.1.0、1.2.0 语义清晰

痛点 3:难以协作

❌ 不知道同事改了什么
✅ CHANGELOG 记录每次变更

痛点 4:无法回滚

❌ 新版本有问题,不知道回到哪个版本
✅ 版本号 + Git 标签,轻松回滚

🛠 最佳实践

✅ Do

✓ 在 Prompt 头部明确标注版本号
✓ 维护详细的 CHANGELOG.md
✓ 破坏性变更递增 MAJOR 版本
✓ 使用 Git 标签管理版本

❌ Don't

✗ 修改已发布的版本内容
✗ 跳过版本号(1.0.0 → 1.2.0)
✗ 用模糊描述代替版本号
✗ 忽略 CHANGELOG 维护

📦 示例项目

基础示例

即将推出

  • 代码助手 - 多语言支持的演进
  • 内容写作 - 风格调整的版本管理
  • 数据分析 - 输出格式的迁移

❓ 常见问题

Q1: PromptVer 和 SemVer 有什么区别?

PromptVer 基于 SemVer 理念,但针对 Prompt 特性优化:

  • 兼容性定义:关注输出行为而非代码接口
  • 灵活性:考虑 LLM 的概率性输出特点
  • 面向未来:支持多模态、Agent 等场景
Q2: 什么时候应该递增 MAJOR 版本?

当出现以下情况时递增 MAJOR:

  • 改变输出格式(JSON → 文本)
  • 删除已有功能
  • 修改核心约束(中文 → 英文)
  • 任何调用方需要修改代码的变更
Q3: 必须从 1.0.0 开始吗?

不是。初始开发阶段可以使用 0.x.x:

0.1.0 - 初始开发
0.2.0 - 快速迭代
0.9.0 - 接近稳定
1.0.0 - 正式发布
Q4: 如何处理 LLM 的随机性?

关注结构一致性而非逐字相同:

  • 验证输出格式是否一致
  • 检查必需字段是否存在
  • 测试关键功能是否正常

更多问题查看 完整 FAQ


🤝 参与贡献

我们欢迎所有形式的贡献!

如何贡献

  • 📝 改进文档:修正错别字、改善表述
  • 🐛 报告问题:发现 Bug 或有疑问
  • 💡 提出建议:新功能或改进想法
  • 🌍 翻译规范:帮助翻译成更多语言
  • 📖 分享案例:提供真实使用案例

查看 贡献指南 了解详情

贡献者

感谢所有贡献者!


📊 采纳 PromptVer

如果你的项目采用了 PromptVer,欢迎告诉我们!

在你的 README 中添加徽章:

[![PromptVer](https://img.shields.io/badge/PromptVer-1.0.0-blue.svg)](https://github.com/langgptai/promptver)

在 Prompt 文件中注明:

# Customer Service Prompt
# Version: 1.2.3
# PromptVer: 1.0.0

提交你的项目 →


🔗 相关资源

项目

文章


📬 联系我们


📜 许可证

本规范采用 Creative Commons Attribution 4.0 International License 许可。

这意味着你可以自由地:

  • ✅ 分享:复制和重新分发
  • ✅ 改编:重新混合、转换和构建

只需:

  • 📌 署名:给予适当的署名

🙏 致谢

PromptVerLangGPT Community 提出和维护。

特别感谢:

  • Semantic Versioning 提供的灵感
  • LangGPT 社区成员的支持
  • 所有早期采纳者和贡献者

⭐ Star History

如果 PromptVer 对你有帮助,欢迎 Star!

Star History Chart


About

Semantic Versioning for Prompts - Clear, predictable version management specification for AI prompts | Prompt 语义化版本规范

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published