Prompts در client (Prompts in the client)
عنوان اصلی: Prompts in the client
هدف یادگیری: discover و invoke کردن promptها از client، render بهصورت slash command یا منوی template.
مفاهیم کلیدی: list_prompts، get_prompt، UX بهصورت slash command، API completion برای auto-fill argument.
سمت client از prompts، آینه tools و resources است. بعد از initialization، یکبار list_prompts() را صدا بزنید و هر بار که notifications/prompts/list_changed میرسد دوباره. وقتی کاربر یک prompt را انتخاب میکند، argumentها را از طریق UI host جمع کنید (و اختیاری از API completion/complete برای پیشنهاد مقدار استفاده کنید)، سپس get_prompt(name, arguments) را صدا بزنید. آرایه messages برگرداندهشده بهعنوان نوبت بعدی user به مکالمه اضافه میشود.
مثال عملی — Python client
prompts = await session.list_prompts()
for p in prompts.prompts:
print(p.name, "-", p.description)
result = await session.get_prompt(
"code_review",
arguments={"code": "def hello():\n print('world')"},
)
for msg in result.messages:
print(f"[{msg.role}] {msg.content.text}")
اشتباهات رایج
- اسکیپ کردن
list_prompts()در حلقه UI host — slash commandها ناپدید میشوند. - فرستادن messages برگشتی prompt بهعنوان system prompt بهجای نوبتهای مکالمه. فیلد role canonical است.
- auto-invoke کردن promptها. آنها user-controlled هستند؛ LLM نباید بهصورت خودسرانه
prompts/getرا صدا بزند.