Prompt Decorators について
Prompt Decorators は、LLM 向けプロンプトの拡張と構造化を標準化するフレームワークで、オープンな仕様と Python リファレンス実装から構成されています。合成可能なデコレーター(+++Reasoning など)でモデルの処理方法や出力形式を制御し、複数のプラットフォームで統一したプロンプト記法を求める開発者を対象としています。
主な機能
- 01オープンな仕様 v1.0
- 02レジストリ管理を備えた Python リファレンス実装
- 03140 以上の組み込みデコレーター
- 04パラメーター検証と型チェック
- 05デコレーターのバージョン管理とドキュメント生成
活用シーン
- 01複数の LLM プラットフォームで統一したプロンプト記法を適用
- 02デコレーターによる推論や出力形式の再利用
- 03Claude Code で ::Name(params) 形式の記法を展開
MCP 対応
本プロジェクトは MCP サーバーを提供し、Claude Desktop などのデスクトップ AI アプリケーションからデコレーター機能を利用できるようにします。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Prompt Decorators
Prompt Decorators は、LLM(大規模言語モデル)向けのプロンプトを拡張、構造化、変換する方法を標準化する包括的なフレームワークです。このリポジトリには、公式の Prompt Decorators 仕様と、その完全な Python リファレンス実装の両方が含まれています。
📋 目次
🔍 概要
Prompt Decorators とは?
Prompt Decorators は、ソフトウェア設計パターンに着想を得た標準化された注釈システムです。シンプルで組み合わせ可能な「デコレーター」を使って、ユーザーが LLM の動作を変更できるようにします。+++Reasoning、+++StepByStep、+++OutputFormat のような注釈をプロンプトの先頭に付けることで、異なるプラットフォームや実装間で、AI モデルがリクエストを処理して応答する方法を一貫して制御できます。
このプロジェクトは、次の機能を提供して、AI とのやり取りの複雑さが増しているという課題に取り組みます。
- 仕様:デコレーターの構文、動作、拡張メカニズムを定義する正式な標準
- Python 実装:包括的なツールを備えた、本番環境ですぐに使えるリファレンス実装
- MCP 統合:Claude Desktop などのツールでプロンプトデコレーター機能を利用できるようにする Model Context Protocol サーバー
主なコンポーネント
- 📝 仕様:標準を定義する正式なPrompt Decorators Specification (v1.0)
- 🛠️ コアフレームワーク:レジストリベースのデコレーター管理機能を備えた Python 実装
- 🧩 140 種類以上のデコレーター:推論、書式設定などを網羅する、すぐに使えるデコレーターの総合ライブラリ
- 🔌 MCP サーバー:デスクトップ AI アプリケーションで使用するための Model Context Protocol との統合
- 🧷 Claude Code プラグイン:インラインの
::Name(params)シジルを、モデルがプロンプトを受け取る前に正確な指示へ展開する、すぐに使える Claude Code プラグインです。/decorateスラッシュコマンド、常時有効な設定、オプトインで利用できる Haiku 搭載の自動選択機能が含まれています。 - 📚 充実したドキュメント:ユーザーと開発者向けの API リファレンス、ガイド、サンプル
背景と動機
大規模言語モデルがさまざまな業界のワークフローにますます組み込まれるにつれて、こうしたシステムとやり取りするための、標準化された一貫性のある方法の必要性が明らかになってきました。現在のプロンプトエンジニアリングの手法は大部分が場当たり的であり、広範なドキュメントの作成や再考が必要になるほか、システムやユースケースを切り替える際に大きな認知的負担が生じます。
Prompt Decorators は、シンプルで組み合わせ可能な注釈を使って AI の動作を変更する体系的なアプローチを提供することで、この課題に対処します。プログラミングにおけるデコレーターパターンや Python の関数デコレーターに着想を得ており、プロンプトの中核部分と、応答の処理方法や提示方法に関する指示を切り離す抽象化レイヤーとして機能します。
プロンプトエンジニアリングの課題
現在のプロンプトエンジニアリングには、次のような制約があります。
- 一貫性の欠如:ユーザー、プラットフォーム、モデルによって指示が大きく異なります
- 冗長さ:詳細な指示がトークンのコンテキストを消費し、本来はコンテンツに使える余地を減らします
- 認知的負担:ユーザーは特定のプロンプト手法を記憶したり、文書化したりする必要があります
- 組み合わせにくさ:異なる指示パラダイムを組み合わせるのは煩雑です
- 動作の未文書化:期待されるモデルの動作が明示されず、暗黙のままになっていることがよくあります
Prompt Decorators の利点
Prompt Decorators は、プロンプトエンジニアリングにおける主な課題を解決します。
- 一貫性の欠如:異なる LLM プラットフォーム間で共通の構文と動作を提供します
- 冗長さ:長い指示を簡潔な注釈に置き換えます
- 認知的負担:再利用可能なパターンによってプロンプトの作成を簡単にします
- 組み合わせにくさ:複数の指示パラダイムをすっきりと組み合わせられます
- 動作の未文書化:期待されるモデルの応答を明示的に定義します
特定の推論パターンに沿ったプロンプトの作成、特定の形式に沿った出力の構成、異なるモデル間で一貫した応答を確保することなど、Prompt Decorators はプロンプトエンジニアリングをよりモジュール化し、再利用しやすく、保守しやすくする体系的なアプローチを提供します。
Prompt Decorators フレームワークは、次の方法でこれらの課題に対処します。
- 標準化:プラットフォームやモデル間で共通の語彙と構文を使用します
- 効率性:簡潔な注釈によってトークン消費を抑えます
- 再利用性:さまざまな状況で再利用できる一貫した動作を実現します
- 組み合わせやすさ:デコレーターを組み合わせて複雑な対話パターンを構成できます
- 動作の明示:期待されるモデルの応答を明確に文書化します
- 認知負荷の軽減:長い指示の代わりにシンプルな注釈を使います
主な機能
- 📚 レジストリベースのデコレーター管理:メタデータを含むデコレーターの一元管理レジストリ
- ✅ パラメーター検証と型チェック:デコレーターのパラメーターを堅牢に検証
- 🔢 デコレーターのバージョン管理:デコレーターのセマンティックバージョニングに対応
- 🔄 互換性チェック:デコレーターの互換性を検証
- 📝 ドキュメント生成:デコレーターのドキュメントを自動生成
- 🧩 動的読み込み:定義ファイルから実行時にデコレーターを読み込み
- 🔍 実行時のデコレーター検出:デコレーターを動的に検出して登録
💡 実装状況
Prompt Decorators プロジェクトは現在、活発に開発が進められています。
デモを試すか、Claude Desktop と連携して MCP サーバーの実装を実行すると、プロンプトデコレーターの仕組みを確認できます。
または、このリポジトリの .cursorrules を Cursor(または chatGPT/Claude)のシステム指示として使用し、指示を与えることもできます。ぜひ試して、感想をお寄せください。
実装済みの機能
- ✅ コアデコレーター・レジストリ:標準化された JSON 定義からデコレーターを読み込み
- ✅ デコレーターの適用:パラメーターを検証しながら、プロンプトにデコレーターを適用
- ✅ 高度な変換:デコレーターのパラメーターをプロンプトの調整に変換
- ✅ 複数の入力形式:Python 関数、文字列、JSON に対応
- ✅ パラメーター検証と型チェック:デコレーターのパラメーターを堅牢に検証
- ✅ 標準デコレーター:仕様で定義されている標準デコレーターを実装
- ✅ 拡張フレームワーク:ドメイン固有のデコレーター拡張に対応
- ✅ ドキュメント生成:デコレーターの定義からドキュメントを自動生成
実装状況の詳細については、実装状況をご覧ください。
ロードマップ
このプロジェクトのロードマップは、ROADMAP ファイルに記載されています。
🚀 はじめに
インストール
PyPI からパッケージをインストールできます:https://pypi.org/project/prompt-decorators/
pip install prompt-decorators
追加の機能を利用するには、オプションの依存関係をインストールできます。
# For Model Context Protocol (MCP) integration
pip install "prompt-decorators[mcp]"
# For development and testing
pip install "prompt-decorators[dev,test]"
# For documentation
pip install "prompt-decorators[docs]"
# For all optional dependencies
pip install "prompt-decorators[all]"
基本的な使い方
import prompt_decorators as pd
# Load available decorators
pd.load_decorator_definitions()
# Create a decorator instance
reasoning = pd.create_decorator_instance("Reasoning", depth="comprehensive")
# Apply the decorator to a prompt
prompt = "Explain the concept of prompt engineering."
decorated_prompt = reasoning.apply(prompt)
print(decorated_prompt)
インストールの確認
インストール後、すべてが正しく動作していることを確認してください。
# Verify the package is installed
python -c "import prompt_decorators; print(prompt_decorators.__version__)"
# Verify registry loading
python -m prompt_decorators verify
読み込まれたデコレーターの数とともに「Registry verification successful」と表示されれば、準備完了です。
詳しい例や使用方法については、公式ドキュメントをご覧ください。
📝 ライセンス
このプロジェクトは Apache License, Version 2.0 の下でライセンスされています。詳しくは LICENSE ファイルをご覧ください。
🤝 貢献
貢献を歓迎します!このプロジェクトへの貢献方法については、CONTRIBUTING ファイルのガイドラインをお読みください。
🤖 謝辞
このプロジェクトは、以下の個人および組織の貢献なしには実現できませんでした。
- Mostapha Kalami Heris:この仕様とリポジトリの着想源となった記事「Prompt Decorators: A Simple Way to Improve AI Responses」を執筆
- Synaptiai:このフレームワークと仕様の作成者およびメンテナー
- 貢献者:このプロジェクトに貢献してくださったすべての皆さま
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。