# OpenAI Agent SDKの便利だけど知られていない機能
🌍 プロンプトをコードにハードコードせず、プラットフォーム側で管理・バージョニングしたいと思いませんか?
Prompt テンプレートを使えば、OpenAIプラットフォームで作成したプロンプトをSDKから参照し、変数を差し込んで利用できます。
📌 タイトル:Prompt テンプレート
🔗 URL:
🧩 概要
`instructions` の代わりに `prompt` パラメータを使うと、OpenAIプラットフォームで作成・管理されたプロンプトテンプレートを参照できます。静的な指定では `{"id": "pmpt_123", "version": "1", "variables": {...}}` のように辞書で渡します。動的な指定では非同期関数を渡し、実行時にプロンプト辞書を返すことで、コンテキストに応じた変数の差し込みが可能です。
🛠 使い方
```python
from agents import Agent, RunContextWrapper
# 静的テンプレート参照
agent_static = Agent(
name="support",
prompt={
"id": "pmpt_abc123",
"version": "1",
"variables": {
"company_name": "Acme Corp",
"support_level": "premium",
},
},
)
# 動的テンプレート参照
async def dynamic_prompt(
context: RunContextWrapper[UserContext],
agent: Agent,
) -> dict:
user = context.context
return {
"id": "pmpt_abc123",
"version": "2",
"variables": {
"company_name":
"support_level": user.plan,
"language": user.language,
},
}
agent_dynamic = Agent(
name="dynamic-support",
prompt=dynamic_prompt,
)
```
🏗 本番システムへの組み込み方
・プロンプトをプラットフォーム側で管理し、コードデプロイなしで更新・ロールバックする
・バージョン指定で安定した動作を保証しつつ、新バージョンを段階的にロールアウトする
・動的テンプレートでユーザー属性に応じた変数を注入する
・チーム間でプロンプトを共有・再利用し、品質の標準化を図る
💡 ユースケース
📝 プロンプトのバージョン管理と段階的ロールアウト
🏢 組織横断的なプロンプトの共有・標準化
🔄 コードデプロイ不要のプロンプト更新
👤 ユーザー属性に応じたテンプレート変数の動的注入
⚠️ 注意点
`prompt` と `instructions` は排他的で、両方を同時に指定するとエラーになります。プラットフォームにプロンプトが存在しない場合もエラーになるため、デプロイ前にIDとバージョンの存在を確認してください。変数名のタイポにも注意しましょう。
✨ Prompt テンプレートで、プロンプト管理を「コードの中」から「プラットフォームの管理画面」に移行しましょう。
#
OpenAIAgentSDK# #
AIAgent#