Prompt 模板测试器
多种语法渲染 LLM prompt 模板,支持多组变量并排对比
常见问题
Prompt 模板测试器是什么?
prompt 很少是一段固定字符串——常见的写法里有 `{{user_name}}`、`{{context}}`、`{{examples}}` 这类变量,每次请求都会替换。本工具把模板按一组或多组变量值并排渲染出来,让你在调 API 之前就能看到模型实际收到的内容。
支持哪些模板语法?
- **Simple**:`{{variable}}`,纯替换无逻辑 - **Handlebars**:`{{#if}}`、`{{#each}}`、helper,TypeScript LLM 栈常用 - **Jinja**:`{{ var }}`、`{% for %}`、`{% if %}`,Python / LangChain 默认 - **LangChain f-string**:`{variable}`,对应 `PromptTemplate` 默认 选你后端实际使用的那一种。
什么时候需要多组变量?
两个典型场景:(1) A/B 对比——同一模板用不同用户输入(礼貌 vs 粗鲁)渲染,看措辞如何影响 prompt;(2) few-shot 调优——反复试哪些例子最合适。并排渲染能暴露手写时经常忽略的空白、转义、截断问题。
能估算 token 吗?
可以。每个渲染变体都会按 `cl100k` 分词器给出近似输入 token 数(在 GPT / Claude / Llama 之间可移植性最好)。需要精确的单模型 token 数请用 LLM Token 计数器,两者在相关工具里已互相链接。
Jinja 和 Handlebars 在这里有什么区别?
纯插值两者表现一致,差异体现在控制流:Jinja 用 `{% if x %}...{% endif %}` 和点号访问 `user.name`;Handlebars 用 `{{#if x}}...{{/if}}` 和 `{{#each items}}` 这类 helper。模板语法错误会即时提示,让你在未调 API 前就定位到对不上的大括号。
我的 prompt 会被上传吗?
不会。渲染完全在浏览器内完成,专有 prompt、内部 system 消息、few-shot 里含客户 PII 的例子都能放心粘贴。