2221 字
11 分钟

Universal Prompt Optimizer:一个让 Agent 先问清楚再动手的 Skill

GitHub 仓库:Jupiter363/universal-prompt-optimizer-skill
SKILL.md 模式,零配置、无 API Key,适配 Claude Code / Codex / Cursor / Copilot 等支持 Agent Skills 的 Coding Agent。


它解决了什么痛点?#

很多 AI Agent 任务失败,并不是因为模型不会做,而是因为一开始的用户指令太模糊

例如:

帮我修一下 bug
帮我优化这个页面
帮我重构一下
帮我写个文档
这个项目怎么做?

普通 Agent 往往会直接猜测用户意图,然后开始改代码、写文档或设计方案。猜对了是运气,猜错了就会带来以下问题:

常见问题后果
缺少复现步骤就开始 Debug改错方向,甚至引入新问题
不知道范围就开始重构小修变大改,影响不可控
没有确认安全边界可能误删文件、修改生产配置或扩大操作范围
Prompt 口语化、不稳定不同 Agent 执行结果差异很大
一次性追问太多用户懒得回答,交互体验变差

Universal Prompt Optimizer 在 Agent 执行任务前增加一个轻量的”需求澄清层”:

  1. 判断当前信息是否足够执行;
  2. 信息不足时,只追问 1~3 个关键问题;
  3. 信息熵达标后立即停止追问;
  4. 将用户原话和补充信息整理成标准化 Prompt;
  5. 默认继续执行任务,避免多余确认打断流程。

核心亮点#

能力说明
主动追问,而不是直接猜缺少目标、范围、报错、复现步骤、安全边界时,先问清楚再动手。
信息熵止步不追求”把所有细节问完”,只要足以决定执行方向,就停止追问。
最多 3 轮追问防止需求澄清变成审问,兼顾准确性和用户体验。
7 段式 Prompt 标准化固定输出为:角色 / 任务 / 背景 / 目标 / 约束 / 步骤 / 输出格式。
默认优化后执行用户没说”只优化不执行”时,标准化后直接进入任务执行。
安全护栏前置对删除数据、生产配置、批量修改等高风险任务,强制暴露风险和人工确认点。
零配置、无 API KeySKILL.md 工作流,不依赖外部服务,不需要额外模型接口。
中文口语化指令友好针对”帮我看看""优化一下""处理一下""规划一下”等中文模糊需求做了触发优化。

工作流程#

工作流程图


一分钟示例#

输入:模糊指令#

帮我修一下登录功能,用户说有时候登录不了

Skill 先追问#

在继续之前需要确认几个信息,回答越具体,优化结果越精确:
1. 具体异常表现是什么:报错、白屏、点击没反应、自动退出,还是请求失败?
2. 是所有用户都会遇到,还是部分用户/部分环境才会出现?
3. 最近是否改动过登录、Token、权限或网关相关逻辑?

用户补充#

所有用户都有概率遇到,点击登录没反应,无报错。最近改过 Token 刷新逻辑。

Skill 标准化为可执行 Prompt#

## 角色
你是一个前端调试专家,擅长排查浏览器端异步逻辑、Token 刷新流程和网络请求问题。
## 任务
排查并修复登录按钮点击后无响应的问题。
## 背景
所有用户均有概率遇到该问题,表现为点击登录按钮后页面无反应、无报错提示。
最近改动过 Token 刷新逻辑,疑似相关。
## 目标
定位登录按钮无响应的根因并完成最小修复。
## 约束
- 不得重构整个认证模块,只修复导致登录无响应的具体问题
- 不得修改后端登录接口逻辑,优先排查前端事件绑定、异常吞掉、异步 return 和 Token 刷新竞态
- 修改前先查看最近与 Token 刷新相关的 diff
## 步骤
1. 定位登录按钮点击事件绑定代码,确认事件是否正常触发
2. 检查 Token 刷新逻辑是否存在未捕获异常、提前 return 或状态锁未释放
3. 使用 Network/Console 验证点击登录后请求是否发出
4. 确认根因后做最小修复,并验证登录流程和 Token 刷新流程互不干扰
## 输出格式
请输出:问题根因、修复方式、涉及文件、关键代码变更、验证步骤。

适用场景#

场景典型输入Skill 会重点澄清
Bug 排查”帮我看看这个报错”报错信息、复现步骤、影响范围、最近改动
功能开发”帮我加个搜索功能”功能目标、页面/模块、技术栈、交互细节
代码重构”这块代码太乱了,优化一下”重构范围、是否保持接口不变、是否已有测试
单元测试”补一下测试”测试对象、测试框架、覆盖目标、边界情况
文档写作”帮我写个 README”读者对象、项目定位、安装方式、亮点和示例
技术方案”这个项目怎么做”当前阶段、目标、约束、MVP、风险点
学习/研究”帮我研究一下这个东西”研究问题、信息范围、是否需要联网、引用格式
内容润色”帮我改得正式一点”目标读者、语气、长度、是否保留原意

什么时候不会触发?#

当用户已经给出足够明确的信息时,Skill 不会强行追问。

例如:

请把 src/auth/token.ts 第 35 行的 timeout 从 3000 改成 5000,并补充一个单元测试。

这类任务目标、文件路径、操作和验证方式都很明确,Agent 可以直接执行。


安装#

项目级安装#

Terminal window
mkdir -p .claude/skills/universal-prompt-optimizer
cp SKILL.md .claude/skills/universal-prompt-optimizer/SKILL.md

用户级安装(所有项目生效)#

Terminal window
mkdir -p ~/.claude/skills/universal-prompt-optimizer
cp SKILL.md ~/.claude/skills/universal-prompt-optimizer/SKILL.md

适配其他工具#

工具项目级目录用户级目录
Claude Code.claude/skills/~/.claude/skills/
GitHub Copilot.github/skills/ / .claude/skills/~/.copilot/skills/
Codex.agents/skills/~/.agents/skills/
Cursor / Windsurf / Gemini CLI以各自 Skills 目录规范为准以各自 Skills 目录规范为准

使用方式#

安装后,直接用自然语言向 Agent 提需求即可:

帮我优化这个页面
帮我把这个接口文档整理一下
帮我重构一下支付模块,代码有点乱
先帮我把这个需求优化成适合 Claude Code 执行的 prompt,不要执行

如果任务模糊,Skill 会先追问;如果任务足够明确,Skill 会直接标准化并执行。


设计原则#

  1. 不改变用户原意 —— “帮我看看登录 bug”不会被扩写成”重构整个认证系统”。
  2. 不编造上下文 —— 缺少文件名、接口名、错误日志时优先追问,而不是自行脑补。
  3. 不无限追问 —— 每轮最多 1~3 个问题,最多 3 轮,一旦足以确定执行方向就立即停止。
  4. 不过度工程化 —— 简单任务保持轻量,不把小任务扩展成复杂流程。
  5. 不跳过安全边界 —— 涉及删除、覆盖、生产环境、批量操作时,必须暴露风险并设置人工确认步骤。

和普通 Prompt 模板有什么不同?#

对比项普通 Prompt 模板Universal Prompt Optimizer
输入方式用户必须自己填完整模板支持自然语言模糊输入
缺信息处理往往直接猜先追问关键缺失项
追问控制容易问太多或问不准信息熵达标即停,最多 3 轮
输出结构依赖用户写法固定 7 段标准结构
执行体验优化和执行容易割裂默认优化后直接执行
安全边界需要用户自己补充内置高风险操作确认规则

FAQ#

这个 Skill 需要 API Key 吗?#

不需要。纯 SKILL.md 模式,不依赖额外模型、后端服务或第三方 API。

它会不会每次都追问?#

不会。只有任务目标、范围、上下文、安全边界等关键信息不足时才追问。任务已经具体时,会直接进入标准化或执行。

为什么不是一次性问很多问题?#

因为一次性问太多会降低用户回答意愿。每轮只问 1~3 个最关键问题,并在信息足够时立即停止。

为什么标准化后默认执行?#

多数用户说”帮我修 / 写 / 改 / 做”时,真正目标是完成任务,而不是只得到一个优化后的 Prompt。默认执行可以减少一次无意义确认。用户明确说”只优化不执行”时,Skill 会停止在 Prompt 输出阶段。


仓库与安装#

👉 GitHub: Jupiter363/universal-prompt-optimizer-skill

MIT License,欢迎提交 Issue 或 PR。

Universal Prompt Optimizer:一个让 Agent 先问清楚再动手的 Skill
https://jupiter-ws.cn/posts/ai-coding/universal-prompt-optimizer/
作者
Jupiter
发布于
2026-04-12
许可协议
CC BY-NC-SA 4.0