返回市场
提示装饰器

提示装饰器

作者:synaptiai37 星标更新:2025-11-01

项目介绍

Prompt Decorators

<div align="center"> <img src="https://synaptiai.github.io/prompt-decorators/assets/logo.png" alt="Prompt Decorators Logo" width="400"/>

License Python Versions Documentation Code Style

Code Quality and Testing Documentation Publish to PyPI

Prompt Decorators 是一个全面的框架,用于标准化大型语言模型(LLMs)提示的增强、结构化和转换方式。此仓库包含官方的 Prompt Decorators 规范及其完整的 Python 参考实现。

文档提示装饰器规范

</div>

📋 目录

🔍 概述

什么是提示装饰器?

提示装饰器引入了一种受软件设计模式启发的标准注解系统,允许用户通过简单的可组合“装饰器”来修改 LLM 行为。通过在提示前添加如 +++Reasoning+++StepByStep+++OutputFormat 等注解,用户可以一致地控制 AI 模型如何处理并响应请求,无论是在不同的平台还是实现中。

该项目通过提供以下内容解决了日益复杂的 AI 交互问题:

  1. 规范:定义装饰器语法、行为及扩展机制的正式标准
  2. Python 实现:具有全面工具的生产就绪参考实现
  3. MCP 集成:Model Context Protocol 服务器,使提示装饰器功能可以在像 Claude Desktop 这样的工具中使用

关键组件

  • 📝 规范:正式的 Prompt Decorators 规范 (v1.0) 定义了标准
  • 🛠️ 核心框架:基于注册表的装饰器管理的 Python 实现
  • 🧩 140+ 装饰器:涵盖推理、格式化等的全面预建装饰器库
  • 🔌 MCP 服务器:与 Model Context Protocol 的集成,用于桌面 AI 应用程序
  • 📚 详尽文档:供用户和开发者使用的 API 参考、指南和示例

背景与动机

随着大型语言模型在各行各业的工作流程中越来越广泛地被整合,需要标准化且一致的方式与这些系统进行互动变得明显。当前的提示工程方法大多临时拼凑,需要大量的文档编写、重新发明以及在切换系统或应用场景时显著的认知负担。

提示装饰器通过提供一种通过简单、可组合的注解来系统性地修改 AI 行为的方法,解决了这一挑战。受到编程中的装饰器模式和 Python 函数装饰器的启发,它们作为抽象层,将核心提示与关于如何处理和呈现响应的指令分离开来。

提示工程中的挑战

当前的提示工程存在几个限制:

  • 不一致性:指令在用户、平台和模型之间差异很大
  • 冗长:详细的指令消耗了本可用于内容的标记上下文
  • 认知负担:用户必须记住或记录特定的提示技巧
  • 缺乏可组合性:结合不同的指令范式很麻烦
  • 未文档化的行为:预期的模型行为往往是隐含而非明确的

提示装饰器的好处

提示装饰器解决了提示工程中的关键挑战:

  • 不一致性:提供了跨不同 LLM 平台的标准语法和行为
  • 冗长:用简洁的注解替换了冗长的指令
  • 认知负担:简化了提示创作,使用可重用的模式
  • 缺乏可组合性:能够干净地组合多个指令范式
  • 未文档化的行为:明确定义了预期的模型响应

无论是为了特定的推理模式、特定格式的输出结构,还是确保不同模型之间的响应一致性,提示装饰器都提供了一个系统性的方法,使得提示工程更加模块化、可重用和易于维护。

提示装饰器框架通过以下方式解决这些挑战:

  • 标准化:跨平台和模型的通用词汇和语法
  • 效率:简洁的注解减少了标记消耗
  • 可重用性:可在不同上下文中重复使用的持续行为
  • 可组合性:组合装饰器以实现复杂交互模式的能力
  • 明确的行为:清晰地记录了预期的模型响应
  • 减少认知负荷:简单的注解代替冗长的指令

关键特性

  • 📚 基于注册表的装饰器管理:带有元数据的装饰器中央注册表
  • ✅ 参数验证和类型检查:强大的装饰器参数验证
  • 🔢 装饰器版本控制:支持装饰器的语义版本控制
  • 🔄 兼容性检查:验证装饰器兼容性
  • 📝 文档生成:自动为装饰器生成文档
  • 🧩 动态加载:从定义文件运行时加载装饰器
  • 🔍 运行时装饰器发现:动态发现和注册装饰器

💡 实现状态

提示装饰器项目目前处于积极开发阶段。

你可以通过测试 演示 或者一起运行 MCP 服务器实现 和你的 Claude Desktop 来查看提示装饰器是如何工作的。

或者,你可以使用此仓库中的 .cursorrules 作为 Cursor(或 chatGPT/Claude)中的系统指令来指示它。试一试,并分享你的体验!

已实现的功能

  • ✅ 核心装饰器注册表:从标准化的 JSON 定义加载装饰器
  • ✅ 装饰器应用:带参数验证的装饰器应用于提示
  • ✅ 复杂转换:将装饰器参数转换为提示调整
  • ✅ 多种输入格式:支持 Python 函数、字符串和 JSON
  • ✅ 参数验证和类型检查:强大的装饰器参数验证
  • ✅ 标准装饰器:实现规范中定义的标准装饰器
  • ✅ 扩展框架:支持领域特定的装饰器扩展
  • ✅ 文档生成:从装饰器定义自动生成文档

有关实现状态的详细分解,请参阅我们的 实现状态 文档。

发展路线图

此项目的路线图在 ROADMAP 文件中概述。

🚀 开始使用

安装

你可以从 PyPI 安装该包 https://pypi.org/project/prompt-decorators/

pip install prompt-decorators

为了额外的功能,你可以安装可选依赖项:

# 对于 Model Context Protocol (MCP) 集成
pip install "prompt-decorators[mcp]"

# 对于开发和测试
pip install "prompt-decorators[dev,test]"

# 对于文档
pip install "prompt-decorators[docs]"

# 对于所有可选依赖项
pip install "prompt-decorators[all]"

基本用法

import prompt_decorators as pd

# 加载可用的装饰器
pd.load_decorator_definitions()

# 创建装饰器实例
reasoning = pd.create_decorator_instance("Reasoning", depth="comprehensive")

# 将装饰器应用于提示
prompt = "解释提示工程的概念。"
decorated_prompt = reasoning.apply(prompt)

print(decorated_prompt)

验证安装

安装后,验证一切是否正常工作:

# 验证包已安装
python -c "import prompt_decorators; print(prompt_decorators.__version__)"

# 验证注册表加载
python -m prompt_decorators verify

如果你看到“注册表验证成功”以及加载的装饰器数量,那么你就可以开始了!

更多详细示例和使用说明,请参阅 官方文档

📝 许可证

本项目根据 Apache 许可证,版本 2.0 授权。更多信息请参见 LICENSE 文件。

🤝 贡献

欢迎贡献!请阅读 CONTRIBUTING 文件,了解如何为此项目做出贡献的指南。

🤖 致谢

没有以下个人和组织的贡献,这个项目是不可能实现的: