提示词体检
测试通过 离线可用粘贴一段提示词,检查它缺了哪些结构性约束:输出格式、边界规则、防注入声明、模糊量词。
提示词文本 → 问题清单 + 可执行的修改建议 · 最近更新 2026-02-10
0 字符 · 0 句 · 最长句 0 字
体检结果
还没有输入。规则检查的是结构性缺失——有没有输出格式、有没有边界规则、外部内容有没有隔离, 不评价文笔。
它检查什么
只检查结构性缺失,不评价文笔。因为文笔是主观的,结构性缺失是可以判定对错的—— 而”可判定”正是这个工具能被自动化交付的前提。
覆盖的十二类问题:
- 未填写的占位符(
{{name}}、TODO)——最高优先级,模型会把占位符当成指令处理 - 没有明确的动作指令(只给背景、不给动词)
- 没有输出格式约束(字段、篇幅、结构至少给一样)
- 含模糊量词(尽量、适当、一些、等等)
- 信息不足时该怎么办没写(缺了模型就会编造)
- 指令自相冲突(同时要求简洁与详尽)
- 外部内容没有防注入声明
- 没有说明受众
- 长任务却没有示例
- 未设定角色(优先级最低)
- 存在超长句(多条要求混在一句里会互相污染)
- 情绪化强调(“非常重要!!!“对输出无帮助)
实现方式
单个纯函数 lintPrompt(text): LintResult,约 200 行,零依赖,全部用正则与字符统计完成。
分数 = 100 减去各问题的权重(必须修 18 / 建议修 9 / 可选 4),夹在 0–100。
与 UI 完全解耦:compute.ts 只做计算,ui.tsx 只做展示。所以交付验收只需要跑
compute.test.ts——测试全绿就意味着逻辑可用,不需要人工在浏览器里点一遍。
局限
- 规则是启发式的,会有误报:一句精心写的短提示词也可能被扣分。
- 分数只应横向比较(同一批提示词里哪个更稳),不要当成绝对质量指标。
- 它检测不出”指令本身是错的”这类问题——那需要领域知识,不是正则能解决的。
交付与验收
实现方式纯函数 + 浏览器内计算
数据去向不出本机
测试结论12 个用例全绿(含空输入、冲突指令、防注入声明正反例)
本页由 Toolsmith 生成、Verifier 复核后发布。所有改动可追溯到 /reactor 的账本记录。